STA shared-key authentication support

Amit Gurdasani gurdasani
Sat Nov 16 22:20:30 PST 2002


Oops, missed a break; on failure, so the record is set even if invalid input
is provided. This should fix that.

==========================================================================
--- hostap_ioctl.c.1.19	2002-11-16 20:38:01.000000000 -0500
+++ hostap_ioctl.c	2002-11-17 01:15:44.000000000 -0500
@@ -1990,6 +1990,35 @@
 	case PRISM2_PARAM_AP_AUTH_ALGS:
 		if (local->ap != NULL)
 			local->ap->auth_algs = value;
+
+		if (local -> iw_mode != IW_MODE_MASTER) {
+			/*
+			 * hack to enable STA-side shared key auth
+			 *
+			 * See if we've been passed a valid value. The only
+			 * values allowed are 1 (open system) and 2 (shared
+			 * key).
+			 */
+			if (value < 1 || value > 2) {
+				printk (KERN_WARNING "%s: Authentication "
+				        "system %d is unknown. (1 = open, "
+					"2 = shared key)\n",
+					local -> dev -> name, value);
+				ret = -EINVAL;
+				break;
+			}
+			/* set the auth record to requested */
+			if (hostap_set_word (local -> dev,
+			                     HFA384X_RID_CNFAUTHENTICATION,
+			                     value)) {
+				printk (KERN_WARNING "%s: Could not set "
+				        "authentication system to %s.\n",
+					local -> dev -> name,
+					(value ? "open" : "shared key"));
+				ret = -EINVAL;
+				break;
+			}
+		}
 		break;

 	case PRISM2_PARAM_MONITOR_ALLOW_FCSERR:
==========================================================================

On Sat, 16 Nov 2002, Amit Gurdasani wrote:

:Hi, all. I'm new to this list, and I've perused the mailing list archives
:and didn't see this addressed, so please be gentle. :)
:
:I wanted to use shared-key authentication with my (Host)AP, but found that
:hostap_cs currently doesn't support shared-key authentication, so I've
:prepared a hack that adds this functionality (based on what linux-wlan-ng
:does).
:
:This 'overloads' the ap_auth_algs IOCTL parameter, so that in non-Master
:mode, setting the parameter will cause the authentication system record to
:be changed. The effect is that by setting it to 2 using
:
:prism2_param wlan0 ap_auth_algs 2
:
:will enable client-side shared-key authentication.
:
:It seems to work well for me (secondary f/w 1.4.9 with firmware-based WEP
:encryption and decryption enabled). I haven't tested it with any other
:configurations, so YMMV.
:
:Changing it to 1 (open-system auth) and then using iwpriv on AP side to
:kickmac prevented association from occurring (the AP is set to accept
:shared-key auth only), and then changing it to 2, the STA was automatically
:able to associate. Applying the patch AP-side had no effect (and no
:regression).
:
:This patch is against the current CVS HEAD hostap_ioctl.c as obtained from
:CVSWeb, though I tested it with the 2002-10-12 tarball.
:
:Thanks for your excellent work, Jouni and others. (For the record, with
:firmware WEP encryption and decryption enabled, and with a 104-bit key,
:hostap_cs is able to get away with 30-40% of the CPU utilization of
:linux-wlan-ng, which pegs the 400 MHz CPU in this laptop at close to 100%
:while doing large transfers with 128-bit WEP enabled. Using host-based WEP
:encryption and decryption is not very much worse.)
:
<snip>





More information about the Hostap mailing list