Ethereal-dev: [Ethereal-dev] Ethereal patch for IEEE 802.11i/RSN pre-authentication ethertype
IEEE 802.11i/RSN uses a new ethertype for pre-authentication. Otherwise,
these packets are identical to IEEE 802.1X/EAPOL packets. This patch
adds the new ethertype and uses the existing EAPOL dissector to parse
pre-authentication packets.
--
Jouni Malinen PGP id EFC895FA
Index: etypes.h
===================================================================
RCS file: /cvsroot/ethereal/etypes.h,v
retrieving revision 1.38
diff -u -p -r1.38 etypes.h
--- etypes.h 28 Feb 2004 22:56:35 -0000 1.38
+++ etypes.h 4 Apr 2004 04:39:51 -0000
@@ -212,6 +212,10 @@
#define ETHERTYPE_BRDWALK 0x88AE
#endif
+#ifndef ETHERTYPE_RSN_PREAUTH
+#define ETHERTYPE_RSN_PREAUTH 0x88c7 /* 802.11i Pre-Authentication */
+#endif
+
#ifndef ETHERTYPE_LOOP
#define ETHERTYPE_LOOP 0x9000 /* used for layer 2 testing (do i see my own frames on the wire) */
#endif
Index: packet-eapol.c
===================================================================
RCS file: /cvsroot/ethereal/packet-eapol.c,v
retrieving revision 1.18
diff -u -p -r1.18 packet-eapol.c
--- packet-eapol.c 30 Mar 2004 19:15:24 -0000 1.18
+++ packet-eapol.c 4 Apr 2004 04:39:53 -0000
@@ -427,4 +427,5 @@ proto_reg_handoff_eapol(void)
eapol_handle = create_dissector_handle(dissect_eapol, proto_eapol);
dissector_add("ethertype", ETHERTYPE_EAPOL, eapol_handle);
+ dissector_add("ethertype", ETHERTYPE_RSN_PREAUTH, eapol_handle);
}
Index: packet-ethertype.c
===================================================================
RCS file: /cvsroot/ethereal/packet-ethertype.c,v
retrieving revision 1.45
diff -u -p -r1.45 packet-ethertype.c
--- packet-ethertype.c 21 Feb 2004 05:12:44 -0000 1.45
+++ packet-ethertype.c 4 Apr 2004 04:39:53 -0000
@@ -69,6 +69,7 @@ const value_string etype_vals[] = {
{ETHERTYPE_MS_NLB_HEARTBEAT, "MS NLB heartbeat" },
{ETHERTYPE_VLAN, "802.1Q Virtual LAN" },
{ETHERTYPE_EAPOL, "802.1X Authentication" },
+ {ETHERTYPE_RSN_PREAUTH, "802.11i Pre-Authentication" },
{ETHERTYPE_MPLS, "MPLS label switched packet" },
{ETHERTYPE_MPLS_MULTI, "MPLS multicast label switched packet" },
{ETHERTYPE_3C_NBP_DGRAM, "3Com NBP Datagram" },