diff options
author | John Crispin <john@openwrt.org> | 2014-10-20 11:19:21 +0000 |
---|---|---|
committer | John Crispin <john@openwrt.org> | 2014-10-20 11:19:21 +0000 |
commit | d5b734e14579eafa39829c007bbbd4a61692e68a (patch) | |
tree | 7bc6af575b5e3cb1ef10c346ec5010aa0507605d | |
parent | 48c507b7ed063705e1d6123d45710878ea5cb98a (diff) | |
download | upstream-d5b734e14579eafa39829c007bbbd4a61692e68a.tar.gz upstream-d5b734e14579eafa39829c007bbbd4a61692e68a.tar.bz2 upstream-d5b734e14579eafa39829c007bbbd4a61692e68a.zip |
hostapd: Add wpa_psk_file option to netifd.sh
The wpa_psk_file option offers the possibility to use a different WPA-PSK key for each client. The directive points to a file with the following syntax:
mac_address wpa_passphrase_or_hex_key
Example:
00:11:22:33:44:55 passphrase_for_client_1
00:11:22:33:44:67 passphrase_for_client_2
00:11:22:33:44:89 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
So it is possible to specify both ASCII passphrases and raw 64-chars hex keys.
Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>
SVN-Revision: 43001
-rw-r--r-- | package/network/services/hostapd/files/netifd.sh | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/package/network/services/hostapd/files/netifd.sh b/package/network/services/hostapd/files/netifd.sh index 5dfb43d0f1..b1036be7a0 100644 --- a/package/network/services/hostapd/files/netifd.sh +++ b/package/network/services/hostapd/files/netifd.sh @@ -134,6 +134,8 @@ hostapd_common_add_bss_config() { config_add_string 'key1:wepkey' 'key2:wepkey' 'key3:wepkey' 'key4:wepkey' 'password:wpakey' + config_add_string wpa_psk_file + config_add_boolean wps_pushbutton wps_label ext_registrar wps_pbc_in_m1 config_add_string wps_device_type wps_device_name wps_manufacturer wps_pin @@ -202,7 +204,7 @@ hostapd_set_bss_options() { wps_not_configured=1 ;; psk) - json_get_vars key + json_get_vars key wpa_psk_file if [ ${#key} -lt 8 ]; then wireless_setup_vif_failed INVALID_WPA_PSK return 1 @@ -211,6 +213,10 @@ hostapd_set_bss_options() { else append bss_conf "wpa_passphrase=$key" "$N" fi + [ -n "$wpa_psk_file" ] && { + [ -e "$wpa_psk_file" ] || touch "$wpa_psk_file" + append bss_conf "wpa_psk_file=$wpa_psk_file" "$N" + } wps_possible=1 ;; eap) |