1
0
Преглед на файлове

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 години
родител
ревизия
c3b44cf4fa
променени са 1 файла, в които са добавени 7 реда и са изтрити 2 реда
  1. 7 2
      package/base-files/src/etc/network/if-pre-up.d/04-wireless

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

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