Commit Graph

4077 Commits

Author SHA1 Message Date
Guy Harris be7e31be0e From David Frascone: duUpdate to Diameter dissector to load the
dictionary as an XML file rather than building it in, and various
Diameter updates.

svn path=/trunk/; revision=4122
2001-11-01 21:52:44 +00:00
Guy Harris f9ff2a9ab3 Fix some declarations to match the signatures of "tvb_find_guint8()" and
"tvb_pbrk_guint8()".

svn path=/trunk/; revision=4121
2001-11-01 09:53:13 +00:00
Gilbert Ramirez a81c03816c Add an option to show the File Offset of a frame. Not useful for
general packet analyzing, but useful when developing wiretap code or
other such low-level development.
Default preference is *not* to show File Offset.

svn path=/trunk/; revision=4120
2001-11-01 04:00:56 +00:00
Guy Harris b987cb3e5c Display unknown extension types in decimal, not hex (the RFCs give them
in decimal, and the "Extension Type" field is BASE_DEC).

svn path=/trunk/; revision=4119
2001-10-31 22:16:25 +00:00
Guy Harris bb113a607b Support for Mobile IP's use of ICMP Router Advertisements, from David
Frascone.

Small white-space fix.

Display the preference level in router advertisements as signed, not
unsigned, as per RFC 1256, which says it's a "signed, twos-complement
value".

svn path=/trunk/; revision=4118
2001-10-31 22:03:53 +00:00
Guy Harris 97a05828cd Sigh. Well, if you make the function declarations external, that means
that they're external when the plugin is compiled, and there's no
definition to satisfy the extern, so plugins fail to compile.

Add a "plugins/plugin_api_defs.h" header file that defines them, and
include that in one (and only one) source file for a particular plugin.

svn path=/trunk/; revision=4117
2001-10-31 10:40:58 +00:00
Guy Harris e829a56e24 Update the code for the DHCP authentication option to match RFC 3118,
and update the URL for the DHCP parameter value assignments; support a
code of 90 for DHCP authentication, as that's what RFC 3118 specifies.

Show symbolic values for some of the fields in the DHCP authentication
option, and base the decision on whether to dissect the authentication
data as HMAC-MD5 data on whether that's what the protocol and algorithm
field specified.  Show the replay detection value as a 64-bit number
only if it's specified to be a monotonically-increasing counter;
otherwise, just show it as bytes.

svn path=/trunk/; revision=4116
2001-10-31 08:43:09 +00:00
Guy Harris aeb213c55c Bug fixes and enhancements to Mobile IP, from David Frascone.
svn path=/trunk/; revision=4115
2001-10-31 07:58:43 +00:00
Guy Harris 4b0bce7f97 Put "extern" in front of a pile of function declarations.
It makes no difference if they really are function declarations;
however, in plugins, when building on OSes that don't let
dynamically-loaded modules access functions in the main program (e.g.,
Windows), when compiling a plugin, <plugin_api.h> defines the names of
those functions as (*pointer_name), so they turn into declarations of
pointer variables pointing to the functions in question, and, on
platforms with a def/ref model in the linker, if a plugin has more than
one source file that gets linked into the plugin, the linker may get
upset at two definitions of the same variable.

svn path=/trunk/; revision=4114
2001-10-31 07:47:27 +00:00
Guy Harris 8b16a79d8f Add the Ethereal Web site's mirror of WinPcap to the dialog popped up if
you try to capture on Windows without having WinPcap installed.

svn path=/trunk/; revision=4113
2001-10-31 07:11:08 +00:00
Guy Harris dffa2a989a Get rid of a bunch of stuff that was there to support non-tvbuffified
dissectors and that's no longer needed.

svn path=/trunk/; revision=4112
2001-10-31 05:59:20 +00:00
Guy Harris c132bad423 Fix to desegmentation crash, from Ronnie Sahlberg.
svn path=/trunk/; revision=4111
2001-10-30 22:22:26 +00:00
Guy Harris 36facef286 Put in a note telling people NOT to use "tvb_get_ntohl()" or
"tvb_get_letohl()" to fetch IPv4 addresses.

