]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-eap.c
gre: add support for MikroTik Ethernet-over-IP hack.
[tcpdump] / print-eap.c
index f8a732af04bfac7cf5b027c8d83fad6c01c8416e..e640e83dd46208610e402f4698d62c5e87b9bdc9 100644 (file)
@@ -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));