|
|
@@ -1,55 +1,27 @@
|
|
|
-# Copyright (C) 2009-2011 OpenWrt.org
|
|
|
+# Copyright (C) 2009-2010 OpenWrt.org
|
|
|
|
|
|
fw__uci_state_add() {
|
|
|
local var="$1"
|
|
|
local item="$2"
|
|
|
|
|
|
- local list="$(uci_get_state firewall core $var)"
|
|
|
- list=" ${list:+$list }"
|
|
|
-
|
|
|
- for item in $item; do
|
|
|
- case "$list" in
|
|
|
- "* $item *") continue;;
|
|
|
- *) list="$list$item ";;
|
|
|
- esac
|
|
|
- done
|
|
|
-
|
|
|
- list="${list% }"
|
|
|
- list="${list# }"
|
|
|
-
|
|
|
+ local val=" $(uci_get_state firewall core $var) "
|
|
|
+ val="${val// $item / }"
|
|
|
+ val="${val# }"
|
|
|
+ val="${val% }"
|
|
|
uci_revert_state firewall core $var
|
|
|
- uci_set_state firewall core $var "$list"
|
|
|
+ uci_set_state firewall core $var "${val:+$val }$item"
|
|
|
}
|
|
|
|
|
|
fw__uci_state_del() {
|
|
|
local var="$1"
|
|
|
local item="$2"
|
|
|
|
|
|
- echo "del[$item]"
|
|
|
-
|
|
|
- local list val
|
|
|
- for val in $(uci_get_state firewall core "$var" | sort -u); do
|
|
|
- list="${list:+$list }$val"
|
|
|
- done
|
|
|
-
|
|
|
- echo "list[$list]"
|
|
|
-
|
|
|
+ local val=" $(uci_get_state firewall core $var) "
|
|
|
+ val="${val// $item / }"
|
|
|
+ val="${val# }"
|
|
|
+ val="${val% }"
|
|
|
uci_revert_state firewall core $var
|
|
|
-
|
|
|
- [ -n "$list" ] && {
|
|
|
- list=" $list "
|
|
|
-
|
|
|
- for item in $item; do
|
|
|
- list="${list// $item / }"
|
|
|
- done
|
|
|
-
|
|
|
- list="${list# }"
|
|
|
- list="${list% }"
|
|
|
-
|
|
|
- echo "list2[$list]"
|
|
|
-
|
|
|
- uci_set_state firewall core $var "$list"
|
|
|
- }
|
|
|
+ uci_set_state firewall core $var "$val"
|
|
|
}
|
|
|
|
|
|
fw_configure_interface() {
|