Commit graph

1081 commits

Author SHA1 Message Date
Guy Harris
02e1d2680a Give every Makefile.nmake file a "distclean" rule, and have "distclean"
recurse into subdirectories doing "nmake -f Makefile.nmake distclean".

Have "nmake -f Makefile.nmake clean" not remove stuff that "make clean"
doesn't remove (such as Flex/Bison output and config.h files) - and have
"nmake -f Makefile.nmake distclean" remove stuff that "make distclean"
removes, including "tethereal-tap-register.c" and
"ethereal-tap-register.c".

svn path=/trunk/; revision=8672
2003-10-10 21:31:53 +00:00
Ronnie Sahlberg
5b7b7ef168 Fix a bug for the DCERPC stats window where it forgot to print the title inside the window as it were supposed to.
svn path=/trunk/; revision=8668
2003-10-10 11:24:24 +00:00
Ronnie Sahlberg
e3da788a2a Updated the DCERPC service response time to also offer the menu to
Filter, Find and Colorize selected procedures
in the same way as SMB and ONC-RPC already does.

svn path=/trunk/; revision=8667
2003-10-10 11:11:37 +00:00
Guy Harris
f7706315f4 Use PT_ values rather than raw numbers when checking for u-law and A-law
payload.

svn path=/trunk/; revision=8664
2003-10-10 10:16:03 +00:00
Ronnie Sahlberg
e75b86fab1 Add a ColorizeProcedure menu option to the ServiceResponseTime statistics dialog
svn path=/trunk/; revision=8659
2003-10-10 08:59:17 +00:00
Ronnie Sahlberg
8969b36861 Add a Find Next/Previous menu option to the ServiceResponseTimeStatistics dialog
svn path=/trunk/; revision=8658
2003-10-10 08:52:19 +00:00
Ronnie Sahlberg
3d32354336 Updates to TimeReference Frames
Add a Goto Next/Previous  time reference menu option

svn path=/trunk/; revision=8657
2003-10-10 08:39:24 +00:00
Guy Harris
e779676e07 Include "gtk/color_dlg.h" to declare "color_display_with_filter()", and
include "color.h" to declare "color_filter_t", which "gtk/color_dlg.h"
requires.

svn path=/trunk/; revision=8639
2003-10-07 17:29:45 +00:00
Ronnie Sahlberg
0897a7cfbb Update to endpoint talkers,
endpoint talkers now have an extra submenu on the popup where one can select :
Colorize Conversation.
This opens up the create color filter dialog with the filter preset to the
selected conversation.

svn path=/trunk/; revision=8637
2003-10-07 10:07:47 +00:00
Ronnie Sahlberg
fcee96aa69 Forgot to update a prototype in previous patch
svn path=/trunk/; revision=8636
2003-10-07 09:50:41 +00:00
Ronnie Sahlberg
d6a720dd17 Add Find Next/Find Previous submenu to conversation lists.
By using Find Next/Previous you will jump to the next/previous matching packet in the ethereal main window.

I could not get CTRL-N / CTRL-B to work and was too lazy to research.
It would be nice if CTRL-N / CTRL-P would invoke the same thing as selecting
/Find Frame/Find Next/EP1 <-> EP2
or
/Find Frame/Find Previous/EP1 <-> EP2
from the menu.
I could not figure out how to get gtk to do this.
The person that adds CTRL-N/CTRL-B here will be a hero.

svn path=/trunk/; revision=8635
2003-10-07 09:30:34 +00:00
Guy Harris
cace3b6df9 Make the window geometry information static - it's not used outside this
file.

Fetch the geometry information whenever we get a configure_notify event,
i.e. if it actually changes, rather than doing so when we get asked to
delete the main window or we exit.  Don't save the geometry if we've
never gotten such an event, as it presumably means the size and position
haven't changed.

svn path=/trunk/; revision=8634
2003-10-07 04:36:36 +00:00
Guy Harris
546484336d From Gisle Vanem: if WIN32_LEAN_AND_MEAN is defined, <windows.h> doesn't
include <commdlg.h>, but "print_mswin.c" needs it, so include it
explicitly.

svn path=/trunk/; revision=8632
2003-10-07 03:09:50 +00:00
Guy Harris
3a0d0dcbc1 Rename "max_tick_values" to "tick_interval_values", to make it clearer
what it is.

svn path=/trunk/; revision=8631
2003-10-06 22:13:36 +00:00
Guy Harris
1d27a3d370 Make the "needs_redraw" flag a gboolean, as it's a Boolean flag.
Rename "max_count_types and "max_calc_types" to "count_type_names" and
"calc_type_names", to make it clearer what they are.

For the advanced statistics, give different error messages for the case
where no field name was specified and where an invalid field name was
specified.

Give better error messages for the cases where the calculation type
isn't supported for a particular field.

Initialize the calculation type for a given field.

