aboutsummaryrefslogtreecommitdiffstats
path: root/src/eap_peer
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2008-11-16 09:10:29 (GMT)
committerJouni Malinen <j@w1.fi>2008-11-16 09:10:29 (GMT)
commitea251b4a23747f50eba9698f120537a835a73ba7 (patch)
treee0dcf59b1b6a683a60f1fc10c5f4062fcda72bfc /src/eap_peer
parent1b554eb0d7afa4b0d0103b48a71a4852144efc73 (diff)
downloadhostap-06-ea251b4a23747f50eba9698f120537a835a73ba7.zip
hostap-06-ea251b4a23747f50eba9698f120537a835a73ba7.tar.gz
hostap-06-ea251b4a23747f50eba9698f120537a835a73ba7.tar.bz2
EAP-FAST: Reorder TLVs in PAC Acknowledgment to fix interop issues
It looks like ACS did not like PAC Acknowledgment TLV before Result TLV, so reorder the TLVs to match the order shown in a draft-cam-winget-eap-fast-provisioning-09.txt example. This allows authenticated provisioning to be terminated with Access-Accept (if ACS has that option enabled). Previously, provisioning was otherwise successful, but the server rejected connection due to not understanding the PAC Ack ("Invalid TEAP Data recieved").
Diffstat (limited to 'src/eap_peer')
-rw-r--r--src/eap_peer/eap_fast.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/eap_peer/eap_fast.c b/src/eap_peer/eap_fast.c
index 4c774a4..b19f298 100644
--- a/src/eap_peer/eap_fast.c
+++ b/src/eap_peer/eap_fast.c
@@ -1208,10 +1208,10 @@ static int eap_fast_process_decrypted(struct eap_sm *sm,
if (tlv.result == EAP_TLV_RESULT_SUCCESS && !failed) {
tmp = eap_fast_tlv_result(EAP_TLV_RESULT_SUCCESS, 0);
- resp = wpabuf_concat(resp, tmp);
+ resp = wpabuf_concat(tmp, resp);
} else if (failed) {
tmp = eap_fast_tlv_result(EAP_TLV_RESULT_FAILURE, 0);
- resp = wpabuf_concat(resp, tmp);
+ resp = wpabuf_concat(tmp, resp);
}
if (resp && tlv.result == EAP_TLV_RESULT_SUCCESS && !failed &&