1 # Copyright (C) 2009-2010 OpenWrt.org
3 FW_LIBDIR
=${FW_LIBDIR:-/lib/firewall}
11 lock
/var
/lock
/firewall.start
16 echo "firewall already loaded" >&2
19 uci_set_state firewall core
"" firewall_state
25 echo "Loading defaults"
26 fw_config_once fw_load_defaults defaults
29 config_foreach fw_load_zone zone
31 echo "Loading forwardings"
32 config_foreach fw_load_forwarding forwarding
34 echo "Loading redirects"
35 config_foreach fw_load_redirect redirect
38 config_foreach fw_load_rule rule
40 echo "Loading includes"
41 config_foreach fw_load_include include
43 [ -n "$FW_NOTRACK_DISABLED" ] && {
44 echo "Optimizing conntrack"
45 config_foreach fw_load_notrack_zone zone
48 echo "Loading interfaces"
49 config_foreach fw_configure_interface interface add
53 uci_set_state firewall core loaded
1
55 lock
-u /var
/lock
/firewall.start
67 uci_revert_state firewall
82 local bool
=$
(uci
-q -P /var
/state get firewall.core.loaded
)
83 return $
((! ${bool:-0}))
88 echo "Error:" "$@" >&2
100 logger
-t firewall
-p user.
$level "$@"
105 [ -z "$FW_INITIALIZED" ] ||
return 0
107 .
$FW_LIBDIR/config.sh
110 fw_config_append firewall
112 local hooks
="core stop defaults zone notrack synflood"
114 for file in $FW_LIBDIR/core_
*.sh
; do
116 hk
=$
(basename $file .sh
)
120 for file in $FW_LIBDIR/*.sh
; do
121 lib
=$
(basename $file .sh
)
122 lib
=${lib##[0-9][0-9]_}
124 core
*|fw|config|uci_firewall
) continue ;;
128 for pp
in pre post
; do
129 type ${lib}_${pp}_${hk}_cb
>/dev
/null
&&
130 append FW_CB_
${pp}_${hk} ${lib}
135 fw_callback post init