Commit Graph

347 Commits

Author SHA1 Message Date
Guy Harris 7d663fe7b0 Add a fourth choice of time format in the packet list display, which
shows the date (in YYYY-MM-DD format) as well as the time of day when
the packet arrived.

svn path=/trunk/; revision=2547
2000-11-01 08:31:36 +00:00
Gilbert Ramirez 73dde275c1 Move declaration of wsaData (for Win32) out of HAVE_LIBPCAP #ifdef block.
It's needed for both capture and non-capture variants of Win32 builds.

svn path=/trunk/; revision=2542
2000-10-27 17:19:23 +00:00
Gilbert Ramirez e4199779ca This patch adds two things:
- Pressing Esc key will cause the filter selection dialog to
          "Cancel"

        - Double-clicking on a list item in filter selection dialog is
          equivalent to single-click followed by "OK"

Santeri Paavolainen <santtu@ssh.com>

svn path=/trunk/; revision=2533
2000-10-25 16:06:50 +00:00
Gilbert Ramirez 3424ae654e Remove #include "gtk/colors.h" from file.h, which keep the GTK+ header
files from being #included in epan/packet.c.
Fix the other files that need either "gtk/colors.h" or <gtk/gtk.h> #included
as a result of not pulling in gtk/colors.h automatically because of file.h.

svn path=/trunk/; revision=2519
2000-10-20 04:26:40 +00:00
Guy Harris fb84384942 Move the declaration of "g_resolving_actif" from the top-level
"globals.h" file to "epan/resolv.h", as it's exported by
"epan/resolv.c", have files that use "g_resolving_actif" include
"resolv.h", and don't have "epan/resolv.c" include "globals.h" so that
it doesn't drag in, for example, headers that, in turn, drag in GTK+
headers.

svn path=/trunk/; revision=2517
2000-10-19 22:59:24 +00:00
Guy Harris cba377df3c Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()".  Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.

That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files.  Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).

Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.

Remove from the top-level configure script checks for things used only
in libethereal.

svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
Guy Harris faf70584f2 Fix it to build on Windows.
svn path=/trunk/; revision=2488
2000-10-11 07:35:02 +00:00
Guy Harris 54ecbe2d4e Santeri Paavolainen's patch to add a "Capture->Stop" menu item to let
you stop an "Update list of packets in real time" capture from the main
window as well as from the capture statistics dialog.

svn path=/trunk/; revision=2487
2000-10-11 06:01:16 +00:00
Guy Harris 677abe54e1 Add support for modal message boxes ("simple dialog").
Make the message boxes popped up for errors when selecting a font modal,
so that the user has to say "yes, I know, I'll do better next time"
before hitting "OK" again, so that you don't get a pile of message
boxes.

svn path=/trunk/; revision=2485
2000-10-09 06:38:36 +00:00
Guy Harris fedb22f414 It appears there's no guarantee that you'll actually get a font name
from a font selection dialog box; check for a null pointer and, if so,
let the user know and don't dismiss the font selection dialog.

svn path=/trunk/; revision=2484
2000-10-09 06:28:49 +00:00
Gilbert Ramirez e69b5278aa Implement epan_dissect_new() and epan_dissect_free(). These are the
"top-level" dissectors that libepan-users call, instead of dissect_packet().
The epan_dissect_t holds the tvbuff after dissection so that the tvbuff's
memory is not cleared until after the proto_tree is freed. (I might stuff
the proto_tree into the epan_dissect_t, too).

What remains of dissect_packet() in packet.c handles the tvbuff initialiation.
The real meat of dissect_packet() is now in dissect_frame(), in packet-frame.c
This means that "packet.c" is no longer a dissector, os it is no longer
passed to make-reg-dotc.

Once dissect_fddi() gets two wrapper functions (dissect_fddi_swapped()
and dissect_fddi_nonswapped()), the a dissector handoff routine could
be used instead of the switch statement in dissect_frame(). I'd register
a field like "wtap.encap"

svn path=/trunk/; revision=2478
2000-10-06 10:11:40 +00:00
Gilbert Ramirez 9d9850f209 More EPAN-related code movements. Get rid of usage of #include "globals.h"
and #include "util.h" from epan code. Move get_home_dir() into epan/filesystem.c
as it's used by plugins.c.

