Commit Graph

146 Commits

Author SHA1 Message Date
Guy Harris 0d5e441ea0 Display counts of NetBEUI/NBF frames as "NetBIOS".
svn path=/trunk/; revision=467
1999-08-10 20:13:21 +00:00
Guy Harris 37ddd5f5ed Jeff Foster's changes to add support for NetBEUI/NBF (NetBIOS atop 802.2
LLC, the original NetBIOS encapsulation).

svn path=/trunk/; revision=466
1999-08-10 20:06:39 +00:00
Laurent Deniel 64c0d52928 Change the test of pcap_dispatch returned value
which might be -1.

svn path=/trunk/; revision=465
1999-08-10 11:30:03 +00:00
Laurent Deniel 923bc52dc6 Fix the -S option timeout handling:
- when in a live capture mode no packet is received
during a timeout, the displayer process is notified
about any remaining captured packets. Note that this
fix works on Linux only with a patched libpcap.
- remove unnecessary time() call and sync_time
loop_data field.

Thanks to John McDermott for his help during fixing
and testing.

svn path=/trunk/; revision=464
1999-08-10 11:08:38 +00:00
Guy Harris 8eb998e360 Add the ability to specify a filter to be used when reading the file to
the "Open File" dialog box (the "Open File" dialog box equivalent of the
"-R" flag).  Have "load_cap_file()" take the filter expression as an
argument, and make the global "rfilter" into a member of a
"capture_file" structure.

When reading a temporary capture file after a live capture, don't apply
any filter.

Move the code that pops up error boxes on file opens when reading a
capture file back to "load_cap_file()"; it also pops up error boxes if
the filter expression can't be parsed.

Don't enable "File/Save" or "File/Save As..." if an attempt to read a
capture file fails - if there was already an open capture file, it was
closed by "load_cap_file()", so we no longer have an open file to save.

svn path=/trunk/; revision=460
1999-08-10 07:16:47 +00:00
Laurent Deniel 2bd5536a7f Use execlp instead of execl to scan the PATH for the
ethereal executable (but this is only performed if
ethereal_path (i.e. arg[0]) does not contain any '/').

svn path=/trunk/; revision=445
1999-08-05 11:12:14 +00:00
Gilbert Ramirez d45629555b Update version numbers to 0.7.0, and update win32 Makefiles. I made some
initial #ifdef changes to capture.c to support the win32 version of libpcap.

svn path=/trunk/; revision=428
1999-08-03 20:51:41 +00:00
Gilbert Ramirez 56f95e5520 Changed the chmod() call to a pair of umask() calls that straddle the
call to pcap_dump_open. This allows us to control the readability of the
temporary trace file, and avoid a race condition in which a user could
open the trace file after the pcap_dump_open() call and the subsequent
chmod() call.

Thanks to Jeorg for pointing for pointing out the race condition.

svn path=/trunk/; revision=421
1999-08-02 06:08:58 +00:00
Gilbert Ramirez c31abd81fa chmod() the temporary capture file to 0600 so that only the user can
read the trace. We chmod() after pcap creates the file, but before it actually
writes data there. Thanks to Frederic Peters <fpeters@multimania.com>,
the Debian maintainer of Ethereal, for pointing this out.

svn path=/trunk/; revision=413
1999-07-31 23:06:13 +00:00
Laurent Deniel c42634dd82 Fix the -S option :
- read only the real number of packets that have been written
  by the child process. That's avoid incomplete packet read.
- special timeout handling no more necessary and the whole
  real time capture and display behavior is much more
  satisfying with this patch.
- wiretap modified to allow the reading of 'count' packets
  with wtap_loop.

svn path=/trunk/; revision=398
1999-07-28 20:17:24 +00:00
Gerald Combs f04819106b Added a bug fix from Erik Daughtrey that sets cf_filter to NULL after being
freed.

svn path=/trunk/; revision=393
1999-07-28 02:40:16 +00:00
Guy Harris 520e977a5b Have "close_cap_file()" disable all menu items that make sense only if
you have a capture.

Leave the job of enabling and disabling menu items that make sense only
if you have a capture (except for "File/Save" and "File/Save As...", for
now) up to "load_cap_file()", "close_cap_file()", and the like - don't
scatter that stuff throughout the code.

Disable "File/Print Packet" if no packet is selected; enable it only if
a packet is selected.

If there's a selected packet, and a display filter is run:

	if the selected packet passed the filter, re-select it;

	if the selected packet didn't pass the filter, un-select it.

