Ethereal does not take into account the protocol field of the IP header
when reassembling fragmented packets as specified in RFC791. This can
lead to incorrect reassembly of packets with an identical src address,
dst address, and identification number, but with differing protocols.
The attached patch includes the protocol in the generation of the id
used to index into the reassembly table.
svn path=/trunk/; revision=16937
I've changed all settings I could find to TRUE. It might be reasonable to change some protocol settings back to FALSE, if reassembling fails very often.
svn path=/trunk/; revision=16048
directory to the epan directory. Some of them should perhaps ultimately
be moved to epan/dissectors, if they pertain only to stuff exported by a
particular dissector.
Fix Gerald's e-mail address in files we're moving.
svn path=/trunk/; revision=15844
and that extract IPv6 addresses into a "struct e_in6_addr", with
tvb_get_ipv4() and tvb_get_ipv6() calls - except for some that we
remove, by using proto_tree_add_item(), rather than replacing.
Have epan/tvbuff.h include epan/ipv6-utils.h, to define "struct
e_in6_addr" (not necessary to declare the tvbuff routines, but including
it there means "struct e_in6_addr" is guaranteed to be defined before
those declarations, so we don't get compiler complaints if we define it
*after* those declarations).
svn path=/trunk/; revision=15758
making pointers to byte data be "guint8 *" rather than "char *",
and making buffers holding byte data arrays of "guint8" rather
than arrays of "char";
making pointers to text strings "char *" rather than "guchar *";
appropriately casting pointers (cast to "guint8 *" when passing
to routines expecting "guint8 *" or when assigning to "guint8
*");
making port-number preferences "guint";
making enum preferences "gint";
making hf_ variables "int".
Clean up white space.
svn path=/trunk/; revision=14884
contain more than 128 bytes of the original datagram. (Yes, RFC 1812
and the ICMP Extensions for MPLS draft collide here, as the draft in
question notes.)
svn path=/trunk/; revision=14834
the stuff that didn't fit as a negative number of junk bytes.
The difference between two pointers isn't guaranteed to have a
particular size; cast it to "long" and display it with "%ld".
svn path=/trunk/; revision=14821
replace some deprecated proto_tree_add_..._hidden() calls by seperate calls by proto_tree_add_...() and PROTO_ITEM_SET_HIDDEN()
some other cosmetic changes
svn path=/trunk/; revision=14518
It should not dump core as far as all my tests are concerned and Menu_Statistics/ProtocolHierStats work
It needs more testing and there might still be cases where it will crash that will need to be fixed but I feel it will be worth it since it will decrease the time to filter very large capture files dramatically.
Real significant performance boost for very large captures.
(If we cant fix all the problems we can just revert this patch)
svn path=/trunk/; revision=14051
1) added _U_ tags in RMT dissectors to suppress "unused parameter" warnings.
2) added a dissector_add_handle("ip.udp", ip_handle) to IP dissector, to
allow the following chain of protocols: IP over UDP over IP. It seems
uncommon, but it's used by implementations of experimental protocols
(e.g. TCP-XM) that run a userspace IP stack (e.g. lwIP) over UDP. The
dissector of IP over UDP must be enabled explicitly using the "decode
as..." window.
svn path=/trunk/; revision=13540
Attached please find a small performance optimization to packet-ip.c,
which removes multiple redundant calls to tvb_get_ptr().
Changed srt_addr and dst_addr from char to guchar
svn path=/trunk/; revision=13272
NETTL_SUBSYS_NS_LS_ICMPV6 - they don't even have IP headers, so we need
to directly call the ICMP and ICMPv6 dissectors.
svn path=/trunk/; revision=12047
include of <resolv.h> in any system header file gets the system
<resolv.h> (needed for builds on Tru64 with GTK+ 1.2[.x]).
svn path=/trunk/; revision=11615
Also move ncp222.py, x11-fields, process-x11-fields.pl,
make-reg-dotc, and make-reg-dotc.py.
Adjust #include lines in files that include packet-*.h
files.
svn path=/trunk/; revision=11410