svn path=/trunk/; revision=2461
2000-09-28 03:16:29 +00:00
Gilbert Ramirez 83ec54675c First step in moving core Ethereal routines to libepan.
svn path=/trunk/; revision=2458
2000-09-27 04:55:05 +00:00
Guy Harris 00b4224ee0 Add a "-p" command-line option, and a checkbox in the "Capture
Preferences" dialog box, to control whether to put the interface in
promiscuous mode or not; Debian bug #34376 asked for this.

svn path=/trunk/; revision=2439
2000-09-15 05:32:49 +00:00
Graham Bloice f30b84ce23 Corrected startup // shutdown of windows sockets to allow name resolution to work
svn path=/trunk/; revision=2438
2000-09-14 22:59:08 +00:00
Graham Bloice 0ae9cce784 Updated to ignore Win32 detritus
svn path=/trunk/; revision=2430
2000-09-13 22:03:52 +00:00
Guy Harris 0640b5f2ed Include <unistd.h> to declare "close()" and "unlink()".
svn path=/trunk/; revision=2419
2000-09-12 06:28:02 +00:00
Laurent Deniel 6755d16641 Small changes in help windows:
- update overview.
- add a note if packet capture is not available.

svn path=/trunk/; revision=2406
2000-09-09 15:00:36 +00:00
Guy Harris c1b76aa400 In the callback for the "OK" button in the font selection dialog, check
to make sure we can load the font the user selected *and* the font that
would, in theory, be the boldface version of that font; if not, pop up
an error dialog, and don't nuke the font selection dialog (i.e., the
user either has to pick fonts that work, or give up in disgust and click
"Cancel").

Don't set "prefs.gui_font_name" until the "fetch" function is called -
stuff the name in a static variable when the user clicks "OK" in the
font selection dialog.

svn path=/trunk/; revision=2405
2000-09-09 10:35:53 +00:00
Guy Harris f0efbd1a02 "redraw_hex_dump()" can't use "cfile.pd" or "cfile.current_frame", as it
may be redrawing a packet window that displays a frame other than the
current frame; give it arguments to specify the raw frame data and
"frame_data" structure for the frame.

This requires that each packet window have, associated with it, a
pointer to the "frame_data" structure; that replaces the "cap_len" and
"encoding" fields in a "PacketWinData" structure, as those are just
copies of fields from the frame's "frame_data" structure.

"packet_hex_print()" needn't be passed both the start and length values
from a "field_info" structure - just pass it a pointer to that
structure, or NULL for "no field is selected in the packet".  It also
needn't, any longer, be passed the "cap_len" and "flags.encoding" fields
of a "frame_data" structure - just pass it a pointer to that structure.

In "redraw_hex_dump_all()", don't redraw the hex dump pane of the main
window if there is no current frame.

svn path=/trunk/; revision=2404
2000-09-09 10:26:58 +00:00
Guy Harris 6e04ac48f9 Explain why "stream_prefs_apply()" doesn't do anything.
svn path=/trunk/; revision=2403
2000-09-09 10:04:53 +00:00
Guy Harris a11b619f2a "#if 0" out the code that puts "Cut", "Copy", and "Paste" items into the
"Edit" menu, pending the implementation of cut/copy/paste, so that users
don't think that there's something they can do (other than implementing
cut/copy/paste :-)) to be able to use those functions.

svn path=/trunk/; revision=2402
2000-09-09 08:17:51 +00:00
Guy Harris e91341e3c3 Redraw:
the text in all "Follow TCP Stream" windows;

	the text in the help window if we have one up;

	all hex dump windows;

when GUI preference changes are to be applied, so that font changes and
"Follow TCP Stream" color changes show up.

Update both the Roman and bold font when the font is changed.

Don't decrement the reference counts on the old Roman and bold fonts
until that's all done.

svn path=/trunk/; revision=2401
2000-09-08 10:59:21 +00:00
Guy Harris b85ddbe885 Graham Bloice's patch to support inverse video rather than boldface
highlighting of the bytes, in the hex dump window, corresponding to a
selected field.

