Changeset 17681


Ignore:
Timestamp:
2009-09-23T02:54:55+02:00 (8 years ago)
Author:
jow
Message:

[8.09] merge r17680

Location:
branches/packages_8.09/net/miniupnpd
Files:
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • branches/packages_8.09/net/miniupnpd/Makefile

    r14175 r17681  
    1111PKG_NAME:=miniupnpd 
    1212PKG_VERSION:=1.1 
    13 PKG_RELEASE:=5 
     13PKG_RELEASE:=6 
    1414PKG_MD5SUM:=a0f6651476721db9b554668c8c83b151 
    1515 
     
    3737 
    3838define Package/miniupnpd/install 
    39         $(INSTALL_DIR) $(1)/usr/bin $(1)/etc/init.d $(1)/etc/config $(1)/etc/hotplug.d/iface $(1)/lib/miniupnpd 
    40         $(INSTALL_BIN) $(PKG_BUILD_DIR)/miniupnpd $(1)/usr/bin/ 
     39        $(INSTALL_DIR) $(1)/usr/bin $(1)/etc/init.d $(1)/etc/config $(1)/etc/hotplug.d/firewall 
     40        $(INSTALL_BIN) $(PKG_BUILD_DIR)/miniupnpd $(1)/usr/bin/miniupnpd 
    4141        $(INSTALL_BIN) ./files/miniupnpd.init $(1)/etc/init.d/miniupnpd 
    4242        $(INSTALL_DATA) ./files/upnpd.config $(1)/etc/config/upnpd 
    43         $(INSTALL_DATA) ./files/miniupnpd.hotplug $(1)/etc/hotplug.d/iface/20-miniupnpd 
    44         $(INSTALL_DATA) ./files/miniupnpd.firewall $(1)/lib/miniupnpd/firewall.sh 
     43        $(INSTALL_DATA) ./files/miniupnpd.hotplug $(1)/etc/hotplug.d/firewall/50-miniupnpd 
    4544endef 
    4645 
  • branches/packages_8.09/net/miniupnpd/files/miniupnpd.hotplug

    r13743 r17681  
    22 
    33/etc/init.d/miniupnpd enabled && { 
    4         killall -0 miniupnpd 2>/dev/null && { 
    5                 . /lib/miniupnpd/firewall.sh 
    64 
    7                 [ "$ACTION" = "ifup" ] && { 
    8                         upnp_firewall_delif 
    9                         upnp_firewall_addif 
     5        local state="${ZONE}_${INTERFACE}" 
     6        local extif initifs 
     7 
     8        config_load upnpd 
     9        config_get extif config external_iface 
     10 
     11        if [ "$ACTION" = "add" ] && [ "$INTERFACE" = "$extif" ]; then 
     12 
     13                local active 
     14                config_get active "$state" ifname 
     15 
     16                [ -z "$active" ] && { 
     17                        local ipaddr 
     18                        config_get ipaddr "$extif" ipaddr 
     19 
     20                        logger -t "upnp" "adding $INTERFACE ($DEVICE - $ipaddr) to firewall" 
     21 
     22                        iptables -t nat -N MINIUPNPD 2>/dev/null 
     23                        iptables -t nat -A prerouting_rule -i $DEVICE -d $ipaddr -j MINIUPNPD 
     24                        iptables -t filter -N MINIUPNPD 2>/dev/null 
     25                        iptables -t filter -A forwarding_rule -i $DEVICE ! -o $DEVICE -j MINIUPNPD 
     26 
     27                        uci_set_state upnpd "$state" "" "firewall" 
     28                        uci_set_state upnpd "$state" ifname "$DEVICE" 
     29                        uci_set_state upnpd "$state" ipaddr "$ipaddr" 
    1030                } 
     31         
     32        elif [ "$ACTION" = "remove" ] && [ "$INTERFACE" = "$extif" ]; then 
    1133 
    12                 [ "$ACTION" = "ifdown" ] && { 
    13                         upnp_firewall_delif 
     34                local ifname ipaddr 
     35                config_get ifname "$state" ifname 
     36                config_get ipaddr "$state" ipaddr 
     37 
     38                [ -n "$ifname" ] && [ -n "$ipaddr" ] && { 
     39                        logger -t "upnp" "removing $INTERFACE ($ifname - $ipaddr) from firewall" 
     40                        iptables -t nat -D prerouting_rule -i $ifname -d $ipaddr -j MINIUPNPD 
     41                        iptables -t filter -D forwarding_rule -i $DEVICE ! -o $DEVICE -j MINIUPNPD 
     42                        uci_revert_state upnpd "$state" 
    1443                } 
    15         } || { 
    16                 /etc/init.d/miniupnpd restart 
    17         } 
     44        fi 
    1845} 
     46 
  • branches/packages_8.09/net/miniupnpd/files/miniupnpd.init

    r14175 r17681  
    22START=95 
    33 
    4 include /lib/miniupnpd 
     4start() { 
     5        config_load "upnpd" 
     6        local extiface intiface upload download logging secure 
    57 
    6 boot() { 
    7         # On boot, there's a race condition with hotplug, 
    8         # therfore do nothing here 
    9         return 
    10 } 
    11  
    12 start() { 
    13         local extif 
    14         local intif 
    15         local extiface 
    16         local upload 
    17         local download 
    18         local logging 
    19         local secure 
    20  
    21         config_load "upnpd" 
    22         config_get extif    config external_iface 
    23         config_get intif    config internal_iface 
     8        config_get extiface config external_iface 
     9        config_get intiface config internal_iface 
    2410        config_get upload   config upload 
    2511        config_get download config download 
     
    2713        config_get_bool secure config secure_mode 0 
    2814 
    29         config_load "network" 
    30         config_get extiface ${extif:-wan} ifname 
    31          
    32         if [ -n "$extiface" ]; then 
    33                 upnp_firewall_start 
     15        include /lib/network 
     16        scan_interfaces 
    3417 
    35                 local args="-i $extiface" 
     18        local ifname 
     19        config_get ifname ${extiface:-wan} ifname 
    3620 
    37                 for iface in ${intif:-lan}; do 
     21        if [ -n "$ifname" ]; then 
     22                local args="-i $ifname" 
     23                local iface 
     24 
     25                for iface in ${intiface:-lan}; do 
    3826                        local ipaddr 
    3927                        config_get ipaddr "$iface" ipaddr 
     
    5442                        eval start-stop-daemon -S -x miniupnpd -- $args 2>/dev/null 
    5543                fi 
     44 
     45                # start firewall 
     46                local zone 
     47                config_load firewall 
     48                config_get zone core "${extiface:-wan}_zone" 
     49                [ -n "$zone" ] && \ 
     50                        ACTION="add" ZONE="$zone" INTERFACE="${extiface:-wan}" DEVICE="$ifname" \ 
     51                                . /etc/hotplug.d/firewall/50-miniupnpd  
    5652        else 
    5753                logger -t "upnp daemon" "external interface not found, not starting" 
     
    5955} 
    6056 
     57clear_rule() { 
     58        local state="$1" 
     59        local ifname ipaddr 
     60 
     61        config_get ifname "$state" ifname 
     62        config_get ipaddr "$state" ipaddr 
     63 
     64        [ -n "$ifname" ] && [ -n "$ipaddr" ] && { 
     65                iptables -t nat -D prerouting_rule -i $ifname -d $ipaddr -j MINIUPNPD 
     66                iptables -t filter -D forwarding_rule -i $ifname ! -o $ifname -j MINIUPNPD 
     67                uci_revert_state upnpd "$state" 
     68                unset "CONFIG_${state}_ifname" 
     69                unset "CONFIG_${state}_ipaddr" 
     70        } 
     71} 
     72 
    6173stop() { 
    6274        start-stop-daemon -K -q -x miniupnpd -p /var/run/miniupnpd.pid 
    63         upnp_firewall_stop 
     75        rm -f /var/run/miniupnpd.pid 
     76 
     77        logger -t "upnp" "removing firewall rules" 
     78 
     79        config_load upnpd 
     80        config_foreach clear_rule firewall 
     81 
     82        iptables -t nat -F MINIUPNPD 2>/dev/null 
     83        iptables -t nat -X MINIUPNPD 2>/dev/null 
     84        iptables -t filter -F MINIUPNPD 2>/dev/null 
     85        iptables -t filter -X MINIUPNPD 2>/dev/null 
    6486} 
     87 
Note: See TracChangeset for help on using the changeset viewer.