aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-isakmp.c
diff options
context:
space:
mode:
authorDr. Lars Völker <lars.voelker@technica-engineering.de>2022-01-17 10:52:45 +0100
committerA Wireshark GitLab Utility <gerald+gitlab-utility@wireshark.org>2022-01-18 07:45:53 +0000
commit9db22e8439c2264141f5fc8093353ea44563deb5 (patch)
treed45259a316b27243dd6a6141ad7c0857cb934891 /epan/dissectors/packet-isakmp.c
parent1af0178afdb2cbba922971b90534faa2df1e9d5b (diff)
EAP: Adding EAP-IKEv2 support
This patch adds basic EAP-IKEv2 support. This does not include EAP-IKEv2 fragmentation support.
Diffstat (limited to 'epan/dissectors/packet-isakmp.c')
-rw-r--r--epan/dissectors/packet-isakmp.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/epan/dissectors/packet-isakmp.c b/epan/dissectors/packet-isakmp.c
index 46ff31a00f..cb64173478 100644
--- a/epan/dissectors/packet-isakmp.c
+++ b/epan/dissectors/packet-isakmp.c
@@ -3263,7 +3263,7 @@ dissect_isakmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _
{
int offset = 0, len;
isakmp_hdr_t hdr;
- proto_item *ti, *vers_item;
+ proto_item *ti, *vers_item, *ti_root;
proto_tree *isakmp_tree = NULL, *vers_tree;
int isakmp_version;
void* decr_data = NULL;
@@ -3285,8 +3285,8 @@ dissect_isakmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _
else if (tvb_get_ntohl(tvb, ISAKMP_HDR_SIZE-4) < ISAKMP_HDR_SIZE)
return 0;
- ti = proto_tree_add_item(tree, proto_isakmp, tvb, offset, -1, ENC_NA);
- isakmp_tree = proto_item_add_subtree(ti, ett_isakmp);
+ ti_root = proto_tree_add_item(tree, proto_isakmp, tvb, offset, -1, ENC_NA);
+ isakmp_tree = proto_item_add_subtree(ti_root, ett_isakmp);
/* RFC3948 2.3 NAT Keepalive packet:
* 1 byte payload with the value 0xff.
@@ -3459,9 +3459,13 @@ dissect_isakmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _
dissect_payloads(tvb, isakmp_tree, isakmp_version, hdr.next_payload,
offset, len, pinfo, hdr.message_id, !(flags & R_FLAG), decr_data);
}
+
+ offset += len;
}
- return tvb_captured_length(tvb);
+ proto_item_set_end(ti_root, tvb, offset);
+
+ return offset;
}