Also, make "remember_ptree_widget()" static, as it's not used outside
"gtk/proto_draw.c".

svn path=/trunk/; revision=2399
2000-09-08 09:50:08 +00:00
Gilbert Ramirez e1f3604b37 Change variable from 'char*' to 'const char*' to avoid compiler warning.
svn path=/trunk/; revision=2391
2000-09-07 05:08:19 +00:00
Laurent Deniel 7acf24b370 Fix help display (random character displayed in tab).
svn path=/trunk/; revision=2388
2000-09-05 19:07:06 +00:00
Gilbert Ramirez 0e3cb70212 Add FT_STRINGZ type. NCP dissector is only one that uses it right now.
Remove tvb_get_stringz from quake dissector and add tvb_get_nstringz,
tvb_get_nstringz0, and tvb_strnlen to tvbuff.c.

Remove multiple definitions of pntohl and friends from various places
(except for wiretap) and put into pint.h

Consolidate duplicate code for turning FT_* enums into strings (ala the
glossary).

svn path=/trunk/; revision=2382
2000-08-30 02:50:18 +00:00
Laurent Deniel c691739727 Add some dlg_set_cancel().
Reduce a bit the button sizes for homogeneousness.

(still need some work on filter color selection, in progress ...)

svn path=/trunk/; revision=2363
2000-08-24 13:21:29 +00:00
Gilbert Ramirez 8e2feab49a Fix the appearance of the option menus in the GUI preference box.
It appears to be a buglet in GTK+; by explicitly calling gtk_widget_show()
on the menu item, it comes out with proper spacing. Previously I simply
used gtk_widget_show_all() on the topmost vbox, and while the option menu
menu-items showed, they came out with incorrect vertical spacing.

svn path=/trunk/; revision=2356
2000-08-24 03:16:47 +00:00
Laurent Deniel a33d2bfcd5 If the default build-in fonts are not found, use the "6x13" fonts
but change also the prefs.gui_font_name so that an unexisting font
will not be saved with the preferences.

svn path=/trunk/; revision=2354
2000-08-23 21:05:11 +00:00
Laurent Deniel a77af93938 Cosmetic changes.
Add a table so that the first 4 rows of the capture dialog
are correctly aligned.

Remove the unneeded hboxes.

svn path=/trunk/; revision=2353
2000-08-23 20:55:44 +00:00
Laurent Deniel 30c432f734 If you "save" your preferences without opening the color
selection dialog, the colors are saved with null values.
So do not call fetch_colors if the colors_changed boolean
is FALSE ...

svn path=/trunk/; revision=2350
2000-08-23 18:52:38 +00:00
Laurent Deniel fb3643b8d5 Remove the -D option.
svn path=/trunk/; revision=2349
2000-08-23 18:22:12 +00:00
Laurent Deniel 0c73ead218 Do the same as with colors for the font selection dialog.
Add a boolean that will be set to TRUE if the user hit OK
in the font selection dialog. And do nothing about fonts
in the apply routine if the font dialog has not been used
by the user. This gets rid of a warning which was displayed
each time the preferences are "OK, Saved or cancelled"
and that whether the user has used the font selection
dialog or not (which was very annoying) ...

svn path=/trunk/; revision=2348
2000-08-23 16:15:13 +00:00
Laurent Deniel fe01ebe5d2 Fix a comment.
svn path=/trunk/; revision=2347
2000-08-23 10:38:43 +00:00
Guy Harris 53252372a6 Don't set the marked-packet foreground and background colors in "prefs"
until the GUI-preferences fetch routine is called, and don't re-colorize
marked packets until the GUI-preferences apply routine is called;
those preferences shouldn't take effect until the user clicks "OK" or
"Apply", as that's the way other preferences work.

Treat a request to close the color selection dialog the same as a click
on the "Cancel" button.

svn path=/trunk/; revision=2346
2000-08-23 07:38:56 +00:00
Guy Harris 56697db466 Bleah. What was I thinking? "dlg_window_new()" should take the title
for the dialog window as an argument (as various dialog creators in GTK+
do), not oblige every caller of it to cut-and-paste a
"gtk_window_set_title()" call after it.

