Commit graph

908 commits

Author SHA1 Message Date
Ronnie Sahlberg
710f08b09f From Richard Urwin a great enhancement to the color filter dialogue to
make it possible to import/export color filters

svn path=/trunk/; revision=8188
2003-08-18 21:27:11 +00:00
Guy Harris
8649fcf232 From Gisle Vanem: MingW declares "rint()" in <math.h> and defines it in
a library, and declares "mode_t" in <sys/types.h>.

svn path=/trunk/; revision=8185
2003-08-18 18:41:25 +00:00
Richard Sharpe
2f8c75aed1 Applied the "Updated find capabilities...." from Greg Morris.
svn path=/trunk/; revision=8158
2003-08-11 22:41:10 +00:00
Guy Harris
ddf6a8acf2 From Michael Lum: add the ability to have a preferences file containing
a list of disabled protocols, and to save that list from the Edit >
Protocols dialog box.

Add checks for read errors in "read_prefs()".

Clean up white space.

svn path=/trunk/; revision=8144
2003-08-07 00:41:28 +00:00
Guy Harris
d2e2149ff9 From Greg Morris: add support for case-insensitive full-text searches.
svn path=/trunk/; revision=8132
2003-08-05 00:01:27 +00:00
Guy Harris
90bf936ffa From Chris Heath: fix up the check for printable ASCII done on Windows
not to include DEL as printable ASCII.

Also change the check in strutil.c to do it by redefining "isprint()",
as is done in "gtk/gtkglobals.h", rather than by #ifdeffing the point at
which the test is done.

svn path=/trunk/; revision=8118
2003-08-01 01:39:01 +00:00
Gilbert Ramirez
c91b8e713f Fix signed/unsigned comparison warnings.
svn path=/trunk/; revision=8084
2003-07-25 04:11:51 +00:00
Gilbert Ramirez
086774b71f Add to the fundamental types passed between the scanner and the parser.
Besides "STRING", there is now "UNPARSED_STRING", where the distinction
is that "STRING" was a double-quoted string and "UNPARSED_STRING" is just
a sequence of characters that the scanner didn't know how to scan/parse,
so it's up to the Ftype to parse it.

This gives us more flexibility and prepares the dfilter parsing engine
for the upcoming addition of the "contains" operator.

In the process of doing this, I also re-did the double-quoted string
support in the scanner, so that instead of the naively-simple support we
used to have, double-quoted strings now can have embedded dobule-quotes,
embedded octal sequences, and embedded hexadecimal sequences:
    "\""    embedded double-quote
    "\110"  embedded octal
    "\x48"  embedded hex

Enhance the dfilter unit test script to be able to run a single collection
of tests instead of having to run all of them all the time.

svn path=/trunk/; revision=8083
2003-07-25 03:44:05 +00:00
Guy Harris
487d0def6b From Greg Morris: code to support searches for text or raw binary data
in a frame in Find Frame.

svn path=/trunk/; revision=8067
2003-07-22 23:08:48 +00:00
Gerald Combs
d98ee5ef39 Add two preferences to control ADNS, one to enable/disable it and one to
set its concurrency level.  Fix an ADNS queueing bug.

svn path=/trunk/; revision=8063
2003-07-22 03:14:31 +00:00
Olivier Abad
bf36806318 In packet_list_button_pressed_cb :
we must check if the event occured in the clist_window (because the x,y
pixel positions of the event are relative to this window), before
calling gtk_clist_get_selection_info()

Fixes debian bug #199763

svn path=/trunk/; revision=8053
2003-07-19 10:25:59 +00:00
Olivier Abad
800027bf02 In set_plist_sel_browse : change broken logic when determining if the
mode has changed.