If we've opened a live "pcap" capture, but can't do the capture because
we can't get the netmask info, or can't parse the capture filter string,
or can't install the filter, close the live capture and the dump and
delete the dump file.

If we failed to open a live "pcap" capture, don't try to read the
capture file - it doesn't exist.

svn path=/trunk/; revision=384
1999-07-24 02:42:52 +00:00
Guy Harris 356a07b384 Add a "File/Print" menu item, which prints *all* the packets in the
capture to a file or printer.  This should eventually get the ability to
print either all the packets or only the packets selected by the display
filter, and possibly also the ability to print only packets M through N.

Get rid of "cur" member of "capture_file" structure; nobody used it.

There's no need to pass a pointer to a "dialog_button" variable to
"simple_dialog()" for the error boxes displayed if a file copy or move
fails; that dialog box is just a message box and has only an "OK"
button.

Put the declaration of "prefs" into "prefs.h".

svn path=/trunk/; revision=378
1999-07-23 08:29:24 +00:00
Guy Harris ee263d9381 If doing a catpure with "-S", as soon as we've created the capture file
(this assumes that "libpcap" writes out the header as soon as that
happens, which is the case for "libpcap" 0.4), we sync it out (to make
sure said header is in the file), and signal the parent process, so that
it opens the capture file and updates its windows to indicate that the
capture is in progress.

svn path=/trunk/; revision=371
1999-07-20 06:16:09 +00:00
Guy Harris f1ade8dc6e Fix a comment.
svn path=/trunk/; revision=369
1999-07-20 05:07:57 +00:00
Gilbert Ramirez 57e49071ef Since ethereal is now dependent on GTK+-1.2.x (because of proto_tree and
display filter code, which uses features in GLIB-1.2.x), I removed
the vestigial code supporting old 1.0.x and 1.1.x GTK+ versions.

svn path=/trunk/; revision=360
1999-07-13 03:08:06 +00:00
Gilbert Ramirez 5a7e28ca46 Added the ability to create a read-only ethereal, i.e., one that
doesn't link with libpcap, so no packet captures can be made. The
"--disable-pcap" option has been added to the configure script. Docs
have been updated. And the string buffer size in the simple_dialog()
has been doubled so that Johan's e-mail address in the "About" dialogue
window doesn't get chopped off.

svn path=/trunk/; revision=351
1999-07-09 04:18:36 +00:00
Gilbert Ramirez 7ea29fb80d Added Aaron Hillegass' summary dialogue. We're ignoring the problem with
NetMon statistic packets for now. We might fix that problem with wiretap,
either filtering out those packets, and/or providing the summary
information through a new wiretap API.

svn path=/trunk/; revision=326
1999-06-22 22:02:39 +00:00
Gilbert Ramirez 851d27fff1 Found some erroneous usages of gtk_signal_connect_object. I always wondered
why I had to swap fields (data = w) in some of the callback functions when
I added support for gtk+-1.1. Because of the use of gtk_signal_connect_object,
the wrong value was being sent to the callback function. We were just lucky
that with gtk+-1.0 it worked.

gtk_signal_connect_object is for use with callbacks that take one argument.
gtk_signal_connect is for use with callbacks that take two arguments.

svn path=/trunk/; revision=324
1999-06-21 19:04:35 +00:00
Guy Harris 88e94a0186 Added "Capture" and "Display" menus; "Capture" has a "Start" item, which
is the same as "Tools/Capture", and "Display" has an "Options" item,
which pops up a dialog box to let you change the "default" time-stamp
column display format on the fly (the "default" is what the "-t"
command-line option sets), and have the display change when you do that.

Made infrastructure changes to make the immediate display update work.

Removed some unused functions, declared some functions used only in the
file in which they're defined "static", and removed some unnecessary
#includes.

