Changeset 31755


Ignore:
Timestamp:
2012-05-16T15:37:49+02:00 (6 years ago)
Author:
jow
Message:

[package] firewall: rework interface address determination to skip ipv6 addresses

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/firewall/files/reflection.hotplug

    r31754 r31755  
    1010        local prefix="$3" 
    1111 
     12        local idx=1 
    1213        local tmp="$(ubus call network.interface."$iface" status 2>/dev/null)" 
    1314 
     
    1617 
    1718        if [ "$tmp" = array ]; then 
     19                json_select address 
    1820 
    19                 json_select address 
    20                 json_get_type tmp 1 
     21                while true; do 
     22                        json_get_type tmp $idx 
     23                        [ "$tmp" = object ] || break 
    2124 
    22                 if [ "$tmp" = object ]; then 
     25                        json_select $((idx++)) 
     26                        json_get_var tmp address 
    2327 
    24                         json_select 1 
    25                         [ -n "$ipaddr" ] && json_get_var "$ipaddr" address 
    26                         [ -n "$prefix" ] && json_get_var "$prefix" mask 
     28                        case "$tmp" in 
     29                                *:*) json_select .. ;; 
     30                                *) 
     31                                        [ -n "$ipaddr" ] && json_get_var $ipaddr address 
     32                                        [ -n "$prefix" ] && json_get_var $prefix mask 
     33                                        return 0  
     34                                ;; 
     35                        esac 
     36                done 
     37        fi 
    2738 
    28                 fi 
    29         fi 
     39        return 1 
    3040} 
    3141 
Note: See TracChangeset for help on using the changeset viewer.