aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--packet-atalk.c6
-rw-r--r--packet-clnp.c6
-rw-r--r--packet-dcerpc.c6
-rw-r--r--packet-eap.c6
-rw-r--r--packet-ieee80211.c6
-rw-r--r--packet-ip.c6
-rw-r--r--packet-ipv6.c6
-rw-r--r--packet-netbios.c6
-rw-r--r--packet-smb-pipe.c6
-rw-r--r--packet-smb.c6
-rw-r--r--packet-tcp.c79
-rw-r--r--packet-tds.c6
-rw-r--r--packet-wtp.c6
-rw-r--r--reassemble.c8
-rw-r--r--reassemble.h5
15 files changed, 105 insertions, 59 deletions
diff --git a/packet-atalk.c b/packet-atalk.c
index a60aacdc86..87c1b249dc 100644
--- a/packet-atalk.c
+++ b/packet-atalk.c
@@ -2,7 +2,7 @@
* Routines for AppleTalk packet disassembly: LLAP, DDP, NBP, ATP, ASP,
* RTMP.
*
- * $Id: packet-atalk.c,v 1.84 2002/11/28 03:57:49 guy Exp $
+ * $Id: packet-atalk.c,v 1.85 2002/12/19 11:22:03 sahlberg Exp $
*
* Simon Wilkinson <sxw@dcs.ed.ac.uk>
*
@@ -1954,11 +1954,11 @@ proto_register_atalk(void)
NULL, 0x0, "Segment contained data past end of packet", HFILL }},
{ &hf_atp_segment_error,
- {"Desegmentation error", "atp.segment.error", FT_NONE, BASE_NONE,
+ {"Desegmentation error", "atp.segment.error", FT_FRAMENUM, BASE_NONE,
NULL, 0x0, "Desegmentation error due to illegal segments", HFILL }},
{ &hf_atp_segment,
- { "ATP Fragment", "atp.fragment", FT_NONE, BASE_NONE,
+ { "ATP Fragment", "atp.fragment", FT_FRAMENUM, BASE_NONE,
NULL, 0x0, "ATP Fragment", HFILL }},
{ &hf_atp_segments,
diff --git a/packet-clnp.c b/packet-clnp.c
index 7bedca1b63..8096613ceb 100644
--- a/packet-clnp.c
+++ b/packet-clnp.c
@@ -1,7 +1,7 @@
/* packet-clnp.c
* Routines for ISO/OSI network and transport protocol packet disassembly
*
- * $Id: packet-clnp.c,v 1.61 2002/11/01 08:17:03 guy Exp $
+ * $Id: packet-clnp.c,v 1.62 2002/12/19 11:22:13 sahlberg Exp $
* Laurent Deniel <deniel@worldnet.fr>
* Ralf Schneider <Ralf.Schneider@t-online.de>
*
@@ -2050,11 +2050,11 @@ void proto_register_clnp(void)
"Segment contained data past end of packet", HFILL }},
{ &hf_clnp_segment_error,
- { "Reassembly error", "clnp.segment.error", FT_NONE, BASE_DEC, NULL, 0x0,
+ { "Reassembly error", "clnp.segment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
"Reassembly error due to illegal segments", HFILL }},
{ &hf_clnp_segment,
- { "CLNP Segment", "clnp.segment", FT_NONE, BASE_DEC, NULL, 0x0,
+ { "CLNP Segment", "clnp.segment", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
"CLNP Segment", HFILL }},
{ &hf_clnp_segments,
diff --git a/packet-dcerpc.c b/packet-dcerpc.c
index 89d310ec5e..ac35fcbd44 100644
--- a/packet-dcerpc.c
+++ b/packet-dcerpc.c
@@ -2,7 +2,7 @@
* Routines for DCERPC packet disassembly
* Copyright 2001, Todd Sabin <tas@webspan.net>
*
- * $Id: packet-dcerpc.c,v 1.91 2002/12/14 23:44:48 guy Exp $
+ * $Id: packet-dcerpc.c,v 1.92 2002/12/19 11:22:16 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -3745,7 +3745,7 @@ proto_register_dcerpc (void)
NULL, 0x0, "DCE/RPC Fragments", HFILL }},
{ &hf_dcerpc_fragment,
- { "DCE/RPC Fragment", "dcerpc.fragment", FT_NONE, BASE_NONE,
+ { "DCE/RPC Fragment", "dcerpc.fragment", FT_FRAMENUM, BASE_NONE,
NULL, 0x0, "DCE/RPC Fragment", HFILL }},
{ &hf_dcerpc_fragment_overlap,
@@ -3761,7 +3761,7 @@ proto_register_dcerpc (void)
{ "Fragment too long", "dcerpc.fragment.toolongfragment", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "Fragment contained data past end of packet", HFILL }},
{ &hf_dcerpc_fragment_error,
- { "Defragmentation error", "dcerpc.fragment.error", FT_NONE, BASE_NONE, NULL, 0x0, "Defragmentation error due to illegal fragments", HFILL }},
+ { "Defragmentation error", "dcerpc.fragment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x0, "Defragmentation error due to illegal fragments", HFILL }},
{ &hf_dcerpc_time,
{ "Time from request", "dcerpc.time", FT_RELATIVE_TIME, BASE_NONE, NULL, 0, "Time between Request and Reply for DCE-RPC calls", HFILL }}
diff --git a/packet-eap.c b/packet-eap.c
index 6877341601..b1b00b1d0a 100644
--- a/packet-eap.c
+++ b/packet-eap.c
@@ -2,7 +2,7 @@
* Routines for EAP Extensible Authentication Protocol dissection
* RFC 2284
*
- * $Id: packet-eap.c,v 1.31 2002/10/24 06:17:34 guy Exp $
+ * $Id: packet-eap.c,v 1.32 2002/12/19 11:22:20 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -810,7 +810,7 @@ proto_register_eap(void)
VALS(eap_type_vals), 0x0, "", HFILL }},
{ &hf_eaptls_fragment,
{ "EAP-TLS Fragment", "eaptls.fragment",
- FT_NONE, BASE_NONE, NULL, 0x0,
+ FT_FRAMENUM, BASE_NONE, NULL, 0x0,
"EAP-TLS Fragment", HFILL }},
{ &hf_eaptls_fragments,
{ "EAP-TLS Fragments", "eaptls.fragments",
@@ -834,7 +834,7 @@ proto_register_eap(void)
"Fragment contained data past end of packet", HFILL }},
{ &hf_eaptls_fragment_error,
{ "Defragmentation error", "eaptls.fragment.error",
- FT_NONE, BASE_NONE, NULL, 0x0,
+ FT_FRAMENUM, BASE_NONE, NULL, 0x0,
"Defragmentation error due to illegal fragments", HFILL }},
};
static gint *ett[] = {
diff --git a/packet-ieee80211.c b/packet-ieee80211.c
index e8b0390e61..f9a5eff408 100644
--- a/packet-ieee80211.c
+++ b/packet-ieee80211.c
@@ -3,7 +3,7 @@
* Copyright 2000, Axis Communications AB
* Inquiries/bugreports should be sent to Johan.Jorgensen@axis.com
*
- * $Id: packet-ieee80211.c,v 1.78 2002/11/06 21:49:29 guy Exp $
+ * $Id: packet-ieee80211.c,v 1.79 2002/12/19 11:22:23 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -2167,11 +2167,11 @@ proto_register_ieee80211 (void)
{&hf_fragment_error,
{"Defragmentation error", "wlan.fragment.error",
- FT_NONE, BASE_NONE, NULL, 0x0,
+ FT_FRAMENUM, BASE_NONE, NULL, 0x0,
"Defragmentation error due to illegal fragments", HFILL }},
{&hf_fragment,
- {"802.11 Fragment", "wlan.fragment", FT_NONE, BASE_NONE, NULL, 0x0,
+ {"802.11 Fragment", "wlan.fragment", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
"802.11 Fragment", HFILL }},
{&hf_fragments,
diff --git a/packet-ip.c b/packet-ip.c
index 942e1921d7..cca5738e8a 100644
--- a/packet-ip.c
+++ b/packet-ip.c
@@ -1,7 +1,7 @@
/* packet-ip.c
* Routines for IP and miscellaneous IP protocol packet disassembly
*
- * $Id: packet-ip.c,v 1.176 2002/10/25 23:23:26 guy Exp $
+ * $Id: packet-ip.c,v 1.177 2002/12/19 11:22:27 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -1685,11 +1685,11 @@ proto_register_ip(void)
"Fragment contained data past end of packet", HFILL }},
{ &hf_ip_fragment_error,
- { "Defragmentation error", "ip.fragment.error", FT_NONE, BASE_NONE, NULL, 0x0,
+ { "Defragmentation error", "ip.fragment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
"Defragmentation error due to illegal fragments", HFILL }},
{ &hf_ip_fragment,
- { "IP Fragment", "ip.fragment", FT_NONE, BASE_NONE, NULL, 0x0,
+ { "IP Fragment", "ip.fragment", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
"IP Fragment", HFILL }},
{ &hf_ip_fragments,
diff --git a/packet-ipv6.c b/packet-ipv6.c
index d884100d49..ec561be51f 100644
--- a/packet-ipv6.c
+++ b/packet-ipv6.c
@@ -1,7 +1,7 @@
/* packet-ipv6.c
* Routines for IPv6 packet disassembly
*
- * $Id: packet-ipv6.c,v 1.90 2002/10/25 23:23:26 guy Exp $
+ * $Id: packet-ipv6.c,v 1.91 2002/12/19 11:22:29 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -1070,12 +1070,12 @@ proto_register_ipv6(void)
{ &hf_ipv6_fragment_error,
{ "Defragmentation error", "ipv6.fragment.error",
- FT_NONE, BASE_NONE, NULL, 0x0,
+ FT_FRAMENUM, BASE_NONE, NULL, 0x0,
"Defragmentation error due to illegal fragments", HFILL }},
{ &hf_ipv6_fragment,
{ "IPv6 Fragment", "ipv6.fragment",
- FT_NONE, BASE_NONE, NULL, 0x0,
+ FT_FRAMENUM, BASE_NONE, NULL, 0x0,
"IPv6 Fragment", HFILL }},
{ &hf_ipv6_fragments,
diff --git a/packet-netbios.c b/packet-netbios.c
index 7ec235adb8..d06a3573c2 100644
--- a/packet-netbios.c
+++ b/packet-netbios.c
@@ -5,7 +5,7 @@
*
* derived from the packet-nbns.c
*
- * $Id: packet-netbios.c,v 1.54 2002/12/17 08:48:38 guy Exp $
+ * $Id: packet-netbios.c,v 1.55 2002/12/19 11:22:33 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -1388,11 +1388,11 @@ void proto_register_netbios(void)
NULL, 0x0, "Fragment contained data past end of packet", HFILL }},
{ &hf_netb_fragment_error,
- {"Defragmentation error", "netbios.fragment.error", FT_NONE, BASE_NONE,
+ {"Defragmentation error", "netbios.fragment.error", FT_FRAMENUM, BASE_NONE,
NULL, 0x0, "Defragmentation error due to illegal fragments", HFILL }},
{ &hf_netb_fragment,
- { "NetBIOS Fragment", "netbios.fragment", FT_NONE, BASE_NONE,
+ { "NetBIOS Fragment", "netbios.fragment", FT_FRAMENUM, BASE_NONE,
NULL, 0x0, "NetBIOS Fragment", HFILL }},
{ &hf_netb_fragments,
diff --git a/packet-smb-pipe.c b/packet-smb-pipe.c
index 053f967231..ba85937000 100644
--- a/packet-smb-pipe.c
+++ b/packet-smb-pipe.c
@@ -8,7 +8,7 @@ XXX Fixme : shouldnt show [malformed frame] for long packets
* significant rewrite to tvbuffify the dissector, Ronnie Sahlberg and
* Guy Harris 2001
*
- * $Id: packet-smb-pipe.c,v 1.84 2002/11/16 09:37:15 guy Exp $
+ * $Id: packet-smb-pipe.c,v 1.85 2002/12/19 11:22:35 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -3717,10 +3717,10 @@ proto_register_smb_pipe(void)
{ "Fragment too long", "pipe.fragment.toolongfragment", FT_BOOLEAN,
BASE_NONE, NULL, 0x0, "Fragment contained data past end of packet", HFILL }},
{ &hf_pipe_fragment_error,
- { "Defragmentation error", "pipe.fragment.error", FT_NONE,
+ { "Defragmentation error", "pipe.fragment.error", FT_FRAMENUM,
BASE_NONE, NULL, 0x0, "Defragmentation error due to illegal fragments", HFILL }},
{ &hf_pipe_fragment,
- { "Fragment", "pipe.fragment", FT_NONE,
+ { "Fragment", "pipe.fragment", FT_FRAMENUM,
BASE_NONE, NULL, 0x0, "Pipe Fragment", HFILL }},
{ &hf_pipe_fragments,
{ "Fragments", "pipe.fragments", FT_NONE,
diff --git a/packet-smb.c b/packet-smb.c
index 59b5a8927d..200760e518 100644
--- a/packet-smb.c
+++ b/packet-smb.c
@@ -3,7 +3,7 @@
* Copyright 1999, Richard Sharpe <rsharpe@ns.aus.com>
* 2001 Rewrite by Ronnie Sahlberg and Guy Harris
*
- * $Id: packet-smb.c,v 1.300 2002/12/19 10:31:38 sahlberg Exp $
+ * $Id: packet-smb.c,v 1.301 2002/12/19 11:22:37 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -17726,11 +17726,11 @@ proto_register_smb(void)
"Fragment contained data past end of packet", HFILL }},
{ &hf_smb_segment_error,
- { "Defragmentation error", "smb.segment.error", FT_NONE, BASE_NONE, NULL, 0x0,
+ { "Defragmentation error", "smb.segment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
"Defragmentation error due to illegal fragments", HFILL }},
{ &hf_smb_segment,
- { "SMB Segment", "smb.segment", FT_NONE, BASE_NONE, NULL, 0x0,
+ { "SMB Segment", "smb.segment", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
"SMB Segment", HFILL }},
{ &hf_smb_segments,
diff --git a/packet-tcp.c b/packet-tcp.c
index e3e5fef629..db71c7c8c1 100644
--- a/packet-tcp.c
+++ b/packet-tcp.c
@@ -1,7 +1,7 @@
/* packet-tcp.c
* Routines for TCP packet disassembly
*
- * $Id: packet-tcp.c,v 1.169 2002/12/17 11:49:31 sahlberg Exp $
+ * $Id: packet-tcp.c,v 1.170 2002/12/19 11:22:38 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -96,14 +96,39 @@ static int hf_tcp_analysis_duplicate_ack = -1;
static int hf_tcp_analysis_zero_window = -1;
static int hf_tcp_analysis_zero_window_probe = -1;
static int hf_tcp_analysis_zero_window_violation = -1;
+static int hf_tcp_segments = -1;
+static int hf_tcp_segment = -1;
+static int hf_tcp_segment_overlap = -1;
+static int hf_tcp_segment_overlap_conflict = -1;
+static int hf_tcp_segment_multiple_tails = -1;
+static int hf_tcp_segment_too_long_fragment = -1;
+static int hf_tcp_segment_error = -1;
static gint ett_tcp = -1;
static gint ett_tcp_flags = -1;
static gint ett_tcp_options = -1;
static gint ett_tcp_option_sack = -1;
-static gint ett_tcp_segments = -1;
static gint ett_tcp_analysis = -1;
static gint ett_tcp_analysis_faults = -1;
+static gint ett_tcp_segments = -1;
+static gint ett_tcp_segment = -1;
+
+
+/* not all of the hf_fields below make sense for TCP but we have to provide
+ them anyways to comply with the api (which was aimed for ip fragment
+ reassembly) */
+static const fragment_items tcp_segment_items = {
+ &ett_tcp_segment,
+ &ett_tcp_segments,
+ &hf_tcp_segments,
+ &hf_tcp_segment,
+ &hf_tcp_segment_overlap,
+ &hf_tcp_segment_overlap_conflict,
+ &hf_tcp_segment_multiple_tails,
+ &hf_tcp_segment_too_long_fragment,
+ &hf_tcp_segment_error,
+ "Segments"
+};
static dissector_table_t subdissector_table;
static heur_dissector_list_t heur_subdissector_list;
@@ -1073,8 +1098,6 @@ desegment_tcp(tvbuff_t *tvb, packet_info *pinfo, int offset,
/* is it completely desegmented? */
if(ipfd_head){
fragment_data *ipfd;
- proto_tree *st = NULL;
- proto_item *si = NULL;
/*
* Yes, we think it is.
@@ -1172,19 +1195,8 @@ desegment_tcp(tvbuff_t *tvb, packet_info *pinfo, int offset,
* end may, in turn, require desegmentation),
* so we show a tree with all segments.
*/
- si = proto_tree_add_text(tcp_tree, next_tvb,
- 0, -1, "Segments");
- st = proto_item_add_subtree(si, ett_tcp_segments);
- for(ipfd=ipfd_head->next; ipfd; ipfd=ipfd->next){
- proto_tree_add_text(st, next_tvb,
- ipfd->offset, ipfd->len,
- "Frame:%u seq#:%u-%u [%u-%u]",
- ipfd->frame,
- tsk->start_seq + ipfd->offset,
- tsk->start_seq + ipfd->offset + ipfd->len-1,
- ipfd->offset,
- ipfd->offset + ipfd->len - 1);
- }
+ show_fragment_tree(ipfd_head, &tcp_segment_items,
+ tcp_tree, pinfo, next_tvb);
/* Did the subdissector ask us to desegment
some more data? This means that the data
@@ -2258,15 +2270,44 @@ proto_register_tcp(void)
{ &hf_tcp_urgent_pointer,
{ "Urgent pointer", "tcp.urgent_pointer", FT_UINT16, BASE_DEC, NULL, 0x0,
"", HFILL }},
+
+ { &hf_tcp_segment_overlap,
+ { "Segment overlap", "tcp.segment.overlap", FT_BOOLEAN, BASE_NONE, NULL, 0x0,
+ "Segment overlaps with other segments", HFILL }},
+
+ { &hf_tcp_segment_overlap_conflict,
+ { "Conflicting data in segment overlap", "tcp.segment.overlap.conflict", FT_BOOLEAN, BASE_NONE, NULL, 0x0,
+ "Overlapping segments contained conflicting data", HFILL }},
+
+ { &hf_tcp_segment_multiple_tails,
+ { "Multiple tail segments found", "tcp.segment.multipletails", FT_BOOLEAN, BASE_NONE, NULL, 0x0,
+ "Several tails were found when desegmenting the pdu", HFILL }},
+
+ { &hf_tcp_segment_too_long_fragment,
+ { "Segment too long", "tcp.segment.toolongfragment", FT_BOOLEAN, BASE_NONE, NULL, 0x0,
+ "Segment contained data past end of the pdu", HFILL }},
+
+ { &hf_tcp_segment_error,
+ { "Desegmentation error", "tcp.segment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
+ "Desegmentation error due to illegal segments", HFILL }},
+
+ { &hf_tcp_segment,
+ { "TCP Segment", "tcp.segment", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
+ "TCP Segment", HFILL }},
+
+ { &hf_tcp_segments,
+ { "TCP Segments", "tcp.segments", FT_NONE, BASE_NONE, NULL, 0x0,
+ "TCP Segments", HFILL }},
};
static gint *ett[] = {
&ett_tcp,
&ett_tcp_flags,
&ett_tcp_options,
&ett_tcp_option_sack,
- &ett_tcp_segments,
&ett_tcp_analysis_faults,
- &ett_tcp_analysis
+ &ett_tcp_analysis,
+ &ett_tcp_segments,
+ &ett_tcp_segment
};
module_t *tcp_module;
diff --git a/packet-tds.c b/packet-tds.c
index 17522dafa5..cfdf6a7b73 100644
--- a/packet-tds.c
+++ b/packet-tds.c
@@ -3,7 +3,7 @@
* Copyright 2000-2002, Brian Bruns <camber@ais.org>
* Copyright 2002, Steve Langasek <vorlon@netexpress.net>
*
- * $Id: packet-tds.c,v 1.9 2002/12/07 03:45:34 gerald Exp $
+ * $Id: packet-tds.c,v 1.10 2002/12/19 11:22:38 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -1263,12 +1263,12 @@ proto_register_netlib(void)
},
{ &hf_tds_fragment_error,
{ "Defragmentation error", "tds.fragment.error",
- FT_NONE, BASE_NONE, NULL, 0x0,
+ FT_FRAMENUM, BASE_NONE, NULL, 0x0,
"Defragmentation error due to illegal fragments", HFILL }
},
{ &hf_tds_fragment,
{ "TDS Fragment", "tds.fragment",
- FT_NONE, BASE_NONE, NULL, 0x0,
+ FT_FRAMENUM, BASE_NONE, NULL, 0x0,
"TDS Fragment", HFILL }
},
{ &hf_tds_fragments,
diff --git a/packet-wtp.c b/packet-wtp.c
index 6415cfca4d..007c29db0c 100644
--- a/packet-wtp.c
+++ b/packet-wtp.c
@@ -2,7 +2,7 @@
*
* Routines to dissect WTP component of WAP traffic.
*
- * $Id: packet-wtp.c,v 1.41 2002/12/02 20:18:46 guy Exp $
+ * $Id: packet-wtp.c,v 1.42 2002/12/19 11:22:38 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -891,14 +891,14 @@ proto_register_wtp(void)
{ &hf_wtp_fragment_error,
{ "Defragmentation error",
"wtp.fragment.error",
- FT_NONE, BASE_NONE, NULL, 0x0,
+ FT_FRAMENUM, BASE_NONE, NULL, 0x0,
"Defragmentation error due to illegal fragments", HFILL
}
},
{ &hf_wtp_fragment,
{ "WTP Fragment",
"wtp.fragment",
- FT_NONE, BASE_NONE, NULL, 0x0,
+ FT_FRAMENUM, BASE_NONE, NULL, 0x0,
"WTP Fragment", HFILL
}
},
diff --git a/reassemble.c b/reassemble.c
index d2707d371b..c71a0fb421 100644
--- a/reassemble.c
+++ b/reassemble.c
@@ -1,7 +1,7 @@
/* reassemble.c
* Routines for {fragment,segment} reassembly
*
- * $Id: reassemble.c,v 1.27 2002/12/02 23:43:30 guy Exp $
+ * $Id: reassemble.c,v 1.28 2002/12/19 11:22:38 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -1179,8 +1179,9 @@ show_fragment(fragment_data *fd, int offset, const fragment_items *fit,
} else {
hf = *(fit->hf_fragment);
}
- fei = proto_tree_add_none_format(ft, hf,
+ fei = proto_tree_add_uint_format(ft, hf,
tvb, offset, fd->len,
+ fd->frame,
"Frame:%u payload:%u-%u",
fd->frame,
offset,
@@ -1212,8 +1213,9 @@ show_fragment(fragment_data *fd, int offset, const fragment_items *fit,
}
} else {
/* nothing of interest for this fragment */
- proto_tree_add_none_format(ft, *(fit->hf_fragment),
+ proto_tree_add_uint_format(ft, *(fit->hf_fragment),
tvb, offset, fd->len,
+ fd->frame,
"Frame:%u payload:%u-%u",
fd->frame,
offset,
diff --git a/reassemble.h b/reassemble.h
index a3408bf597..f1276f0d10 100644
--- a/reassemble.h
+++ b/reassemble.h
@@ -1,7 +1,7 @@
/* reassemble.h
* Declarations of outines for {fragment,segment} reassembly
*
- * $Id: reassemble.h,v 1.12 2002/11/14 18:54:50 guy Exp $
+ * $Id: reassemble.h,v 1.13 2002/12/19 11:22:38 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -182,6 +182,9 @@ extern unsigned char *
fragment_delete(packet_info *pinfo, guint32 id, GHashTable *fragment_table);
+/* hf_fragment and hf_fragment_error should be FT_FRAMENUM,
+ the others should be FT_BOOLEAN
+*/
typedef struct _fragment_items {
gint *ett_fragment;
gint *ett_fragments;