svn path=/trunk/; revision=317
1999-06-19 01:14:51 +00:00
Guy Harris 18f922b46e Improve the alert boxes put up for file open/read/write errors. (Some
influence came from

http://developer.apple.com/techpubs/mac/HIGuidelines/HIGuidelines-232.html

which has a section on dialog box and alert box messages.  However,
we're largely dealing with technoids, not with The Rest Of Us, so I
didn't go as far as one perhaps should.)

Unfortunately, it looks like it's a bit more work to arrange that, if
you give a bad file name to the "-r" flag, the dialog box pop up only
*after* the main window pops up - it has the annoying habit of popping
up *before* the main window pops up, and sometimes getting *obscured* by
it, when I do that.  The removal of the dialog box stuff from
"load_cap_file()" was intended to facilitate that work.  (It might also
be nice if, when an open from the "File/Open" menu item fails, we keep
the file selection box open, and give the user a chance to correct
typos, choose another file name, etc.)

svn path=/trunk/; revision=310
1999-06-12 09:10:20 +00:00
Gilbert Ramirez 34450a8a35 Added PPPoE, PPTP, GRE, and ISAKMP dissectors.
svn path=/trunk/; revision=303
1999-06-11 15:30:55 +00:00
Guy Harris 6d7cf738f0 Don't "g_strdup()" what "gtk_entry_get_text()" returns as the contents
of the packet count combo box; there's no need to do so (we don't
remember the string, just its value when converted to a number), and, as
we don't free what "g_strdup()" returns, and don't remember it to save
it later, we leak memory.

svn path=/trunk/; revision=302
1999-06-05 01:44:11 +00:00
Guy Harris 885e4ddfcd When constructing the list for the "Count" combo box in the "Capture"
dialog box, put "0 (Infinite)" first, so that we default to that rather
than to the number of packets in the last capture we read.

svn path=/trunk/; revision=300
1999-06-01 22:24:05 +00:00
Laurent Deniel 4664b86ccd Live data capture and display enhancement that allows network capture and
display of fully decoded packets at the same time.
Options added:
-F : fork capture process
-S : sync mode ala tail -f (implies -F)
-f : filter expression
-Q : exit after capture (implies -k)

svn path=/trunk/; revision=276
1999-05-11 18:51:10 +00:00
Gilbert Ramirez 2870ce29ce Capturing packets from ethereal now saves the capture in an "anonymous" buffer. That is, it's
a random name chosen by tempnam(), unknown to the user. If the user decides to save that
trace, he then uses File | Save to save it to a file. File | Save As lets him make a copy
of his named trace file as well. I also updated my e-mail address in the various credit
locations.

svn path=/trunk/; revision=242
1999-04-06 16:24:50 +00:00
Guy Harris 0e8998a11d Have MIN_PACKET_SIZE, rather than 1, be the minimum value in the spin
box for the capture size.

svn path=/trunk/; revision=186
1999-02-11 07:11:45 +00:00
Guy Harris 22990ed08f Make the minimum and maximum packet sizes #defines.
Crank the maximum packet size up to 65535 bytes.

svn path=/trunk/; revision=185
1999-02-11 06:17:30 +00:00
Guy Harris 75305346b5 When doing a capture, decode enough of the incoming packets to correctly
update the packet counts and percentages in the dialog box popped up
during a capture, even for non-Ethernet captures.

svn path=/trunk/; revision=184
1999-02-09 00:35:38 +00:00
Guy Harris 722424f987 No need to disable filter-related widgets for packet capture if we're
using wiretap - we use "libpcap" for packet capture, and it still lets
you filter.

svn path=/trunk/; revision=181
1999-02-02 02:53:24 +00:00
Gerald Combs cb1f8e34c5 * Added Joerg Mayer's Vines patch
* Added Joerg to the AUTHORS file
* Added Guy's bitfield decode patch
* Fixed time output

svn path=/trunk/; revision=142
1998-12-29 04:05:38 +00:00
Gilbert Ramirez b9084e83cb Fixed more bugs with dialogues and gtk+-1.1.x.
svn path=/trunk/; revision=137
1998-12-22 07:07:11 +00:00
Gilbert Ramirez e37cbc4fc1 Stopped the "TCP Follow" screen from producing an error when using
wiretap and gtk+-1.1.x. I also added an #include to util.c to keep
it from complaining about a lack of a definition of vsnprintf when
compiling with gtk+-1.1.x.

svn path=/trunk/; revision=136
1998-12-22 05:52:51 +00:00
Gilbert Ramirez 5676298385 A patch spread across many files to let Ethereal compile under GTK+-1.1.x.
Tests for GTK versions are done during compilation, not during "./configure".
The big problems have been taken care of in this patch (functional change
in the packet clist and conversion of menu_factory to item_factory), but
plenty of smaller problems with dialogue boxes abound. I have fixed
a small problem with file_open*(), but have left 2 comments in just in case
I'm not going about this the right way. Can someone verify?