svn path=/trunk/; revision=2345
2000-08-23 06:56:31 +00:00
Laurent Deniel 2f1bab3f96 Do not display "Text (text)" (i.e. FT_TEXT_ONLY) for unfilterable
fields in status bar.

svn path=/trunk/; revision=2344
2000-08-22 20:17:27 +00:00
Laurent Deniel 609806cbd3 Add a help context identifier for the status bar.
This allows the display of a short field description (and
field abbreviation) in the status bar when a field is selected
in the protocol tree window.

The description is the blurb field when available (i.e. not empty),
the name otherwise.

When the item is unselected, the file context (e.g. the file name)
is restored.

Now it is much easier to build a display filter without the manual ;-)

svn path=/trunk/; revision=2343
2000-08-22 19:40:09 +00:00
Laurent Deniel 7c48f6c0d4 Remove the "Decode IPv4 TOS field as DiffServ field" option from the
display options since it is available from the preferences.

svn path=/trunk/; revision=2341
2000-08-22 14:39:41 +00:00
Laurent Deniel 85a4718c6b Small update (add accelerator).
svn path=/trunk/; revision=2340
2000-08-22 14:21:27 +00:00
Laurent Deniel d56c56cf88 Add "Colors..." button in GUI preferences.
Currently, it allows the selection of the foreground and
background colors of the marked frames but it could be
extended further (e.g. color of normal frames).

Add update_marked_frames() in main.c to update the
display (e.g. colors) of marked frames.

svn path=/trunk/; revision=2339
2000-08-22 14:04:52 +00:00
Gilbert Ramirez 7c0421b146 Change FT_NSTRING_UINT8 to FT_UINT_STRING. The length parameter passed
to proto_tree_add_item() will indicate if the length of the string is
indicated by an UINT8, UINT16, UINT24, or UINT32.

Change NCP dissector-maker to produce FT_UINT_STRING.

Fix off-by-one in dissection of some NCP reply packets.

svn path=/trunk/; revision=2334
2000-08-22 06:38:32 +00:00
Guy Harris 0746b8a5ed Put "-t <time stamp format>" back into the usage message for Ethereal
with libpcap; I inadvertently deleted it when removing "-b".

svn path=/trunk/; revision=2332
2000-08-22 05:06:20 +00:00
Guy Harris 3c553f2ec7 Explain why we don't currently have to defer setting
"prefs.gui_font_name" until the "fetch" routine is called.

svn path=/trunk/; revision=2330
2000-08-21 22:35:59 +00:00
Guy Harris 88b2aba937 Put in a comment noting that the "apply" routine for the TCP stream
preferences should change the colors for all existing TCP stream
windows.

svn path=/trunk/; revision=2329
2000-08-21 22:31:04 +00:00
Guy Harris af093a380e Don't set the "prefs.gui_XXX" values until the "fetch" routine for the
GUI preferences is called.

Pull all the code for creating option menus for enumerated
"prefs.gui_XXX" items into a common routine.

svn path=/trunk/; revision=2328
2000-08-21 22:30:04 +00:00
Laurent Deniel ab47385543 Add prefs.gui_marked_[fb]g color preferences for the
color of marked frames.

They are currently only available from preferences file,
but I will add the color selection in GUI later.

svn path=/trunk/; revision=2327
2000-08-21 21:24:15 +00:00
Laurent Deniel c7d9d83ebc Cosmetic change (close button at the right place :-).
svn path=/trunk/; revision=2326
2000-08-21 20:11:51 +00:00
Laurent Deniel dea8f0c202 Add some menu items related to the "frame mark" feature in
the Edit menu which allow you to:

- mark (or unmark) the currently selected frame
- mark all _displayed_ frames
- unmark all _displayed_ frames

Should I be more precise in the menu label ?
(e.g. "Mark All Displayed Frame" instead of "Mark All Frames"
  and "Mark Selected Frame" instead of "Mark Frame" ?)

svn path=/trunk/; revision=2325
2000-08-21 19:36:19 +00:00