![Mikael Kanstrup](/assets/img/avatar_default.png)
To be able to support authentication key management suites that use different MIC, PMK, PTK lengths the engine would need to be extended to support parsing EAPOL Key frames with variable field lengts. Though as the IEEE 802.11 dissector already support this the alternative (implemented in this patch) is to remove the EAPOL frame parsing inside the engine and have the dissector feed it with a struct of parsed fields instead. For this a new type DOT11DECRYPT_EAPOL_PARSED is exported and dot11decrypt now expects dissector to fill this struct with parsed EAPOL fields before calling Dot11DecryptScanEapolForKeys. Dissection of EAPOL fields is scattered over several functions in the dissector code so parsed fields are temporarily stored in proto data and then gathered before fed into dot11decrypt engine. Change-Id: Ic6aeb4900f373dcde1ea3f1f0f24df2ae827576e Reviewed-on: https://code.wireshark.org/review/35020 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
49 lines
1.1 KiB
C
49 lines
1.1 KiB
C
/* packet-eapol.h
|
|
* Common definitions for EAPOL protocol.
|
|
* Copyright 2016, Ethan Young <imfargo@gmail.com>
|
|
*
|
|
* Wireshark - Network traffic analyzer
|
|
* By Gerald Combs <gerald@wireshark.org>
|
|
* Copyright 1998 Gerald Combs
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
|
*/
|
|
|
|
#ifndef __PACKET_EAPOL_H__
|
|
#define __PACKET_EAPOL_H__
|
|
|
|
/* EAPOL packet types. */
|
|
#define EAPOL_EAP 0
|
|
#define EAPOL_START 1
|
|
#define EAPOL_LOGOFF 2
|
|
#define EAPOL_KEY 3
|
|
#define EAPOL_ENCAP_ASF_ALERT 4
|
|
#define EAPOL_MKA 5
|
|
#define EAPOL_ANNOUNCEMENT_GENERIC 6
|
|
#define EAPOL_ANNOUNCEMENT_SPECIFIC 7
|
|
#define EAPOL_ANNOUNCEMENT_REQUEST 8
|
|
|
|
extern int proto_eapol;
|
|
|
|
#define EAPOL_KEY_FRAME_KEY 0
|
|
typedef struct {
|
|
guint len;
|
|
guint8 type; /* eapol.keydes.type */
|
|
guint8 *data;
|
|
} proto_eapol_key_frame_t;
|
|
|
|
#endif /* __PACKET_EAPOL_H__ */
|
|
|
|
/*
|
|
* Editor modelines - https://www.wireshark.org/tools/modelines.html
|
|
*
|
|
* Local variables:
|
|
* c-basic-offset: 4
|
|
* tab-width: 8
|
|
* indent-tabs-mode: nil
|
|
* End:
|
|
*
|
|
* vi: set shiftwidth=4 tabstop=8 expandtab:
|
|
* :indentSize=4:tabSize=8:noTabs=true:
|
|
*/
|