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
<arne.welzel@stud.fh-hannover.de> 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.
This commit is contained in:
Jouni Malinen 2010-02-13 18:00:39 +02:00
parent aff5e54d4a
commit b29d086d50
2 changed files with 2 additions and 2 deletions

View file

@ -262,7 +262,7 @@ static struct wpabuf * eap_tnc_process(struct eap_sm *sm, void *priv,
"Message Length %u", flags, message_length); "Message Length %u", flags, message_length);
if (data->state == WAIT_FRAG_ACK) { if (data->state == WAIT_FRAG_ACK) {
if (len != 0) { if (len > 1) {
wpa_printf(MSG_DEBUG, "EAP-TNC: Unexpected payload in " wpa_printf(MSG_DEBUG, "EAP-TNC: Unexpected payload in "
"WAIT_FRAG_ACK state"); "WAIT_FRAG_ACK state");
ret->ignore = TRUE; ret->ignore = TRUE;

View file

@ -453,7 +453,7 @@ static void eap_tnc_process(struct eap_sm *sm, void *priv,
"Message Length %u", flags, message_length); "Message Length %u", flags, message_length);
if (data->state == WAIT_FRAG_ACK) { if (data->state == WAIT_FRAG_ACK) {
if (len != 0) { if (len > 1) {
wpa_printf(MSG_DEBUG, "EAP-TNC: Unexpected payload " wpa_printf(MSG_DEBUG, "EAP-TNC: Unexpected payload "
"in WAIT_FRAG_ACK state"); "in WAIT_FRAG_ACK state");
data->state = FAIL; data->state = FAIL;