Age | Commit message (Collapse) | Author | Files | Lines |
|
we figure out what the real bug is.
Fix set_last_open_dir() to use G_DIR_SEPARATOR and G_DIR_SEPARATOR_S
for cross-platform compatibility.
svn path=/trunk/; revision=3281
|
|
file-selection dialogue to open the directory and show its
contents, otherwise it opens the parent directory and shows *its*
contents.
svn path=/trunk/; revision=3279
|
|
for Win32, and show a slightly more informative (i.e., geared to the
user) help message when trying to capture without having WinPcap installed.
svn path=/trunk/; revision=3261
|
|
That means that I no longer need to distribute capture and non-capture
versions of Ethereal for Win32; one version (compiled with WinPcap headers)
can run on systems with or without WinPcap.
For systems that don't have WinPcap, instead of disabling the Capture
menu, Capture|Start brings up a dialogue informing the user that wpcap.dll
was not loadable, and gives a URL to the WinPcap home page.
svn path=/trunk/; revision=3249
|
|
"find_last_pathname_separator()" on Win32; move the other pathname
manipulation routines from "util.c" into "epan/filesystem.c".
Remove from "util.h" the declarations of routines not defined in
"util.c", and put them into "epan/filesystem.h" if they're not already
there.
Adjust #includes to make the above work.
svn path=/trunk/; revision=3241
|
|
and "u_char" aren't declared in <sys/types.h> in Win32, you have to
include <winsock.h>, which is a pain.
Throw in some "const"s while we're at it.
svn path=/trunk/; revision=3240
|
|
allow the passing of register_all_protocols() and
register_all_protocol_handoffs() through epan_init() to proto_init().
This allows the removal of the compile time dependence of proto.c
on register.h. Modified dftest.c, tethereal.c, and gtk/main.c to
use the new style epan_init() and depend on register.h.
svn path=/trunk/; revision=3237
|
|
a better chance of them fitting horizontally into the window, for
users of small screens.
svn path=/trunk/; revision=3203
|
|
"gtk/main.c" in Ethereal.
Add the GLib version to it in Ethereal, and put in the GLib version
rather than the GTK+ version in Tethereal (which isn't linked with
GTK+...).
Make it a GString; this makes the code to construct it slightly less
ugly, especially now that we're putting the GLib version in.
Fix the code for the "-D" flag in Tethereal to compile in a no-libpcap
version (in a no-libpcap version, it just says that this version of
Tethereal wasn't compiled with capture support).
svn path=/trunk/; revision=3196
|
|
list argument.
svn path=/trunk/; revision=3195
|
|
svn path=/trunk/; revision=3189
|
|
svn path=/trunk/; revision=3188
|
|
"gtk/main.c", and declared in "gtk/gtkglobals.h".
The last argument to "gtk_object_set_data()" is a "gpointer"; cast it to
that.
svn path=/trunk/; revision=3186
|
|
svn path=/trunk/; revision=3185
|
|
has an API that depends on GTK+. "set_main_window_name()" is
UI-toolkit-independent. Declare the former in a new "gtk/ui_util.h"
file, rather than in "ui_util.h"; this helps separate
UI-toolkit-independent stuff from UI-toolkit-dependent stuff.
svn path=/trunk/; revision=3181
|
|
"gtk/packet_win.h", along with the declarations of the other packet
window manipulation routines; put it there.
svn path=/trunk/; revision=3180
|
|
as, on a large capture, it could take a significant amount of time.
Let the user stop the computation and, if they do, don't pop up the
statistics dialog box.
Create a new header file declaring the routines to create, update, and
destroy progress dialog boxes; those routines' APIs don't depend on
GTK+, but others declared in "ui_util.h" do, and we don't want to oblige
a source file to depend on GTK+ headers unless it uses a GTK+ API or an
API that depends on GTK+.
svn path=/trunk/; revision=3179
|
|
svn path=/trunk/; revision=3176
|
|
svn path=/trunk/; revision=3166
|
|
Tvbuffers changed to added the data source name,
GUI and printing code changed to support these changes
and display the multiple hex views.
svn path=/trunk/; revision=3165
|
|
svn path=/trunk/; revision=3163
|
|
organizes the protocols in the same hierarchical order in which
they are found in the packet.
The GUI needs some more refinement (placment of vertical
scrollbar, style of GtkCTree, initial sizing of window).
I need to add an option to honor/not honor the current display filter.
svn path=/trunk/; revision=3162
|
|
a byte in the hex dump,
1. Fix an off-by-one error when finding the field. This only showed up
if the selected byte had no field of its own and was only designated
as part of the parent protocol (like the 00-padding at the beginning of
TCP options).
2. Fix an off-by-one error when clicking on a character in the second
half of the "text dump" portion of the hex dump. I forgot about the
extra space between the first 8 characters and the second 8 characters.
svn path=/trunk/; revision=3117
|
|
enumerate the protocols, as that
1) gives you the protocols in dictionary order;
2) leaves out the non-protocol "text";
3) doesn't even bother to show you non-protocols, so you don't
have to check for them.
svn path=/trunk/; revision=3115
|
|
svn path=/trunk/; revision=3100
|
|
at least some invalid filter expressions.
svn path=/trunk/; revision=3099
|
|
routines need it.
When a user clicks on a hex digit or on the corresponding character
(the "text dump" portion) in the hex dump, find the field in the
proto_tree that the byte corresponds to, expand the GtkCTree so that
the field is viewable, select the field, and center it vertically.
LanAlyzer has this feature, and I've missed it in Ethereal.
svn path=/trunk/; revision=3096
|
|
process.
svn path=/trunk/; revision=3094
|
|
protocol GUI.
svn path=/trunk/; revision=3091
|
|
stretch itself due to a really wide notebook widget.
svn path=/trunk/; revision=3090
|
|
without a comparison operator, it tests for the field's presence or
absence, not its value; to test whether a Boolean field is true, you
compare it with a non-zero value, and to test whether it's false, you
compare it with a zero value.
Make the filter expression construction dialog handle that correctly.
svn path=/trunk/; revision=3068
|
|
always attached to the dialog as the E_FILT_FILTER_TE_KEY data, but only
sometimes attached as the E_FILT_TE_KEY data.
Get rid of E_FILT_TE_KEY completely, as it's redundant, and use only
E_FILT_FILTER_TE_KEY; this keeps us from crashing as a result of trying
to manipulate the widget referred to by E_FILT_TE_KEY if E_FILT_TE_KEY
hasn't been set to refer to any widget.
svn path=/trunk/; revision=3067
|
|
dialog activate the entire dialog box.
svn path=/trunk/; revision=3062
|
|
and, when it's being destroyed, disconnect from the "destroy" signal on
the text entry box to which it's attached, so that, when that text entry
box is destroyed, we don't try to get rid of the no-longer-extant
filter-expression-construction dialog.
svn path=/trunk/; revision=3061
|
|
filter-expression-construction dialog box is attached; if the text entry
box is destroyed (which typically means the window it's in was
destroyed), get rid of the filter-expression-construction dialog box.
svn path=/trunk/; revision=3060
|
|
available for it and it looks ugly" is "throw an alignment around it".
(I *still* don't know why it's not required in other dialog boxes, e.g.
the filter-editing dialog box.)
svn path=/trunk/; revision=3059
|
|
expression construction dialog activate the entire dialog box.
Make a desperate but failed attempt to bludgeon GTK+, The Toolkit That
Knows Better Than You Do How Big Buttons Should Be Made, Even If It
Looks Butt-Ugly, And Which Appears To Randomly Decide Whether To Make It
Look Ugly Or Not, into making the "Cancel" button as tall as the inside
of the "Accept" button, not as tall as the "Accept" button plus its
"this is the default button" surround.
svn path=/trunk/; revision=3057
|
|
fields.
Show a relational operator on a field if the field supports it *or* if
the field can be sliced and the type generated by a range (FT_BYTES)
supports it. (This lets you do a comparison on a protocol, not just on
a range of a protocol - e.g., "arp == 2", not just "arp[0:1] == 2" - but
the alternative would be to show only the "is present" test, as if you
don't offer the other tests, you can't turn on the range text box when
they select a comparison expression if you don't show comparison
expresions...).
svn path=/trunk/; revision=3056
|
|
application, catch what GLib message-logging calls we can, and create a
console and make it the standard input, output, and error if such a call
is made, so those messages show up in a console window. Create the
console for the output of "ethereal -v" as well.
svn path=/trunk/; revision=3052
|
|
svn path=/trunk/; revision=3032
|
|
fields with that name.
svn path=/trunk/; revision=3030
|
|
in the output of "{ethereal,tethereal} -G", so that it appears only once
in the documentation.
Expand some comments to give more details.
svn path=/trunk/; revision=3024
|
|
can now handle that; this allows us to register both the modulo-8 and
the modulo-128 versions of various X.25 bitfields with "x.25.XXX" names,
which lets us get rid of the "ex.25" protocol stuff completely and use
"x.25" for both modulo-8 and modulo-128 X.25. Do so. (Also, fix up
some cases where we appeared to be using the modulo-8 fields when
dissecting modulo-128 X.25.)
This, in turn, allows us to register the X.25 dissector, as there's now
only one protocol with which it's associated, and make it static and
have it called only through a handle, and to, when registering it with
the "llc.dsap" dissector table, associate it with "proto_x25".
That, in turn, allows us to get rid of the "CHECK_DISPLAY_AS_DATA()"
calls, and the code to set "pinfo->current_proto", in the X.25
dissector.
The code for the display filter expression dialog would, if there are
two fields with the same name registered under a protocol, list both of
them; have it list only one of them - the fields should have the same
type, the same radix, and the same value_string/true_false_string table
if any (if they don't, they're really not the same field...).
svn path=/trunk/; revision=3023
|
|
generally shown), and display port numbers and IP protocol numbers as
unsigned.
svn path=/trunk/; revision=3022
|
|
wouldn't actually offer any options to the user.
Make a bunch of routines static that aren't used outside
"decode_as_dlg.c".
Remove the declaration of the nonexistent "decode_as_register_tcpudp()"
routine.
svn path=/trunk/; revision=3020
|
|
capturing; if we succeed, display the packet drops count as the "Drops"
value in the status line and as the "Dropped packets" statistics in the
summary dialog box, otherwise don't display it at all.
In Tethereal, attempt to get the packet statistics from libpcap when
capturing; if we succeed, and if there were any dropped packets, print
out the count of dropped packets when the capture finishes.
svn path=/trunk/; revision=3016
|
|
attempt to free the read filter if we don't have a read filter.
svn path=/trunk/; revision=2999
|
|
protocols.
svn path=/trunk/; revision=2977
|
|
protocol" rather than "is present".
svn path=/trunk/; revision=2976
|
|
dialog for display filter fields.
svn path=/trunk/; revision=2975
|