Ignore:
Timestamp:
2011-07-31T14:05:54+02:00 (5 years ago)
Author:
jow
Message:

[package] dropbear:

  • split port argument at the rightmost colon, allows binding to specific IPv6 addresses
  • don't use uci ipaddr var but resolve ifname and get addresses from it (#9853)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/dropbear/files/dropbear.init

    r23148 r27843  
    1313dropbear_start() 
    1414{ 
     15        append_ports() 
     16        { 
     17                local ifname="$1" 
     18                local port="$2" 
     19 
     20                grep -qs "^ *$ifname:" /proc/net/dev || { 
     21                        append args "-p $port" 
     22                        return 
     23                } 
     24 
     25                for addr in $( 
     26                        ifconfig "$ifname" | sed -ne ' 
     27                                /addr: *fe[89ab][0-9a-f]:/d 
     28                                s/.* addr: *\([0-9a-f:\.]*\).*/\1/p 
     29                        ' 
     30                ); do 
     31                        append args "-p $addr:$port" 
     32                done 
     33        } 
     34 
     35 
    1536        local section="$1" 
    1637 
     
    3455        [ "${val}" -eq 0 ] && append args "-s" 
    3556        # B) listen interface and port 
     57        local port 
    3658        local interface 
    37         local address 
    3859        config_get interface "${section}" Interface 
    39         config_get address "${interface}" ipaddr 
    40         config_get val "${section}" Port 
    41         val="${address:+${address}:}${val}" 
    42         [ -n "${val}" ] && append args "-p ${val}" 
     60        config_get interface "${interface}" ifname "$interface" 
     61        config_get port "${section}" Port 22 
     62        append_ports "$interface" "$port" 
    4363        # C) banner file 
    4464        config_get val "${section}" BannerFile 
Note: See TracChangeset for help on using the changeset viewer.