Commit Graph

2976 Commits

Author SHA1 Message Date
Guy Harris bf0a3a32d1 In Ethereal, attempt to get the packet statistics from libpcap when
capturing; if we succeed, display the packet drops count as the "Drops"
value in the status line and as the "Dropped packets" statistics in the
summary dialog box, otherwise don't display it at all.

In Tethereal, attempt to get the packet statistics from libpcap when
capturing; if we succeed, and if there were any dropped packets, print
out the count of dropped packets when the capture finishes.

svn path=/trunk/; revision=3016
2001-02-11 09:28:17 +00:00
Gilbert Ramirez 8cd8391b9a Make boolean equality/inequality tests smarter; they don't test
for exact value matches, but just that the two values are either zero
or non-zero.

svn path=/trunk/; revision=3015
2001-02-11 03:29:53 +00:00
Gilbert Ramirez 8d34a213ec Add rule for dftest.exe
svn path=/trunk/; revision=3014
2001-02-11 03:19:45 +00:00
Gilbert Ramirez ea7ef0fb0c Remove unused variable and add copyright and RCS ID.
svn path=/trunk/; revision=3013
2001-02-11 03:12:46 +00:00
Guy Harris 0c8ed39229 Updates from Alexandre P. Ferreira.
svn path=/trunk/; revision=3012
2001-02-10 09:28:04 +00:00
Guy Harris 261f3f1a6c Check for errors when writing a capture file.
Report errors when writing or closing a capture file.

Clean up some I/O error messages.

svn path=/trunk/; revision=3011
2001-02-10 09:08:14 +00:00
Guy Harris 776490b1db Further NFSV4 updates from Mike Frisch.
svn path=/trunk/; revision=3010
2001-02-09 18:26:04 +00:00
Guy Harris 58c5f7523d When dissecting an indirect call reply, if either there's an old-style
or new-style dissector for the reply, we can dissect the reply; there
doesn't have to be a new-style dissector.

svn path=/trunk/; revision=3009
2001-02-09 08:38:13 +00:00
Guy Harris ea037e9084 For indirect RPC calls, remember the call information, and add a
dissector for indirect replies that looks up the call.  Use them in the
portmapper/RPCBIND dissector.

svn path=/trunk/; revision=3008
2001-02-09 07:59:00 +00:00
Guy Harris f190eff056 Make a "dissect_rpc_indir_call()" routine to dissect arguments to a
specified program/version/procedure, and a "rpc_proc_name()" routine to
return the name of a specified program/version/procedure, and make the
callit dissector use those, rather than doing the work itself.

Un-export various routines and declarations that can again be private to
the RPC dissector.

svn path=/trunk/; revision=3007
2001-02-09 06:49:29 +00:00
Guy Harris a6216089a8 Add "TFTP_" before the packet type names, to avoid compiler warnings on
Windows where ERROR is #defined by some header file that gets included
by "packet-tftp.c".

svn path=/trunk/; revision=3006
2001-02-09 06:08:11 +00:00
Guy Harris f116900cac Change to include Service ID field in dissection of Service Info
component of WCCP 2 messages even if the service type is
WCCP2_SERVICE_DYNAMIC, from Simharajan Srishylam.

svn path=/trunk/; revision=3005
2001-02-09 00:11:44 +00:00
Guy Harris 6742f8bec9 On at least one capture, the PIM checksum appears to be correct, so
add code to check it - I've no idea what's going on with the other
captures where it's not correct, but those captures have a different
(and apparently incorrect) checksum for packets with the *exact same
contents* (other than the checksum) as the PIM packet in the capture
where the checksum is correct, so perhaps those packets actually had bad
checksums.

svn path=/trunk/; revision=3004
2001-02-08 08:38:58 +00:00
Guy Harris d59ab05745 Don't fetch any of the fields past the BPDU type if the BPDU type isn't
0; topology change notification frames don't *have* anything past the
BPDU type to fetch.

svn path=/trunk/; revision=3003
2001-02-08 07:32:11 +00:00
Guy Harris 7f4a71ab8b Pull a lot of common code for handling 802.3 frames (i.e., frames with a
length field rather than an Ethernet type field) into a
"dissect_802_3()" routine.

In that routine, catch exceptions thrown by the IPX or LLC dissector or
dissectors under them, so that the trailer information is added to the
tree even if an exception is thrown (similar to what "ethertype()"
does).

svn path=/trunk/; revision=3002
2001-02-08 07:08:05 +00:00
Guy Harris b1eb3635c2 In "call_dissector()", if the protocol for the dissector referred to by
the handle has been disabled, return after calling "dissect_data()",
rather than driving on and calling the dissector anyway.

