PERFORCE change 66290 for review

Sam Leffler sam at FreeBSD.org
Thu Dec 2 17:02:16 PST 2004


http://perforce.freebsd.org/chv.cgi?CH=66290

Change 66290 by sam at sam_ebb on 2004/12/03 01:02:08

	hack: reorder the unicast cipher selectors in WPA/RSN ie's
	to match that used by hostapd; otherwise the supplicant may
	barf if it blindly compares the ie in the probe response to
	the ie in the PTK handshake

Affected files ...

.. //depot/projects/wifi/sys/net80211/ieee80211_output.c#19 edit

Differences ...

==== //depot/projects/wifi/sys/net80211/ieee80211_output.c#19 (text+ko) ====

@@ -683,14 +683,14 @@
 	/* unicast cipher list */
 	selcnt = frm;
 	ADDSHORT(frm, 0);			/* selector count */
+	if (rsn->rsn_ucastcipherset & (1<<IEEE80211_CIPHER_AES_CCM)) {
+		selcnt[0]++;
+		ADDSELECTOR(frm, cipher_suite[IEEE80211_CIPHER_AES_CCM]);
+	}
 	if (rsn->rsn_ucastcipherset & (1<<IEEE80211_CIPHER_TKIP)) {
 		selcnt[0]++;
 		ADDSELECTOR(frm, cipher_suite[IEEE80211_CIPHER_TKIP]);
 	}
-	if (rsn->rsn_ucastcipherset & (1<<IEEE80211_CIPHER_AES_CCM)) {
-		selcnt[0]++;
-		ADDSELECTOR(frm, cipher_suite[IEEE80211_CIPHER_AES_CCM]);
-	}
 
 	/* authenticator selector list */
 	selcnt = frm;
@@ -766,14 +766,14 @@
 	/* unicast cipher list */
 	selcnt = frm;
 	ADDSHORT(frm, 0);			/* selector count */
+	if (rsn->rsn_ucastcipherset & (1<<IEEE80211_CIPHER_AES_CCM)) {
+		selcnt[0]++;
+		ADDSELECTOR(frm, cipher_suite[IEEE80211_CIPHER_AES_CCM]);
+	}
 	if (rsn->rsn_ucastcipherset & (1<<IEEE80211_CIPHER_TKIP)) {
 		selcnt[0]++;
 		ADDSELECTOR(frm, cipher_suite[IEEE80211_CIPHER_TKIP]);
 	}
-	if (rsn->rsn_ucastcipherset & (1<<IEEE80211_CIPHER_AES_CCM)) {
-		selcnt[0]++;
-		ADDSELECTOR(frm, cipher_suite[IEEE80211_CIPHER_AES_CCM]);
-	}
 
 	/* authenticator selector list */
 	selcnt = frm;
@@ -811,10 +811,10 @@
 {
 
 	KASSERT(ic->ic_flags & IEEE80211_F_WPA, ("no WPA/RSN!"));
+	if (ic->ic_flags & IEEE80211_F_WPA2)
+		frm = ieee80211_setup_rsn_ie(ic, frm);
 	if (ic->ic_flags & IEEE80211_F_WPA1)
 		frm = ieee80211_setup_wpa_ie(ic, frm);
-	if (ic->ic_flags & IEEE80211_F_WPA2)
-		frm = ieee80211_setup_rsn_ie(ic, frm);
 	return frm;
 }
 


More information about the p4-projects mailing list