From 0280ac8c92f1797131fbff83d03d39e74294c771 Mon Sep 17 00:00:00 2001
From: Jo-Philipp Wich <jow@openwrt.org>
Date: Wed, 27 Oct 2010 11:11:04 +0000
Subject: [PATCH] Set auth_algs in hostapd.conf, make it configurable for WEP
 Always set auth_algs in hostapd.conf. For WEP, auth_algs is configurable by
 setting the encryption parameter of a wifi-iface to contain "open" (1, open
 system), "shared" (2, shared key), or "mixed" (3, permits both open system
 and shared key.) For example, use "wep+shared" for shared key authentication.
 The default is default is "open" as it is more secure than "shared" (although
 WEP is pretty weak regardless.) For non-WEP, "open" is always used.

https://dev.openwrt.org/ticket/8120

Signed-off-by: Mark Mentovai <mark@moxienet.com>

SVN-Revision: 23655
---
 package/hostapd/files/hostapd.sh | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/package/hostapd/files/hostapd.sh b/package/hostapd/files/hostapd.sh
index bc58b88f9e..db08e7bce2 100644
--- a/package/hostapd/files/hostapd.sh
+++ b/package/hostapd/files/hostapd.sh
@@ -77,7 +77,6 @@ hostapd_set_bss_options() {
 			append "$var" "eapol_key_index_workaround=1" "$N"
 			append "$var" "radius_acct_interim_interval=300" "$N"
 			append "$var" "ieee8021x=1" "$N"
-			append "$var" "auth_algs=1" "$N"
 			append "$var" "wpa_key_mgmt=WPA-EAP" "$N"
 			append "$var" "wpa_group_rekey=300" "$N"
 			append "$var" "wpa_gmk_rekey=640" "$N"
@@ -101,6 +100,14 @@ hostapd_set_bss_options() {
 					append "$var" "wep_default_key=0" "$N"
 				;;
 			esac
+			case "$enc" in
+				*shared*)
+					auth_algs=2
+				;;
+				*mixed*)
+					auth_algs=3
+				;;
+			esac
 			wpa=0
 			crypto=
 		;;
@@ -109,6 +116,7 @@ hostapd_set_bss_options() {
 			crypto=
 		;;
 	esac
+	append "$var" "auth_algs=${auth_algs:-1}" "$N"
 	append "$var" "wpa=$wpa" "$N"
 	[ -n "$crypto" ] && append "$var" "wpa_pairwise=$crypto" "$N"
 	[ -n "$wpa_group_rekey" ] && append "$var" "wpa_group_rekey=$wpa_group_rekey" "$N"
-- 
GitLab