svn path=/trunk/; revision=8630
2003-10-06 22:10:42 +00:00
Guy Harris
489f13fcf7 (Based on a patch from Lars Roland.)
Use "gtk_dialog_new()" to create the window - that doesn't create a
"dialog box" in the sense of a transient-for window, but it does create
a window with a button vbox that the code expects to be present.

svn path=/trunk/; revision=8622
2003-10-06 08:58:00 +00:00
Ronnie Sahlberg
3ef7004826 Fix to IO-Stat.
IO-Stat failed to produce Advanced/COUNT(*) statistics for fields of type FT_NONE.
Fixed.

Now it is possible to do :
Advanced/COUNT(*)  Filter:tcp.analysis.retransmission  Field:tcp.analysis.retransmission
Advanced/COUNT(*)  Filter:tcp.analysis.duplicate_ack  Field:tcp.analysis.duplicate_ack

And it will plot the number of Retransmissions and Duplicate ACKs seen in each time interval.

svn path=/trunk/; revision=8609
2003-10-04 03:10:18 +00:00
Guy Harris
1904d3498f Include "mkstemp.h" only if we're including our own "mkstemp()".
svn path=/trunk/; revision=8605
2003-10-03 22:38:56 +00:00
Jörg Mayer
e2fe785941 Graham Bloice: Add missing #include mkstemp.h
svn path=/trunk/; revision=8604
2003-10-03 21:19:10 +00:00
Ronnie Sahlberg
beb5e5e4e6 Update ipx and conversation list to make it possible to select and filter for ipx conversations from the conversation list popup menu
svn path=/trunk/; revision=8599
2003-10-03 09:09:35 +00:00
Guy Harris
6b7afbb593 From Tomas Kukosa: radio button groups are GSLists, which means that the
radio button group for a button changes when new buttons are added to it
(adding to the beginning of a singly-linked list takes constant time,
adding to the end takes time linear in the length of the list, and a
GSList * points to the beginning of the list).  Re-fetch the radio
button group each time through the loop that adds new radio buttons to a
radio button group for a preference.

svn path=/trunk/; revision=8591
2003-10-02 21:18:38 +00:00
Guy Harris
301bc24c43 Don't put an entry for a protocol into the Preferences dialog if it
doesn't have any settable preferences (for example, if it has only
obsolete preferences).

svn path=/trunk/; revision=8590
2003-10-02 21:06:11 +00:00
Jörg Mayer
243d1ea197 use mkstemp instead of tmpnam
svn path=/trunk/; revision=8569
2003-09-29 19:20:51 +00:00
Jörg Mayer
89a62a712c Whitespace changes in order to make diff produce more readable results
svn path=/trunk/; revision=8568
2003-09-29 19:18:44 +00:00
Olivier Abad
11c747bd5f - in show_relations() : select the first row of the relation_list when
using gtk+ v2.
- get rid of some unused variables.

svn path=/trunk/; revision=8565
2003-09-29 06:41:46 +00:00
Ronnie Sahlberg
8b7b1ff28e Update to SMB service response time stats.
For short packets, we might not have enough of the payload to decode
the transaction info levels  and thus that data structure is NULL.

check the pointer to this struct first before we try to dereference it.

svn path=/trunk/; revision=8558
2003-09-28 00:00:36 +00:00
Guy Harris
4e5896fed7 From Nathan Jennings:
update the CList as you enter/modify options;

	give Windows users OS descriptions in the displayed devices
	list;

	display at least 5 rows in the lists;

	get rid of the "extra" CList for storing edited values.

svn path=/trunk/; revision=8552
2003-09-26 23:11:17 +00:00
Guy Harris
e16c1c8bcf Get the RTP payload types from rtp_pt.h rather than defining them
ourselves.

svn path=/trunk/; revision=8551
2003-09-26 22:29:42 +00:00
Guy Harris
59938a45fe Assorted GUI cleanups.
svn path=/trunk/; revision=8544
2003-09-26 02:09:44 +00:00
Guy Harris
87d87ace4e RTP analysis updates from Lars Ruoff:
- can now handle streams with different payload types
	- detects payload changes
	- detects comfort noise (PT=13 and 19)
	- status line now shows: sequence errors, payload changes,
	  comfort noise (if any)
	- uses colours for lines with status != "Ok"
	- new button "next": jumps to next line with status != "Ok"
	  (starting from selected line)
	- fixed: wrong jitter calculation (bug from tap_rtp)
	- fixed: marker was not shown on first packet or erroneous
	  packets (bug from tap_rtp)
	- code refactored to improve readability and reuse

svn path=/trunk/; revision=8543
2003-09-25 19:35:14 +00:00
Guy Harris
f94108245d From Laurent Rabret:
handle 802.1Q frames;

	catch the destroy signal on the main Ethereal window and destroy
	our windows (avoids a crash).