svn path=/trunk/; revision=4110
2001-10-30 21:35:09 +00:00
Guy Harris c31d8f839e Fix a bunch of places where "tvb_get_letohl()" was being used to fetch
IP addresses - either use "tvb_memcpy()", or just use
"proto_tree_add_item()" and leave the fetching up to the core Ethereal
code.

In the DVMRP dissector, replace a bunch of other "proto_tree_add_XXX()"
calls with "proto_tree_add_item()", and use
"tvb_reported_length_remaining()" rather than "tvb_length_remaining()"
(if we didn't capture enough data because the snapshot length was too
low, we *want* an exception to be thrown, so that the frame is marked as
a "Short Frame").

svn path=/trunk/; revision=4109
2001-10-30 21:31:15 +00:00
Guy Harris e3292ecb7c IPv4 addresses should be entered in host byte order, not forced
little-endian byte order.

Use "proto_tree_add_item()" wherever possible.

Get rid of line commented out with a C++ comment, as not all C compilers
accept C++ comments.

Don't put the user name into the protocol tree if it's not there (we
really should do TCP segment reassembly for this, but this is at least a
good first cut).

When checking whether data exists in the packet, use
"tvb_offset_exists()", don't compare the offset in the tvbuf with
"pinfo->len" - "pinfo->len" is the length of the entire packet, not of
the tvbuff.

Fix some references to "pi" to refer to "*pinfo" instead.

svn path=/trunk/; revision=4108
2001-10-30 10:40:38 +00:00
Guy Harris 958b4d6d2c IPv4 addresses should be entered in host byte order, not forced
little-endian byte order.

svn path=/trunk/; revision=4107
2001-10-30 10:18:47 +00:00
Guy Harris 493f2a8279 Small fix to previous patch, from Motonori Shindo.
svn path=/trunk/; revision=4106
2001-10-30 10:16:51 +00:00
Guy Harris 4608fd788f Squelch a GCC complaint.
svn path=/trunk/; revision=4105
2001-10-30 10:15:53 +00:00
Guy Harris 62719c2344 From Shinsuke Suzuki: fix IPv6 PIM checksum computation code to match
draft-ietf-pim-sm-v2-new-03.

svn path=/trunk/; revision=4104
2001-10-30 10:11:00 +00:00
Guy Harris 752e079f12 In "u64toa()":
If the byte being investigated is 0, don't just do a "continue";
	this might be one of the passes on which we have to propagate
	carries, so skip the processing of that byte's bits, but fall
	through to the carry processing.

	In the carry processing loop, don't use "i" as the loop index,
	as we're already using it as the outer loop index.

In "u64toh()", use lower-case letters rather than upper-case letters, as
we use "%x" rather than "%X" to print 8, 16, 24, and 32-bit integral
values in the "proto.c" code.

svn path=/trunk/; revision=4103
2001-10-30 08:39:02 +00:00
Guy Harris 62d224011d Stop using "tvb_get_ntohll()" and "%llX" in the BOOTP dissector, as the
former depends on having "guint64" and the latter depends on
"%ll[douxX]" being what's used to print 64-bit integers, and there are
platforms on which Etheeal runs that don't have "guint64" or that don't
use "%ll[douxX]" to print 64-bit integers.

Get rid of the routines to extract 64-bit integers into "gint64"s and
"guint64"s, as per Ronnie Sahlberg's suggestion, to discourage people
from writing code that won't work on all platforms; they should be using
FT_UINT64, or the routines in "int-64bit.c", instead.

svn path=/trunk/; revision=4102
2001-10-29 21:56:50 +00:00
Guy Harris d850e01b43 Constify arguments and variables.
svn path=/trunk/; revision=4101
2001-10-29 21:53:58 +00:00
Jeff Foster 1afe1af211 Dissector converted to TVBuffers. The changes are originally from
Pia Sahlberg <piabar@hotmail.com.

