diff options
author | Guy Harris <guy@alum.mit.edu> | 2001-07-02 07:11:40 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2001-07-02 07:11:40 +0000 |
commit | db5e1b8c857e1b4866547efce72f6a09af9a3076 (patch) | |
tree | 90b42bb9849ef3e3ebf9768c307afb601d97d14a /packet-icmpv6.c | |
parent | e78964cea031762e6c7cae3334fcd21eff7091fd (diff) |
Tvbuffify the DNS, NBNS, NBDS, and NBSS dissectors.
Add a "tvb_memeql()" routine, for doing "memcmp()"-style equality
comparisons.
svn path=/trunk/; revision=3631
Diffstat (limited to 'packet-icmpv6.c')
-rw-r--r-- | packet-icmpv6.c | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/packet-icmpv6.c b/packet-icmpv6.c index ee3ccba5d8..e6d8530b24 100644 --- a/packet-icmpv6.c +++ b/packet-icmpv6.c @@ -1,7 +1,7 @@ /* packet-icmpv6.c * Routines for ICMPv6 packet disassembly * - * $Id: packet-icmpv6.c,v 1.47 2001/06/18 02:17:46 guy Exp $ + * $Id: packet-icmpv6.c,v 1.48 2001/07/02 07:11:39 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -472,8 +472,6 @@ dissect_nodeinfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree guint16 flags; char dname[MAXDNAME]; guint8 ipaddr[4]; - const u_char *pd; - int top_level_offset; ni = &icmp6_nodeinfo; tvb_memcpy(tvb, (guint8 *)ni, offset, sizeof *ni); @@ -582,11 +580,8 @@ dissect_nodeinfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree off = tvb_length_remaining(tvb, offset); break; case ICMP6_NI_SUBJ_FQDN: - /* XXXX - clean this up when packet-dns.c has been tvbuffified */ - tvb_compat(tvb, &pd, &top_level_offset); - l = get_dns_name(pd, top_level_offset + offset + sizeof(*ni), - top_level_offset + offset + sizeof(*ni), - dname, sizeof(dname)); + l = get_dns_name(tvb, offset + sizeof(*ni), + offset + sizeof(*ni), dname, sizeof(dname)); if (tvb_bytes_exist(tvb, offset + sizeof(*ni) + l, 1) && tvb_get_guint8(tvb, offset + sizeof(*ni) + l) == 0) { l++; @@ -663,15 +658,13 @@ dissect_nodeinfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree tvb_length_remaining(tvb, offset), "DNS labels"); field_tree = proto_item_add_subtree(tf, ett_nodeinfo_nodedns); - /* XXXX - clean this up when packet-dns.c has been tvbuffified */ - tvb_compat(tvb, &pd, &top_level_offset); j = offset + sizeof (*ni) + sizeof(guint32); while (j < tvb_length(tvb)) { - l = get_dns_name(pd, top_level_offset + j, - top_level_offset + offset + sizeof (*ni) + sizeof(guint32), + l = get_dns_name(tvb, j, + offset + sizeof (*ni) + sizeof(guint32), dname,sizeof(dname)); - if (tvb_bytes_exist(tvb, top_level_offset + j + l, 1) && - tvb_get_guint8(tvb, top_level_offset + j + l) == 0) { + if (tvb_bytes_exist(tvb, j + l, 1) && + tvb_get_guint8(tvb, j + l) == 0) { l++; proto_tree_add_text(field_tree, tvb, j, l, "DNS label: %s (truncated)", dname); |