From: Jouni Malinen Date: Sat, 13 Feb 2010 16:00:39 +0000 (+0200) Subject: EAP-TNC: Accept fragment ack frame with Flags field X-Git-Tag: hostap_0_7_2~191 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b29d086d50f55e063ad9b09f47a02f22f35b1553;p=thirdparty%2Fhostap.git EAP-TNC: Accept fragment ack frame with Flags field TNC IF-T specification is unclear on the exact contents of the fragment acknowledgement frame. An interoperability issue with the tncs@fhh implementation was reported by Arne Welzel due to the different interpretations of the specification. Relax EAP-TNC server/peer validation rules to accept fragmentation acknowledgement frames to include the Flags field to avoid this issue. --- diff --git a/src/eap_peer/eap_tnc.c b/src/eap_peer/eap_tnc.c index c56001528..177d432c1 100644 --- a/src/eap_peer/eap_tnc.c +++ b/src/eap_peer/eap_tnc.c @@ -262,7 +262,7 @@ static struct wpabuf * eap_tnc_process(struct eap_sm *sm, void *priv, "Message Length %u", flags, message_length); if (data->state == WAIT_FRAG_ACK) { - if (len != 0) { + if (len > 1) { wpa_printf(MSG_DEBUG, "EAP-TNC: Unexpected payload in " "WAIT_FRAG_ACK state"); ret->ignore = TRUE; diff --git a/src/eap_server/eap_tnc.c b/src/eap_server/eap_tnc.c index 4cb3ecfb0..93f0cf022 100644 --- a/src/eap_server/eap_tnc.c +++ b/src/eap_server/eap_tnc.c @@ -453,7 +453,7 @@ static void eap_tnc_process(struct eap_sm *sm, void *priv, "Message Length %u", flags, message_length); if (data->state == WAIT_FRAG_ACK) { - if (len != 0) { + if (len > 1) { wpa_printf(MSG_DEBUG, "EAP-TNC: Unexpected payload " "in WAIT_FRAG_ACK state"); data->state = FAIL;