X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/ab01750c1e454fdb9732c1a50671100b4f79070b..a63600a1fc28dbc7ae7ce9f996829c49a25fb33c:/print-eap.c diff --git a/print-eap.c b/print-eap.c index f8a732af..e640e83d 100644 --- a/print-eap.c +++ b/print-eap.c @@ -42,11 +42,11 @@ struct eap_frame_t { }; static const struct tok eap_frame_type_values[] = { - { EAP_FRAME_TYPE_PACKET, "EAP packet" }, - { EAP_FRAME_TYPE_START, "EAPOL start" }, - { EAP_FRAME_TYPE_LOGOFF, "EAPOL logoff" }, - { EAP_FRAME_TYPE_KEY, "EAPOL key" }, - { EAP_FRAME_TYPE_ENCAP_ASF_ALERT, "Encapsulated ASF alert" }, + { EAP_FRAME_TYPE_PACKET, "EAP packet" }, + { EAP_FRAME_TYPE_START, "EAPOL start" }, + { EAP_FRAME_TYPE_LOGOFF, "EAPOL logoff" }, + { EAP_FRAME_TYPE_KEY, "EAPOL key" }, + { EAP_FRAME_TYPE_ENCAP_ASF_ALERT, "Encapsulated ASF alert" }, { 0, NULL} }; @@ -89,21 +89,21 @@ static const struct tok eap_type_values[] = { { EAP_TYPE_NO_PROPOSED, "No proposed" }, { EAP_TYPE_IDENTITY, "Identity" }, { EAP_TYPE_NOTIFICATION, "Notification" }, - { EAP_TYPE_NAK, "Nak" }, + { EAP_TYPE_NAK, "Nak" }, { EAP_TYPE_MD5_CHALLENGE, "MD5-challenge" }, - { EAP_TYPE_OTP, "OTP" }, - { EAP_TYPE_GTC, "GTC" }, - { EAP_TYPE_TLS, "TLS" }, - { EAP_TYPE_SIM, "SIM" }, - { EAP_TYPE_TTLS, "TTLS" }, - { EAP_TYPE_AKA, "AKA" }, - { EAP_TYPE_FAST, "FAST" }, + { EAP_TYPE_OTP, "OTP" }, + { EAP_TYPE_GTC, "GTC" }, + { EAP_TYPE_TLS, "TLS" }, + { EAP_TYPE_SIM, "SIM" }, + { EAP_TYPE_TTLS, "TTLS" }, + { EAP_TYPE_AKA, "AKA" }, + { EAP_TYPE_FAST, "FAST" }, { EAP_TYPE_EXPANDED_TYPES, "Expanded types" }, { EAP_TYPE_EXPERIMENTAL, "Experimental" }, { 0, NULL} }; -#define EAP_TLS_EXTRACT_BIT_L(x) (((x)&0x80)>>7) +#define EAP_TLS_EXTRACT_BIT_L(x) (((x)&0x80)>>7) /* RFC 5216 - EAP TLS bits */ #define EAP_TLS_FLAGS_LEN_INCLUDED (1 << 7) @@ -153,7 +153,9 @@ eap_print(netdissect_options *ndo, { u_int type, subtype, len; u_int count; + const char *sep; + ndo->ndo_protocol = "eap"; type = GET_U_1(cp); len = GET_BE_U_2(cp + 2); if (len != length) { @@ -218,10 +220,12 @@ eap_print(netdissect_options *ndo, ND_PRINT(" (too short for EAP Legacy NAK request/response)"); return; } + sep = ""; for (count = 5; count < len; count++) { - ND_PRINT(" %s (%u),", + ND_PRINT("%s %s (%u)", sep, tok2str(eap_type_values, "unknown", GET_U_1((cp + count))), GET_U_1(cp + count)); + sep = ","; } break; @@ -234,7 +238,7 @@ eap_print(netdissect_options *ndo, if (subtype == EAP_TYPE_TTLS) ND_PRINT(" TTLSv%u", EAP_TTLS_VERSION(GET_U_1((cp + 5)))); - ND_PRINT(" flags [%s] 0x%02x,", + ND_PRINT(" flags [%s] 0x%02x", bittok2str(eap_tls_flags_values, "none", GET_U_1((cp + 5))), GET_U_1(cp + 5)); @@ -243,7 +247,7 @@ eap_print(netdissect_options *ndo, ND_PRINT(" (too short for EAP TLS/TTLS request/response with length)"); return; } - ND_PRINT(" len %u", GET_BE_U_4(cp + 6)); + ND_PRINT(", len %u", GET_BE_U_4(cp + 6)); } break; @@ -254,7 +258,7 @@ eap_print(netdissect_options *ndo, } ND_PRINT(" FASTv%u", EAP_TTLS_VERSION(GET_U_1((cp + 5)))); - ND_PRINT(" flags [%s] 0x%02x,", + ND_PRINT(" flags [%s] 0x%02x", bittok2str(eap_tls_flags_values, "none", GET_U_1((cp + 5))), GET_U_1(cp + 5)); @@ -263,7 +267,7 @@ eap_print(netdissect_options *ndo, ND_PRINT(" (too short for EAP FAST request/response with length)"); return; } - ND_PRINT(" len %u", GET_BE_U_4(cp + 6)); + ND_PRINT(", len %u", GET_BE_U_4(cp + 6)); } /* FIXME - TLV attributes follow */ @@ -275,7 +279,7 @@ eap_print(netdissect_options *ndo, ND_PRINT(" (too short for EAP SIM/AKA request/response)"); return; } - ND_PRINT(" subtype [%s] 0x%02x,", + ND_PRINT(" subtype [%s] 0x%02x", tok2str(eap_aka_subtype_values, "unknown", GET_U_1((cp + 5))), GET_U_1(cp + 5));