svn path=/trunk/; revision=4100
2001-10-29 21:45:12 +00:00
Guy Harris d82c74d757 From Ronnie Sahlberg: FT_UINT64 support, code to handle 64-bit integers
without requiring compiler support for them, and updates to the
Diameter, L2TP, NFS, and NLM dissectors to use it and to the ONC RPC
dissector to allow ONC RPC subdissectors to use it.

svn path=/trunk/; revision=4099
2001-10-29 21:13:13 +00:00
Guy Harris e5eee0bd76 Updates from Mike Frisch to reflect NFSv4 protocol changes.
svn path=/trunk/; revision=4098
2001-10-29 20:49:28 +00:00
Guy Harris e157646119 The previous checkin also added PPP compressed datagram support.
svn path=/trunk/; revision=4097
2001-10-29 19:50:53 +00:00
Guy Harris e5276cd0b4 PPP CCP support, from Motonori Shindo.
svn path=/trunk/; revision=4096
2001-10-29 19:48:45 +00:00
Guy Harris 9d75336e38 Clean up another signed vs. unsigned comparison warning - if
"snprintf()" returns a negative number, that's an error, and we assume
"errno" was set and return NULL, otherwise we cast its return value to
"size_t" and compare it with the size of the buffer we were given, and,
if it was bigger, we know that "snprintf()" didn't generate all the
characters it could be cause they wouldn't have fit, so we set "errno"
to ENOSPC and return NULL.

svn path=/trunk/; revision=4095
2001-10-28 01:55:10 +00:00
Guy Harris 1b526aa894 Include <unistd.h>, if we have it, to declare "unlink()".
svn path=/trunk/; revision=4094
2001-10-28 01:51:46 +00:00
Guy Harris 594c839f55 Check, in the configure script in the epan directory, whether we have
"strptime()" and, if not, define NEED_STRPTIME_H.

svn path=/trunk/; revision=4093
2001-10-28 01:27:59 +00:00
Guy Harris 6eb4ae7a7d From Mike Frisch: Win32 systems don't have "strptime()", so we need to
use a replacement "strptime()" on those systems, and thus need to
include "strptime.h" to declare "strptime()".

svn path=/trunk/; revision=4092
2001-10-28 00:57:15 +00:00
Guy Harris facce7278a "ftypes" and "dfilter" should depend on "config.h", so that if it
doesn't exist, or is out of date with respect to "config.h.win32", it's
remade - stuff in "ftypes" and "dfilter" includes "config.h", and it
should get the "config.h" in "epan".

svn path=/trunk/; revision=4091
2001-10-28 00:52:28 +00:00
Guy Harris ad9f7b9566 Section D.4.3 "Generating Cryptographic authentication" of RFC 2328 says
that, when using cryptographic authentication, "The checksum field in
the standard OSPF header is not calculated, but is instead set to 0";
treat a packet checksum value of 0 as meaning "no checksum present".

svn path=/trunk/; revision=4090
2001-10-27 00:47:26 +00:00
Guy Harris e4a7740da3 Handle the 1.3 and 1.4 Content-Type values in WSP, from Tom Uijldert.
svn path=/trunk/; revision=4089
2001-10-26 19:14:51 +00:00
Gilbert Ramirez 6de396c4a8 Fix the rest of the signed/unsigned comparison warnings.
svn path=/trunk/; revision=4088
2001-10-26 18:28:17 +00:00
Gilbert Ramirez 038da8730a Fix some signed/unsigned comparison warnings. In the case of tvbuff.h,
there were 2 functions which accepted 'maxlength' == -1, but the function
prototypes had maxlength as a guint --- fixed.

svn path=/trunk/; revision=4087
2001-10-26 17:29:12 +00:00
Guy Harris ba9618e607 Make the protocol ID argument to "dissect_transform()" an "int", and
pass -1 in the cases where it's not called from "dissect_proposal()",
i.e. where there *is* no protocol ID to pass it, and have it dissect
the transform ID only as a number if the protocol ID isn't one of the
ones we know about.

Give the payload dissectors other than "dissect_transform()" an extra
"int" argument, so that their signature is the same as that of
"dissect_transform()", put "dissect_transform()" back in the
"strfuncs[]" table, and get rid of the special-casing of
"dissect_transform()" in "dissect_payloads()".

