Age | Commit message (Collapse) | Author | Files | Lines |
|
svn path=/trunk/; revision=9230
|
|
first byte) in a host membership query to distinguish between IGMPv1 and
IGMPv2.
svn path=/trunk/; revision=8081
|
|
Igmp v1 membership reports should not be misdetected as v2 reports
(don't confuse the query with the report).
svn path=/trunk/; revision=8074
|
|
attempt reassembly of a higher-level packet that includes the
lower-level packet, use "tvb_bytes_exist()" to check whether all the
data that's to be included in the reassembly is available, rather than
by checking whether the packet is short.
Add some checks of that sort that were missing.
Use the reported length of the packet when doing reassembly.
Make the "iphdrlen" field of a "packet_info" structure be the length of
the IP header in bytes, not in 4-byte words.
svn path=/trunk/; revision=7274
|
|
winapi_cleanup tool written by Patrik Stridvall for the wine
project.
svn path=/trunk/; revision=6117
|
|
equivalents for the toplevel directory. The removal of winsock2.h will
hopefully not cause any problems under MSVC++, as those files using
struct timeval still include wtap.h, which still includes winsock2.h.
svn path=/trunk/; revision=5932
|
|
svn path=/trunk/; revision=5348
|
|
arguments that specify the header field indices for the checksum field
and the "checksum is bad" Boolean, and have the dissectors for some
protocols that use IGMP (DVMRP, MRDISC, MSNIP) use it rather than having
their own checksumming routines.
Also, fix it to correctly add the "checksum is bad" Boolean.
svn path=/trunk/; revision=4665
|
|
"epan/..." pathnames, so as to avoid collisions with header files in any
of the directories in which we look (e.g., "proto.h", as some other
package has its own "proto.h" file which it installs in the top-level
include directory).
Don't add "-I" flags to search "epan", as that's no longer necessary
(and we want includes of "epan" headers to fail if the "epan/" is left
out, so that we don't re-introduce includes lacking "epan/").
svn path=/trunk/; revision=4586
|
|
items to the protocol tree; it's interpreted as "the rest of the data in
the tvbuff". This can be used if
1) the item covers the entire packet or the remaining payload in
the packet
or
2) the item's length won't be known until it's dissected, and
will be then set with "proto_item_set_len()" - if an
exception is thrown in the dissection, it means the item ran
*past* the end of the tvbuff, so saying it runs to the end of
the tvbuff is reasonable.
Convert a number of "proto_tree_add_XXX()" calls using
"tvb_length_remaining()", values derived from the result of
"tvb_length()", or 0 (in the case of items whose length is unknown) to
use -1 instead (using 0 means that if an exception is thrown, selecting
the item highlights nothing; using -1 means it highlights all the data
for that item that's available).
In some places where "tvb_length()" or "tvb_length_remaining()" was used
to determine how large a packet is, use "tvb_reported_length()" or
"tvb_reported_length_remaining()", instead - the first two calls
indicate how much captured data was in the packet, the latter two calls
indicate how large the packet actually was (and the fact that using the
latter could cause BoundsError exceptions to be thrown is a feature - if
such an exception is thrown, the frame really *was* short, and it should
be tagged as such).
Replace some "proto_tree_add_XXX()" calls with equivalent
"proto_tree_add_item()" calls.
Fix some indentation.
svn path=/trunk/; revision=4578
|
|
e-mail address.
svn path=/trunk/; revision=4444
|
|
structure to the "packet_info" structure; only stuff that's permanently
stored with each frame should be in the "frame_data" structure, and the
"column_info" structure is not guaranteed to hold the column values for
that frame at all times - it was only in the "frame_data" structure so
that it could be passed to dissectors, and, as all dissectors are now
passed a pointer to a "packet_info" structure, it could just as well be
put in the "packet_info" structure.
That saves memory, by shrinking the "frame_data" structure (there's one
of those per frame), and also lets us clean up the code a bit.
svn path=/trunk/; revision=4370
|
|
take a dissector handle as an argument, rather than a pointer to a
dissector function and a protocol ID. Associate dissector handles with
dissector table entries.
svn path=/trunk/; revision=4308
|
|
svn path=/trunk/; revision=3694
|
|
table for IGMP packet types (we treat requests as "Query or Request", as
the type doesn't say which it is).
Base the query vs. request decision on the reported length of the
packet, not the captured length.
Checksum the packet only if it's not fragmented and the captured length
is greater than or equal to the amount to be checksummed, and, for
requests where we don't wire in the length to be checksummed, base it on
the reported length of the packet, not the captured length.
svn path=/trunk/; revision=3683
|
|
"proto_tree_add_uint_format()", rather than adding it as a hidden field
and then adding a text entry.
svn path=/trunk/; revision=3682
|
|
Assorted other fixes.
svn path=/trunk/; revision=3677
|
|
svn path=/trunk/; revision=3634
|
|
svn path=/trunk/; revision=3622
|
|
svn path=/trunk/; revision=3614
|
|
"header_field_info" structure, including the ones that are later set by
the routines to register fields.
svn path=/trunk/; revision=3561
|
|
Give "packet-igmp.c" an RCS ID.
svn path=/trunk/; revision=3539
|
|
Use "col_add_fstr()" to set the Info column, rather than "sprintf()"ing
to a buffer and using "col_add_str()".
Add a routine that dissects unknown types of IGMP messages, and use it
for all IGMP messages for which we don't have a dissector.
svn path=/trunk/; revision=3452
|
|
dissector and that appear in tcpdump's IGMP dissector.
svn path=/trunk/; revision=3448
|
|
svn path=/trunk/; revision=3426
|