Get the PPP type value for IP from "ppptypes.h" rather than defining it
ourselves.

svn path=/trunk/; revision=8537
2003-09-25 00:37:51 +00:00
Guy Harris
d0d3f842bb Add a "file_selection_new()" routine that does all the positioning (GTK+
2.x) and transient-for setting that's done for other dialogs, and use it
for dialogs that come from the main window or from children of the main
window.

svn path=/trunk/; revision=8531
2003-09-24 08:43:34 +00:00
Guy Harris
14d13e3401 From Lars Ruoff: rewritten RTP analysis module.
svn path=/trunk/; revision=8529
2003-09-24 07:48:12 +00:00
Olivier Abad
959850bf16 In packet_list_button_pressed_cb (gtk2 version) :
- put back the event_button->window == GTK_CLIST(w)->clist_window test
  now that we use the correct structure definition for GtkCList (from
  the right include file, not from our version of gtkclist.h).

svn path=/trunk/; revision=8528
2003-09-24 06:18:20 +00:00
Olivier Abad
0d49ad4d84 Renamed gktclist.[ch] to gtkclist_v12.[ch] to avoid conflicts with the
real gtkclist.h file when building the gtk+ v2 gui.

svn path=/trunk/; revision=8527
2003-09-24 06:15:53 +00:00
Guy Harris
4e64afcb25 Pass a pointer to a "capture_file" structure to
"set_menus_for_selected_packet()" and
"set_menus_for_selected_tree_row()", and have them decide whether to
enable or disable menu items based on whether that structure indicates
that a packet or field is selected and, if one is, on its properties.

Pass to the "selected packet enabled" routine for a menu item the
"frame_data" and "edt" members of the "capture_file" structure, and pass
to the "selected tree row enabled" routine the "field_info" member of
that structure.

Clear "cf->current_frame" if no packet is selected.

svn path=/trunk/; revision=8525
2003-09-24 02:36:35 +00:00
Guy Harris
dd628e00c7 Make "finfo_selected" a member of a "capture_file" structure rather than
an independent global variable.

