Commit graph

4706 commits

Author SHA1 Message Date
Guy Harris
dbf2eebd5c Old-style (non-tvbuffified) dissectors haven't been supported since
0.9.0 was released; get rid of the typedef for "old_dissector_t".

svn path=/trunk/; revision=4703
2002-02-06 22:19:04 +00:00
Guy Harris
23d1a63f39 zlib 1.0.8 - the version that comes with X11 - does have "gzseek()",
even if it doesn't have "gzgets()", so one might think we could use it
by using our own replacement for "gzgets()".

One would be wrong to think so, however, as the "gzseek()" it has
doesn't actually work when reading uncompressed files.

zlib 1.0.9 has "gzgets()", and fixes that bug, so we rever to checking
for "gzgets()" rather than "gzseek()", so that we don't accept pre-1.0.9
versions of zlib, and we get rid of our "gzgets()" replacement.

svn path=/trunk/; revision=4702
2002-02-06 09:58:30 +00:00
Guy Harris
8bc19844ca From Ronnie Sahlberg:
the count fields in SAMR replies aren't array max_count values,
	so don't display them as such;

	Put conformant and conformant varying array length/offset/etc.
	values into the protocol tree.

svn path=/trunk/; revision=4701
2002-02-06 06:27:15 +00:00
Guy Harris
2d3a60e9a9 "log" is a name that belongs to the ANSI C89 standard; it refers to a
function that computes the natural logarithm of a double.  Using it as
the name of a pointer to a routine to do logging can cause namespace
collisions; in fact, it *does* cause them on AIX.  Rename the function
argument to "logfunc".

svn path=/trunk/; revision=4700
2002-02-05 22:50:17 +00:00
Guy Harris
e0828c513d The typedef in "epan/value_string.h" declares "value_string" to be a
typedef for "struct _value_string"; as such, the incomplete structure
declaration in "epan/proto.h" should declare "struct _value_string", not
"struct value_string", and casts and declarations in that header should
also use "struct _value_string", not "struct value_string".

svn path=/trunk/; revision=4699
2002-02-05 22:10:20 +00:00
Nathan Neulinger
ec0efa4709 add idle to rx ack value strings
svn path=/trunk/; revision=4698
2002-02-05 21:02:36 +00:00
Gilbert Ramirez
949e878ffb Have configure check for pod2man, thus creating a POD2MAN makefile
variable, allowing it to be overridden during make.

svn path=/trunk/; revision=4697
2002-02-05 18:39:06 +00:00
Guy Harris
007a32e8b1 Clean up a bunch of things:
use value_string tables and make numerical fields numeric,
	with associated value_string tables, rather than strings;

	make a signed integer field signed, which means we don't have to
	format the item for it in the protocol tree ourselves;

	give it a long protocol name, and make the short protocol name
	all-caps, as with other short protocol names.

svn path=/trunk/; revision=4696
2002-02-05 00:43:59 +00:00
Guy Harris
70e640d2d8 "Raw IP" could be IPv4 or IPv6; look at the first byte of the packet
(i.e., the byte of the IP header containing the IP version number) to
see which it is, and handle the packet either as IPv4, IPv6, or "other"
based on the IP version number.

