diff options
author | Julian Renz <julian@renz.cloud> | 2017-09-05 17:05:53 +0200 |
---|---|---|
committer | Pascal Quantin <pascal.quantin@gmail.com> | 2017-09-06 14:58:17 +0000 |
commit | 7b6296ac5affa85687e6af8f5000cd3ed18b7cd4 (patch) | |
tree | 8f16f938786fd36d8c2ee9731b90fc8ee1194633 | |
parent | d022091acfd4c9513a4f13973d7cdc7d7785c09e (diff) |
ISAKMP: Added dissection of the RFC7427 Notify Payload "SIGNATURE_HASH_ALGORITHMS" according to
iana IKEv2 parameters
Change-Id: Ie10d0a8a076d65f60590b4fac0b36be7b87dec2a
Reviewed-on: https://code.wireshark.org/review/23396
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
-rw-r--r-- | epan/dissectors/packet-isakmp.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/epan/dissectors/packet-isakmp.c b/epan/dissectors/packet-isakmp.c index 25bb1427bf..acd188fccc 100644 --- a/epan/dissectors/packet-isakmp.c +++ b/epan/dissectors/packet-isakmp.c @@ -189,6 +189,7 @@ static int hf_isakmp_notify_data_ha_expected_send_req_msg_id = -1; static int hf_isakmp_notify_data_ha_expected_recv_req_msg_id = -1; static int hf_isakmp_notify_data_ha_incoming_ipsec_sa_delta_value = -1; static int hf_isakmp_notify_data_secure_password_methods = -1; +static int hf_isakmp_notify_data_signature_hash_algorithms = -1; static int hf_isakmp_delete_doi = -1; static int hf_isakmp_delete_protoid_v1 = -1; static int hf_isakmp_delete_protoid_v2 = -1; @@ -1629,6 +1630,19 @@ static const range_string rohc_attr_type[] = { { 0,0, NULL }, }; +static const range_string signature_hash_algorithms[] = { + { 0,0, "Reserved" }, + { 1,1, "SHA1" }, + { 2,2, "SHA2-256" }, + { 3,3, "SHA2-384" }, + { 4,4, "SHA2-512" }, + { 5,5, "Identity" }, + { 6,1023, "Unassigned" }, + { 1024,65535, "Reserved for Private use" }, + {0,0, NULL}, +}; + + #define ISAKMP_HDR_SIZE ((int)sizeof(struct isakmp_hdr) + (2 * COOKIE_SIZE)) @@ -4662,6 +4676,12 @@ dissect_notif(tvbuff_t *tvb, packet_info *pinfo, int offset, int length, proto_t case 16424: /* SECURE_PASSWORD_METHODS */ proto_tree_add_item(tree, hf_isakmp_notify_data_secure_password_methods, tvb, offset, length, ENC_NA); break; + case 16431: /*SIGNATURE_HASH_ALGORITHMS*/ + while(offset < offset_end) { + proto_tree_add_item(tree, hf_isakmp_notify_data_signature_hash_algorithms, tvb, offset, 2, ENC_BIG_ENDIAN); + offset += 2; + } + break; case 41041: /* private status 3GPP BACKOFF_TIMER*/ proto_tree_add_item(tree, hf_isakmp_notify_data_3gpp_backoff_timer_len, tvb, offset, 1, ENC_BIG_ENDIAN); @@ -6241,6 +6261,10 @@ proto_register_isakmp(void) { "Secure Password Methods", "isakmp.notify.data.secure_password_methods", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }}, + { &hf_isakmp_notify_data_signature_hash_algorithms, + { "Supported Signature Hash Algorithm", "isakmp.notify.data.signature_hash_algorithms", + FT_UINT16, BASE_DEC, VALS(signature_hash_algorithms), 0x0, + NULL, HFILL }}, { &hf_isakmp_delete_doi, { "Domain of interpretation", "isakmp.delete.doi", |