diff options
author | morriss <morriss@f5534014-38df-0310-8fa8-9805f1628bb7> | 2010-03-15 17:51:19 +0000 |
---|---|---|
committer | morriss <morriss@f5534014-38df-0310-8fa8-9805f1628bb7> | 2010-03-15 17:51:19 +0000 |
commit | acadd9476a35846378d8c86397bc745a8d12daf8 (patch) | |
tree | 73c1b4e0769073a47d4047adc811d81086e1e082 /epan/dissectors/packet-eapol.c | |
parent | c28042a230dd98bd7a114096ff109d1cf7a11096 (diff) |
Declare sip_uri_offset_init() as returning void and remove a couple unused variables
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@32195 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-eapol.c')
-rw-r--r-- | epan/dissectors/packet-eapol.c | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/epan/dissectors/packet-eapol.c b/epan/dissectors/packet-eapol.c index ce80abb070..8c809fd3db 100644 --- a/epan/dissectors/packet-eapol.c +++ b/epan/dissectors/packet-eapol.c @@ -118,9 +118,11 @@ static const true_false_string tfs_keyinfo_key_type = { "Pairwise key", "Group key" }; #define KEYDES_VER_TYPE1 0x01 #define KEYDES_VER_TYPE2 0x02 +#define KEYDES_VER_TYPE3 0x03 static const value_string keydes_ver[] = { { KEYDES_VER_TYPE1, "HMAC-MD5 for MIC and RC4 for encryption" }, - { KEYDES_VER_TYPE2, "HMAC-SHA1 for MIC and AES-CCMP for encryption" }, + { KEYDES_VER_TYPE2, "HMAC-SHA1 for MIC and AES key wrap for encryption" }, + { KEYDES_VER_TYPE3, "AES-128-CMAC for MIC and AES key wrap for encryption" }, { 0, NULL } }; @@ -184,6 +186,38 @@ dissect_eapol(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) offset += 1; if (keydesc_type == EAPOL_WPA_KEY || keydesc_type == EAPOL_RSN_KEY) { keyinfo = tvb_get_ntohs(tvb, offset); + if (check_col(pinfo->cinfo, COL_INFO)) { + if (keyinfo & KEY_INFO_REQUEST_MASK) { + col_set_str(pinfo->cinfo, COL_INFO, "Key (Request)"); + if (keyinfo & KEY_INFO_ERROR_MASK) + col_set_str(pinfo->cinfo, COL_INFO, "Key (Request, Error)"); + } else if (keyinfo & KEY_INFO_KEY_TYPE_MASK) { + guint16 masked; + masked = keyinfo & + (KEY_INFO_INSTALL_MASK | KEY_INFO_KEY_ACK_MASK | + KEY_INFO_KEY_MIC_MASK | KEY_INFO_SECURE_MASK); + switch (masked) { + case KEY_INFO_KEY_ACK_MASK: + col_set_str(pinfo->cinfo, COL_INFO, "Key (msg 1/4)"); + break; + case KEY_INFO_KEY_MIC_MASK: + col_set_str(pinfo->cinfo, COL_INFO, "Key (msg 2/4)"); + break; + case (KEY_INFO_INSTALL_MASK | KEY_INFO_KEY_ACK_MASK | + KEY_INFO_KEY_MIC_MASK | KEY_INFO_SECURE_MASK): + col_set_str(pinfo->cinfo, COL_INFO, "Key (msg 3/4)"); + break; + case (KEY_INFO_KEY_MIC_MASK | KEY_INFO_SECURE_MASK): + col_set_str(pinfo->cinfo, COL_INFO, "Key (msg 4/4)"); + break; + } + } else { + if (keyinfo & KEY_INFO_KEY_ACK_MASK) + col_set_str(pinfo->cinfo, COL_INFO, "Key (Group msg 1/2)"); + else + col_set_str(pinfo->cinfo, COL_INFO, "Key (Group msg 2/2)"); + } + } keyinfo_item = proto_tree_add_uint(eapol_tree, hf_eapol_wpa_keydes_keyinfo, tvb, offset, 2, keyinfo); |