forked from osmocom/wireshark
add support to link from specially marked fields to related packets,
a doubleclick will follow the link svn path=/trunk/; revision=10897
This commit is contained in:
parent
276794e038
commit
ae82f88d98
|
@ -1,7 +1,7 @@
|
|||
/* packet-tcp.c
|
||||
* Routines for TCP packet disassembly
|
||||
*
|
||||
* $Id: packet-tcp.c,v 1.233 2004/05/14 15:55:36 ulfl Exp $
|
||||
* $Id: packet-tcp.c,v 1.234 2004/05/14 17:34:51 ulfl Exp $
|
||||
*
|
||||
* Ethereal - Network traffic analyzer
|
||||
* By Gerald Combs <gerald@ethereal.com>
|
||||
|
@ -1557,6 +1557,7 @@ desegment_tcp(tvbuff_t *tvb, packet_info *pinfo, int offset,
|
|||
int deseg_offset;
|
||||
guint32 deseg_seq;
|
||||
gint nbytes;
|
||||
proto_item *item;
|
||||
|
||||
/*
|
||||
* Initialize these to assume no desegmentation.
|
||||
|
@ -1876,8 +1877,10 @@ desegment_tcp(tvbuff_t *tvb, packet_info *pinfo, int offset,
|
|||
* We know what frame this PDU is reassembled in;
|
||||
* let the user know.
|
||||
*/
|
||||
proto_tree_add_uint(tcp_tree, hf_tcp_reassembled_in,
|
||||
item=proto_tree_add_uint(tcp_tree, hf_tcp_reassembled_in,
|
||||
tvb, 0, 0, ipfd_head->reassembled_in);
|
||||
PROTO_ITEM_SET_GENERATED(item);
|
||||
PROTO_ITEM_SET_LINK(item);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
24
reassemble.c
24
reassemble.c
|
@ -1,7 +1,7 @@
|
|||
/* reassemble.c
|
||||
* Routines for {fragment,segment} reassembly
|
||||
*
|
||||
* $Id: reassemble.c,v 1.46 2004/04/24 06:46:04 ulfl Exp $
|
||||
* $Id: reassemble.c,v 1.47 2004/05/14 17:34:51 ulfl Exp $
|
||||
*
|
||||
* Ethereal - Network traffic analyzer
|
||||
* By Gerald Combs <gerald@ethereal.com>
|
||||
|
@ -1568,34 +1568,41 @@ show_fragment(fragment_data *fd, int offset, const fragment_items *fit,
|
|||
offset,
|
||||
offset+fd->len-1,
|
||||
fd->len);
|
||||
PROTO_ITEM_SET_GENERATED(fei);
|
||||
PROTO_ITEM_SET_LINK(fei);
|
||||
fet = proto_item_add_subtree(fei, *(fit->ett_fragment));
|
||||
if (fd->flags&FD_OVERLAP) {
|
||||
proto_tree_add_boolean(fet,
|
||||
fei=proto_tree_add_boolean(fet,
|
||||
*(fit->hf_fragment_overlap),
|
||||
tvb, 0, 0,
|
||||
TRUE);
|
||||
PROTO_ITEM_SET_GENERATED(fei);
|
||||
}
|
||||
if (fd->flags&FD_OVERLAPCONFLICT) {
|
||||
proto_tree_add_boolean(fet,
|
||||
fei=proto_tree_add_boolean(fet,
|
||||
*(fit->hf_fragment_overlap_conflict),
|
||||
tvb, 0, 0,
|
||||
TRUE);
|
||||
PROTO_ITEM_SET_GENERATED(fei);
|
||||
}
|
||||
if (fd->flags&FD_MULTIPLETAILS) {
|
||||
proto_tree_add_boolean(fet,
|
||||
fei=proto_tree_add_boolean(fet,
|
||||
*(fit->hf_fragment_multiple_tails),
|
||||
tvb, 0, 0,
|
||||
TRUE);
|
||||
PROTO_ITEM_SET_GENERATED(fei);
|
||||
}
|
||||
if (fd->flags&FD_TOOLONGFRAGMENT) {
|
||||
proto_tree_add_boolean(fet,
|
||||
fei=proto_tree_add_boolean(fet,
|
||||
*(fit->hf_fragment_too_long_fragment),
|
||||
tvb, 0, 0,
|
||||
TRUE);
|
||||
PROTO_ITEM_SET_GENERATED(fei);
|
||||
}
|
||||
} else {
|
||||
proto_item *fei;
|
||||
/* nothing of interest for this fragment */
|
||||
proto_tree_add_uint_format(ft, *(fit->hf_fragment),
|
||||
fei=proto_tree_add_uint_format(ft, *(fit->hf_fragment),
|
||||
tvb, offset, fd->len,
|
||||
fd->frame,
|
||||
"Frame: %u, payload: %u-%u (%u bytes)",
|
||||
|
@ -1604,6 +1611,8 @@ show_fragment(fragment_data *fd, int offset, const fragment_items *fit,
|
|||
offset+fd->len-1,
|
||||
fd->len
|
||||
);
|
||||
PROTO_ITEM_SET_GENERATED(fei);
|
||||
PROTO_ITEM_SET_LINK(fei);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1642,6 +1651,8 @@ show_fragment_tree(fragment_data *fd_head, const fragment_items *fit,
|
|||
|
||||
fi = proto_tree_add_item(tree, *(fit->hf_fragments),
|
||||
tvb, 0, -1, FALSE);
|
||||
PROTO_ITEM_SET_GENERATED(fi);
|
||||
|
||||
ft = proto_item_add_subtree(fi, *(fit->ett_fragments));
|
||||
for (fd = fd_head->next; fd != NULL; fd = fd->next)
|
||||
show_fragment(fd, fd->offset, fit, ft, tvb);
|
||||
|
@ -1669,6 +1680,7 @@ show_fragment_seq_tree(fragment_data *fd_head, const fragment_items *fit,
|
|||
|
||||
fi = proto_tree_add_item(tree, *(fit->hf_fragments),
|
||||
tvb, 0, -1, FALSE);
|
||||
PROTO_ITEM_SET_GENERATED(fi);
|
||||
ft = proto_item_add_subtree(fi, *(fit->ett_fragments));
|
||||
offset = 0;
|
||||
next_offset = 0;
|
||||
|
|
Loading…
Reference in New Issue