Commit graph

493 commits

Author SHA1 Message Date
Guy Harris
6f776aa40d Get rid of some unused variables.
svn path=/trunk/; revision=4239
2001-11-21 01:02:03 +00:00
Guy Harris
1c3f2e4cd5 Have a routine to add all the hex dump tabs to the hex dump notebook,
and call it both from "select_packet()" and "create_new_window()",
rather than having two similar loops in both places.

svn path=/trunk/; revision=4233
2001-11-20 10:37:16 +00:00
Guy Harris
800030b8a0 If bytes in a hex dump view are selected, the field in the corresponding
text view should be selected, rather than always selecting a field in
the main text view.

svn path=/trunk/; revision=4232
2001-11-20 10:10:45 +00:00
Guy Harris
8550cfcc6f Allow the tvbuff pointer to various "proto_tree_add" routines to be null
if (and only if) the length of the item being added is 0 (so that it has
no data backing it).

This means the data stream name pointer for the item in question is
null; make sure we handle that.

Use that for some "uses the value from the matching request" fields in
the SMB Pipe protocol.

svn path=/trunk/; revision=4231
2001-11-20 09:07:34 +00:00
Guy Harris
40b22f317b Wrap calls to "pcap_datalink()" in a routine that attempts to compensate
for AIX 5.x's non-standard libpcap, where "pcap_datalink()" doesn't
return DLT_ values, it returns RFC 1573 ifType values.

Put that wrapper, and the routine to get the interface list, in a
separate file, for packet-capture utility routines, so not everybody who
includes "util.h" needs to include <pcap.h>.

Fix up the Wiretap hack for dealing with said incompatibility to use the
correct ifType value for Token Ring.

svn path=/trunk/; revision=4184
2001-11-09 07:44:51 +00:00
Guy Harris
10843c0ddc From <a.stockmeier[AT]avm.de>: fix the file dialog box code to use
"g_strdup()", not "strdup()" to copy strings.

svn path=/trunk/; revision=4181
2001-11-09 00:08:30 +00:00
Guy Harris
fbc3f2eb0e Include protocols for TCP conversation dissectors in the list of
protocols that can be used to decode stuff.

svn path=/trunk/; revision=4152
2001-11-04 04:12:03 +00:00
Guy Harris
cc7347ebf6 Allow a dissector to register preferences that it no longer supports as
obsolete; we silently ignore attempts to set those in a preferences
file, so that we don't spam the user with error messages caused by them
having saved preferences in an earlier release that contained those
preferences.

Make the Diameter and iSCSI dissectors register obsolete preferences.