svn path=/trunk/; revision=3001
2001-02-08 07:06:55 +00:00
Guy Harris 1f26489d9e Set the Protocol column, and clear the Info column, before we start
fetching anything from the packet, so that if an exception is thrown
those columns don't show something from the previous protocol.

Don't fetch the protocol identifier or protocol version identifier
before you use them.

svn path=/trunk/; revision=3000
2001-02-08 03:59:12 +00:00
Guy Harris ada3b765ef If we failed to open a capture file specified by the "-r" flag, don't
attempt to free the read filter if we don't have a read filter.

svn path=/trunk/; revision=2999
2001-02-08 03:55:45 +00:00
Guy Harris fc9ed1d58b Updates from Mike Frisch.
svn path=/trunk/; revision=2998
2001-02-07 22:10:49 +00:00
Guy Harris 7cb94abef2 Add in the various payload type definitions from RFC 1890.
svn path=/trunk/; revision=2997
2001-02-07 00:20:02 +00:00
Guy Harris 2c704b496e The "short name" and "filter name" were reversed; put them in the right
order.

svn path=/trunk/; revision=2996
2001-02-06 18:43:24 +00:00
Guy Harris 967e079bfb Add support for dissecting V3 CALLIT and V4 BCAST/INDIRECT calls.
svn path=/trunk/; revision=2995
2001-02-06 06:56:19 +00:00
Guy Harris d9ee8bec53 Tvbuffify the portmap/rpcbind dissector, and implement part of CALLIT
dissection (dissection of V2 CALLIT calls; no V3/V4 stuff or reply
handling yet).

svn path=/trunk/; revision=2994
2001-02-06 06:46:10 +00:00
Guy Harris 60ce2f6158 Fix up some MSVC complaints about (narrowing) type conversions by
widening formal arguments or narrowing variables passed as actual
arguments.

svn path=/trunk/; revision=2993
2001-02-05 02:47:31 +00:00
Guy Harris 39d2be965b Maximum frame size values in the second byte of the routing control
information aren't shifted right 4 bytes when put into the protocol
tree; shift left by 4 bytes the values in the value_string table for
them.

A value of 7 means 65535 bytes.

svn path=/trunk/; revision=2992
2001-02-05 02:06:27 +00:00
Guy Harris 3ce594a981 Add a "-f" flag to the "rm", so that "make clean" won't get an error
(and cause a higher-level "make clean" to stop) if any of the files to
be removed aren't there.

svn path=/trunk/; revision=2991
2001-02-04 19:44:24 +00:00
Guy Harris 2fdb4c76a2 Pass the correct tvbuff from the Vines Fragmentation Protocol dissector
to the Vines IP dissector.

svn path=/trunk/; revision=2990
2001-02-04 10:29:49 +00:00
Guy Harris 859860013e L3PIDs are Ethertypes; display them as such.
Use "decode_boolean_bitfield()" to dissect flag bits.

svn path=/trunk/; revision=2989
2001-02-04 09:37:28 +00:00
Guy Harris 3bb7974896 Add support for replies to NLMv3 SHARE and UNSHARE requests and to the
remaining NLMv4 requests.

svn path=/trunk/; revision=2988
2001-02-04 09:04:11 +00:00
Guy Harris 52bf014948 Tvbuffify the RSVP dissector.
Display the message checksum, and check it if possible.

Fix some IPv6 entries to be 16 bytes long, not 4 bytes long.

Make the routine to fetch an IEEE floating point number and turn it into
a "long" take a tvbuff pointer and offset rather than a pointer to data.

svn path=/trunk/; revision=2987
2001-02-04 08:21:35 +00:00
Gerald Combs ebba9ea2d0 As pointed out by Aaron C. Springer (and according to RFC 1827), it's
"Encapsulating Security Payload," and not "Encapsulated Security Payload."

svn path=/trunk/; revision=2986
2001-02-03 20:08:04 +00:00
Guy Harris 0d6e9f2533 Tvbuffify the Oracle TNS dissector.
svn path=/trunk/; revision=2985
2001-02-03 08:21:47 +00:00
Guy Harris 93eea18379 Use "pinfo", not "pi", to get packet info.
svn path=/trunk/; revision=2984
2001-02-03 08:07:04 +00:00
Guy Harris 64af6d155c Tvbuffify the IRC dissector.
svn path=/trunk/; revision=2983
2001-02-03 07:58:27 +00:00
Guy Harris c1e36ebccc Use "dfilter_apply_edt()" rather than "dfilter_apply()".
svn path=/trunk/; revision=2982
2001-02-03 06:25:17 +00:00
Guy Harris cacd37893a Increment the line number for every line seen.
Fix the handling of one error case.