svn path=/trunk/; revision=4086
2001-10-26 10:30:16 +00:00
Guy Harris d79c0698c8 In "get_pointer_value()", don't include the terminating '\0' when
formatting the string as text.

In "add_pointer_param()", make the offset in the text item for the
string the offset in the string area, not the offset of the pointer
itself.

Fix some items in item lists to have "lm_null" rather than a null
pointer, so that if we don't find an entry for the detail level, we
don't blow up dereferencing a null pointer, we just dissect all the
items based on the type in the descriptor string.

If we don't have a data descriptor for response data, just put in an
entry for the data; that may happen if we only dissected part of the
request to which the stuff we're dissecting is a reply, e.g. because the
snapshot length didn't let us capture all of the request.

svn path=/trunk/; revision=4085
2001-10-26 10:14:43 +00:00
Gilbert Ramirez 74436f3854 Guard against erroneously calculating a negative length during the
processing of sub-options.

svn path=/trunk/; revision=4084
2001-10-26 02:55:20 +00:00
Gilbert Ramirez 44dd278a0c Fix improper uses of proto_tree_add_item(). When possible, switch to
using proto_tree_add_item().

svn path=/trunk/; revision=4083
2001-10-26 02:09:01 +00:00
Guy Harris 2a2e3fd3a1 We no longer try to dissect payloads of type "None", so get rid of
"dissect_none()".

svn path=/trunk/; revision=4082
2001-10-25 23:51:26 +00:00
Guy Harris c718555cc5 Loop over all the sub-payloads of a Security Association payload; make a
common routine that loops over payloads.

Have that routine check for a payload of type "None", which means that
there's extra data after a payload that claimed to be the last one (by
virtue of having a next payload type of "None").

When dissecting a Security Association payload, make sure we have enough
data for the Domain of Interpretation field before putting it into the
tree, dissect the situation as a 4-byte quantity followed by a set of
sub-payloads only of the DOI is "IPSEC" (otherwise dissect it as raw
data), and make sure we have enough data for the 4-byte situation field
before putting it into the tree.

When dissecting a Proposal payload, show the raw bytes of the SPI.

svn path=/trunk/; revision=4081
2001-10-25 23:40:28 +00:00
Gilbert Ramirez 6256944763 Don't try to dissect a gnutella sub-header if the length of the sub-header
is 0.

svn path=/trunk/; revision=4080
2001-10-25 21:25:51 +00:00
Gilbert Ramirez 08e48b040f Guard against 'size' being too small; the value comes from the packet,
so it can be corrupt.

svn path=/trunk/; revision=4079
2001-10-25 21:00:34 +00:00
Gilbert Ramirez f686502750 Interface type 0x07 is Ethernet.
svn path=/trunk/; revision=4078
2001-10-25 20:36:26 +00:00
Gilbert Ramirez a505b64912 Get rid of signed/unsigned comparison warnings in wiretap.
svn path=/trunk/; revision=4077
2001-10-25 20:29:24 +00:00
Guy Harris 3820d7e2a5 Update from Frank Singleton:
- Handle "short" as a union discriminant type
 - Handle case where union discriminant may be a typedef
 - Change integer template to long template
 - Initial code for \n and \t as  union case labels.

svn path=/trunk/; revision=4076
2001-10-25 19:57:06 +00:00
Guy Harris 456a121f2a Use "g_warning" to print warning messages from "pcap_open_live()", as
that should cause it to show up in a console window if run from Ethereal
on Windows.

svn path=/trunk/; revision=4075
2001-10-25 08:06:15 +00:00
Guy Harris 8a96e8c675 Handle "pcap_open_live()" succeeding but returning a warning; print the
warning before the capture starts.

svn path=/trunk/; revision=4074
2001-10-25 06:41:48 +00:00
Guy Harris 11a2b62ebe Fix compile errors and code errors in the Win32 code.
svn path=/trunk/; revision=4073
2001-10-24 09:22:23 +00:00