aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulian Renz <julian@renz.cloud>2017-09-05 17:05:53 +0200
committerPascal Quantin <pascal.quantin@gmail.com>2017-09-06 14:58:17 +0000
commit7b6296ac5affa85687e6af8f5000cd3ed18b7cd4 (patch)
tree8f16f938786fd36d8c2ee9731b90fc8ee1194633
parentd022091acfd4c9513a4f13973d7cdc7d7785c09e (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.c24
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",