it's a pain to have to keep typing the same filter over and over again
if you're trying multiple captures of the same type of traffic. At
least with GTK+ 2.x, the text of the filter is selected, so if you start
typing a new filter it'll replace the default filter.
svn path=/trunk/; revision=12212
of entries in it and check that many entries - that squelches a compiler
warning.
From Alejandro Vaquero: get rid of an unused argument to
"rtp_packet_add_graph()".
svn path=/trunk/; revision=12201
puts a separate copy in every file that includes "h323_conversations.h",
even if it doesn't use that copy. Instead, define it in
"h323_conversations.c" and declare it in "h323_conversations.h".
svn path=/trunk/; revision=12179
RTP graphic analysis;
assorted bug fixes;
display delay and jitter in milliseconds, and add the percentage
of lost packets to the statistics.
svn path=/trunk/; revision=12166
Having a closer look at the new and very useful H323 Call Analysis
feature, I have found some bugs and unnecessarily complicated code for
managing the registration of the tap listeners. So I decided to rewrite
this part of the source code. This part of the code is much smaller now.
Unnecessary and wrong calls of register_ethereal_tap() and
register_tap_listener_xxx() have been removed or replaced.
I also fixed a bug with RAS Messages.
svn path=/trunk/; revision=12149
not "Save".
In UN*X with GTK+ 2.x, put the affirmative button in file dialogs to the
right of the cancel button, as is done with other dialogs.
svn path=/trunk/; revision=12146
before applying any other preferences, as, before we've applied them,
the internal state of the preferences in some dissectors might be
inconsistent (for example, the 802.11 dissector might've had its
number-of-WEP-keys preference increased but might not yet have allocated
a table for the WEP keys), and, as "gui_prefs_apply()" could cause a
redissection when redisplaying, that could cause dissectors to
malfunction (e.g., crash).
svn path=/trunk/; revision=12102
giFT, iSCSI, and iSNS don't show up at the end. Protocol short names
are ASCII, so just use "g_ascii_strcasecmp()".
Clean up white space.
svn path=/trunk/; revision=12020
records by tw fields: base (for integers), and blurb
Add a "-G values" option which shows value strings and true_false strings for
the fields that have them.
svn path=/trunk/; revision=11954
1.2[.x] has, and we support GLib 1.2[.x] - "g_string_append_printf()" is
just the new name for "g_string_sprintfa()", and you can still use
"g_string_sprintfa()" in GLib 2.x, so use that instead.
svn path=/trunk/; revision=11900
really more of an Ethereal/Tethereal component than a libethereal
component (nothing else in libethereal knows about capture files); move
it back out of libethereal. (The range stuff doesn't; we leave it in
libethereal.)
svn path=/trunk/; revision=11898
they should ultimately be split into files with routines that handle
ranges, which are just subsets of [0,2^32), and packet ranges, which are
subsets of the packet list, possibly specified by a range.
Move them into epan, so they can be used by, for example, utilities that
handle ranges, such editcap.
svn path=/trunk/; revision=11890
As the FileChooser dialog (GTK2.4) doesn't seem to let pass other GTK events (even with calling gtk_main_iteration()), it's not possible to change the preview behaviour to be more keen. To get a mechanism to update the preview independant from the dialog workings, we would need to start a new thread/task, which is too much effort for this IMHO.
So we might use the more simple approach of setting the timeout by a preference setting.
svn path=/trunk/; revision=11856
the widget in question gets more than one parent if more than one pane
is marked as "None", and GTK_ doesn't like that. Instead, just have
"main_widget_layout()" return a null pointer for "None" panes, and don't
put the pane into the pane splitter if that pane is null.
Clean up the handling of layouts.
svn path=/trunk/; revision=11855
already been marked and have unmark_frame() do likewise. Don't mess
with the marked frame count in mark_all_frames().
Be a little more paranoid about the marked frame count in other places.
svn path=/trunk/; revision=11775
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
"print_ok_cb()", and have "print_packets()" just work on a
"print_stream_t" handed to it, so that different platforms can open the
printer/print file in different ways (opening the file is probably not
going to be platform-dependent, but opening the printer will be).
svn path=/trunk/; revision=11544
a structure containing a pointer to print operations for that object and
a pointer to the private subclass-dependent data for that object, with
subclasses for text and PostScript, and use those rather than the old
scheme where a print format was passed as an argument - or where (as in
the case of printing summary information in Tethereal) we just printed
as text even if "-T ps" was selected.
Check whether those routines succeed or get an I/O error writing output.
Clean up indentation.
svn path=/trunk/; revision=11514
as they're now (theoretically) toolkit-independent (modulo changes that
might be required to the code to update filter lists when a new filter
is read in).
svn path=/trunk/; revision=11500
although it currently takes a pointer to a GtkWidget as its second
argument, that argument is actually a "void *", so it's sort-of
toolkit-independent.
That lets us get rid of all GTK+ references in "gtk/color_filters.c", so
we can move it up to the top-level directory; get rid of the <gtk/gtk.h>
include, in favor of a <glib.h> include.
svn path=/trunk/; revision=11499
but toolkit-dependent implementations, for manipulating colors, and have
"gtk/color_utils.h" declare them (the header file should eventually be
moved to the top-level directory). Move the routines to convert between
GdkColor and color_t out of there into "colors.c", and move their
declarations into "colors.h", as their APIs are toolkit-dependent.
Have the first such routine be a "create_color()" routine, which takes
RGB values and initializes a "color_t", including doing any
toolkit-dependent work necessary for that; use that in the
"gtk/color_filters.c" code (the goal is to remove as many of the toolkit
dependencies as possible from that code, and move it to the top-level
directory).
svn path=/trunk/; revision=11497
pointers, for the background and foreground color, as arguments, and
have its callers generate them from GdkColor values.
svn path=/trunk/; revision=11495
"epan/packet_info.h" and put it in "epan/address.h".
Use the AT_ values from "epan/address.h" for address types in the
interface lists rather than having our own FAM_ enums.
svn path=/trunk/; revision=11427
Also move ncp222.py, x11-fields, process-x11-fields.pl,
make-reg-dotc, and make-reg-dotc.py.
Adjust #include lines in files that include packet-*.h
files.
svn path=/trunk/; revision=11410
counts since the last call, not since the beginning of the capture, on
Windows, that's a bug - and that bug *does* exist on some UN*Xes).
Clean up indentation.
Use the minimum snapshot length, not the maximum snapshot length, when
opening a network interface to keep track of how many packets are
arriving on it (that might cause packet data to be discarded rather than
buffering it, reducing the overhead of running all those captures from
which we don't actually grab any packets.
svn path=/trunk/; revision=11404
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
definition to Subversion. "svn info" prints out the last changed date
of the repository, so we don't have to go hunting through "CVS/Entries"
files anymore.
svn path=/trunk/; revision=11379
array are all "g_free()"d, so they have to be "g_malloc()"ed - instead
of setting some to "", set them to "g_strdup("")".
svn path=/trunk/; revision=11370
"gtk/isprint.h", and include that in "follow_dlg.c" (which wasn't
including "gtkglobals.h" and thus wasn't getting the redefinition) and
"proto_draw.c" (which was including "gtkglobals.h" but now needs to
include "isprint.h" as well).
svn path=/trunk/; revision=11355
values in the "recent" file. Also, check for syntax errors in numerical
values.
Set the main window height, as well as the main window width, to default
values before we read in the values from the "recent" file. (Use
non-positive values here if you want the default to be "don't set the
geometry" - note that you can't set one to a positive value and the
other one to a non-positive value and expect only one to be set; they
*both* have to be positive in order for the size to be set.)
Treat non-positive values for those settings in the "recent" structure
as an indication that we don't have values from them and that we should
therefore not set the window size.
svn path=/trunk/; revision=11353
the "text vs. PostScript" choice. The "text vs. PostScript" choice
should probably ultimately be done with a generic set of print methods,
to handle various platform-native print mechanisms more cleanly (and
perhaps the dialog box code for "export as {PDML,PSML}" should be
separate from the "export as text"/"print" dialog).
svn path=/trunk/; revision=11342
doing a "show all" followed by a "hide"; that way we don't get a tiny
window that pops up briefly and disappears.
Get rid of the additional positioning of the splash screen -
"splash_window_new()" does that for us.
Expand some comments.
svn path=/trunk/; revision=11331
insecure code by not-working code. As I currently lack the time to fix
this properly until Monday as the earliest possible date I undo the patch.
Please note that Ethereal should not be used on multiuser systems with
untrusted users until a proper fix has been applied.
svn path=/trunk/; revision=11263
- moved doxygen.cfg to doxygen.cfg.in and let configure to the substitution
on unix. Adapted the namke files accordingly.
- Don't add doxygen as a dependency for libethereal and libui: As doxygen is
an unconditional target, this would cause the applications to be rebuild
every time make was called, even when nothing changed in the meantime.
This means that by now we need to do "make doxygen" manually in case we
want updated documentation.
svn path=/trunk/; revision=11238
Rename "browser_open_program_file()" to "browser_open_data_file()", and
make it open files relative to the application's data directory, as
that's where data files such as HTMLized man pages would be put. (That
happens to be the program directory on Windows, but it's a different
directory on UN*X - and you aren't guaranteed to be able to find the
program directory on UN*X by looking at argv[0] in any case.) Move it
to "gtk/webbrowser.c".
Fix "filename2url()" to put "file://", not just "file:", in front of
pathnames on UN*X.
svn path=/trunk/; revision=11216
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
This matters for "update of list in real time" (sync_mode) only,
as in normal mode you wouldn't otherwise have the possibility
to stop the capture.
svn path=/trunk/; revision=11194
This will prevent getting the preview information take a lot of time for
*very* long capture files. However, on a Pentium-M 1.6 even a 35MB
capture file will not timeout in this 3 second interval.
svn path=/trunk/; revision=11192
Make "cf_name" a "const gchar *", as, at least in GTK+ 2.x, a "const
gchar *" is assigned to it. (If it's just a "gchar *" being assigned to
it, declaring it a "const gchar *" does no harm.)
svn path=/trunk/; revision=11190
before the start time, due to packet time stamp bogosity, neither a
signed value nor an unsigned value will give a sensible answer, and it
doesn't need to be a "long" as the capture's unlikely to span more than
2^32-1 seconds, again modulo packet time stamp bogosity). That
eliminates some format item vs. value warnings.
Make the packet count an "unsigned int" (it can't be negative, and we're
unlikely to have more than 2^32-1 packets - and, if we are, it should be
made a guint64). That eliminates some more format item vs. value
warnings.
Initialize "start_time" and "stop_time" to 0, so that we handle files
with no packets (and so that we don't get uninitialized variable
warnings).
Display the file size with PRIu64, after casting it to "guint64" (that
way we handle file sizes if they're "unsigned int", "unsigned long", or
a 64-bit type on ILP64 platforms (it's 64 bits in BSDs derived from
4.4BSD, even on ILP64 platforms).
Mark the first argument to "file_open_entry_changed()" as unused.
Don't use G_CONST_RETURN, as it's not defined by GLib 1.2[.x].
Get rid of an unused variable.
Clean up white space.
svn path=/trunk/; revision=11189
"long").
Make "elapsed_time" an "unsigned int" rather than an "unsigned long" -
2^32-1 seconds is about 136 years, so on LP64 machines that won't
matter, and on ILP32 machines it doesn't make any difference, but it
*does* generate compiler warnings from "%u" being used with "unsigned
long" values.
svn path=/trunk/; revision=11181
and the error message includes "Not enough storage is available
to process this command" or "The operation completed successfully",
suggest that the user install a WinPcap version later than 3.0 - this is
definitely a Frequently Asked Question on the Ethereal list.
svn path=/trunk/; revision=11143
and "Decode As" dialogs (so that you can cut down the size of the
protocol lists in those dialogs by disabling "uninteresting" protocols).
svn path=/trunk/; revision=11132
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
and "gtk_file_chooser_set_filename()" requires an absolute path, so ""
isn't valid. Get rid of the "gtk_file_selection_set_filename()" call in
"file_selection_new()".
Put in a comment asking why we're using
"gtk_file_selection_set_filename()" at all.
svn path=/trunk/; revision=11095
declaration.
Give the address and port arguments to "add_hostlist_table_data()"
appropriate names and Doxygen comments (they're not a source address and
port, they're just an address and port), and do the same for the address
and port members of a "hostlist_talker_t".
Get rid of extra unnecessary variables in "add_hostlist_table_data()".
Clean up indentation.
svn path=/trunk/; revision=11066