This includes: all functions in file.h now have a cf_ prefix, will have doxygen tags, will have the capture_file *cf as the first parameter and I tried to generalize the return values for non trivial functions.
Hopefully, I didn't introduced any new bugs, as I had to change a lot of files...
svn path=/trunk/; revision=13289
I might later add something like "View/Auto Resize Columns" with a checkbox menu item, so this is done everytime a capture file finished loading. However, I don't know how well this will work together with "Update list of packets in real time" while doing a capture.
svn path=/trunk/; revision=13192
If we would allow selecting multiple packets in the packet list in the future, this option would print all selected packets.
svn path=/trunk/; revision=13169
However, if someone (already) want's to try out right now, you simply have to remove the comments in menu.c around line 430
svn path=/trunk/; revision=13091
include of <resolv.h> in any system header file gets the system
<resolv.h> (needed for builds on Tru64 with GTK+ 1.2[.x]).
svn path=/trunk/; revision=11615
they have LF at the end of the line on UN*X and CR/LF on Windows;
hopefully this means that if a CR/LF version is checked in on Windows,
the CRs will be stripped so that they show up only when checked out on
Windows, not on UN*X.
svn path=/trunk/; revision=11400
webpages from http://www.ethereal.com. This functionality is copied from
the Gimp.
Win32 will use ShellExecute to use the system registered webbrowser.
On unix builds, currently the mozilla browser is hardcoded, we still need a
preference setting for this (I will add this later).
svn path=/trunk/; revision=11206
defining them.
Move declarations of some callbacks outside the source files using them
into the appropriate header, and arrange that the appropriate header is
included by those source files.
Move the SAT_E definition into a "sat.h" file, included both by
"endpoint_talkers_table.h" and "hostlist_table.h", so that both of the
latter headers can be included by the same file ("menu.c" has to include
both, as per the change in the previous paragraph).
svn path=/trunk/; revision=11096
changed window_xy (dialog) function calling in a lot of gtk files
cleanup of file selection code
cleanup in dlg_utils/file_dlg/ui_util
Please report any problems!!!
svn path=/trunk/; revision=11003
added a notebook tab with some directory infos (still incomplete and ugly)
cleaned up #includes in main.c (hoping this didn't break the build on unix)
svn path=/trunk/; revision=10925
main window widgets, rather than requiring a relayout if the visibility
of the main toolbar, filter toolbar, or statusbar is changed.
Clean up indentation.
svn path=/trunk/; revision=10796
to re-lay-out the main window, we just need to change the visibility of
the appropriate widgets - that reduces the amount of drawing done,
speeding things up a little and reducing flicker.
svn path=/trunk/; revision=10795
coloring rules Ethereal uses (yes, those views affect the way the
packets are displayed, but that also applies to at least some the
preferences, which are in Edit->Preferences).
Get rid of the "Show" menu under "View", moving the items up to the main
"View" menu, as per the GNOME HIG. Give some of them accelerators, and
change the accelerators for some other "View" items to avoid collisions.
svn path=/trunk/; revision=10780
add Expand Tree to the View menu;
make the Expand Tree context menu active iff the
currently-selected item has a subtree;
fix the GTK2 code for Expand Tree.
svn path=/trunk/; revision=10415
put the definition of it back under HAVE_LIBPCAP and don't add an extra
declaration in "file.h", as there's no longer code that needs to refer
to it if HAVE_LIBPCAP isn't defined.
svn path=/trunk/; revision=10350
called "IO stats" now "Throughput Graph" as this might be somewhat more descriptive IMHO.
Same applies to the "TCP Stream Analysis" -> "TCP Stream Graphs"
svn path=/trunk/; revision=10203
now sorted by ISO-layer, than alphabetically (now longer by functionality).
Seperated the tap registering from the actual menu making stuff,
so the seperate step of registering the tap and the menu is no longer needed.
Removed all things related to this double registering.
svn path=/trunk/; revision=10180
available if *any* forms of name resolution aren't enabled. (Well,
actually, it should probably affect only the item the mouse was over
when you selected it, and should be available if name resolution for
that type of name isn't enabled, but....)
svn path=/trunk/; revision=10056
Mac OS X
GNOME
Qt
KDE
Windows
all indicate that {message,alert} boxes are modal, at least for the
window to which they apply. (Presumably the idea is that not forcing
the user to pay attention to the alert box, and allowing more than one
alert box to be up for a given window, causes more problems than not
letting the user do stuff to that window in order to figure out what the
underlying problem is or figure out what to do to fix it - the message
should be sufficient, in most if not all cases, to let you know what the
problem is.)
Make "simple_dialog()" unconditionally make the alert box modal, and get
rid of ESD_TYPE_MODAL. XXX - we need to make it possible to make an
alert box modal for a given window, rather than just the top-level
window.
svn path=/trunk/; revision=10051
"tap_menu.h" file, and have the Ethereal taps include that rather than
"menu.h", so we don't have to worry about making sure we've included
<stdio.h> to define FILE, etc. just because some "menu.h" functions
require it.
svn path=/trunk/; revision=10031
as that seems to be the name used in the GNOME HIG, at least. Make it
use the Warning icon (that's what the GNOME HIG says - and it's also
what's used for the equivalent on Windows), and use it for the "Save
current capture?" alert boxes.
svn path=/trunk/; revision=10030
simple_dialog routines (which are really just message box/alert box
routines).
Add some macros for combinations of buttons (corresponding to
combinations that some GUI toolkits, which only support some
combinations, allow).
svn path=/trunk/; revision=9977
using GTK2 primary/secondary message text from GNOME HIG for simple_dialogs,
added a "question dialog" for the coloring rules "Clear" button
svn path=/trunk/; revision=9921
don't show up this dialog if no data *is* selected (didn't find an easy way
to control sensitivity of the menus by some mechanism :-(
svn path=/trunk/; revision=9891
addition to an error code, an error info string, for
WTAP_ERR_UNSUPPORTED, WTAP_ERR_UNSUPPORTED_ENCAP, and
WTAP_ERR_BAD_RECORD errors. Replace the error messages logged with
"g_message()" for those errors with g_strdup()ed or g_strdup_printf()ed
strings returned as the error info string, and change the callers of
those routines to, for those errors, put the info string into the
printed message or alert box for the error.
Add messages for cases where those errors were returned without printing
an additional message.
Nobody uses the error code from "cf_read()" - "cf_read()" puts up the
alert box itself for failures; get rid of the error code, so it just
returns a success/failure indication.
Rename "file_read_error_message()" to "cf_read_error_message()", as it
handles read errors from Wiretap, and have it take an error info string
as an argument. (That handles a lot of the work of putting the info
string into the error message.)
Make some variables in "ascend-grammar.y" static.
Check the return value of "erf_read_header()" in "erf_seek_read()".
Get rid of an unused #define in "i4btrace.c".
svn path=/trunk/; revision=9852
don't give their menu items a "...", as that's for menu items that pop
up dialog boxes to ask you for more information.
Give them menu accelerators that don't clash with other accelerators.
svn path=/trunk/; revision=9760
b.) added new feature "Edit->Go To First Packet" "Edit->Go To Last Packet" with corresponding menu and toolbar items
c.) added new feature "View->Zoom In" / "View->Zoom Out" / View->Normal Size" with corresponding menu and toolbar items
This feature will act as a "size offset" to the current fontsize, so that the packet list/tree view/... will have a larger/smaller font size.
The value is stored inside the recent file.
d.) Win32 only: Try to get the win32 system font and fontsize at program startup and show the menus/dialogs and such with the same font and fontsize like other win32 windows.
This makes the program make a *lot* more feel like a normal win32 program.
svn path=/trunk/; revision=9753
it's only used in the latter; that avoids lots of warnings about
"ts_type_text" being defined but not used in other source files that
include "epan/timestamp.h". (If it's going to be used in more than one
file, make it non-static and declare it "extern" in "epan/timestamp.h".)
Define TS_NOT_SET as ((ts_type)-1), and use that when initializing
"timestamp_type" in Ethereal and when checking to see whether
"timestamp_type" was set, to avoid signed vs. unsigned comparison
warnings.
Clean up indentation.
svn path=/trunk/; revision=9740
menuitems under "View->Time Display Format".
renamed timestamp enum items e.g. from ABSOLUTE to TS_ABSOLUTE,
to prevent conflicting definitions with MSVC
svn path=/trunk/; revision=9729
to add functionality or improve performance, although, until we make it
work on GTK+ 1.3[.x] and 2.x, we shouldn't count on the performance
improvements, or make its API different from that of the GtkClist API
(other than names).
Move all the code that knows about the packet list into
gtk/packet_list.c, so that the GtkClist vs. EthClist stuff is
encapsulated inside it.
svn path=/trunk/; revision=9608
Now all we need is some enterprising individual to write the small amount of
preferences code to actually allow it to be changed etc, but I have to go to
Costco, so, later...
svn path=/trunk/; revision=9463
"opened capture files" and "display filter used",
the settings will be saved in the file "recent" in the users config path
svn path=/trunk/; revision=9275
rename it to select_file_cb to reflect its function.
While this cleans things up a bit, I am still not happy because now
filter_prefs.h must be included before file_dlg.h just to get
construct_args_t.
svn path=/trunk/; revision=9119
data to a file. This allows the user to select some stuff, and analyse it with
external tools, and is very useful for quickly prototying dissectors etc.
This works by retrieving the info that is needed to define where the selected
region is.
It puts up a dialog box that asks for the file to save in.
However, it is an ugly hack, because it reuses print_file_cb, while
print_file_cb should be moved into file_dlg.c.
It also needs to have some warning dialogs put up in error cases.
Finally, it would be good to be able to select a region in the byte_view,
which you can do with click and drag, and then have a menu item to save the
selected bytes.
svn path=/trunk/; revision=9116
open.
The toolbar equivalent should *not* be available if we have an "Update
list of packets in real time" capture running.
The toolbar "Save" button should not be available if we don't have an
unsaved capture file.
svn path=/trunk/; revision=8902
"selected_tree_row_enabled()" routine, enable it by default, so that
tap windows can be popped up even if you have no capture file.
Assorted code cleanups.
svn path=/trunk/; revision=8740
"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
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
Tools/Statistics; change the taps to put things under Statistics
themselves. That allows taps to go elsewhere if appropriate.
svn path=/trunk/; revision=8488
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
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
"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
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
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
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
"{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
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
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
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