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:
parent
aff5e54d4a
commit
b29d086d50
2 changed files with 2 additions and 2 deletions
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in a new issue