Commit graph

176 commits

Author SHA1 Message Date
Guy Harris
06803d2919 Re-word-wrap the "you can't capture on PPP/WAN interfaces on NT"
message, to make the margins more even and to bring the second line
under 80 characters.  (It's amazing how long Herman Hollerith's legacy
has lasted....)

svn path=/trunk/; revision=6835
2003-01-01 03:51:02 +00:00
Guy Harris
99db336999 One more "#ifdef" (well, #ifndef, actually) for _WIN32.
svn path=/trunk/; revision=6834
2002-12-31 22:42:45 +00:00
Guy Harris
3e822a8538 #ifdef out all the pipe-opening stuff on Windows.
svn path=/trunk/; revision=6833
2002-12-31 22:01:48 +00:00
Guy Harris
55246f1b9f Clean up the comments a bit.
Use _WIN32 rather than WIN32 throughout (both of them appear to work - I
don't know whether one is the "right" one to use and, if one is, which
one it is - and they're both used in Ethereal, but let's at least be
consistent within a given file).

Update the capture device open failure message on Windows not to say
Token Ring devices aren't supported - current versions of WinPcap do
support it, and the Ethereal message was updated, but the Tethereal one
wasn't.

Fix up the Tethereal code to match the Ethereal code a bit more, so that
we go to "error" on Windows if the capture device open fails, and so
that the code actually compiles on Windows.  Fix up the indentation
while we're at it.

svn path=/trunk/; revision=6829
2002-12-31 21:18:05 +00:00
Guy Harris
1e6c1a0ac0 From rmkml: support for capturing from a pipe in Tethereal.
Fix up the documentation of the "-i" flag in the Ethereal man page to
note only that "netstat -i" and "ifconfig -a" *might* work, to
specifically note that not all UNIXes support the "-a" flag to
"ifconfig", and to note that pipe data must be in *standard* libpcap
format.

Document the support for pipes in the "-i" flag in Tethereal.

svn path=/trunk/; revision=6822
2002-12-29 22:40:10 +00:00
Guy Harris
59932f2722 Don't cast away constness, and fix variable and structure member
qualifiers as necessary to ensure that we don't have to.

"strcmp()", "strcasecmp()", and "memcmp()" don't return booleans; don't
test their results as if they did.

Use "guint8", not "guchar", for a pointer to (one or more) 8-bit bytes.

Update Michael Tuexen's e-mail address.

svn path=/trunk/; revision=6726
2002-12-02 23:43:30 +00:00
Gerald Combs
2329ea1483 Add tethereal's tap objects to Makefile.nmake's "clean" target.
Instead of setting MIBDIRS in tethereal.c and gtk/main.c, set it in
packet-snmp.c.

svn path=/trunk/; revision=6606
2002-11-10 20:53:06 +00:00
Guy Harris
b9f754f891 Add support for SIGINFO on systems that have it.
svn path=/trunk/; revision=6590
2002-11-09 00:08:44 +00:00
Ronnie Sahlberg
42e0065552 Fix for small bug that crashed tethereal if a tap filter was applied and tethereal forgot to tell epan_dissect_new() to build a tree
svn path=/trunk/; revision=6529
2002-11-01 01:11:59 +00:00
Guy Harris
8442ad9a32 From Ronnie Sahlberg: have a registration interface for tap listeners,
and generate the table of stuff to register from tap source files, so
Tethereal doesn't need to know what tap listeners exist.

Get rid of "tap-xxx.h" files, as they're now empty.

Add "tethereal-tap-register.c" to the .cvsignore file, as it's a new
generated file.

Update "Makefile.nmake" to generate "tethereal-tap-register.c".

Clean up "Makefile.am" and "Makefile.nmake" a bit.

svn path=/trunk/; revision=6525
2002-10-31 22:16:01 +00:00
Guy Harris
c2d40f72b9 Don't reset the packet count if we longjmp out of the capture loop, as
that causes us to report that no packets were captured if you ^C out of
a capture.

svn path=/trunk/; revision=6523
2002-10-31 20:24:41 +00:00
Guy Harris
72d59f0596 The versions of UCD SNMP that we now support all install
<ucd-snmp/version.h>, so get rid of the stuff to check for its presence
and handle its absence.

svn path=/trunk/; revision=6503
2002-10-25 03:13:11 +00:00
Guy Harris
ae1ebc09da Don't include the header file to get the SNMP version unless we're
building with an SNMP library.

If we have Net-SNMP, include <net-snmp/version.h>, not
<ucd-snmp/version.h>.

Don't include any of the SNMP headers unless HAVE_SOME_SNMP is defined.

Include <net-snmp/config_api.h> if we have Net-SNMP, to declare
"read_premib_configs()" and "read_configs()".

Supply the include directories for Net-SNMP in the Makefile.nmake for
GTK 1.2 and GTK 2.

svn path=/trunk/; revision=6493
2002-10-24 07:08:26 +00:00
Guy Harris
cc8a765d8e From Wes Hardaker:
Define HAVE_SOME_SNMP if either HAVE_UCD_SNMP or HAVE_NET_SNMP
	is defined, and use HAVE_SOME_SNMP, rather than HAVE_UCD_SNMP,
	in most places when testing whether we have an SNMP library or
	not.

	Be more selective when including Net-SNMP header files.

Fix up {gtk,gtk2}/main.c to do the same SNMP stuff that tethereal.c
does - including the MIB stuff that gtk/main.c was doing but gtk2/main.c
wasn't doing.

Fix the copyright date in gtk/main.c.

svn path=/trunk/; revision=6483
2002-10-23 18:24:09 +00:00
Guy Harris
a71d1d910e From Ronnie Sahlberg: add a tap for statistics for DCERPC interfaces.
svn path=/trunk/; revision=6479
2002-10-23 03:49:13 +00:00
Guy Harris
79308de612 From Ronnie Sahlberg: don't have the tap code do a dissection, leave
that up to its callers, so only one dissection need be done when reading
a capture file.

svn path=/trunk/; revision=6442
2002-10-17 02:11:20 +00:00
Gerald Combs
ec8fd2703a Link to libsnmp under Win32.
In gtk/main.c and tethereal.c set MIBDIRS to <get_program_path()>\snmp\mibs
so that we can drop the MIB files there, instead of the default c:\usr\...
path.

Add NET_SNMP_DIR to config.nmake and modify Makefile.nmake to adjust
CFLAGs, ethereal_LIBS and tethereal_LIBS accordingly.

Define HAVE_UCD_SNMP in config.h.win32.

I tested this by creating c:\program files\ethereal\snmp\mibs and
dropping in the MIB files that come with Net-SNMP.  Ethereal resolved
system.sysDescr.0 to "iso.3.6.1.2.1.1.1.0" under Windows.  Under Linux
it resolved to "SNMPv2-MIB::sysDescr.0".

Ethereal.nsi still needs to be updated.

A compiled version of the Net-SNMP library can be found at

    http://www.ethereal.com/distribution/win32/development/

svn path=/trunk/; revision=6385
2002-10-09 03:07:34 +00:00
Ronnie Sahlberg
c0b84c028f Update tethereal to put the filter string in the statistics table for RPC_STAT.
Update gtk and gtk2 versions of RPC_STAT to allow a filter string to be specified on both the command line as well as the GUI.

Update the documentation for ethereal to reflect this.

svn path=/trunk/; revision=6343
2002-09-27 11:07:16 +00:00
Ronnie Sahlberg
c7b512c343 Updated RPCSTAT for tethereal. The command now takes a filter string as an optional extra parameter.
This makes it possible to generate any types of stats based on user defined subsets of the capture.

Try -z rpc,rtt,100003,3,nfs.fh.hash==0x12345678

NFS rtt statistics for a specific file.

svn path=/trunk/; revision=6337
2002-09-26 01:13:04 +00:00
Ronnie Sahlberg
429b24827b From Vassilii Khachaturov, cleanup of redundant code.
svn path=/trunk/; revision=6202
2002-09-06 22:45:44 +00:00
Ronnie Sahlberg
e20ea63dd4 New type of onc-rpc statistics.
try: -z rpc,programs

svn path=/trunk/; revision=6190
2002-09-05 09:27:56 +00:00
Ronnie Sahlberg
a26f9d5107 Added a mutex to protect a critical region in Gtk2 where the list can be
modified while the draw thread is walking it.

Changed the cmdline switch to -z so the same one can be used both for
ethereal and tethereal.

Updated man pages to reflect the RPCSTAT feature.

(Try this with Tools/Statistics/ONC-RPC/RTT and load a capture containing
onc-rpc. )

svn path=/trunk/; revision=6189
2002-09-05 06:46:38 +00:00
Ronnie Sahlberg
93a649db6f Tap api. tap is a simple api that can be used for arbitrary extensions.
One example extension is rpcstat.

Try -Z rpc,rtt,100003,3 as argument to tethereal when reading a capture
containing NFSv3 packets.

tap-rpcstat.[ch] is intended to demonstrate the api and can be used to
base other extensions on.

svn path=/trunk/; revision=6175
2002-09-04 09:40:29 +00:00
Jörg Mayer
7c4176d868 Removed trailing whitespaces from .h and .c files using the
winapi_cleanup tool written by Patrik Stridvall for the wine
project.

svn path=/trunk/; revision=6117
2002-08-28 21:04:11 +00:00
Jörg Mayer
7200333d8b Add -S option to tethereal. It is the equivalent to Ethereals display
packets in real time feature.

svn path=/trunk/; revision=6034
2002-08-20 20:49:31 +00:00
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
Jörg Mayer
9630bf353e Fix a few more memleaks found by valgrind (all deriving
from the get_persconffile_path mess).

svn path=/trunk/; revision=5927
2002-08-01 03:15:29 +00:00
Guy Harris
ca6badc579 Get rid of some "unused variable" and "unused static function" warnings,
and some compile errors in Tethereal, when compiling without libpcap.

If libpcap is missing (whether that's detected at compile time or, as on
Windows, at run time), don't call any of the "capture_prefs" routines -
the routine to create the capture preferences page wasn't called, so the
other routines can try to refer to non-existent widgets and other items
and crash.

Get rid of the stub routines in "capture_prefs()" used when compiling
without libpcap, as they're no longer called.

svn path=/trunk/; revision=5888
2002-07-17 00:22:30 +00:00
Guy Harris
44d19627ef From Graeme Hewson:
Allow "-" as the output file name in Wiretap, referring to the
	standard error.

	Optimize the capture loop.

Fix some of the error-message printing code in Ethereal and Tethereal.

Have Wiretap check whether it can seek on a file descriptor, and pass
the results of that test to the file-type-specific "open for output"
routine.  Have the "open for output" routines for files where we need to
seek when writing the file return an error if seeks don't work.

svn path=/trunk/; revision=5884
2002-07-16 07:15:09 +00:00
Guy Harris
192749474f From Liviu Daia <Liviu.Daia[AT]imar.ro>: move "col_init()" call after
the command-line options are processed, so that we don't crash if you've
set the "column.format" preference from the command line.

Fix a grammaro in a comment.

svn path=/trunk/; revision=5838
2002-07-07 21:52:51 +00:00
Guy Harris
b10bc01cad From Graeme Hewson:
pass a non-zero count to "pcap_dispatch()" when possible;

	fix the check after "test_for_fifo()";

	if there's a maximum file size, we're definitely saving to a
	file, so don't bother checking "ld.pdh", as it won't be null;

	if writing to a FIFO, flush after "pcap_dispatch()" returns,
	rather than after every packet, so we don't do as many writes to
	the FIFO.

svn path=/trunk/; revision=5805
2002-06-30 20:26:45 +00:00
Guy Harris
95d39eb34e SIGINT is, at least as I read some Microsoft documentation, not
supported in Win32 applications; use the native Win32 mechanism for
catching ^C (and other events that would terminate a program running in
a console window).

That mechanism (and the signal mechanism in the MSVC++ C run-time) cause
the handler to be run in a separate thread, so it can't just do a
longjmp.  Fortunately, WinPcap's packet-dispatch loop, unlike the
libpcap loop on some UNIX platforms, can be interrupted by ^C, so we
don't have to do the longjmp there - we can just set "ld.go" to FALSE to
terminate the capture loop.

svn path=/trunk/; revision=5776
2002-06-28 09:47:36 +00:00
Gerald Combs
83dc23831a Update tethereal to handle the "<description> : <device ID>" interface
names that are generated under Windows.  Note in pcap-util.c that we
may want to separate interface device names and descriptions in the
future.

svn path=/trunk/; revision=5770
2002-06-27 22:39:16 +00:00
Guy Harris
cd6fe13358 Count packets that pass the read filter, if we have a read filter, not
packets that we get from libpcap; if there's a read filter in effect,
only packets that pass the read filter get saved or printed, so that's
the number of packets that should be compared against the argument to
any "-c" flag, and the number that should be printed when we print
packet counts.

svn path=/trunk/; revision=5747
2002-06-23 21:58:02 +00:00
Guy Harris
38b530a8b8 Add a routine to "epan/filesystem.c" to test whether a file is a FIFO.
Use that in Tethereal rather than duplicating a pile of macros.

Get rid of the remaining uses of "stat()" in Tethereal - none of them
are necessary (they were just cut-and-pasted from Ethereal).

svn path=/trunk/; revision=5746
2002-06-23 21:33:09 +00:00
Guy Harris
7ad0ca82b1 From Graeme Hewson: flush the output after every frame if Tethereal is
writing a capture to a FIFO, and improve the error checking for ring
buffers.

svn path=/trunk/; revision=5745
2002-06-23 20:30:01 +00:00
Guy Harris
c2b438ddfa Add a Wiretap routine to process packets captured via libpcap, possibly
extracting a pseudo-header, for the use of SunATM captures.

Add support for SunATM capture.

svn path=/trunk/; revision=5652
2002-06-07 21:11:24 +00:00
Guy Harris
392a7dfc04 Get rid of the "data_src" member of the "frame_data" structure; put it
in the "packet_info" structure instead, as we don't need a pointer for
every single frame in the capture file, just for each frame for which we
currently have an open "epan_dissect_t".

svn path=/trunk/; revision=5614
2002-06-04 07:03:57 +00:00
Guy Harris
e2630eed79 Command-line interface cleanups, from Graeme Hewson:
- Exit if an error is found in the options or arguments.

	- In print_usage(), improve the visibility of any getopt() error
	  message by suppressing the version information when -h is not
	  specified, and by adding an empty line.

	Ethereal:

	- If the -k option is specified, use the interface in the preferences
	  file, if present.

	- Prevent the user from specifying any hidden options which are used
	  internally in -S mode.

	Tethereal:

	- Fix a memory leak in the processing of the -f option.

	- In print_usage(), change "capture file type" to "output file type",
	  which I think is clearer; move the -q flag from the non-libpcap case
	  to the libpcap case.

svn path=/trunk/; revision=5525
2002-05-22 23:22:56 +00:00
Guy Harris
976a82b06a Use "-G fields" rather than "-G" in Makefiles.
Print an error and exit if an invalid option is given for the "-G" flag.

svn path=/trunk/; revision=5466
2002-05-14 18:27:28 +00:00
Guy Harris
e390d7e0cc Make the "-G" flag take an argument. If no arugment is specified, or if
the argument is "fields", dump out a table of the fields, as we
currently do; if the argument is "protocols", dump out a table of the
protocols.

svn path=/trunk/; revision=5462
2002-05-14 10:15:12 +00:00
Guy Harris
63e8447614 From Joerg Mayer: get rid of unused arguments, and mark those that can't
be eliminated (because the function is called through a pointer, and
other functions called through the same pointer *do* use the argument)
as unused.

svn path=/trunk/; revision=5050
2002-03-31 20:57:02 +00:00
Guy Harris
2ee730c79e Update from Diana Eichert to remove the comments with her login name.
svn path=/trunk/; revision=5006
2002-03-23 00:20:17 +00:00
Guy Harris
5a01067dff From Diana Eichert: add a "-q" flag to Tethereal to suppress packet
count display.

Update the Tethereal man page to reflect the new option.

Update both the Ethereal and Tethereal man pages to use the same style
to describe options, e.g.

	-Z	Cause Ethereal to draw the mark of Zorro on the display.

rather than

	-Z	Causes Ethereal to draw the mark of Zorro on the display.

(some were using the first and some were using the second).

Update the Ethereal man page to do the same for menu items.

Update both the Ethereal and Tethereal man pages to better describe the
"-N" flag (by noting that any form of name resolution *not* specified in
the flag is turned *off*).

svn path=/trunk/; revision=5005
2002-03-22 23:42:27 +00:00
Guy Harris
6327b456db Get rid of the "--enable-snmp" option; instead, use "--with-ucdsnmp".
Make the directory option to "--with-ucdsnmp" optional.  Handle
"--with-ucdsnmp" similar to the way "--with-pcap" is handled.

Get rid of unnecessary #defines in "packet-cops.c".

Get rid of no-longer-necessary include of "dlfcn.h" in "packet-snmp.c".

svn path=/trunk/; revision=4930
2002-03-12 10:37:04 +00:00
Guy Harris
37dd5f340c Remove code to show the presence, and version number, of the CMU SNMP
library, as we no longer support linking with that library.

svn path=/trunk/; revision=4917
2002-03-10 23:19:44 +00:00
Guy Harris
43ca2567dc Don't say "without SNMP"; that can confuse people into thinking it means
Ethereal doesn't dissect SNMP if not linked with an SNMP library (and
*did* confuse at least one person into thinking that).  Say "without
SNMP MIB support", instead, as you only lose the ability to read SNMP
MIBs and interpret OIDs and variable bindings according to those MIBs.

svn path=/trunk/; revision=4894
2002-03-06 23:37:12 +00:00
Gilbert Ramirez
d96747f550 In follow.c, initialize data_out_file to NULL, as it used to
be initialized in gtk/follow_dlg.c

In gtk/follow_dlg.c, declare data_out_file as 'extern'.

In tethereal.c, no longer define 'data_out_file', as the storage
for it is now in follow.c.

svn path=/trunk/; revision=4830
2002-02-28 19:35:09 +00:00
Guy Harris
cbf5c537c4 From Joerg Mayer: remove unused variables and declarations of
non-existent functions.

Remove the "filetype" argument from the "can_write_encap" functions for
particular capture file types - the argument value is implicit, in that
the routine being called is the routine for that particular file type.

svn path=/trunk/; revision=4823
2002-02-27 08:57:25 +00:00
Guy Harris
541c654ff0 Put all the capture options into a structure.
Move the ringbuffer capture options from the "capture_file" structure to
the structure for capture options, as they're a property of an
in-progress capture, not a property of a particular capture file.

svn path=/trunk/; revision=4799
2002-02-24 09:25:36 +00:00