The "if" chain for handling various packet types using DLT_RAW doesn't
need returns after every clause; it should just return after falling off
the end (and shouldn't call "g_assert_not_reached()" once we do that).

svn path=/trunk/; revision=4695
2002-02-05 00:09:45 +00:00
Guy Harris
6d55906750 From Ricardo Barroetave�a: support dissectors that are handed
reassembled TCP data being able to indicate that they need still more
reassembly, so that, for example, a dissector can indicate that it needs
reassembly in order to dissect a header that says how long the PDU is
and, when that reassembly is done and it dissects the header, it can
then indicate that it needs more reassembly to get the entire PDU.

svn path=/trunk/; revision=4694
2002-02-03 23:28:38 +00:00
Guy Harris
06933d87e3 Get rid of an extra space.
svn path=/trunk/; revision=4693
2002-02-03 21:44:52 +00:00
Guy Harris
ff8a6e55a3 Catch ReportedBoundsError exceptions when dissecting NDMP messages, and
report the error but don't re-throw the exception; that way, we can
continue to dissect additional NDMP messages in the frame or reassembled
chunk of data, even if one of them happens to be too short for what's in
it.

svn path=/trunk/; revision=4692
2002-02-03 21:44:01 +00:00
Guy Harris
a7a491b9f7 In C89, you can't declare variables at arbitrary points in code; move
the declaration of "tmp" in the "OUT_STRING()" to the beginning of the
block.

svn path=/trunk/; revision=4691
2002-02-03 20:48:07 +00:00
Nathan Neulinger
dccf95c021 dissect flags, more vldb fixes
svn path=/trunk/; revision=4690
2002-02-03 18:12:04 +00:00
Nathan Neulinger
ce288efd39 Fix string parsing from rx packets. Previously was calculating the next
offset incorrectly, which resulted in the rest of the packet being shifted
by a few bytes, and therefore all garbage.

svn path=/trunk/; revision=4689
2002-02-03 16:54:49 +00:00
Nathan Neulinger
5b0fe2e2ef add packet flag for slow-start/jumbogram
svn path=/trunk/; revision=4688
2002-02-03 15:59:42 +00:00
Nathan Neulinger
494f2f0a88 add a couple rx opcodes
svn path=/trunk/; revision=4687
2002-02-03 15:57:22 +00:00
Guy Harris
d24500e215 Sigh. Strings in SDP may have tabs in them, so we need to use
"format_text()" to display them, so that the tabs show up as "\t".  (We
eventually need to use that when displaying string fields - and arrange
that it properly handle the character set of the font being used for
display, in Ethereal, and the character set of the user's locale, in
Tethereal).

svn path=/trunk/; revision=4685
2002-02-02 23:04:31 +00:00
Gerald Combs
fcb82bfed0 Update version to 0.9.1. Add NEWS entries for 0.9.1 changes.
svn path=/trunk/; revision=4684
2002-02-02 22:27:44 +00:00
Guy Harris
0031b4d243 The argument to "proto_tree_add_string()" must be a null-terminated
string; make it so.

svn path=/trunk/; revision=4683
2002-02-02 21:54:04 +00:00
Guy Harris
db4892b8a3 From Michael Tuexen:
add a hidden "sctp.port" field, with two instances per protocol
	    tree, one with the source port and one with the destination
	    port (like "tcp.port" and "udp.port");

	replace "sctp.checksum_correct" with "sctp.checksum_bad" (like
	    "tcp.checksum_bad" and "udp.checksum_bad").

svn path=/trunk/; revision=4682
2002-02-02 21:17:10 +00:00
Guy Harris
d15f0203a6 From Heikki Vatiainen:
check for GNU "sed", and skip the "bad sed" checks if it's
	found;

	check for "/bin/sed" as well as "/usr/bin/sed" on Solaris;

	put the "sed" checks into a separate section of code with its
	own test for the host OS, to make it a bit cleaner to add any
	checks needed on other OSes.

svn path=/trunk/; revision=4681
2002-02-02 21:07:40 +00:00
Guy Harris
88e862db88 Small fix from Michael Tuexen.
svn path=/trunk/; revision=4680
2002-02-02 20:55:45 +00:00
Guy Harris
3929de0cc5 IAPP support, from Alfred Arnold.
svn path=/trunk/; revision=4679
2002-02-02 12:04:24 +00:00
Guy Harris
a758e63774 Put in a "break" statement after the "default:" clause; GCC may allow
you to have a label with no statement after it, but other C compilers
(e.g, MSVC++ 6.0) don't.

svn path=/trunk/; revision=4678
2002-02-02 11:52:41 +00:00
Nathan Neulinger
0e2c3748bd add ports for ssl pop, imap, and ldap
svn path=/trunk/; revision=4677
2002-02-02 04:02:28 +00:00
Guy Harris
0afa2b5aeb Routines added to the plugin table, and include-once #ifndef/#define
wrappers added to plugin header files, by Charlie Duke.

svn path=/trunk/; revision=4676
2002-02-02 03:42:18 +00:00
Guy Harris
f8359e84a9 Updates from Mark Burton.
svn path=/trunk/; revision=4675
2002-02-02 03:27:54 +00:00
Guy Harris
9d0cf92048 The syslog daemon parses a facility and level if the message begins with
a '<', regardless of whether it's followed by a digit; do the same.

Use "tvb_bytes_exist()" rather than "tvb_length_remaining()" in the loop
that scans those digits.

Use "tvb_ensure_length_remaining()" to get the length of the message, so
we throw an exception if we've gone past the end of the tvbuff.

svn path=/trunk/; revision=4674
2002-02-02 03:04:07 +00:00
Guy Harris
ae0d2eb20e When creating an subtree with variable-length items under it, use -1 as
the initial length, and set the length at the end, rather than
constructing the length from "tvb_length_remaining()".

svn path=/trunk/; revision=4673
2002-02-02 03:02:06 +00:00
Guy Harris
6fd493715e Use "tvb_offset_exists()" rather than "tvb_length_remaining()" in a loop
scanning the tvbuff.  Also use "tvb_offset_exists()" before accessing
the tvbuff in that loop; the loop is only building the Info column, so
it shouldn't throw an exception before building the list.

(XXX - it should arguably all be done in one loop, with the Info column
built on the fly.)

svn path=/trunk/; revision=4672
2002-02-02 02:59:23 +00:00
Guy Harris
70ae5ab15e Use "tvb_offset_exists()" to check whether there's a payload, and use
"msg_offset" rather than "offset" as the offset of the beginning of the
payload ("offset" is only advanced if "tree" is non-null, so it doesn't
necessarily point to the beginning of the payload).

Use -1 rather than "tvb_length_remaining()" as a length argument to
"tvb_find_guint8()" to get it to search to the end of the tvbuff, and,
before checking for the additional "\n\r\n" after a "\r", check whether
those 3 bytes are in the tvbuff.

svn path=/trunk/; revision=4671
2002-02-02 02:56:19 +00:00
Guy Harris
cdceb2569d Use "proto_tree_add_item()" to add string items.
Use -1, rather than the result of "tvb_length_remaining()", to handle
the last string item in a tvbuff.

svn path=/trunk/; revision=4670
2002-02-02 02:52:41 +00:00
Guy Harris
02d0d90682 Clean up the heuristic code in the Q.931 dissector. If it's a heuristic
dissector, it's looking for Q.931 encapsulated inside TPKT, so it
shouldn't check whether the first byte is NLPID_Q_931 or not, as it
*won't* be NLPID_Q_931, it'll be 3, for the TPKT version.  It should
first check whether "is_tpkt()" thinks it's a TPKT packet, and then
check that the packet has at least 3 bytes past the TPKT header, then
check the first byte in the payload to see whether it's NLPID_Q_931.  If
that all succeeds, treat it as Q.931 inside TPKT.

Make "is_tpkt()" return the length from the TPKT header on success, and
-1 on failure, and return the offset past the TPKT header via a pointer
(so clients don't have to know that the TPKT header is 4 bytes long).

svn path=/trunk/; revision=4669
2002-02-02 02:51:20 +00:00
Nathan Neulinger
2e5847828a add dissection of abort packets
svn path=/trunk/; revision=4668
2002-02-01 16:37:18 +00:00
Guy Harris
897e61ee45 Use "tvb_offset_exists()" rather than "tvb_length_remaining()" to see if
there's any more data in the packet.

svn path=/trunk/; revision=4667
2002-02-01 12:05:59 +00:00
Guy Harris
0322b68e1e Properly add the Boolean "checksum is bad" flag.
svn path=/trunk/; revision=4666
2002-02-01 12:04:54 +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
81bad7e2e6 Fix a typo.
svn path=/trunk/; revision=4664
2002-02-01 07:37:20 +00:00
Guy Harris
f094e1c292 From Tim Potter: for all the SMBs that have a FID in the request, put
the FID in the Info column.

svn path=/trunk/; revision=4663
2002-02-01 07:22:51 +00:00
Guy Harris
3775e40195 Use -1 rather than "tvb_length_remaining(tvb, offset)" in an item for
the remaining data in a packet.

svn path=/trunk/; revision=4662
2002-02-01 07:12:53 +00:00
Guy Harris
645170a701 Use -1 rather than "tvb_length_remaining(tvb, offset)" in some items for
the remaining data in a packet (and rather than "tvb_reported_length()",
which is wrong as it doesn't take the starting offset into account).

svn path=/trunk/; revision=4661
2002-02-01 07:12:09 +00:00
Guy Harris
f4c83dbb8f Use -1 rather than "tvb_length_remaining(tvb, offset)" in an item
whose length we set later.

svn path=/trunk/; revision=4660
2002-02-01 07:07:46 +00:00
Guy Harris
0e84810c9b Use -1 rather than "tvb_length_remaining(tvb, offset)" for a
top-level protocol tree item.

Use "sizeof ip6_hdr" rather than "tvb_length_remaining(tvb, offset)"
when copying stuff into a "struct ip6_hdr" - if there's more than an
IPv6 header's worth of data remaining, we don't want to copy the stuff
past the end of the IPv6 header, and if there's less than that, we want
to throw an exception.

svn path=/trunk/; revision=4659
2002-02-01 07:06:32 +00:00
Guy Harris
6f1b47d6c5 Squelch a GCC warning.
svn path=/trunk/; revision=4658
2002-02-01 07:03:32 +00:00
Gilbert Ramirez
4c4edd93fb Remove extra white-space from text added to proto_tree.
Thanks to Tim Potter <tpot@samba.org>

svn path=/trunk/; revision=4657
2002-02-01 04:42:24 +00:00
Gilbert Ramirez
bd4a9c13eb Provide tvb_ensure_length_remaining(), which is like
tvb_length_remaining() except that it throws BoundsError if 'offset'
is out-of-bounds.

Allow a length argument of -1 for FT_STRING and FT_BYTES fields
in proto_tree_add_item().

Change some dissectors to either use -1 for the length argument in
calls to proto_tree_add_item(), or call tvb_ensure_length_remaining()
instead of tvb_length_remaining(), or to check the return-value
of tvb_length_remaining(). Changes to more dissectors are necessary,
but will follow later.

svn path=/trunk/; revision=4656
2002-02-01 04:34:17 +00:00
Guy Harris
a9f7ef5058 Update a comment.
svn path=/trunk/; revision=4655
2002-02-01 00:10:03 +00:00
Ashok Narayanan
2519eb2d8f Added support for LSP-TUNNEL INTERFACE-ID object.
Some generic cleanups.

Added sensible information to message and object summaries.

svn path=/trunk/; revision=4654
2002-01-31 22:42:38 +00:00
Gilbert Ramirez
f8aecbe446 Change format of INSTALL text, removing the square-bracket
check-boxes.

Describe in detail the non-generic configure switches.

svn path=/trunk/; revision=4653
2002-01-31 16:51:08 +00:00