From d68a9310fb1e305e5c65d516841a5a16bb5fc867 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Fri, 22 Dec 2006 08:06:07 +0000 Subject: [PATCH] move hostapd setup function to wireless-tools package, as it is driver independent SVN-Revision: 5890 --- package/madwifi/files/lib/wifi/madwifi.sh | 65 ---------------------- package/wireless-tools/Makefile | 4 +- package/wireless-tools/files/wifi.sh | 66 +++++++++++++++++++++++ 3 files changed, 69 insertions(+), 66 deletions(-) create mode 100644 package/wireless-tools/files/wifi.sh diff --git a/package/madwifi/files/lib/wifi/madwifi.sh b/package/madwifi/files/lib/wifi/madwifi.sh index dd030ba169..2a8465b9fd 100755 --- a/package/madwifi/files/lib/wifi/madwifi.sh +++ b/package/madwifi/files/lib/wifi/madwifi.sh @@ -45,71 +45,6 @@ scan_atheros() { config_set "$device" vifs "${ap:+$ap }${adhoc:+$adhoc }${sta:+$sta }${wds:+$wds }" } -hostapd_setup_vif() { - local vif="$1" - local driver="$2" - local hostapd_cfg= - - # Examples: - # psk-mixed/tkip => WPA1+2 PSK, TKIP - # wpa-psk2/tkip+aes => WPA2 PSK, CCMP+TKIP - # wpa2/tkip+aes => WPA2 RADIUS, CCMP+TKIP - # ... - - # TODO: move this parsing function somewhere generic, so that - # later it can be reused by drivers that don't use hostapd - - # crypto defaults: WPA2 vs WPA1 - case "$enc" in - wpa2*|WPA2*|*PSK2*|*psk2*) - wpa=2 - crypto="CCMP" - ;; - *mixed*) - wpa=3 - crypto="CCMP TKIP" - ;; - *) - wpa=1 - crypto="TKIP" - ;; - esac - - # explicit override for crypto setting - case "$enc" in - *tkip+aes|*TKIP+AES|*tkip+ccmp|*TKIP+CCMP) crypto="CCMP TKIP";; - *tkip|*TKIP) crypto="TKIP";; - *aes|*AES|*ccmp|*CCMP) crypto="CCMP";; - esac - - # use crypto/auth settings for building the hostapd config - case "$enc" in - *psk*|*PSK*) - config_get psk "$vif" key - append hostapd_cfg "wpa_passphrase=$psk" "$N" - ;; - *wpa*|*WPA*) - # FIXME: add wpa+radius here - ;; - *) - return 0; - ;; - esac - config_get ifname "$vif" ifname - config_get bridge "$vif" bridge - config_get ssid "$vif" ssid - cat > /var/run/hostapd-$ifname.conf < WPA1+2 PSK, TKIP + # wpa-psk2/tkip+aes => WPA2 PSK, CCMP+TKIP + # wpa2/tkip+aes => WPA2 RADIUS, CCMP+TKIP + # ... + + # TODO: move this parsing function somewhere generic, so that + # later it can be reused by drivers that don't use hostapd + + # crypto defaults: WPA2 vs WPA1 + case "$enc" in + wpa2*|WPA2*|*PSK2*|*psk2*) + wpa=2 + crypto="CCMP" + ;; + *mixed*) + wpa=3 + crypto="CCMP TKIP" + ;; + *) + wpa=1 + crypto="TKIP" + ;; + esac + + # explicit override for crypto setting + case "$enc" in + *tkip+aes|*TKIP+AES|*tkip+ccmp|*TKIP+CCMP) crypto="CCMP TKIP";; + *tkip|*TKIP) crypto="TKIP";; + *aes|*AES|*ccmp|*CCMP) crypto="CCMP";; + esac + + # use crypto/auth settings for building the hostapd config + case "$enc" in + *psk*|*PSK*) + config_get psk "$vif" key + append hostapd_cfg "wpa_passphrase=$psk" "$N" + ;; + *wpa*|*WPA*) + # FIXME: add wpa+radius here + ;; + *) + return 0; + ;; + esac + config_get ifname "$vif" ifname + config_get bridge "$vif" bridge + config_get ssid "$vif" ssid + cat > /var/run/hostapd-$ifname.conf <