Changeset 23063


Ignore:
Timestamp:
2010-09-15T01:11:49+02:00 (6 years ago)
Author:
jow
Message:

[backfire] backport r23062

Location:
branches/backfire/package/firewall
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/backfire/package/firewall/Makefile

    r23025 r23063  
    1010 
    1111PKG_VERSION:=1 
    12 PKG_RELEASE:=16 
     12PKG_RELEASE:=17 
    1313 
    1414include $(INCLUDE_DIR)/package.mk 
  • branches/backfire/package/firewall/files/uci_firewall.sh

    r23025 r23063  
    1616config fw_zones 
    1717ZONE_LIST=$CONFIG_SECTION 
     18ZONE_NAMES= 
    1819 
    1920CUSTOM_CHAINS=1 
     
    2324CONNTRACK_ZONES= 
    2425NOTRACK_DISABLED= 
     26 
     27add_state() { 
     28        local var="$1" 
     29        local item="$2" 
     30 
     31        local val="$(uci_get_state firewall core $var)" 
     32        uci_set_state firewall core $var "${val:+$val }$item" 
     33} 
     34 
     35del_state() { 
     36        local var="$1" 
     37        local item="$2" 
     38 
     39        local val=" $(uci_get_state firewall core $var) " 
     40        val="${val// $item / }" 
     41        val="${val# }" 
     42        val="${val% }" 
     43        uci_set_state firewall core $var "$val" 
     44} 
    2545 
    2646find_item() { 
     
    96116                done 
    97117        fi 
     118 
     119        append ZONE_NAMES "$name" 
    98120} 
    99121 
     
    133155        uci_set_state firewall core "${network}_zone" "$zone" 
    134156 
     157        add_state "${zone}_networks" "$network" 
     158 
    135159        ACTION=add ZONE="$zone" INTERFACE="$network" DEVICE="$ifname" /sbin/hotplug-call firewall 
    136160} 
     
    158182        uci_revert_state firewall core "${network}_ifname" 
    159183        uci_revert_state firewall core "${network}_zone" 
     184 
     185        del_state "${zone}_networks" "$network" 
    160186 
    161187        ACTION=remove ZONE="$zone" INTERFACE="$network" DEVICE="$ifname" /sbin/hotplug-call firewall 
     
    606632                fw_event ifup "$interface" 
    607633        done 
     634 
     635        uci_set_state firewall core zones "$ZONE_NAMES" 
    608636} 
    609637 
    610638fw_stop() { 
     639        local z n i 
     640        config_get z core zones 
     641        for z in $z; do 
     642                config_get n core "${z}_networks" 
     643                for n in $n; do 
     644                        config_get i core "${n}_ifname" 
     645                        [ -n "$i" ] && env -i ACTION=remove ZONE="$z" INTERFACE="$n" DEVICE="$i" \ 
     646                                /sbin/hotplug-call firewall 
     647                done 
     648        done 
     649 
    611650        fw_clear 
    612651        $IPTABLES -P INPUT ACCEPT 
Note: See TracChangeset for help on using the changeset viewer.