Browse Source

Fixed EAP-FAST server PAC-Opaque padding

0.6.4 broke this for some peer identity lengths. The padding was supposed
to make sure that the length of PAC-Opaque is divisible by 8.
Jouni Malinen 16 years ago
parent
commit
1f21bc4cc3
2 changed files with 3 additions and 1 deletions
  1. 2 0
      hostapd/ChangeLog
  2. 1 1
      src/eap_server/eap_fast.c

+ 2 - 0
hostapd/ChangeLog

@@ -3,6 +3,8 @@ ChangeLog for hostapd
 ????-??-?? - v0.6.5
 	* added support for SHA-256 as X.509 certificate digest when using the
 	  internal X.509/TLSv1 implementation
+	* fixed EAP-FAST PAC-Opaque padding (0.6.4 broke this for some peer
+	  identity lengths)
 
 2008-08-10 - v0.6.4
 	* added peer identity into EAP-FAST PAC-Opaque and skip Phase 2

+ 1 - 1
src/eap_server/eap_fast.c

@@ -685,7 +685,7 @@ static struct wpabuf * eap_fast_build_pac(struct eap_sm *sm,
 	}
 
 	pac_len = pos - pac_buf;
-	if (pac_len % 8) {
+	while (pac_len % 8) {
 		*pos++ = PAC_OPAQUE_TYPE_PAD;
 		pac_len++;
 	}