aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-isakmp.c
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2005-12-22 21:28:51 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2005-12-22 21:28:51 +0000
commit15f441cdd6f271136601ad4931bc343a0ce140fc (patch)
tree02c85a602dc9a20c43a7b9195d0d56194206675d /epan/dissectors/packet-isakmp.c
parent5b106306fdabf89c1fed34fd2dd5b0c16f702ad4 (diff)
add decoding of RFC3947 which should fix bug 513
svn path=/trunk/; revision=16883
Diffstat (limited to 'epan/dissectors/packet-isakmp.c')
-rw-r--r--epan/dissectors/packet-isakmp.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/epan/dissectors/packet-isakmp.c b/epan/dissectors/packet-isakmp.c
index 7f3366bf68..9edb7ac4bb 100644
--- a/epan/dissectors/packet-isakmp.c
+++ b/epan/dissectors/packet-isakmp.c
@@ -8,6 +8,9 @@
* (draft-ietf-ipsec-ikev2-17.txt)
* Shoichi Sakane <sakane@tanu.org>
*
+ * Added routines for RFC3947 Negotiation of NAT-Traversal in the IKE
+ * ronnie sahlberg
+ *
* $Id$
*
* Ethereal - Network traffic analyzer
@@ -208,6 +211,8 @@ static struct payload_func v1_plfunc[] = {
{ 14, "Attrib", dissect_config },
{ 15, "NAT-Discovery", dissect_nat_discovery }, /* draft-ietf-ipsec-nat-t-ike-04 */
{ 16, "NAT-Original Address", dissect_nat_original_address }, /* draft-ietf-ipsec-nat-t-ike */
+ { 20, "NAT-D (RFC 3947)", dissect_nat_discovery },
+ { 21, "NAT-OA (RFC 3947)", dissect_nat_original_address },
{ 130, "NAT-D (draft-ietf-ipsec-nat-t-ike-01 to 03)", dissect_nat_discovery },
{ 131, "NAT-OA (draft-ietf-ipsec-nat-t-ike-01 to 04)", dissect_nat_original_address },
};
@@ -246,6 +251,8 @@ static const guint8 VID_CYBERGUARD[VID_LEN] = {0x9A, 0xA1, 0xF3, 0xB4, 0x34, 0x7
static const guint8 VID_draft_ietf_ipsec_nat_t_ike_03[VID_LEN] = {0x7D, 0x94, 0x19, 0xA6, 0x53, 0x10, 0xCA, 0x6F, 0x2C, 0x17, 0x9D, 0x92, 0x15, 0x52, 0x9d, 0x56}; /* according to http://www.ietf.org/internet-drafts/draft-ietf-ipsec-nat-t-ike-03.txt */
+static const guint8 VID_rfc3947[VID_LEN] = {0x4a, 0x13, 0x1c, 0x81, 0x07, 0x03, 0x58, 0x45, 0x5c, 0x57, 0x28, 0xf2, 0x0e, 0x95, 0x45, 0x2f}; /* RFC 3947 Negotiation of NAT-Traversal in the IKE*/
+
static const guint8 VID_SSH_IPSEC_EXPRESS_1_1_0[VID_LEN] = {0xfB, 0xF4, 0x76, 0x14, 0x98, 0x40, 0x31, 0xFA, 0x8E, 0x3B, 0xB6, 0x19, 0x80, 0x89, 0xB2, 0x23}; /* Ssh Communications Security IPSEC Express version 1.1.0 */
static const guint8 VID_SSH_IPSEC_EXPRESS_1_1_1[VID_LEN] = {0x19, 0x52, 0xDC, 0x91, 0xAC, 0x20, 0xF6, 0x46, 0xFB, 0x01, 0xCF, 0x42, 0xA3, 0x3A, 0xEE, 0x30}; /* Ssh Communications Security IPSEC Express version 1.1.1 */
@@ -1477,6 +1484,9 @@ dissect_vid(tvbuff_t *tvb, int offset, int length, proto_tree *tree,
if (memcmp(pVID, VID_draft_ietf_ipsec_nat_t_ike_03, isakmp_min(VID_LEN, length)) == 0)
proto_item_append_text(pt, "draft-ietf-ipsec-nat-t-ike-03");
else
+ if (memcmp(pVID, VID_rfc3947, isakmp_min(VID_LEN, length)) == 0)
+ proto_item_append_text(pt, "RFC 3947 Negotiation of NAT-Traversal in the IKE");
+ else
if (memcmp(pVID, VID_SSH_IPSEC_EXPRESS_1_1_0, isakmp_min(VID_LEN, length)) == 0)
proto_item_append_text(pt, "Ssh Communications Security IPSEC Express version 1.1.0");
else