Support encrypted WDS connections (#2463)
[openwrt-10.03/.git] / package / broadcom-wl / files / etc / hotplug.d / net / 20-broadcom_wds
index 3ca4cd2dc68bf6e6c863ca09aacc3dd7eee7729e..90978ee7699d37428c33ae71b5d98b2bd019914b 100644 (file)
@@ -16,11 +16,36 @@ setup_broadcom_wds() {
                [ -z "$network" ] && return
                
                config_get addr "$CONFIG_SECTION" bssid
+               addr=$(echo "$addr" | tr 'A-F' 'a-f')
                [ "$addr" = "$remote" ] && {
+                       local cfg="$CONFIG_SECTION"
+                       
                        include /lib/network
                        scan_interfaces
 
                        setup_interface "$iface" "$network"
+                       
+                       config_get encryption "$cfg" encryption
+                       config_get key "$cfg" key
+                       config_get ssid "$cfg" ssid
+               
+                       [ "$encryption" != "none" ] && {
+                               sleep 1
+                               case "$encryption" in
+                                       psk|PSK)
+                                               nas4not "$network" "$iface" up auto tkip psk "$key" "$ssid"
+                                               ;;
+                                       psk2|PSK2)
+                                               nas4not "$network" "$iface" up auto aes psk "$key" "$ssid"
+                                               ;;
+                                       psk+psk2|psk2+psk|PSK+PSK2|PSK2+PSK)
+                                               nas4not "$network" "$iface" up auto aes+tkip psk "$key" "$ssid"
+                                               ;;
+                                       *)
+                                               nas4not lan "$iface" up auto aes "$encryption" "$key" "$ssid"
+                                               ;;
+                                       esac
+                       }
                }
        }