causes (should have been in rev 35366).
When generating TVB subsets, limit the subset's backing and reported lengths to
the (captured) TVB length and the reported TVB length, respectively.
This allows us to dissect most of the packet in
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5546
before asserting out.
It also yields similar better behavior when the capture is limited by a
snapshot length.
svn path=/trunk/; revision=35368
- "reported length" to be minimum of the entity's length (taken from the
packet) or the reported length of the TVB.
- "backing length" to be the minimum of the reported length (above) or the
(captured) length of the TVB.
This prevents tvb_new_subset() from generating an exception if the entity's
length (in the packet) is bogus (bigger than what's in the TVB) which allows
dissection to continue to a point where we can show the user what the problem
is.
When dissecting chunks, add an expert info if the item's length is bigger than
what was on the wire (the reported length). (The same could also be done for
parameters and error causes.)
This makes captures like that in https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5546
easier to understand.
It also starts getting this dissector using the reported length instead of the
(captured) TVB length (there's more to be done with other tvb subsets).
svn path=/trunk/; revision=35366
keys to have _uint in their names, to match the routines that handle
dissector tables with string keys. (Using _port can confuse people into
thinking they're intended solely for use with TCP/UDP/etc. ports when,
in fact, they work better for things such as Ethernet types, where the
binding of particular values to particular protocols are a lot
stronger.)
svn path=/trunk/; revision=35224
subdissector the first fragment of a fragmented message so that an exception
in the first chunk doesn't abort dissection of subsquent chunks in the frame.
Restore pinfo->private_data after an exception was thrown by a subdissector.
This is necessary in case a subdissector had changed it but was unable to
restore it (due to the exception).
svn path=/trunk/; revision=34420
In some cases the usage may have been benign since it can be seen by code inspection that the maximum value of the end variable can't exceed the maximum value of the loop variable.
However, on general principles, all the usages have been fixed.
svn path=/trunk/; revision=33692
"representation" - we already use "representation" to refer to the text
representation of fields.
Change some routines with an endianness argument to make it a
representation argument instead;
svn path=/trunk/; revision=32929
from which to choose; use that for protocol fields in some protocols
(modify the CORBA generator to use it, and manually update the generated
CORBA dissectors accordingly).
svn path=/trunk/; revision=32777
proto_tree_add_item(), use the new REP_BIG_ENDIAN and REP_LITTLE_ENDIAN
values.
Use those #defines in variables that represent the byte order, as well.
svn path=/trunk/; revision=32776
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
frame numbers before running the read filter], don't do the TSN
analysis. (We can't anyway because we don't have a valid frame
number...)
Without this change if you load a capture file in the
GUI while using a read filter, every SCTP TSN is marked as a
retransmission of that in frame 0.
svn path=/trunk/; revision=26226
Merge of the CRC32C calculation out of packet-iscsi.c and packet-sctp.c
into the already existing crc32.c and crc32.h files.
svn path=/trunk/; revision=24930
them with an expert info (PI_WARN).
Change "Duplicate TSN" expert info to "Retransmitted TSN" and make it PI_NOTE
instead of PI_WARN.
Change "More than 100 TSNs gap-acked" expert info to PI_WARN (from PI_NOTE).
Frame numbers (and count of retransmissions) are unsigned, display them that way.
svn path=/trunk/; revision=23502
on the first fragment of a fragmented message. This allows us to continue
dissecting chunks even if one of the first chunks in the frame was fragmented.
(It's useful to keep doing this partial dissection just so we have some idea
what's in that chunk.)
(One could rightfully argue that you should only see a fragmented chunk
bundled with another chunk when retransmitting but, well, I'm staring at
traces of an implementation--to remain nameless to protect the guilty--which
is sometimes fragmenting and then bundling the fragments into one packet.)
svn path=/trunk/; revision=23471