Crash if some code tries to register a preferences module with a name
that contains something other than lower-case ASCII letters, numbers, or
underscores, or that has already been registered, or if some code tries
to register a preference with a name that contains something other than
lower-case ASCII letters, numbers, underscores, or periods, or that has
already been registered, so that we don't put code like that in a
release and have to shovel code into "prefs.c" to fix it up later.  (The
problem with multiple modules or preferences with the same name should
be obvious; the problem with names with blanks, or upper-case letters,
or punctuation, is that they're a pain to type on the command line.)

svn path=/trunk/; revision=4148
2001-11-04 02:50:21 +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
509f30374e Have a routine that takes a file name for a personal configuration file
and generates the path name; have it, if the file is to be opened for
reading on Win32, check whether it exists and, if not, check for it in
the old home directory-based configuration directory and, if so, return
that path instead, so that files saved with earlier versions of Ethereal
will be seen.

svn path=/trunk/; revision=4072
2001-10-24 07:18:39 +00:00
Guy Harris
d453f6d992 On Windows, put Ethereal configuration files under the "Application
Data\Ethereal" directory under the user's profile, as that appears to be
the Windows 2000 standard.

svn path=/trunk/; revision=4071
2001-10-24 06:13:07 +00:00
Guy Harris
cf5a1d86e7 Add a new routine to create the ".ethereal" directory for a user.
Use that routine rather than duplicating that code in the routines to
write out the preference file and filter files.

Use it in the code for the color filter dialog, so that the directory in
question is created if necessary.

As that routine returns an error indication, have the code that calls
that routine put up a message box if the attempt fails.

svn path=/trunk/; revision=4065
2001-10-23 05:01:02 +00:00
Guy Harris
e4db9c4b64 Add a routine to get the directory in which personal configuration files
reside.  Use it, rather than concatenating the user's home directory and
".ethereal" in a number of files.

Fix up some additional places to use G_DIR_SEPARATOR_S as the pathname
separator.

svn path=/trunk/; revision=4061
2001-10-22 22:59:26 +00:00
Guy Harris
a6da6905cf Use G_DIR_SEPARATOR_S rather than "/" as a pathname separator in format
strings used to generate pathnames.

svn path=/trunk/; revision=4057
2001-10-21 21:56:05 +00:00
Guy Harris
e980dd9d3b Use G_DIR_SEPARATOR_S rather than "/" as a pathname separator in format
strings used to generate pathnames.

Move the definition of PF_DIR from <epan/epan.h> to <epan/filesystem.h>,
so that files requiring only the definition of PF_DIR don't have to
include <epan/epan.h>, and get rid of no-longer-necessary includes of
<epan/epan.h>.

Add a routine to get the directory for "system files" such as
"/etc/ethers" - it's "/etc" on UNIX, and the datafile directory on
Windows (as there's no "/etc" on Windows).  Use that to construct the
pathname of the ethers and ipxnet files.

svn path=/trunk/; revision=4056
2001-10-21 21:48:00 +00:00
Gerald Combs
5521ff2ba5 Add little arrows to the column titles to indicate which column we're
using to sort as well as the sort direction.

svn path=/trunk/; revision=4050
2001-10-21 16:15:21 +00:00
Richard Sharpe
bd4a2b48b0 A small patch from Moronori Shindo to fix compiles under MSVC etc ...
svn path=/trunk/; revision=4026
2001-10-13 12:05:32 +00:00
Guy Harris
0adf5001dc Put the scrollbar for the scrolled window containing the CList in the
preferences dialog where the user specified, and register that scrolled
window so that if the preference is changed the scrollbar moves.

svn path=/trunk/; revision=4025
2001-10-13 07:56:27 +00:00
Guy Harris
aa5c21f247 Set the data for E_{PRINT,COLUMN,STREAM,GUI}_PAGE_KEY to the notebook
page for the preferences item rather than to the frame for the
preferences item, as that's what the code in "gtk/gui_prefs.c" expects
(otherwise you get errors).

svn path=/trunk/; revision=4024
2001-10-13 07:47:30 +00:00
Gerald Combs
bc34ab11b7 Reduce the CinemaScope-like proportions of the preferences dialog by
getting rid of the notebook tabs and using a CTree to select pages.

svn path=/trunk/; revision=4015
2001-10-11 02:17:29 +00:00
Guy Harris
f2cb0c704d The Wiretapped.net mirror is OK again (it was a problem with the
mirroring procedure, due to the Politecnico di Torino site's IIS not
being configured to allow the relevant "virtual directories" to be
listed, thus keeping Wiretapped.net from figuring out what files were
there and whether they've changed), so put back the references to it.

svn path=/trunk/; revision=3976
2001-09-29 19:56:08 +00:00
Guy Harris
6515004633 Sigh. The wiretapped.net site appears to have an old version of
WinPcap's installer (it dates back to May, meaning it may be a beta of
2.2 or may even be 2.1), so don't suggest that people go there.

svn path=/trunk/; revision=3964
2001-09-28 07:50:48 +00:00
Guy Harris
c2d19c1ceb Make the message popped up if you try to do a capture on a Win32 machine
when wpcap.dll couldn't be loaded more detailed, in the hopes that it'll
reduce the chances that somebody will see that message and not know what
to do.  Also, mention the Wiretapped.net mirror of the WinPcap site, as
the WinPcap site is all-too-often down due to networking glitches.

svn path=/trunk/; revision=3955
2001-09-26 20:02:36 +00:00
Guy Harris
aa29eca046 The "Save only marked packets" checkbox should change as the file type
changes, just as the "Save only packets currently being displayed"
checkbox should.

svn path=/trunk/; revision=3913
2001-09-10 08:49:11 +00:00
Guy Harris
8d31fd0690 From Frank Singleton: add some missing includes of <string.h>.
svn path=/trunk/; revision=3889
2001-08-31 19:47:10 +00:00
Guy Harris
d7973c6ede Fix a typo.
svn path=/trunk/; revision=3860
2001-08-21 07:03:50 +00:00
Guy Harris
9d601c6799 On Windows, use the directory in which the binary resides as the
directory in which global data files are stored.  If an installed binary
is being run, that's the correct directory for them; if a build-tree
binary is being run, the "manuf" file will be there, and you can put
other data files there as well, if necessary.

Do the same with plugins, except that, if there's no
"plugins\\{version}" subdirectory of that directory, fall back on the
default installation directory, so you at least have a place where you
can put plugins for use by build-tree binaries.  (Should we, instead,
have the Windows build procedure create a subdirectory of the "plugins"
source directory, with the plugin version number as its name, and copy
the plugins there, so you'd use the build-tree plugin binaries?)

Move "test_for_directory()" out of "util.c" and into
"epan/filesystem.c", with the other file system access portability
wrappers and convenience routines.  Fix "util.h" not to declare it - or
other routines moved to "epan/filesystem.c" a while ago.

svn path=/trunk/; revision=3858
2001-08-21 06:39:18 +00:00
Gilbert Ramirez
aacb4d90f0 Use system's version of AM_PATH_GLIB macro.
Optimize use of AC_CHECK_FUNC in wiretap/acinclude.m4
Move #include "config.h" to be first include in some files.
From albert chin (china@thewrittenword.com)

svn path=/trunk/; revision=3857
2001-08-20 15:23:34 +00:00
Guy Harris
5bb08b0970 Fix AC_ETHEREAL_PCAP_CHECK so that, if a directory was specified with
"--with-pcap", it adds the "include" subdirectory of that directory to
the list of directories to search for include files, rather than adding
the directory itself.

Check whether libpcap defines "pcap_version", and define
HAVE_PCAP_VERSION if it does.  Use "pcap_version" iff HAVE_PCAP_VERSION
is defined, rather than special-casing MacOS X.

Don't #define a string for the WinPcap version; just leave
HAVE_PCAP_VERSION undefined on Windows, as WinPcap 2.2beta is out, so we
can no longer assume that the Windows version of Ethereal is using
WinPcap 2.1.

svn path=/trunk/; revision=3792
2001-07-27 07:10:13 +00:00
Guy Harris
ae251f8426 MacOS support changes, from Michael Tuexen (with some modifications):
replace "--with-plugindir" with "--with-plugins", and have the
	plugin directory optional - this allows plugins to be disabled;

	add "--traditional-cpp" on MacOS X/Darwin (Apple's "cc" compiler
	requires it, for some annoying reason, even though it is, as far
	as I know, GCC-based, and other GCC's don't require it);

	on MacOS X, don't use "pcap_version[]", as, for some annoying
	reason, libpcap on MacOS X doesn't define it.

Clean up some whitespace in the help messages for the configure script.

Move the AM_CONDITIONAL for SETUID_INSTALL after the point at which
"enable_setuid_install" is set, as it tests "enable_setuid_install".

svn path=/trunk/; revision=3788
2001-07-26 07:25:49 +00:00
Guy Harris
6b664c122c Check for valid column titles (non-zero-length) and valid column formats
in preference settings.

In the process of doing that, fix a memory leak (we were handing a null
pointer, rather than a pointer to the list of strings in
"column.format", to "clear_string_list()").

svn path=/trunk/; revision=3775
2001-07-22 21:50:47 +00:00
Guy Harris
c10166c5d0 Get rid of some unused variables.
svn path=/trunk/; revision=3744
2001-07-20 07:11:57 +00:00
Ed Warnicke
718e062823 Added a "Mark Frame" option to the packet_list_menu_items
so that you can right click on a packet in the packet list
and mark it.

svn path=/trunk/; revision=3737
2001-07-17 05:44:58 +00:00
Ed Warnicke
add908fabd Added a "Suppress Unmarked" option to the print dialog to
allow you to suppress the printing of unmarked packets.
This allows a user to mark the packets they wish to print and
print ONLY those packets by suppressing all other unmarked packets.

This may seem like a bit of a convoluted way of expressing things,
as usually the desired behavior would be to print the marked packets.
However, we do NOT print marked packets that are not displayed under
the current filter.  To be maximally explicite I've expressed this
as suppressing unmarked frames.

svn path=/trunk/; revision=3736
2001-07-17 05:32:44 +00:00
Guy Harris
30846950d0 Support for {Enter,Return} keys toggling expansion of selected protocol
tree item, from Heikki Vatiainen.

svn path=/trunk/; revision=3672
2001-07-09 22:54:15 +00:00
Guy Harris
537d308abe "open_cap_file()" in Ethereal and Tethereal don't use the FILE_T they
get from calling "wtap_file()", so get rid of the call and the
(otherwise unused) variable to which its result gets assigned.

That lets us get rid of "wtap_file()" in Wiretap.

It also lets us get rid of the include of "zlib.h" in "file.h"; the
#defines of "file_open()", "filed_open()", and "file_close()" are also
unnecessary, so we get rid of those as well.

However, that means we need to include <zlib.h> in "gtk/main.c" and
"tethereal.c", so that the version number of libz is defined and can
show up in the version string.

svn path=/trunk/; revision=3652
2001-07-05 00:34:42 +00:00
Guy Harris
fafefda449 Don't offer the ability to edit capture filters if Ethereal wasn't
linked with libpcap.

svn path=/trunk/; revision=3613
2001-06-27 10:00:14 +00:00
Guy Harris
cc9df27294 Fix a problem that shows up if you build without libpcap.
svn path=/trunk/; revision=3612
2001-06-27 08:36:08 +00:00
Guy Harris
25c2cb0ec0 A better fix - we don't use "assigned" if the action was E_DECODE_NO, so
don't bother fetching it if the action is E_DECODE_NO; that means we can
also avoid fetching the currently selected row if the action is
E_DECODE_NO, so the fact that we've cleared the selection if the action
is E_DECODE_NO doesn't matter.

svn path=/trunk/; revision=3606
2001-06-25 08:10:38 +00:00
Guy Harris
9c046f18a3 In "decode_network()", get the information about the currently selected
row *before* calling "decode_simple()", as, if the "Do not decode" radio
button is selected, "decode_simple()" will clear the current selection.

svn path=/trunk/; revision=3605
2001-06-25 07:57:50 +00:00
Guy Harris
60d762a7c2 In a capture child process, *completely ignore* the preference setting
for promiscuous mode; just do what the parent process told you, i.e. do
a non-promiscuous capture iff a "-p" flag was specified.

svn path=/trunk/; revision=3575
2001-06-19 08:47:48 +00:00
Guy Harris
0645bf8d3f Get rid of an unnecessary declaration of "packet_list".
svn path=/trunk/; revision=3565
2001-06-18 06:18:03 +00:00
Guy Harris
2da9bb2696 When printing the contents of a raw-data field, don't use the raw data
of the current frame as the source, use the raw data of the tvbuff
that's the data source of that field.

svn path=/trunk/; revision=3531
2001-06-08 08:50:51 +00:00
Guy Harris
2851b7ef76 Enable "Match Selected" only if there's a field selected *and* we can do
a "Match Selected" on it - we can't do a "Match Selected" if the field
has no value (e.g., FT_NULL) and has a length of 0.

If we unselect the current packet, we don't have a protocol tree, so we
don't have a currently selected field - clear the "Match Selected" menu
item and the display in the status line of information about the
currently selected field.

Move the low-level statusbar manipulation into "gtk/main.c", in routines
whose API doesn't expose anything GTK+-ish.

"close_cap_file()" calls one of those routines to clear out the status
bar, so it doesn't need to take a pointer to the statusbar widget as an
argument.

"clear_tree_and_hex_views()" is purely a display-manipulating routine;
move it to "gtk/proto_draw.c".

Extract from "tree_view_unselect_row_cb()" an "unselect_field()" routine
to do all the work that needs to be done if the currently selected
protocol tree row is unselected, and call it if the currently selected
packet list row is unselected (if it's unselected, there *is* no
protocol tree, so no row can be selected), as well as from
"tree_view_unselect_row_cb()".

Before pushing a new field-description message onto the statusbar, pop
the old one off.

Get rid of an unused variable (set, but not used).

svn path=/trunk/; revision=3513
2001-06-05 07:39:31 +00:00
Guy Harris
b699efc451 Changes to structure initializations not to initialize some but not all
members, from Joerg Mayer.

svn path=/trunk/; revision=3501
2001-06-02 06:26:54 +00:00
Guy Harris
6ee04dad33 Support for "-N" flag enabling selected forms of name resolution, from
Joerg Meyer.

Support for saving to the preferences file the settings for all types of
name resolution.

Do a case-insensitive check for "true" and "false" in Boolean preference
settings.

svn path=/trunk/; revision=3489
2001-05-31 08:36:46 +00:00
Guy Harris
963de49427 Free the string you "g_strdup()"ed, rather than handing "g_free()" the
null pointer that provoked you to free the string.

svn path=/trunk/; revision=3485
2001-05-31 05:33:15 +00:00
Guy Harris
cc6b18e6ab No old-style dissectors call "old_dissector_try_port()", so get rid of
"old_dissector_try_port()".

There are no longer any old-style heuristic or conversation dissectors,
so get rid of "old_heur_dissector_add()" and "old_conv_dissector_add()"
and the data-structure members that support old-style heuristic and
conversation dissectors.

svn path=/trunk/; revision=3478
2001-05-30 06:41:08 +00:00
Guy Harris
176eaa265a Give protocol tree windows a horizontal scrollbar - yes, sometimes
protocol tree lines can be long enough that you might want, or even
need, one (consider really long names for SNMP OIDs, for example).

svn path=/trunk/; revision=3466
2001-05-27 07:50:28 +00:00