Forráskód Böngészése

package/base-files: wireless: allow setting pairwise algorithm

Not perfect, since allowing WPA+WPA2 means setting wpa_pairwise as well
as rsn_pairwise, but I do not want to add unnecessary complexity to
interface configuration.

This is relevant for my X40 with ipw2200, which bugs for CCMP pairwise
cipher.
Phil Sutter 10 éve
szülő
commit
c3b44cf4fa

+ 7 - 2
package/base-files/src/etc/network/if-pre-up.d/04-wireless

@@ -12,6 +12,7 @@ set -e
 wpa=0
 wpa1=0
 wpa2=0
+pairwise=""
 
 case "$IF_WIRELESS_SECURITY" in
 	none)
@@ -23,10 +24,12 @@ case "$IF_WIRELESS_SECURITY" in
 	wpa)
 		sec=1
 		wpa1=1
+		pairwise=TKIP
 		;;
 	wpa2)
 		sec=1
 		wpa2=1
+		pairwise=CCMP
 		;;
 	wpa+wpa2)
 		sec=1
@@ -37,6 +40,8 @@ case "$IF_WIRELESS_SECURITY" in
 		;;
 esac
 
+[ "$IF_WIRELESS_PAIRWISE" ] || IF_WIRELESS_PAIRWISE=$pairwise
+
 case "$IF_WIRELESS_MODE" in
 	ap)
 		logger -t hostap "Creating hostapd configuration"
@@ -55,14 +60,14 @@ case "$IF_WIRELESS_MODE" in
 			logger -t hostap "using WPA for security"
 			echo "wpa=1" >> /tmp/hostapd.conf
 			echo "wpa_key_mgmt=WPA-PSK" >> /tmp/hostapd.conf
-			echo "wpa_pairwise=TKIP" >> /tmp/hostapd.conf
+			echo "wpa_pairwise=$IF_WIRELESS_PAIRWISE" >> /tmp/hostapd.conf
 			echo "wpa_passphrase=$IF_WIRELESS_PASSPHRASE" >> /tmp/hostapd.conf
 		}
 		[ $wpa2 -eq 1 ] && {
 			logger -t hostap "using WPA2 for security"
 			echo "wpa=2" >> /tmp/hostapd.conf
 			echo "wpa_key_mgmt=WPA-PSK" >> /tmp/hostapd.conf
-			echo "rsn_pairwise=CCMP" >> /tmp/hostapd.conf
+			echo "rsn_pairwise=$IF_WIRELESS_PAIRWISE" >> /tmp/hostapd.conf
 			echo "wpa_passphrase=$IF_WIRELESS_PASSPHRASE" >> /tmp/hostapd.conf
 		}
 		[ $wpa -eq 1 ] && {