ISAKMP: Added support for the accepted Diffie-Hellman group number in the INVALID_KE_PAYLOAD

Notify payload according to RFC 5996.
Also fixed a bug where the dissection of the previously
added support for the SIGNATURE_HASH_ALGORITHMS Notify payload would not work properly.

Change-Id: I54ffe6b0d8b52189af3dc2e879e6665739fc36a4
Reviewed-on: https://code.wireshark.org/review/23439
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
This commit is contained in:
Julian Renz 2017-09-09 10:25:19 +02:00 committed by Alexis La Goutte
parent f662b1dac9
commit 2154cb12a9
1 changed files with 11 additions and 3 deletions

View File

@ -162,6 +162,7 @@ static int hf_isakmp_notify_data = -1;
static int hf_isakmp_notify_data_dpd_are_you_there = -1;
static int hf_isakmp_notify_data_dpd_are_you_there_ack = -1;
static int hf_isakmp_notify_data_unity_load_balance = -1;
static int hf_isakmp_notify_data_accepted_dh_group = -1;
static int hf_isakmp_notify_data_ipcomp_cpi = -1;
static int hf_isakmp_notify_data_ipcomp_transform_id = -1;
static int hf_isakmp_notify_data_redirect_gw_ident_type = -1;
@ -1638,8 +1639,8 @@ static const range_string signature_hash_algorithms[] = {
{ 4,4, "SHA2-512" },
{ 5,5, "Identity" },
{ 6,1023, "Unassigned" },
{ 1024,65535, "Reserved for Private use" },
{0,0, NULL},
{ 1024,65535, "Reserved for Private Use" },
{0,0, NULL },
};
@ -4603,6 +4604,9 @@ dissect_notif(tvbuff_t *tvb, packet_info *pinfo, int offset, int length, proto_t
} else if (isakmp_version == 2)
{
switch(msgtype){
case 17: /* INVALID_KE_PAYLOAD */
proto_tree_add_item(tree, hf_isakmp_notify_data_accepted_dh_group, tvb, offset, 2, ENC_BIG_ENDIAN);
break;
case 16387: /* IPCOMP_SUPPORTED */
proto_tree_add_item(tree, hf_isakmp_notify_data_ipcomp_cpi, tvb, offset, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(tree, hf_isakmp_notify_data_ipcomp_transform_id, tvb, offset+2, 1, ENC_BIG_ENDIAN);
@ -6136,6 +6140,10 @@ proto_register_isakmp(void)
{ "UNITY LOAD BALANCE", "isakmp.notify.data.unity.load_balance",
FT_IPv4, BASE_NONE, NULL, 0x0,
NULL, HFILL }},
{ &hf_isakmp_notify_data_accepted_dh_group,
{ "Accepted DH group number", "isakmp.notify.data.accepted_dh_group",
FT_UINT16, BASE_DEC, VALS(dh_group), 0x0,
NULL, HFILL }},
{ &hf_isakmp_notify_data_ipcomp_cpi,
{ "IPCOMP CPI", "isakmp.notify.data.ipcomp.cpi",
FT_UINT16, BASE_DEC, NULL, 0x0,
@ -6263,7 +6271,7 @@ proto_register_isakmp(void)
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,
FT_UINT16, BASE_RANGE_STRING | BASE_DEC, VALS(signature_hash_algorithms), 0x0,
NULL, HFILL }},
{ &hf_isakmp_delete_doi,