svn path=/trunk/; revision=127
1998-12-17 05:42:33 +00:00
Gerald Combs 369407d7b0 * Disable filter-related widgets if we're using wiretap.
svn path=/trunk/; revision=105
1998-11-18 03:17:18 +00:00
Guy Harris 8d616b0342 Add a "acinclude.m4" file that defines a "AC_ETHEREAL_STRUCT_SA_LEN"
macro (modeled after similar macros provided with "autoconf") to check
whether "struct sockaddr" has an "sa_len" member, and defines or
undefines "HAVE_SA_LEN" appropriately.  Use it instead of
"AC_LBL_SOCKADDR_SA_LEN", and use "HAVE_SA_LEN" instead of
"HAVE_SOCKADDR_SA_LEN".

svn path=/trunk/; revision=96
1998-11-17 02:17:27 +00:00
Guy Harris a2fe97acd2 Back out some changes accidentally commited by the previous checkin - I
forgot that CVS, unlike Perforce, doesn't let you edit the list of files
it gives you in the editor and cause those files *not* to be committed,
it requires you to specify the files to be committed if you only want
some files committed.

svn path=/trunk/; revision=92
1998-11-15 05:40:23 +00:00
Guy Harris 86bf1fc851 Add support to wiretap for reading Sun "snoop" capture files.
That requires that, in the packet-reading loop, we pass to the callback
routine the offset in the file of a packet's data, because we can no
longer compute that offset by subtracting the size of the captured
packet data from the offset in the file after the data was read -
"snoop" may stick padding in after the packet data to align packet
headers on 4-byte boundaries.

Doing that required that we arrange that we do that for "libpcap"
capture files as well; the cleanest way to do that was to write our own
code for reading "libpcap" capture files, rather than using the
"libpcap" code to do it.

Make "wtap_dispatch_cb()" and "pcap_dispatch_cb()" static to "file.c",
as they're not used elsewhere.

If we're using wiretap, don't define in "file.h" stuff used only when
we're not using wiretap.

Update the wiretap README to reflect Gilbert's and my recent changes.

Clean up some memory leaks in "wiretap/lanalyzer.c" and
"wiretap/ngsniffer.c", where the capture-file-format-specific data
wasn't freed if the open failed.

svn path=/trunk/; revision=91
1998-11-15 05:29:17 +00:00
Gerald Combs 06e5aae0e3 * Added preference file saves and reads.
svn path=/trunk/; revision=75
1998-10-28 21:38:11 +00:00
Guy Harris d0b809aa74 Squelch a number of "-Wall" errors by:
1) renaming "snprintf.h" to "snprintf-imp.h" (it contains stuff
	   used by the "snprintf()" *implementation*, but not stuff it
	   *exports*);

	2) creating a new "snprintf.h" to declare "vsnprintf()" and
	   "snprintf()";

	3) removing an unused variable;

	4) fixing a call to "add_item_to_tree()" to handle the
	   possibility of "ntohl()" returning a "long" rather than an
	   "int".

svn path=/trunk/; revision=47
1998-10-13 07:03:37 +00:00
Gerald Combs 0758da1146 - Added match_strval function to packet.c
- Separated display and capture filters; rearranged some of the look and feel
- Lots of other miscellaneous fixes and updates

svn path=/trunk/; revision=38
1998-10-12 01:40:57 +00:00
Gerald Combs 1b26a7cdb7 * OSPF alignment fixes (Gerald)
* FDDI support (Laurent, Guy)

svn path=/trunk/; revision=36
1998-10-10 03:32:20 +00:00
hannes 374846c370 Changes to capture.c and capture.h to support more detail in the capture
window. Added basic counter (%) hooks for all currently supported base protocols.

OSPF Counter added as an example.

All of this has mainly cosmetic purposes.

svn path=/trunk/; revision=34
1998-09-29 21:39:29 +00:00
Gerald Combs 2e7e493198 Merged in a _huge_ patch from Guy Harris. It adds a time stap column,
generalizes the column printing code, adds a "frame" tree item to
   the tree view, and fixes a bunch of miscellaneous coding bugs.

svn path=/trunk/; revision=31
1998-09-27 22:12:47 +00:00
Gerald Combs 576024f903 Added ID tags to the beginning of each source file.
svn path=/trunk/; revision=7
1998-09-16 03:22:19 +00:00
Gerald Combs 86534f46e1 Initial revision
svn path=/trunk/; revision=2
1998-09-16 02:39:15 +00:00