summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRémy Oudompheng <remy@archlinux.org>2011-06-05 22:18:48 +0200
committerRémy Oudompheng <remy@archlinux.org>2011-06-05 22:18:48 +0200
commit2ac835cf71fa603948d749b0eb80204c3471c231 (patch)
treebb794876f3c3660630bedc159fe4e37b5320c5b8 /src
parent8d47849360732ef32cc77f65961fa8797a202d78 (diff)
downloadnetctl-2ac835cf71fa603948d749b0eb80204c3471c231.tar.gz
netctl-2ac835cf71fa603948d749b0eb80204c3471c231.tar.xz
Refactor wpa_supplicant config generation
Diffstat (limited to 'src')
-rw-r--r--src/8021x47
1 files changed, 23 insertions, 24 deletions
diff --git a/src/8021x b/src/8021x
index cb49199..6f0edf2 100644
--- a/src/8021x
+++ b/src/8021x
@@ -65,41 +65,40 @@ make_wpa_config_file() {
# Requires already loaded profile
make_wpa_config() {
case $SECURITY in
- wep|wep-old)
- if [[ ${KEY:0:2} == "s:" ]]; then # TODO: does wpa_supplicant handle this as expected?
- echo "ssid=\"$ESSID\" \nkey_mgmt=NONE \nwep_key0=\"${KEY:2}\" \nwep_tx_keyidx=0"
- else
- echo "ssid=\"$ESSID\" \nkey_mgmt=NONE \nwep_key0=$KEY \nwep_tx_keyidx=0"
- fi
-
+ wep|wep-old|wpa|none|none-old)
+ echo "ssid=\"$ESSID\""
if [[ -n "$AP" ]]; then
- echo " bssid=$AP"
+ echo "bssid=$AP"
fi
;;
- none|none-old)
- echo "ssid=\"$ESSID\" \nkey_mgmt=NONE"
+ wpa-configsection)
+ echo "$CONFIGSECTION"
+ ;;
+ *)
+ return 1
+ ;;
+ esac
- if [[ -n "$AP" ]]; then
- echo " bssid=$AP"
+ # Key management
+ case $SECURITY in
+ wep|wep-old)
+ echo "key_mgmt=NONE"
+ echo "wep_tx_idx=0"
+ if [[ ${KEY:0:2} == "s:" ]]; then # TODO: does wpa_supplicant handle this as expected?
+ echo "wep_key0=\"${KEY:2}\""
+ else
+ echo "wep_key0=$KEY"
fi
+ none|none-old)
+ echo "key_mgmt=NONE"
;;
wpa)
if [[ "${#KEY}" -eq 64 ]]; then
- echo "proto=RSN WPA\n ssid=\"$ESSID\" \npsk=$KEY"
+ echo "proto=RSN WPA\npsk=$KEY"
else
- echo "proto=RSN WPA\n ssid=\"$ESSID\" \npsk=\"$KEY\""
- fi
-
- if [[ -n "$AP" ]]; then
- echo " bssid=$AP"
+ echo "proto=RSN WPA\npsk=\"$KEY\""
fi
;;
- wpa-configsection)
- echo "$CONFIGSECTION"
- ;;
- *)
- return 1
- ;;
esac
# Hidden SSID