svn path=/trunk/; revision=8051
2003-07-19 08:59:29 +00:00
Olivier Abad
5d8e9b0d14 Various fixes related to GTK2 :
- give the focus to the packet_list when a capture file is opened, and
  each time we change the selection in the packet list (it seems that
  the tree view has the focus if we don't do this) ;

- in set_plist_sel_browse() : it seems that packet_list->selection_mode
  is always 0 in GTK2 so we can't use it to determine the current mode.
  Use a static variable instead.

This should fix the second part of debian bug #199763

svn path=/trunk/; revision=8045
2003-07-18 20:55:11 +00:00
Guy Harris
33bdfd46d7 From Lars Roland: load WinPcap *before* constructing the information
about library versions.

svn path=/trunk/; revision=7964
2003-07-04 23:50:10 +00:00
Ronnie Sahlberg
e7e3fd7682 From Ian Schorr, limit the size of the (INFO) columns to prevent it from becoming
thousands of pixels wide.

Temporary fix until someone perhaps gets rid of the autoresize of columns completely.

svn path=/trunk/; revision=7947
2003-06-28 21:46:08 +00:00
Ronnie Sahlberg
2c95c28f0e Service Response Time measurements and statistics for Fibre Channel
svn path=/trunk/; revision=7932
2003-06-25 11:15:34 +00:00
Laurent Deniel
0afce7ca81 Ringbuffer rework.
Almost completely rewritten in order to:

- be able to use a unlimited number of ringbuffer files

  0 specified with -b argument or in the GUI, means that the number of file
  is unlimited.

  else the maximum number of ring buffer files is arbitrarily set to 1024.

- close the current file and open (truncating it) the next file at switch

- set the final file name once open (or reopen)

- avoid the deletion of files that could not be truncated (can't arise now)
  and do not erase empty files

The idea behind that is to remove the limitation of the maximum # of
ringbuffer files being less than the maximum # of open fd per process
and to be able to reduce the amount of virtual memory usage (having only
one file open at most) or the amount of file system usage (by truncating
the files at switch and not the capture stop, and by closing them which
makes possible their move or deletion after a switch).

svn path=/trunk/; revision=7912
2003-06-22 16:09:04 +00:00
Gerald Combs
c150ac467b From Lars Roland: Fix the service response time functions to work with GTK2.
svn path=/trunk/; revision=7911
2003-06-22 04:00:21 +00:00
Guy Harris
7af67bda82 "gtk_window_set_default_size()" takes a GtkWindow *, not a GtkWidget *,
as its first argument.

svn path=/trunk/; revision=7909
2003-06-21 09:50:19 +00:00
Ronnie Sahlberg
8165fcdfe8 Cosmetic bug.
When creating a new CList to display SRT stats,  make the DECEND arrow for
the second column be displayed since this is how the table will be sorted
by default

svn path=/trunk/; revision=7908
2003-06-21 06:45:49 +00:00
Ronnie Sahlberg
b04d1323fc Update SMB statistics tap to use the new CList helper routines.
svn path=/trunk/; revision=7907
2003-06-21 06:40:48 +00:00
Ronnie Sahlberg
99addd9f7a Make the default sorting for the list be column 2 in descending order so we
get the rocedures with the most number of calls at the top.

Fix a bug added in previous checkin.
When the table can be sorted in different ways than just the procedure number sorted in ascending order, the row for a specific procedure may change everytime we drawi/sort the table.
Add code to keep track of which row a procedure is currently positioned at in the list so that we statistics are added to the correct entry.

svn path=/trunk/; revision=7906
2003-06-21 05:57:34 +00:00
Ronnie Sahlberg
f97314ba3d Update the ServiceResponseTime helper routines so that the columns
can be sorted.

"borrowed" lots of code for this from gtkclist.c

Columns 0,1  sort in ascending order by default
Columns 2-5 sort in ascending order by default

svn path=/trunk/; revision=7905
2003-06-21 05:39:45 +00:00
Ronnie Sahlberg
76a6027bf6 Update ONC-RPC response time tap to use the new helper function
that displays the data using a CList.

Renamed RTT to SRT (Service Response Time)

svn path=/trunk/; revision=7904
2003-06-21 03:24:06 +00:00
Ronnie Sahlberg
dea1a0a6e4 Break out the code for the ahndling of the Service Response Time (formerly known as RoundTripTime) table and change the table into a scrollable
CList.

As a first conversion to use the helper routines, convert DCERPC SRT statistics to use the new interface.
This prevents some interfaces (SAMR/LSA) that contains a huge number of procedures from creating a huge table that does not fir on the screen.

Later changes to the helpers may be to make the different columns sortable
or to hide those procedures that has not been seen in the capture.

svn path=/trunk/; revision=7903
2003-06-21 01:42:46 +00:00
Guy Harris
71424053cd Define GLIB_CFLAGS and GTK_CFLAGS variables in config.nmake (based on
variables the user configures - the user isn't expected to change
GLIB_CFLAGS or GTK_CFLAGS, and there's a comment nothing that users
shouldn't have to do so), which contain the appropriate "/I" flags for
building stuff that requires only GLib, and stuff that required GTK+ and
GLib, respectively, and use those macros in the Makefile.nmake files.

svn path=/trunk/; revision=7884
2003-06-14 20:36:04 +00:00
Guy Harris
ecf87b705c Clean up the usage message a bit (using the convention, adhered to by at
least some UNIX utilities, of listing all the flags with no arguments in
a single lump, and then listing the ones with arguments individually;
also, make lines as long as possible, as long as they fit in 80 columns).

svn path=/trunk/; revision=7815
2003-06-09 07:54:11 +00:00
Olivier Abad
c4c4bb0d1a Add a "--enable-threads" option, which allows to build the gtk+ v2
ethereal with or without threads. The default is to use threads.
(see http://www.ethereal.com/lists/ethereal-dev/200210/msg00111.html and
http://www.ethereal.com/lists/ethereal-dev/200306/msg00061.html).

svn path=/trunk/; revision=7807
2003-06-08 09:12:23 +00:00
Gerald Combs
578640772d Use freopen() instead of worrying about whether a particular FILE pointer is
NULL.

svn path=/trunk/; revision=7754
2003-05-28 01:09:57 +00:00
Gerald Combs
5f289be167 Make the RTP tap analysis code use create_tempfile() instead of tmpnam().
svn path=/trunk/; revision=7748
2003-05-27 01:40:30 +00:00
Guy Harris
3d65182245 From Miha Jemec: clean up and simplify the RTP dissector and tap code.
svn path=/trunk/; revision=7701
2003-05-20 21:22:59 +00:00
Guy Harris
2689d287d4 Squelch some compiler complaints.
svn path=/trunk/; revision=7682
2003-05-16 00:48:26 +00:00
Laurent Deniel
3070b797d5 Implement a ring buffer switch duration:
when the new "Rotate capture file every n second(s)" checkbox or the
-b <# of file>[:<duration>] argument are used, [t]ethereal will skip to the
next ring buffer file if the specified duration has elapsed (even if the
specified capture size is not reached). This is useful when you want to have
separate capture files per hour or day for instance.

I let the autostop filesize parameter mandatory (i.e. the "rotate capture
file after n kilobytes") but this could be no longer strictly necessary when
that new feature is used ...

Another point: it might be interesting to really truncate the file at the
switch and not the closure ... According to user comments and my own real
case tests, I might plan to enhance this point and others (still ring buffer
related) in the future.

svn path=/trunk/; revision=7678
2003-05-15 13:40:20 +00:00
Guy Harris
e1647e4504 From Richard Urwin:
add support for a system-wide color filter file;

	fix a bug where "read_filters()" didn't close the file handle.

Use the "get_datafile_path()" routine he added to construct the pathname
of the Diameter directory, the global preferences file, and the manuf
file.

svn path=/trunk/; revision=7677
2003-05-15 07:44:54 +00:00
Gerald Combs
1d9b54fc07 Add support for asynchronous DNS updates using the GNU ADNS library.
Support can be enabled at configure time by using "--with-adns=DIR".
If support is enabled, async queries happen whenever host name resolution
is enabled.  Do we need a separate preference for async queries?

Currently, only IPv4 reverse queries are supported.  I can add IPv4 forward
lookup support, but I don't have any way to test IPv6 queries.

svn path=/trunk/; revision=7640
2003-05-04 18:50:56 +00:00
Guy Harris
ca318813a4 Rename "proto_alloc_dfilter_string()" to
"proto_construct_dfilter_string()", to more accurately reflect what it
does.

Give it, and "proto_can_match_selected()", an "epan_dissect_t *"
argument, which replaces the raw data pointer argument to
"proto_construct_dfilter_string()".

For fields that don't have a type we can directly filter on, we don't
support filtering on the field as raw data if:

	the "epan_dissect_t *" argument is null;

	the data source tvbuff for the field isn't the tvbuff for the
	"epan_dissect_t" in question (i.e., it's in the result of a
	reassembly, and "frame[N:M]" can't get at it).

Trim the length the raw data in the case of such a field to the length
of the tvbuff for the "epan_dissect_t" in question, so we don't go past
it.  Fetch the raw data bytes to match from that tvbuff.

Have "proto_construct_dfilter_string()" return a null pointer if it
can't construct the filter string, and have "protocolinfo_packet()" in
the tap-protocolinfo tap ignore a field if
"proto_construct_dfilter_string()" can't construct a filter string for
it - and have it pass NULL as the "epan_dissect_t *", for now.  If
somebody decides it makes sense to dump out a "frame[N:M] =" value for
non-registered fields, it can be changed to pass "edt".

svn path=/trunk/; revision=7635
2003-05-03 00:48:37 +00:00
Guy Harris
03446b0756 From Lars Roland: add routines to use when creating statistics windows
(at least with GTK+ 1.2[.x]), and make the MGCP statistics routine use
them.  The routines use a GtkCList and make it scrollable.

svn path=/trunk/; revision=7586
2003-04-27 21:50:59 +00:00
Guy Harris
c1b7eb399a From Lars Roland:
Filter dialog for the MGCP statistics tap.

	Routines for building GUI table displays for statistics taps.

	Use the timestats.c routines in the SMB statistics tap.

svn path=/trunk/; revision=7561
2003-04-25 20:54:18 +00:00
Guy Harris
cbb30c24ed Fix a compiler warning.
svn path=/trunk/; revision=7556
2003-04-25 05:50:20 +00:00
Guy Harris
8db1b28e8d Fix a comment.
svn path=/trunk/; revision=7554
2003-04-24 23:18:07 +00:00
Guy Harris
8efc6912ef Make the dialog box "transient for" the main window, as we do with other
pop-up dialogs.

If thee's already one such dialog, and the user asks for another one,
reactivate the old one (so it gets un-minimized if necessary), don't
just raise it.

Put the "Create Stat" button in a box, so it doesn't widen to the full
width of the window, and add a "Cancel" button to dismiss the dialog
box.

Arrange that <ESC> dismisses the dialog box, and that typing <Enter> in
the filter dialog box activates the dialog box.

svn path=/trunk/; revision=7553
2003-04-24 23:17:43 +00:00
Guy Harris
5f13ab0115 From Didier Gautheron: the files being processed by make-tapreg-dotc are
in srcdir, not top_srcdir.

svn path=/trunk/; revision=7551
2003-04-24 18:30:52 +00:00
Laurent Deniel
f8a077d10b Change copyright date to 2003.
svn path=/trunk/; revision=7545
2003-04-23 20:51:57 +00:00
Guy Harris
1b872b3648 Make "register_tap_listener()" return NULL on success and a "GString *"
referring to a GString containing an error message on failure, and don't
have it print anything on failure.

If it fails, have its Tethereal-tap callers print an error message
before exiting, and have its Ethereal callers pop up a dialog box with
the error (except in cases where the failure is guaranteed not to be the
user's fault, and where we exit, in which case we just print an error
message before we exit).  In all cases, the error message includes the
text of the GString.

Fix a scanf format string in the DCE RPC statistics Ethereal tap, so
that it properly skips the comma before the filter string.

Fix some Ethereal error messages not to say "tethereal".

svn path=/trunk/; revision=7542
2003-04-23 08:20:06 +00:00
Guy Harris
81ebec370d Have "register_tap_menu_item()" create submenus as necessary for a menu
item.

Convert all Ethereal (GUI) taps to use "register_tap_menu_item()" rather
than having hardcoded menu items in "gtk/menu.c".

svn path=/trunk/; revision=7541
2003-04-23 05:37:23 +00:00
Guy Harris
4cfd8b0f36 Allow taps to have menu item registration routines; the menu item
registration routines, for taps with menu items (taps that can be run
from the "Tools->Statistics" menu), create the menu item for the tap.
"make-tapreg-dotc" constructs a "register_all_tap_menus()" function that
calls all the tap menu item registration routines it finds, and Ethereal
calls that routine after the main window has been constructed (so that
the main menu exists, as the menu items are added to it).  (Tethereal
doesn't call it.)

Get rid of the "menu" and "menu_init" arguments to
"register_ethereal_tap"; the menu item is registered in the tap's menu
item registration routine, not in its main registration routine.

Have the RTP GUI tap register its menu item that way, rather than by
having it compiled into "gtk/menu.c".  (We're not ready yet to have taps
whose menu items are under a submenu register themselves in that
fashion, as "register_tap_menu_item()" can't yet create submenus.)

svn path=/trunk/; revision=7540
2003-04-23 03:51:03 +00:00
Guy Harris
6b0b09b402 Add a routine to create a new menu item under "/Tools/Statistics" for
taps.  (It has to be called after we've created the main menu, but GUI
taps are registered before that so that they can be referred to by
command-line arguments, so that routine will only be usable if we have a
"register menu item" routine for all GUI taps.)

Disable the entire "/Tools/Statistics/MGCP" menu item, not just the
"RTD" item under it, if we don't have an "mgcp" tap.

svn path=/trunk/; revision=7539
2003-04-23 03:13:16 +00:00
Ronnie Sahlberg
16e3a6ce6e Update to smb rtt stat for ethereal so that we can provide a filter for which
packets we have data.

Similar to oncrpc rtt stats smb rtt stats will also open a small window
where a filter string can be specified.
Only those packets matching the filter will be considered in calculating
the rtt statistics.

svn path=/trunk/; revision=7528
2003-04-22 09:30:59 +00:00
Guy Harris
7d29272f54 The main menu "/Display/{Match,Prepare}" menu items, and the tree view
"{Match,Prepare}" pop-up menu items, should be enabled only if we have a
field selected.

The main menu item "/Tools/Statistics" should be enabled only if we have
a capture.

The packet list "Show Packet In New Window" pop-up menu item should be
enabled only if there's a packet selected.

svn path=/trunk/; revision=7523
2003-04-22 04:49:17 +00:00
Guy Harris
3a4644bf42 "gtk_item_factory_get_widget()" returns, for a menu item with a submenu,
the submenu widget, not the menu item widget.  For items with submenus,
set the sensitivity on the menu item widget, not the submenu widget, so
that the menu item is grayed out when not sensitive.

svn path=/trunk/; revision=7522
2003-04-22 04:02:49 +00:00
Guy Harris
5b8500241e Have "set_menu_sensitivity()" take, as an argument, a pointer to the
GtkItemFactory for the item it's modifying, with NULL meaning "all
pop-up menus".  Use the full path for the menu item in all such calls;
have separate calls for the main menu item and pop-up menu items as
necessary.

svn path=/trunk/; revision=7521
2003-04-22 00:16:58 +00:00
Guy Harris
ee1bc75c1b From Brad Hards: don't mention the "Add Expression" button in the
message box popped up if you try to add a new capture filter but haven't
specified a filter name or string, as there is no such button for
capture filters.

svn path=/trunk/; revision=7517
2003-04-21 19:43:44 +00:00
Guy Harris
7ddca7ecaf From Lars Roland:
Add Response-Time statistics for each known mgcp message-type.

	Fix a few bugs and remove trailing whitespace.

	Use "gdouble" for printing time-values and calculating the
	average.  It is easier to use and shouldn't overflow on big
	trace files like "guint32".

	Move some functions for time statistics into the new file
	timestats.c in the main directory.  This code may be useful in
	the rpc and smb rtt-taps as well.

svn path=/trunk/; revision=7469
2003-04-16 07:25:12 +00:00
Guy Harris
2678786425 Pull the stuff done in "dissect_packet()" to initialize a column_info
structure into its own routine; rename "col_init()" to "col_setup()",
and call the new routine "col_init()".

svn path=/trunk/; revision=7467
2003-04-16 05:55:41 +00:00
Guy Harris
24ec2110d1 Add the notion of a "fence" to columns. A dissector can set the fence
to "protect" what's currently in the column, so that attempts to clear
the column will only clear stuff after the fence and attempts to
overwrite the column will append stuff after the fence.  This, for
example, allows a dissector to arrange that the Info column contain
information for its protocol and for protocols running atop it.

svn path=/trunk/; revision=7466
2003-04-16 04:52:55 +00:00
Guy Harris
d9cc10f2f5 From emre: add a "Filter out this stream" button to the "Follow TCP
Stream" window, which adds "and !(<filter for the stream>)" to the
display filter in effect before the stream was followed, removing that
stream from the display.

svn path=/trunk/; revision=7408
2003-04-06 22:41:34 +00:00
Guy Harris
ab84d8be6e Change the version messages to put the "compiled with" stuff on a
separate line, and to put the "running with" info on a separate line
from that, to make the output narrower.

svn path=/trunk/; revision=7344
2003-03-12 00:07:46 +00:00
Guy Harris
50899dad38 When registering a string preference, if the value of the preference is
NULL, convert it to a copy of a null string, otherwise replace it with a
copy of the string, so that we know that the variable for the preference
always points to a string that can be freed.

That also obviates the need to worry about a null-pointer value for a
preference variable when checking to see whether a preference has changed.

When checking for a string preference not being set, check for an empty
string, not a null pointer - the above code turns null pointers into
pointers to empty strings, *and* the GUI code does (and always did!) the
same.

svn path=/trunk/; revision=7343
2003-03-11 23:14:42 +00:00
Ronnie Sahlberg
88959c985c Fixed two small bugs in tap_rtp.c
1, specify a tap filter that ignores all ICMP packets
2, specify a tap filter that only matches the same conversation ip/udp
as the selected packet.

svn path=/trunk/; revision=7341
2003-03-11 08:46:26 +00:00
Guy Harris
2a848c34ad Have the "Save voice data as..." button in the RTP analysis dialog box
pop up a file selection box with the save options, rather than a dialog
box with the save options, a file name, and a button to click to get the
file selection box.

svn path=/trunk/; revision=7331
2003-03-10 02:09:29 +00:00
Jörg Mayer
9281a04064 Pointer <--> int converions cause warnings on ia64.
Modified a patch originally contained in the SuSE distro
to do the conversions via glib macros.

svn path=/trunk/; revision=7330
2003-03-10 02:06:33 +00:00
Guy Harris
170b5028e9 Put the code to get version numbers of various libraries with which
Ethereal/Tethereal was linked into a common routine, and use that in
both Ethereal and Tethereal.

Add to that routine code to get OS version information.

svn path=/trunk/; revision=7320
2003-03-08 07:00:48 +00:00
Gerald Combs
40606a6ed2 Add an average packet size, as suggested by Daniel Jackson.
svn path=/trunk/; revision=7313
2003-03-07 20:27:02 +00:00
Guy Harris
fb65eca073 Include <io.h>, if present, to get "_open()", "_close()", etc. declared.
svn path=/trunk/; revision=7312
2003-03-07 19:47:07 +00:00
Jörg Mayer
d7bcd8e261 Declare f_tempname and r_tempname static
svn path=/trunk/; revision=7307
2003-03-07 01:18:21 +00:00
Guy Harris
a7d60117c4 NO_DATA is apparently #defined by some header file when building with
MSVC++ on Windows - stick TAP_RTP_ in front of all the error enum
values, to avoid name collisions.

Do *NOT* allocate a zero-length array as an automatic variable,
especially if you're going to assign to the first element of that
array....

svn path=/trunk/; revision=7304
2003-03-07 00:03:47 +00:00
Guy Harris
60ab93fa97 Get rid of CRs.
Get rid of comments about the format string to use with guint16 and
guint32 - we're using the right string, which is neither "%lu" (as that
requires a 64-bit argument on platforms with 64-bit longs) nor "%d" (as
that expects a *signed* quantity, not an *unsigned* quantity), but "%u".

Protect the include of <unistd.h> with "#ifdef HAVE_UNISTD_H", as it's
not present on Windows if you're not building with a UNIXalike wrapper
library.

Use "wb", not "w", when creating binary files with "fopen()"; the "b" is
required on Windows.

Use O_BINARY when opening binary files, and #define it as 0 if it's not
defined; O_BINARY is required on Windows.

svn path=/trunk/; revision=7303
2003-03-06 23:09:09 +00:00
Guy Harris
4af8b71f79 Get rid of CRs.
svn path=/trunk/; revision=7301
2003-03-06 22:36:43 +00:00
Laurent Deniel
58a4a837e0 Move RTP Analysis to Statistics menu
(all taps should be located here especially
 very protocol specific ones)

svn path=/trunk/; revision=7299
2003-03-06 21:21:43 +00:00
Laurent Deniel
d17a08f9cd - Protect tap_rtp.h against multiple inclusions
- Add $Id$ to tap_rtp.[hc]

svn path=/trunk/; revision=7298
2003-03-06 21:15:59 +00:00
Ronnie Sahlberg
05dad0c310 From Miha Jemec :
Functionality to reassemble a RTP stream and save it as a file.
Support for G.711 coded

svn path=/trunk/; revision=7297
2003-03-06 20:35:12 +00:00
Guy Harris
60de380663 From Devin Heitmueller: follow TCP Stream support for showing stream
data as C byte arrays.

svn path=/trunk/; revision=7291
2003-03-06 04:23:51 +00:00
Guy Harris
ff1c297602 "gtk_box_pack_end()" expects a GtkBox, not a GtkContainer, as its first
argument.

svn path=/trunk/; revision=7289
2003-03-05 20:12:04 +00:00
Gerald Combs
c0333e2784 Eliminate vertical padding in the IO Stat window.
svn path=/trunk/; revision=7286
2003-03-05 15:54:31 +00:00
Laurent Deniel
60c415087a - fix FAQ display (faq_help[] was not initialised before strcat
so random characters at first line display if not worst,
  finally remove this strcat stuff and directly call insert_text
  with each faq_part)

- add missing FAQ redraw in help_redraw

- put FAQ after Capture Filters to restore original order
  (i.e. Display near Capture Filters)

- udpate overview according to manual page

svn path=/trunk/; revision=7263
2003-03-03 21:59:42 +00:00
Guy Harris
300aa657cc Get rid of unneeded includes of "../ui_util.h".
svn path=/trunk/; revision=7257
2003-03-02 22:31:25 +00:00
Guy Harris
f0a746497a Use "goto_frame()" to go to a given frame number, not
"packet_list_set_selected_row()" - frame N isn't necessarily being
displayed as row N-1.

svn path=/trunk/; revision=7256
2003-03-02 22:25:49 +00:00
Guy Harris
6c9deead35 Have "goto_frame()" put up error dialog boxes itself, rather than having
its callers put up the same error dialog boxes.  Have it just return a
success vs. failure Boolean.

svn path=/trunk/; revision=7254
2003-03-02 22:07:25 +00:00
Jörg Mayer
adbb66a68c Remove wip comments
svn path=/trunk/; revision=7250
2003-03-02 19:21:31 +00:00
Jörg Mayer
4f8247dc2b Split FAQ into shorter lines before including it into the gtk help dialog.
Ignore tmp files generated by make-faq.
Update FAQ.

svn path=/trunk/; revision=7249
2003-03-02 17:42:37 +00:00
Laurent Deniel
a539d5616e Change some plugin window geometry aspects.
svn path=/trunk/; revision=7248
2003-03-02 17:14:08 +00:00
Laurent Deniel
3aa593f0d5 Add type of filter in capture/display filter windows.
svn path=/trunk/; revision=7246
2003-03-02 13:46:01 +00:00
Olivier Abad
f0f7ae0280 Replace gdk_string_width and gdk_string_height with
pango_layout_get_pixel_size in gtk2 code.

svn path=/trunk/; revision=7245
2003-03-01 17:39:53 +00:00
Laurent Deniel
9c27b912d6 Add an "Apply" button to "Decode As" window.
svn path=/trunk/; revision=7243
2003-03-01 13:08:59 +00:00
Guy Harris
cc90efa654 The correct way to go to a frame with a given number is to use
"goto_frame()", not to assume that all frames are being displayed and to
go to the row whose number is the frame number - 1.

svn path=/trunk/; revision=7242
2003-03-01 10:18:54 +00:00
Guy Harris
bedd818b3f From Pavel Roskin: in the GTK+ 2 code, associate the "Print Detail"
button with the correct group.

svn path=/trunk/; revision=7183
2003-02-21 21:06:27 +00:00
Olivier Abad
c4ec808aad In gtk2, the "changed" signal is sent by the GtkTreeSelection, not the
GtkTreeView.

svn path=/trunk/; revision=7161
2003-02-17 21:08:37 +00:00
Olivier Abad
abe08df6d7 In gtk2 code, replace gdk_string_width() with the "Pango" way of
computing strings width and height.

svn path=/trunk/; revision=7159
2003-02-17 07:50:49 +00:00
Guy Harris
ba6bb6d97d From Didier Gautheron:
further fixes to the TCP graph code's cross handling;

	fix to sequence number overflow problems.

svn path=/trunk/; revision=7145
2003-02-14 05:00:05 +00:00
Guy Harris
a79c12635f From Didier Gautheron: fix up the handling of the cross.
svn path=/trunk/; revision=7138
2003-02-13 22:17:18 +00:00
Guy Harris
772e801525 Boost the memory allocation so we can compile "help_dlg.c" which
includes "FAQ.include" as a giant string containing the entire FAQ.

svn path=/trunk/; revision=7117
2003-02-10 23:34:49 +00:00
Guy Harris
ab552d3746 Get rid of BASE_BIN - it's just the same as BASE_DEC, but people seemed
to be using it for stuff that should be hex, and for stuff that should
be Boolean.  Use BASE_DEC if it should be decimal, BASE_HEX if it should
be hex, and make it Boolean if it should be Boolean.

svn path=/trunk/; revision=7053
2003-01-31 03:17:56 +00:00
Jörg Mayer
fb2884ff99 Add the FAQ to the help menu
svn path=/trunk/; revision=7033
2003-01-29 12:58:48 +00:00
Laurent Deniel
1a66f9aec9 Update my email address in various places since my old one no longer works
svn path=/trunk/; revision=7003
2003-01-26 19:35:31 +00:00
Ronnie Sahlberg
87c67ddce1 New files for the SMB RTT statistics feature
svn path=/trunk/; revision=6967
2003-01-22 00:42:05 +00:00
Ronnie Sahlberg
48d3d8eb26 SMB RTT statistics for tethereal and ethereal.
SMB RTT statistics are similar to the RTT statistics already supported by ONC-RPC and DCE-RPC.
It will present a table with all seen SMB commands and present the Min/Max and Avg response time in ms.

Transaction2 and NT-Transaction commands are broken out and presented in its own subtables.

tethereal feature is activated with -z smb,rtt    switch
and in ethereal it is activated either through -0z smb,rtt switch or through the Menu.

svn path=/trunk/; revision=6966
2003-01-22 00:40:36 +00:00
Guy Harris
f71d13b16e Move the code that associates buttons with filter dialogs, and vice
versa, into "filter_dialog_new()", rather than replicating it in a
couple of routines.

The return value of "display_filter_construct_cb()" isn't used for
anything, it's ignored by most callers and stored but subsequently
ignored by io_stat.c; get rid of the return value, and don't bother
storing it in io_stat.c.

Before destroying a filter dialog box associated with a button being
destroyed, break the association.

Get rid of an unused variable in io_stat.c.

svn path=/trunk/; revision=6931
2003-01-15 05:58:50 +00:00
Guy Harris
a2f01014c1 Add a new routine "filter_button_destroy_cb()", and make it the
"destroy" signal handler for any button that pops up a filter; if the
button has a filter dialog box associated with it, it destroys that
dialog box.

Have the routines that create filter dialog boxes asociate the dialog
box with the button that created it, so that if the button is destroyed
the filter dialog box can be destroyed as well, and associate the button
with the dialog box.

This means that if a dialog box has a button to create a filter, we no
longer have to have the destroy handler for the dialog box destroy any
filters - that'll happen when the button in the dialog box is destroyed
as part of the process of destroying the dialog box.

Don't make the "Filter" buttons in the io_stat dialog box insensitive if
there's already a filter dialog box open - we can have more than one
open per dialog box.

svn path=/trunk/; revision=6930
2003-01-15 05:20:19 +00:00
Ronnie Sahlberg
07bcd090fc From Ronald Henderson, when closing IO-Stat window, also close any open Filter dialogs
svn path=/trunk/; revision=6916
2003-01-11 11:10:33 +00:00
Olivier Abad
5429cf9b3f Replace :
popup_menu_object = gtk_widget_new(GTK_TYPE_WIDGET, NULL);
with
popup_menu_object = gtk_menu_new();

so that ethereal runs with Gtk+ v2.2

svn path=/trunk/; revision=6879
2003-01-08 23:33:38 +00:00
Guy Harris
910517512f Add some checks to make sure "gdk_color_parse()" and
"gdk_colormap_alloc_color()" succeed.  (We drive on anyway, but at least
we let the user know.)

svn path=/trunk/; revision=6874
2003-01-08 02:19:51 +00:00
Guy Harris
2ae1db18b3 Sort the filenames a bit more.
svn path=/trunk/; revision=6873
2003-01-08 02:00:51 +00:00
Guy Harris
6ca5407668 Separate the routines to allocate colors from the routines to handle
color filters.

svn path=/trunk/; revision=6872
2003-01-08 01:59:42 +00:00
Guy Harris
4ec4c64968 Update a comment to indicate why there's a problem with printable-but-
not-ASCII characters in GTK+.

svn path=/trunk/; revision=6831
2002-12-31 21:49:00 +00:00
Olivier Abad
0b721e0ccf Make last modifications work with gtk2.
svn path=/trunk/; revision=6817
2002-12-27 18:32:55 +00:00
Guy Harris
392fee6d7a Support putting preferences into arbitrary places in a tree, which is
used to construct the "Edit->Preferences" dialog box; this includes the
ability to register a "subtree" for preferences.  Instead of
special-casing protocol preferences, have a subtree "Protocols" for
protocol preferences.

svn path=/trunk/; revision=6808
2002-12-20 01:48:57 +00:00
Guy Harris
63a4260c9d Rename "Go To Specified Frame" to "Go To Corresponding Frame" (I'm not
sure there *is* a good name for it).

Put it in the "Tools" menu as well (although I'm not sure what top-level
menu it belongs in, or if it should get a new one).

Make those items sensitive only if there's an FT_FRAMENUM item selected
in the protocol tree pane.

Clean up some menu paths in "set_menu_sensitivity()" (not that it
matters, as only the last component, and the first component if it's a
menu factory name, are used).

svn path=/trunk/; revision=6803
2002-12-19 03:56:04 +00:00
Guy Harris
a97b83a7f4 Add a new field type FT_FRAMENUM; an FT_FRAMENUM is a 32-bit unsigned
frame number, which is always decimal.  If you select an FT_FRAMENUM
field, there are menu items that let you go to the frame whose frame
number appears in that field.

Add FT_FRAMENUM fields for the ONC RPC "matching request is in this
frame" and "matching reply is in this frame" protocol tree items.

svn path=/trunk/; revision=6802
2002-12-19 02:58:53 +00:00
Guy Harris
c9c414c03b Just use "packet_list_set_selected_row()" to select a given row in the
packet list (doing so makes the row visible as well).

svn path=/trunk/; revision=6801
2002-12-18 23:54:01 +00:00
Guy Harris
ae0311d97e Don't assume that the time stamp of the last frame is the largest time
stamp in the packet; bugs in the OS kernel or the WinPcap driver, or
just forcibly setting the system time backwards, can cause time stamps
in packet traces not to monotonously increase.  That can cause infinite
loops when picking the scale for the graph.

svn path=/trunk/; revision=6800
2002-12-18 23:08:20 +00:00
Guy Harris
15c6306a3c From Andreas Trauer: dissect the L2TP AVPs Initial Received LCP CONFREQ,
Last Received LCP CONFREQ, Last Sent LCP CONFREQ, and correct some AVP
names.

svn path=/trunk/; revision=6789
2002-12-16 21:18:37 +00:00
Ronnie Sahlberg
2c21b27603 Cosmetic fix for io_stat. make sure that the graph always starts with a line at zero level even if there is no data seen at the beginning of the window.
svn path=/trunk/; revision=6788
2002-12-16 07:11:24 +00:00
Ronnie Sahlberg
4c16bc7ba7 Prettify RPC_PROGRAMS table when reading new capture or when closing and opening it again.
svn path=/trunk/; revision=6787
2002-12-16 07:02:05 +00:00
Ronnie Sahlberg
b1628b5c42 From Ronald Henderson: support for colored graphs in io_stat also for the Gtk1 version.
svn path=/trunk/; revision=6786
2002-12-16 06:44:45 +00:00
Ronnie Sahlberg
834c08904b Fix two compiler warnings
svn path=/trunk/; revision=6748
2002-12-05 22:19:24 +00:00
Jörg Mayer
4169436eb9 Add compat_macros.h to the tarball
svn path=/trunk/; revision=6732
2002-12-03 01:26:31 +00:00
Guy Harris
293ec59fea From Jason House: MSVC++ doesn't like cases with no statements, so add
break statements.

svn path=/trunk/; revision=6716
2002-12-02 19:44:09 +00:00
Olivier Abad
0f3a25cafd Put back the "width" local variable in proto_cb() which is used only by
the GTK1.2 UI.

svn path=/trunk/; revision=6715
2002-12-02 11:05:58 +00:00
Olivier Abad
90b9fa59f6 Make the new protocol list work with GTK2. The "status" column uses a
toggle button instead of a text.

svn path=/trunk/; revision=6714
2002-12-02 10:59:23 +00:00
Olivier Abad
1010194bec Remove gtk_tree_view_set_search_column() which is not needed.
svn path=/trunk/; revision=6712
2002-12-02 10:53:34 +00:00
Gerald Combs
d59c4bd399 Allow keyboard-only navigation of the Protocols dialog. Protocols can
be enabled or disabled using the space bar.  Update the documentation
accordingly.

svn path=/trunk/; revision=6711
2002-12-02 02:28:54 +00:00
Gerald Combs
a10da42709 Enable/disable protocols with a single click. Fix the behavior of
cancelling the Protocols dialog, which my previous checkin broke.

svn path=/trunk/; revision=6710
2002-12-01 22:51:56 +00:00
Gerald Combs
07e0a47740 Update some text in the help dialog.
Replace the large matrix of protocol togglebuttons with a GtkCList. The
CList displays three columns: the enabled/disabled state, the protocol's
abbreviated name and the protocol's full name.  Protocols can be enabled
or disabled by double-clicking on them.  The enable all, disable all, and
invert buttons were left intact.

I made a half-assed attempt at Gtk2 support by copying code from
plugins_dlg.c.  It's incomplete, and probably won't compile.

Using check boxes in the first column instead of the word "Disabled" would
have been nice.  GtkCLists don't let you embed anything besides text and
pixmaps unfortunately.

Update the man page accordingly.

We still need a way to save a list of disabled protocols.

svn path=/trunk/; revision=6707
2002-12-01 19:11:54 +00:00
Ronnie Sahlberg
d5f5ebd79e Updte for io-stat to make it more powerful.
There is not a third option Advanced... in addition to frames/tick and bytes/tick.


See ethereal man page for description and how one can use this to graph how NFS response time MAX/MIN/AVG changes over time.

svn path=/trunk/; revision=6703
2002-11-29 11:37:33 +00:00
Guy Harris
0051e3c2e8 That was the wrong cast, d00d....
svn path=/trunk/; revision=6686
2002-11-28 02:04:23 +00:00
Guy Harris
5dbad1dcdc Constify some pointers to avoid converting const pointers to non-const
pointers.

svn path=/trunk/; revision=6685
2002-11-28 01:58:27 +00:00
Ronnie Sahlberg
8eb275cdb3 put nice io-stat title on the io-stat window
svn path=/trunk/; revision=6661
2002-11-19 08:10:13 +00:00
Ronnie Sahlberg
31f4e6b38f update for gui version of io-stat
the graph now has a scrollbar one can use to scroll the graph window

svn path=/trunk/; revision=6652
2002-11-17 11:43:40 +00:00
Guy Harris
cb7215b486 If you include "gtk/gtkglobals.h" before including <ctype.h>, at least
on Windows in my build environment, the definition of "isprint" in
"gtk/gtkglobals.h" causes problems when processing the definition of
"isprint" in <ctype.h>, and, somehow, <ctype.h> appears to get included,
at least in Windows in my build environment, after we include
"gtk/gtkglobals.h" even though we don't include it explicitly.

Include it explicitly, before we include "gtk/gtkglobals.h", so that it
compiles.

svn path=/trunk/; revision=6650
2002-11-16 21:40:32 +00:00
Ronnie Sahlberg
1e41b7480d io-stat. Previously io-stat was hardcoded to calculate the statistics over 1 second intervals. Now there is a menu to control the length of ther measurement intervals from 10ms to 1 sec.
svn path=/trunk/; revision=6646
2002-11-16 11:45:58 +00:00
Olivier Abad
380bd12489 New gtk1/gtk2 compatibility macros used for menu entries.
svn path=/trunk/; revision=6641
2002-11-15 23:50:06 +00:00
Olivier Abad
0ec7f232e2 In gtk2 code :
gdk_font_from_description() may return NULL if no GdkFont matching a
PangoFontDescription can be loaded.
Replace primitives using GdkFonts (gdk_string_width, gdk_draw_string)
with their pango equivalent (pango_layout_get_pixel_size,
gdk_draw_layout).

svn path=/trunk/; revision=6639
2002-11-15 22:21:15 +00:00
Guy Harris
fb67329086 Clean up the GTK+ 1.2[.x] menu items. (This really calls for another
"compat_macros.h" macro....)

Add some comments on #else's and #endif's to make it a bit easier to
follow the twisty maze.

svn path=/trunk/; revision=6637
2002-11-15 18:45:18 +00:00
Ronnie Sahlberg
a361b76756 Gtk1 version of io-stat
svn path=/trunk/; revision=6636
2002-11-15 10:55:19 +00:00
Ronnie Sahlberg
76f5391acc Feature for Gtk2: GUI version of IO-STAT. Looks reasonable with one graph. Looks "sub-optimal" with multiple graphs overwriting eachothers.
We can just delete it later if it cant be improved visually.

svn path=/trunk/; revision=6629
2002-11-14 10:32:22 +00:00
Guy Harris
bbb2129ab2 Make "tethereal-tap-register.c" and "ethereal-tap-register.c" depend on
the script that builds them.

svn path=/trunk/; revision=6627
2002-11-14 08:09:35 +00:00
Guy Harris
f002ffd9ce From Didier Gautheron: make the rule to build "ethereal-tap-register.c"
work when a build is done outside the source tree, and make
"ethereal-tap-register.c" depend on the script that builds it.

svn path=/trunk/; revision=6626
2002-11-14 08:07:12 +00:00
Olivier Abad
3cd4fed22d Use gtk1/gtk2 compatibility macros.
svn path=/trunk/; revision=6616
2002-11-11 18:57:00 +00:00
Olivier Abad
189640857a In the gtk2 port, make double click in the tree view expand or collapse
a row.

svn path=/trunk/; revision=6615
2002-11-11 18:46:16 +00:00
Guy Harris
13b8bc3f9c "gtk_quit_add_destroy()" takes a "GtkObject *" as its second argument in
both GTK+ 1.2[.x] and 2.x, so put the "GTK_OBJECT()" cast back in to
squelch a compiler warning.

svn path=/trunk/; revision=6612
2002-11-11 17:32:42 +00:00
Guy Harris
1981d976e3 Put in some missing macros needed for recent changes.
svn path=/trunk/; revision=6611
2002-11-11 17:30:26 +00:00
Olivier Abad
29011060de Use gtk1/gtk2 compatibility macros to reduce #ifdefs.
svn path=/trunk/; revision=6610
2002-11-11 15:39:06 +00:00
Olivier Abad
c2c5e20927 Replace gtk_rpcprogs_init with gtk_rpcprogs_cb in the gtk2 menu entry.
svn path=/trunk/; revision=6609
2002-11-11 12:37:15 +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
Olivier Abad
425e7406d2 When opening tap windows, we don't need to search the tap_list again. It
has been done when processing the -z command line option.

svn path=/trunk/; revision=6602
2002-11-10 11:41:45 +00:00
Olivier Abad
573f0840eb - use gtk1/gtk2 compatibility macros to reduce #ifdefs
- when processing tap extensions command line options, wait until the
  main window has been created before opening the tap window, to avoid
  lots of GTK warnings.

svn path=/trunk/; revision=6601
2002-11-10 11:36:39 +00:00
Olivier Abad
b48fd02f40 Use gtk1/gtk2 compatibility macros to reduce #ifdefs.
svn path=/trunk/; revision=6600
2002-11-10 11:00:29 +00:00
Olivier Abad
048ab33a26 Use gtk1/gtk2 compatibility macros to reduce #ifdefs.
svn path=/trunk/; revision=6597
2002-11-09 20:52:39 +00:00
Olivier Abad
7a3de321f8 Helper macros fro gtk1.2/gtk2 compatibility.
It should reduce the number of #ifdefs in gtk source code.

svn path=/trunk/; revision=6596
2002-11-09 20:00:35 +00:00
Guy Harris
70aaa6ddcc From Jason House: add the rule to make "ethereal-tap-register.c".
Make that rule work correctly, by making "ETHEREAL_TAP_SRC" refer to the
*source* files, making "ETHEREAL_TAP_OBJECTS" be the *object* files (as
generated from the list of source files), and adding
"ETHEREAL_TAP_OBJECTS" rather than "ETHEREAL_TAP_SRC" to the list of
objects to link.

svn path=/trunk/; revision=6574
2002-11-07 05:33:50 +00:00