svn path=/trunk/; revision=8524
2003-09-24 00:47:37 +00:00
Guy Harris
8e523e0744 The relation list is always displayed (that's been true for a while) -
we don't need to support making it visible or not depending on the
selected field.

svn path=/trunk/; revision=8517
2003-09-23 18:09:36 +00:00
Olivier Abad
1ba0dfec6f Temporary patch for the packet_list column resize problem in gtk2.
We should use the same test (event_button->window == GTK_CLIST(w)->clist_window)
we already use in gtk v1.2 code but in doesn't seem to work in gtk2.

svn path=/trunk/; revision=8515
2003-09-23 06:25:10 +00:00
Ronnie Sahlberg
6ac634b8f0 Update the menu text for Time Reference and give it a hot-key : ctrl-T
svn path=/trunk/; revision=8512
2003-09-22 09:08:42 +00:00
Gerald Combs
d47426ec58 Remove a bunch of duplicate semicolons.
svn path=/trunk/; revision=8509
2003-09-21 20:06:02 +00:00
Guy Harris
d532ea7b17 From Giles Scott:
in GTK+ 2.x, center dialogs on the parent;

	make the file selection dialogs transient for the main window,
	just as other dialogs are.

Update Gerald's e-mail address.

svn path=/trunk/; revision=8503
2003-09-20 04:59:43 +00:00
Guy Harris
e8e9f1bdfe Provide a mechanism by which a tap can arrange to have its menu enabled
or disabled based on a currently-selected packet (or lack of same) or a
currently-selected protocol tree item (or lack of same).  Not currently
used, but necessary if we ever make the TCP graph stuff a tap.  API is
tentative and subject to change.

Also, enable and disable taps based on whether we have any packets to
process.

svn path=/trunk/; revision=8498
2003-09-19 07:24:39 +00:00
Guy Harris
1513888c99 Have "register_tap_menu_item()" put the item under Tools, not
Tools/Statistics; change the taps to put things under Statistics
themselves.  That allows taps to go elsewhere if appropriate.

svn path=/trunk/; revision=8488
2003-09-17 19:39:34 +00:00
Guy Harris
0cf18ffba8 Handle PPP with a pseudo-header.
svn path=/trunk/; revision=8486
2003-09-16 20:41:17 +00:00
Guy Harris
f3dd4b5eec Clean up an error message.
svn path=/trunk/; revision=8481
2003-09-15 23:20:34 +00:00
Guy Harris
2e98c97118 Don't pop up tap windows specified with "-z" options until we have a
capture file open.

svn path=/trunk/; revision=8480
2003-09-15 23:15:32 +00:00
Guy Harris
14509164fc Rename various capture file routines to have names starting with "cf_".
svn path=/trunk/; revision=8479
2003-09-15 22:48:42 +00:00
Guy Harris
1332b99a2a Get rid of a bunch of unnecessary #includes.
svn path=/trunk/; revision=8478
2003-09-15 22:32:21 +00:00
Guy Harris
ca9ff2abdd Get rid of a no-longer-relevant comment.
svn path=/trunk/; revision=8477
2003-09-15 22:17:25 +00:00
Guy Harris
f56d16abab Add a routine to return the display name for a "capture_file" structure,
rather than constructing that name when a capture file is opened and
putting a pointer to it in that structure.

svn path=/trunk/; revision=8476
2003-09-15 22:16:08 +00:00
Guy Harris
0d87da9c92 Don't allow -k and a capture file to both be specified on the command
line - either we're doing a live capture or we're reading a saved
capture file, we can't do both at the same time.

svn path=/trunk/; revision=8475
2003-09-15 20:45:19 +00:00
Guy Harris
673e47d4a9 Keep a "display name" as part of a capture_file structure; for live
capture temporary files, it's "<capture", and for saved capture files,
it's the last component of the pathname of the file.  Use that in
various places when displaying the file name.

svn path=/trunk/; revision=8474
2003-09-15 20:37:37 +00:00
Guy Harris
7bfaf8caf3 From Graeme Hewson:
Don't crash if "-z" is used on the command line when a live
	capture is being done (e.g., with "-k -S" - in that case,
	"cfile.filename" is null when the window is created), just don't
	display the file name in the title.

	Don't set the title of a non-existent window - create the window
	first.

svn path=/trunk/; revision=8472
2003-09-15 19:05:01 +00:00
Ronnie Sahlberg
007d873671 Added TimeReference frames.
One can now select a packet and mark it as a TimeReference packet using the menu.
A TimeReference packet will be indicated by having all timestamp related column entries replaced by the string *REF*
A TimeReference packet will always be displayed in the packet pane, and overrides any display filters.

When a frame is a TimeReference frame, all later frames will calculate the TimeRelativeToFirstPacket  relative to the timestamp of the TimeReference frame instead of the first frame of the capture.

You can have any number of TimeReference frames you like.

svn path=/trunk/; revision=8459
2003-09-12 02:48:23 +00:00
Guy Harris
3e1a532413 When saving packets, we have a "Save only marked packets" option; label
the option to print only marked packets similarly, rather than as
"Suppress unmarked packets" (for consistency, and because the latter
isn't unlike a double negative).

svn path=/trunk/; revision=8451
2003-09-10 22:23:58 +00:00
Jörg Mayer
e020bc8964 Albert Chin:
- AM_PROC_LIBTOOL is just an alias for AC_PROG_LIBTOOL, which is
	  called earlier.
	- Use AM_CPPFLAGS instead of CFLAGS and CPPFLAGS to add inlude
	  directories

svn path=/trunk/; revision=8445
2003-09-10 07:17:21 +00:00
Guy Harris
ce166e6dfb If there's no saved interface name, set the interface name in the
Capture Options dialog box to the first string in the combo box, not to
the first interface name in the list, so we get the description.

svn path=/trunk/; revision=8444
2003-09-10 07:02:25 +00:00
Guy Harris
29ea42f868 If we have no interfaces, don't set the popdown list for interface combo
boxes.

svn path=/trunk/; revision=8443
2003-09-10 06:55:28 +00:00
Guy Harris
27ea7816ee Have "get_interface_list()" return a list of "if_info_t" structures
containing a pointer to an interface name and possibly a pointer to an
interface description (although that pointer might be null if no
description is available), rather than having the Windows version glue
together the name and description into a single string.

Supply for the Linux "any" device the same description that libpcap's
"pcap_findalldevs()" returns.

svn path=/trunk/; revision=8440
2003-09-10 05:35:26 +00:00
Guy Harris
935a07c593 From Nathan Jennings: fix a problem with empty descriptions.
svn path=/trunk/; revision=8435
2003-09-09 18:27:49 +00:00
Guy Harris
ba400ac5fe From Nathan Jennings: give the "Edit..." window for the capture options
dialog the right icon, and make ESC cancel it.

svn path=/trunk/; revision=8422
2003-09-09 04:44:57 +00:00
Gerald Combs
4c19deb206 In the Find dialog add periods or dashes to the list of allowed hex
separator characters.  Update the Ethereal man page accordingly.

svn path=/trunk/; revision=8420
2003-09-09 02:41:00 +00:00
Guy Harris
81fc518ec6 From Nathan Jennings:
support for user-supplied interface descriptions;

	support for hiding interfaces in drop-down list in capture
	dialog.

Clean up comments written to preferences file.

svn path=/trunk/; revision=8419
2003-09-08 21:44:42 +00:00
Guy Harris
31bce668bd More int vs. uint.
svn path=/trunk/; revision=8409
2003-09-07 00:59:07 +00:00
Guy Harris
f6c0519c0a Support string dissector tables in the Tethereal "decode as" stuff.
Make the Ethereal "decode as" stuff not blow up with string dissector
tables.

Selectors for uint dissector tables are unsigned, not signed.

svn path=/trunk/; revision=8408
2003-09-07 00:47:57 +00:00
Guy Harris
d66f162b71 From Brian K. Teravskis: add an option to save the data in CSV form.
svn path=/trunk/; revision=8405
2003-09-06 08:30:26 +00:00
Guy Harris
807e75690b Include <string.h> to get "strcmp()" declared.
svn path=/trunk/; revision=8393
2003-09-05 20:00:02 +00:00
Ronnie Sahlberg
95b3b8ca6d Add a popup to the ServicveResponseTime tables where the user can select
Prepare/Match/FindFrame similar to chat the ConversationList has.

Only enabled for SMB and ONC-RPC at this point

svn path=/trunk/; revision=8391
2003-09-05 10:26:44 +00:00
Guy Harris
dd2080a646 Don't try to align the field filter name and name - the font would
probably be variable-width, so that doesn't work.  Just put a dash
between them.

Boost the size of the buffer used for the field text to 256 characters.

In GTK+ 1.2[.x], put the entries for fields (rather than protocols) in
as leaf nodes.

svn path=/trunk/; revision=8388
2003-09-05 06:59:38 +00:00
Ronnie Sahlberg
764972414c Add a Find Frame item to the popup menu for the conversation list
that will open the find frame dialogue and preload the filter string
with the conversation and the direction the user selected from the menu.

svn path=/trunk/; revision=8386
2003-09-05 06:16:10 +00:00
Guy Harris
a26f4d0682 If Belinda:
http://www.ethereal.com/lists/ethereal-dev/199910/msg00237.html

isn't there, don't try to display her.

svn path=/trunk/; revision=8385
2003-09-05 05:28:50 +00:00
Ronnie Sahlberg
d633bccd2f Add some more text to the filter item description in the display filter add expression dialogue
It was very cnfusing where some protocols such as SMB had multiple items all called the same thing.   Now one can distinguish between them

svn path=/trunk/; revision=8383
2003-09-05 03:32:24 +00:00
Ronnie Sahlberg
509c97f79d For endpoint conversations change how Endpoint1 and Endpoint two are selected.
Make the selction of what is endpoint 1 and what is endpoint 2
first check the port (if a port is present it will be !=0) and if
the ports are present set the lowest port as endpoint2.

If the prots are not present or the ports are identical  then compare the addresses instead.

The idea is that low port numbers usually refer to server daemons
and this sorting thus usually puts the client as endpoint 1 and the server as endpoint 2.
It is much more intuitive and makes the table much more readable.

svn path=/trunk/; revision=8381
2003-09-05 01:11:12 +00:00
Ronnie Sahlberg
51b7e878f8 Update DCERPCSTAT, change the program menu to show the programs sorted in alphabetical order
svn path=/trunk/; revision=8380
2003-09-05 00:48:58 +00:00
Ronnie Sahlberg
e3cde3715e Update to the conversations list.
Rename it from Endpoint Talkers to : Conversation List

Change command line arguments to both tethereal and ethereal
to be -z conv,<type>
to reflect the new name Conversations

This is the last time the tethereal cmd line arg is changed.  But now it has a
proper intuitive name at least.

io,users was weird
talkers was too close to names used in other tools

svn path=/trunk/; revision=8379
2003-09-04 23:37:45 +00:00
Ronnie Sahlberg
4f893552d0 fix our-of-bounds bug in teh port to string conversion routine
svn path=/trunk/; revision=8378
2003-09-04 23:12:46 +00:00
Ronnie Sahlberg
b4f94f13b6 Update to endpoint talkers. move lots of duplicated code into teh helper endpoint_talkers_table.c
svn path=/trunk/; revision=8377
2003-09-04 23:11:03 +00:00
Ronnie Sahlberg
188a4e8d81 Uglify endpoint_talkers_table.c
make it know how to build the filter strings, address and port hf_ fields properly so TCP and UDP works and is agnostic on whether ipv4 or ipv6 is used as transport

svn path=/trunk/; revision=8368
2003-09-04 11:07:51 +00:00
Guy Harris
d7c622e309 Check for "wtap_seek_read()" failing.
svn path=/trunk/; revision=8364
2003-09-03 23:32:40 +00:00
Ronnie Sahlberg
b9ce30cd35 And for Cal,
Ethereal presents   a column to display culmulative bytes into the capture.

A new column type is added : Culmulative Bytes.
While PacketLength column type specifies the number of bytes in the current packet,
Culmulative Bytes specifies the culmulative number of bytes from the start of the capture.

svn path=/trunk/; revision=8359
2003-09-03 10:49:03 +00:00
Ronnie Sahlberg
bb21d8c03c fix to various stats tables.
The code used to rely on min_time==0 to determine whether this was the first
packet or not and whereby we had to initialize min_time to the current value.

This obviously does not work for capture files with poor timestamp resolution
where the response time is actually, according to the capture file, 0
and we got all sorts of weird effects like average response time being less than the minimum response time.

note, the bug only affected the minimum response time in the tables and not max or average response time.
it would "miss" tose minimum response times that were ==0 and display the minumin response time in the capture that were >0

svn path=/trunk/; revision=8358
2003-09-03 10:10:18 +00:00
Guy Harris
fdfd8b58af The code in an HTTP reply is a response code, not a response method.
svn path=/trunk/; revision=8346
2003-09-02 23:09:11 +00:00
Guy Harris
75ae0e30c7 From Jean-Michel Fayard: BOOTP/DHCP, HTTP, and WSP statistics taps.
svn path=/trunk/; revision=8345
2003-09-02 22:47:59 +00:00
Guy Harris
71034c5a3f From Jean-Michel Fayard: show in Tools:Summary window statistics about
packets that passed the current display filter, as well as about the
entire capture.

Document the Tools:Summary item in the man page.

Update Gerald's e-mail address.

svn path=/trunk/; revision=8344
2003-09-02 22:10:32 +00:00
Gerald Combs
9d603ccc2c Make sure the color selection dialog displays a color selection widget.
Tweak the button layout slightly.

svn path=/trunk/; revision=8332
2003-09-02 18:27:50 +00:00
Ronnie Sahlberg
b0bec4d79a When putting the filename in the titlebar
just put the filename there and not the full path to the file.

svn path=/trunk/; revision=8329
2003-09-02 08:27:43 +00:00
Gerald Combs
d87e75c585 Make the capitalization of the "Name Resolution" frame consistent with the
other frames.

svn path=/trunk/; revision=8327
2003-09-01 01:49:20 +00:00
Guy Harris
f11ef57387 Include "tap.h" to get "remove_tap_listener()" declared.
svn path=/trunk/; revision=8322
2003-08-31 00:31:05 +00:00
Ronnie Sahlberg
82c1757345 Remove the individual reset functions and replace with a common one in the helpers file.
cleanup part 5?

svn path=/trunk/; revision=8320
2003-08-30 01:18:16 +00:00
Ronnie Sahlberg
ce8477a3ed step 3 in endpoint talkers cleanup
get rid of the draw_packets wrapper in the individual endpoint files

svn path=/trunk/; revision=8319
2003-08-30 01:05:03 +00:00
Ronnie Sahlberg
1b81e773a7 step two in endpoint talkers cleanup
move the windows destroy function to the common helpers file

svn path=/trunk/; revision=8318
2003-08-30 00:53:15 +00:00
Ronnie Sahlberg
7789678033 step one in endpoint talkers cleanup
svn path=/trunk/; revision=8317
2003-08-30 00:47:43 +00:00
Ronnie Sahlberg
4135309cbd Add endpoint talkers support for FDDI to ethereal and tethereal
Welcome FDDI into the endpoint talkers family.

Nobody gets left behind!

svn path=/trunk/; revision=8310
2003-08-29 10:59:12 +00:00
Ronnie Sahlberg
19a99f8a34 Make the hex to string conversion code in find_dlg.c handle ':' characters
such as you might find when doing "prepare" on a FT_BYTES field.

So one need not delete the ':' characters manually

svn path=/trunk/; revision=8309
2003-08-29 09:32:16 +00:00
Guy Harris
56664b9b77 Make the CList of character sets non-editable, so you only get to choose
from what we offer.  (XXX - should it be an option menu, instead?)

svn path=/trunk/; revision=8308
2003-08-29 04:56:46 +00:00
Guy Harris
1cf6565adc Get rid of the EBCDIC stuff in the find dialog - it's not supported yet,
so we shouldn't torment the users by offering it.

Check the string type and convert it to an internal representation in
the GUI code; have the search code deal only with the internal
representation.

Save the case-sensitivity flag, and the indication of where string
searches look, along with other search parameters.

Upper-casify the string, for case-insensitive searches, in the GUI code;
don't save the upper-casified string, so it doesn't SHOUT at you when
you next pop up a "find" dialog.

Convert the hex value string to raw binary data in the GUI code, rather
than doing so in the search code.  Check that it's a valid string.

Connect the signals to the radio buttons after the pointers have been
attached to various GUI items - the signal handlers expect some of those
pointers to be attached, and aren't happy if they're not.

Have "find_packet()" contain a framework for searching, but not contain
the matching code; instead, pass it a pointer to a matching routine and
an opaque pointer to be passed to the matching routine.  Have all the
routines that do different types of searching have their own matching
routines, and use the common "find_packet()" code, rather than
duplicating that code.

Search for the Info column by column type, not by name (the user can
change the name).

When matching on the protocol tree, don't format the entire protocol
tree into a big buffer - just have a routine that matches the text
representation of a protocol tree item against a string, and, if it
finds a match, sets a "we found a match flag" and returns; have that
routine not bother doing any more work if that flag is set.
(Unfortunately, you can't abort "g_node_children_foreach()" in the
middle of a traversal.)

Free the generated display filter code after a find-by-display-filter
finishes.

svn path=/trunk/; revision=8306
2003-08-29 04:03:46 +00:00
Guy Harris
2af6770410 From Greg Morris: put borders around the options to delimit them and
indicate where they apply, and give tooltips to some of the options.
Disable the "Filter:" button unless we're searching with a display filter.

Use "Frame data" instead of "Hex" for the option to search the raw frame
data, use "Decoded packet" instead of "Decode" for the option to search
the strings in the protocol tree display, and use "Packet summary"
instead of "Summary" for the option to search the Info column in the
packet list display, to make it a bit clearer what's being searched.

svn path=/trunk/; revision=8303
2003-08-28 23:25:55 +00:00
Olivier Abad
0c678f74c7 Marking packets with the middle mouse button works now with GTK2.
svn path=/trunk/; revision=8301
2003-08-28 20:33:14 +00:00
Guy Harris
2d71f3589d Use "GPOINTER_TO_INT()" to convert the return value of
"gtk_clist_get_row_data()" to an "int", to squelch compiler warnings.

svn path=/trunk/; revision=8286
2003-08-27 23:01:10 +00:00
Guy Harris
115700bc62 From Richard Urwin:
use Export and Import for the buttons in GTK+ 2.x as well;

	get rid of a duplicate fclose;

	other fixes.

Update the description of color filters in the Ethereal man page to
reflect the change, clean up the formatting (use =item), and add the
global and personal color filters files to the FILES section; refer to
them as "color filters" files rather than "colorfilters" files, as the
FILES section gives the "colorfilters" file name so you don't have to
use that as the name.

Clean up white space.

svn path=/trunk/; revision=8285
2003-08-27 22:55:51 +00:00
Ronnie Sahlberg
a7d0d4bf16 update to the talkers popup list.
hopefully it will now create the filter for the actual conversation
we selected.

add EP1 <-> ANY and EP2 <-> ANY fitlers

svn path=/trunk/; revision=8283
2003-08-27 21:54:36 +00:00
Gilbert Ramirez
52338a3baf Add a "contains" operator for byte-strings, strings, and tvbuffs (protocols).
The search uses a naive approach; more work is required to add a
Boyer-Moore Search algorithm.

svn path=/trunk/; revision=8280
2003-08-27 15:23:11 +00:00
Ronnie Sahlberg
d3562c0480 Updates for the endpoint talkers thing
The table now has a popup menu with
   Match display filter
         Selected
               EP1 <-> EP2
               EP1 --> EP2
               EP1 <-- EP2
               EP1 --> ANY
               EP1 <-- ANY
               EP2 --> ANY
               EP2 <-- ANY
          Not Selected
               ...
          ...
    Prepare Display Filter
          ...

Self explanatory.

Now the bad news.
I set the display filter box in the main window and i call redissect_packet
which redissects the packet list   but the displayfilter does not take
or affect the main window until i click  the apply button.

Some signal needs to be raised to some object me thinks.

Please feel free to fix it if you know what is missing.

svn path=/trunk/; revision=8279
2003-08-27 12:10:21 +00:00
Guy Harris
f91af72c55 All endpoint talkers table taps use "address_to_str()" as the routine to
use to translate addresses to strings - wire that into
"endpoint_talkers_table.c", don't pass the function as an argument to
"init_ett_table()".

svn path=/trunk/; revision=8263
2003-08-26 01:46:23 +00:00
Guy Harris
e22b6afeb7 From Matthijs Melchior:
make the "Help" menu the rightmost menu item, as is done in

		recent versions of Windows;

		Mac OS X;

		recent versions of KDE;

		recent versions of GNOME;

	rather than making it an item on the far right side.

	Make the "Protocol" display in the help mention the number of
	entries, and give it has 3 columns, starting with the one that
	was used to sort this list.

	Make the "Display Filters" display mention the number of fields
	for each protocol and at the end the total number of fields.
	Give it 4 columns, including the 'blurb'.

	List all fields with the correct protocol.

svn path=/trunk/; revision=8253
2003-08-25 21:42:33 +00:00
Ronnie Sahlberg
cd016e69a9 Update to IO-Stat to put the capture filename on the titlebar
to make it easier to navigate when having multiple instances of ethereal
and io-stat open
at the same time.

Updates to all endpoint talkers and service response time windows to do this as well.

Bonus, when the user opens a new capture file when having these windows open,
the title bar will be updated to reflect the name of the new capture file.

svn path=/trunk/; revision=8251
2003-08-25 11:06:32 +00:00
Guy Harris
e4e0150ffa From Matthijs Melchior:
support for registering fields after all the protocol
	    registration routines are called (i.e., adding fields to the
	    named field tree as they're registered);

	fix the GTK 2.x version of the field list dialog to show the
	    correct name.

svn path=/trunk/; revision=8248
2003-08-25 00:15:02 +00:00
Guy Harris
7540493b20 Get rid of the wrappers around "address_to_str()".
svn path=/trunk/; revision=8245
2003-08-24 22:34:32 +00:00
Ronnie Sahlberg
0f9440cb55 The IPX endpoint talkers implementation
svn path=/trunk/; revision=8241
2003-08-24 05:39:05 +00:00
Ronnie Sahlberg
38e52de283 Add endpoint talker support for IPX
svn path=/trunk/; revision=8240
2003-08-24 05:38:23 +00:00
Ronnie Sahlberg
bcfc2719b9 Update address_to_str to handle FC and ETH addresses as well.
Update the fc and eth and tr  endpoint talker list to use the new api

svn path=/trunk/; revision=8235
2003-08-24 03:00:11 +00:00
Ronnie Sahlberg
521db7b61f Add a new function address_to_str to to_str.c
Implement conersion from address to string for IPv4 and IPv6
and update the conversation tables to use the new interface.

svn path=/trunk/; revision=8234
2003-08-24 02:50:32 +00:00
Guy Harris
03ff66eefb Cast the argument to "ip6_to_str()" to avoid compiler warnings.
Use "%u", not "%d", for unsigned values.

svn path=/trunk/; revision=8232
2003-08-24 01:39:55 +00:00
Guy Harris
1edf69590f Cast arguments to "g_free()" to avoid compiler warnings (those are known
to be mallocated, so it's safe to cast them).

Use "%u", not "%d", for unsigned values.

svn path=/trunk/; revision=8231
2003-08-24 01:39:04 +00:00
Guy Harris
5b70103557 Use "ip_to_str_buf()" to turn a pointer to an IP address to a string.
svn path=/trunk/; revision=8230
2003-08-24 01:37:34 +00:00
Ronnie Sahlberg
7f0f29dced Write Token Ring as Token Ring and not TokenRing
svn path=/trunk/; revision=8225
2003-08-23 13:58:54 +00:00
Ronnie Sahlberg
cb92d3284b Update the UDP and the TCP conversation list tool so that it can handle IPv6 as well.
Make no distinction between UDP/TCP over IPv4 and UDP/TCP over IPv6
and present them in the same list.

svn path=/trunk/; revision=8224
2003-08-23 13:56:40 +00:00
Ronnie Sahlberg
5cf0634041 Add FibreChannel to the types of protocols we can show a conversation list for
svn path=/trunk/; revision=8223
2003-08-23 13:35:06 +00:00
Ronnie Sahlberg
ba74395cbe New feature. Statistics/EndpointTalkjers can now present a sortable table with a list of all seen conversations of a certain type.
Supported types are Ethernet/TokenRing/IP/UDP and TCP.
Will add FibreChannel soon.

The framework for this feature needs to be enhanced in the future so that by selecting one entry and click the right mousebutton, this will bring up a menu with  Prepare/Match options  with suboptions for AnyDirection, ForwardOnly or ReverseOnly   which updates the display filter accordingly.

Had to update some of the taps as well to change them to use a proper address structure for the address fields.
We should now be able to to these stats correctly even for ip tunneled over ip tunnelled over ip ...

svn path=/trunk/; revision=8222
2003-08-23 09:09:35 +00:00
Guy Harris
1208c206f7 From Lars Roland:
A scrollable GtkCList is used now for both GTK1 and GTK2.

	Removed "overall" line from statistics table. It is not useful.

	"Response Time Delay" was renamed into "Service Response Time".

	Menu Item moved to "Service Response Time" folder.

	As Ronnie suggested, the active display filter is now used as
	default statistics filter.

svn path=/trunk/; revision=8205
2003-08-21 17:48:04 +00:00
Guy Harris
23f105da58 Construct the About box ourselves, so it has the title "About Ethereal"
and doesn't have a message-box-type icon.

This might want to be tweaked further, to more closely resemble various
desktop environments' About boxes (although what's appropriate might
depend on the environment).

svn path=/trunk/; revision=8194
2003-08-19 20:35:33 +00:00
Ronnie Sahlberg
4ea90cdabc Update to the Response Time Statistics taps.
SMB/FC/ONC-RPC/DCE-RPC now all use the default tap filter string as the
same filter string as is used in the main window instead of using a default
NULL filter string.

The idea is that if you have applied a certain filter to your main window, it
is likely that if you want to invoke the response time statistics feature you
probably want to do the response time statistics over the same set of packets, i.e. the ones you see in the main window.

svn path=/trunk/; revision=8192
2003-08-19 10:09:20 +00:00
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