[openwrt/openwrt] hostapd: make "key" option optional if "wpa_psk_file" is provided

LEDE Commits lede-commits at lists.infradead.org
Fri Aug 7 15:04:09 EDT 2020


jow pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/321503dbf3d8ac0da8c1693a94a334f8072c72ac

commit 321503dbf3d8ac0da8c1693a94a334f8072c72ac
Author: Jo-Philipp Wich <jo at mein.io>
AuthorDate: Fri Aug 7 20:50:55 2020 +0200

    hostapd: make "key" option optional if "wpa_psk_file" is provided
    
    If an existing "wpa_psk_file" is passed to hostapd, the "key" option may
    be omitted.
    
    While we're at it, also improve the passphrase length checking to ensure
    that it is either exactly 64 bytes or 8 to 63 bytes.
    
    Fixes: FS#2689
    Ref: https://github.com/openwrt/openwrt/pull/3283
    Suggested-by: Michael Jones <mike at meshplusplus.com>
    Signed-off-by: Jo-Philipp Wich <jo at mein.io>
---
 package/network/services/hostapd/files/hostapd.sh | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/package/network/services/hostapd/files/hostapd.sh b/package/network/services/hostapd/files/hostapd.sh
index 268a41a82b..5cab11022f 100644
--- a/package/network/services/hostapd/files/hostapd.sh
+++ b/package/network/services/hostapd/files/hostapd.sh
@@ -402,13 +402,13 @@ hostapd_set_bss_options() {
 		;;
 		psk|sae|psk-sae)
 			json_get_vars key wpa_psk_file
-			if [ ${#key} -lt 8 ]; then
-				wireless_setup_vif_failed INVALID_WPA_PSK
-				return 1
-			elif [ ${#key} -eq 64 ]; then
+			if [ ${#key} -eq 64 ]; then
 				append bss_conf "wpa_psk=$key" "$N"
-			else
+			elif [ ${#key} -ge 8 ] && [ ${#key} -le 63 ]; then
 				append bss_conf "wpa_passphrase=$key" "$N"
+			elif [ -n "$key" ] || [ -z "$wpa_psk_file" ]; then
+				wireless_setup_vif_failed INVALID_WPA_PSK
+				return 1
 			fi
 			[ -z "$wpa_psk_file" ] && set_default wpa_psk_file /var/run/hostapd-$ifname.psk
 			[ -n "$wpa_psk_file" ] && {



More information about the lede-commits mailing list