Commit Graph

20 Commits

Author SHA1 Message Date
Jörg Mayer 173fe5aef4 Replace the types from sys/types.h and netinet/in.h by their glib.h
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
2002-08-02 23:36:07 +00:00
Guy Harris 2311ede6bc From Joerg Mayer: get rid of unused arguments.
svn path=/trunk/; revision=5348
2002-05-02 07:54:41 +00:00
Guy Harris c2c2154712 Export "igmp_checksum()" from the IGMP dissector and give it additional
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
2002-02-01 11:01:57 +00:00
Guy Harris ee5ca25d31 Include files from the "epan" directory and subdirectories thereof with
"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
2002-01-21 07:37:49 +00:00
Guy Harris 92915713d3 Allow a length of -1 to be specified when adding FT_NONE and FT_PROTOCOL
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
2002-01-20 22:12:39 +00:00
Guy Harris 6f0d79c0d7 From Ronnie Sahlberg: initial NDMPv3 support, and an update to his
e-mail address.

svn path=/trunk/; revision=4444
2001-12-23 21:36:58 +00:00
Guy Harris 23319ff023 Move the pointer to the "column_info" structure in the "frame_data"
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
2001-12-10 00:26:21 +00:00
Guy Harris bced8711f6 Make "dissector_add()", "dissector_delete()", and "dissector_change()"
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
2001-12-03 04:00:26 +00:00
Guy Harris 4ef3ef584f Include "snprintf.h" if necessary, as we use "snprintf()".
svn path=/trunk/; revision=3694
2001-07-12 07:05:33 +00:00
Guy Harris 20d911b213 Add entries for traceroute requests and responses to the value_string
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
2001-07-11 04:24:34 +00:00
Guy Harris e28d0635ff Just add the "hf_type" field in a traceroute message with
"proto_tree_add_uint_format()", rather than adding it as a hidden field
and then adding a text entry.

svn path=/trunk/; revision=3682
2001-07-11 04:02:51 +00:00
Guy Harris 24ec54336f IGMP fixes and multicast traceroute support, from Heikki Vatiainen.
Assorted other fixes.

svn path=/trunk/; revision=3677
2001-07-10 20:55:54 +00:00
Guy Harris 7aef6b2932 Add PIMv1 support.
svn path=/trunk/; revision=3634
2001-07-02 09:23:02 +00:00
Guy Harris ec281bdf71 MSNIP support, from Ronnie Sahlberg.
svn path=/trunk/; revision=3622
2001-06-29 18:55:50 +00:00
Guy Harris db974f9b06 MRDISC support, from Ronnie Sahlberg.
svn path=/trunk/; revision=3614
2001-06-27 20:19:19 +00:00
Guy Harris 8412393197 From Joerg Mayer: explicitly fill in all members of a
"header_field_info" structure, including the ones that are later set by
the routines to register fields.

svn path=/trunk/; revision=3561
2001-06-18 02:18:27 +00:00
Guy Harris b0e7d0029d DVMRP support, from Ronnie Sahlberg.
Give "packet-igmp.c" an RCS ID.

svn path=/trunk/; revision=3539
2001-06-12 06:21:55 +00:00
Guy Harris 39711040a5 Update Gerald's e-mail address.
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
2001-05-25 18:44:01 +00:00
Guy Harris 696410775e Put in limited support for some messages that appeared in the old
dissector and that appear in tcpdump's IGMP dissector.

svn path=/trunk/; revision=3448
2001-05-25 06:47:02 +00:00
Guy Harris 724c494b70 Rewritten IGMP dissector, from Ronnie Sahlberg.
svn path=/trunk/; revision=3426
2001-05-20 22:20:33 +00:00