svn path=/trunk/; revision=2981
2001-02-03 06:10:11 +00:00
Guy Harris 0910e8317f Allow filter names and expressions of arbitrary length, and, in the
filter files, escape quotes and backslashes so that quotes and
backslashes in filter names work.

svn path=/trunk/; revision=2980
2001-02-03 06:03:42 +00:00
Gilbert Ramirez 95e09f5ac3 Add Makefile.nmake files for new subdirs.
Add them to EXTRA_DIST in corresponding Makefile.am's so that they
get packaged with the distribution.

svn path=/trunk/; revision=2979
2001-02-02 04:03:43 +00:00
Gilbert Ramirez 9627904c2a Catch any exception thrown by accessing the tvbuff.
svn path=/trunk/; revision=2978
2001-02-01 23:39:18 +00:00
Guy Harris 046863344e Fix the previous checkin to correctly handle presence tests on
protocols.

svn path=/trunk/; revision=2977
2001-02-01 22:40:49 +00:00
Guy Harris c4f0b539d7 For protocols, call the test for the field being present "has this
protocol" rather than "is present".

svn path=/trunk/; revision=2976
2001-02-01 22:33:58 +00:00
Guy Harris bf4d3052e8 Use the pretty name for the type, not the internal name, in the help
dialog for display filter fields.

svn path=/trunk/; revision=2975
2001-02-01 22:28:58 +00:00
Guy Harris e7d46da0dd Use the ftype routines to determine what tests can be done on a field,
and whether you can slice a field.

svn path=/trunk/; revision=2974
2001-02-01 22:21:30 +00:00
Guy Harris baee1df878 FT_PROTOCOL is like FT_NONE; you can only test for the field's presence
(XXX or absence - we should offer that choice in the dialog).

svn path=/trunk/; revision=2973
2001-02-01 22:01:42 +00:00
Guy Harris ebf6ae7cf6 Make some pointers "guchar" pointers, so that characters extracted from
strings are unsigned, so that we can hand them to "isXXX()" macros
without GCC warning us that an array subscript is "char" (as in "if this
is a character with the 8th bit set, you may not get the answer you
think you should from 'isXXX()'").

svn path=/trunk/; revision=2972
2001-02-01 21:52:16 +00:00
Guy Harris c3ad47d04c Declare "proto_tree_set_protocol_tvb()" at the top, along with the other
"proto_tree_set_XXX_tvb()" routines.

svn path=/trunk/; revision=2971
2001-02-01 21:48:02 +00:00
Guy Harris d12fb1f952 Rename the "optarg()" and "opterr()" functions to "get_optarg()" and
"get_opterr()" so they don't collide with "getopt()"s "optarg" and
"opterr" globals (Solaris 2.6's <stdio.h> declares both "optarg" and
"opterr", causing "lemon.c" not to compile).

Define "safe_isXXX()" macros to call "isXXX()" after casting the
argument to "unsigned char" to handle characters with the 8th bit set.
Make some "int" variables used only to hold characters "char" instead.

svn path=/trunk/; revision=2970
2001-02-01 21:46:48 +00:00
Gilbert Ramirez c3d01c2f3f Always show the scrollbar in the tree view panel, so that the scrollbar
doesn't appearn and disappear depending on the size of the proto tree
in relation to the view window. I didn't like the horizontal jumps that
the proto tree had to do when the scrollbar either disappeared or
appeared.

svn path=/trunk/; revision=2969
2001-02-01 20:36:01 +00:00
Gilbert Ramirez 96e0398fc6 Grumble, grumble. I forgot to add the license comment at the top
of these files.

svn path=/trunk/; revision=2968
2001-02-01 20:31:21 +00:00
Gilbert Ramirez 8f1fff2e6a Create a more modular type system for the FT_* types. Put them
into epan/ftypes.

Re-write display filter routines using Lemon parser instead of yacc.
Besides using a different tool, the new grammar is much simpler, while
the display filter engine itself is more powerful and more easily extended.

Add dftest executable, to test display filter "bytecode" generation.
Add option to "configure" to build dftest or randpkt, both of which are not
built by default.

Implement Ed Warnicke's ideas about dranges in the new display filter and
ftype code.

Remove type FT_TEXT_ONLY in favor of FT_NONE, and have protocols registered
as FT_PROTOCOL. Thus, FT_NONE is used only for simple labels in the proto tree,
while FT_PROTOCOL is used for protocols. This was necessary for being
able to make byte slices (ranges) out of protocols, like "frame[0:3]"

Win32 Makefile.nmake's will be added tonight.

svn path=/trunk/; revision=2967
2001-02-01 20:21:25 +00:00