1 # Copyright (C) 2009-2010 OpenWrt.org
3 FW_LIBDIR
=${FW_LIBDIR:-/lib/firewall}
14 echo "firewall already loaded" >&2
18 uci_set_state firewall core
"" firewall_state
24 echo "Loading defaults"
25 fw_config_once fw_load_defaults defaults
28 config_foreach fw_load_zone zone
30 echo "Loading forwardings"
31 config_foreach fw_load_forwarding forwarding
33 echo "Loading redirects"
34 config_foreach fw_load_redirect redirect
37 config_foreach fw_load_rule rule
39 echo "Loading includes"
40 config_foreach fw_load_include include
42 [ -z "$FW_NOTRACK_DISABLED" ] && {
43 echo "Optimizing conntrack"
44 config_foreach fw_load_notrack_zone zone
47 echo "Loading interfaces"
48 config_foreach fw_configure_interface interface add
52 uci_set_state firewall core zones
"$FW_ZONES"
53 uci_set_state firewall core loaded
1
62 config_get old_zones core zones
63 for z
in $old_zones; do
64 local old_networks n i
65 config_get old_networks core
"${z}_networks"
66 for n
in $old_networks; do
67 config_get i core
"${n}_ifname"
68 [ -n "$i" ] && env
-i ACTION
=remove ZONE
="$z" \
69 INTERFACE
="$n" DEVICE
="$i" \
70 /sbin
/hotplug-call firewall
78 uci_revert_state firewall
82 for h
in $FW_HOOKS; do unset $h; done
98 local bool
=$
(uci_get_state firewall.core.loaded
)
99 return $
((! ${bool:-0}))
104 echo "Error:" "$@" >&2
116 logger
-t firewall
-p user.
$level "$@"
121 [ -z "$FW_INITIALIZED" ] ||
return 0
123 .
$FW_LIBDIR/config.sh
126 fw_config_append firewall
128 local hooks
="core stop defaults zone notrack synflood"
130 for file in $FW_LIBDIR/core_
*.sh
; do
132 hk
=$
(basename $file .sh
)
136 for file in $FW_LIBDIR/*.sh
; do
137 lib
=$
(basename $file .sh
)
138 lib
=${lib##[0-9][0-9]_}
140 core
*|fw|config|uci_firewall
) continue ;;
144 for pp
in pre post
; do
145 type ${lib}_${pp}_${hk}_cb
>/dev
/null
&& {
146 append FW_CB_
${pp}_${hk} ${lib}
147 append FW_HOOKS FW_CB_
${pp}_
${hk}
153 fw_callback post init