pointer is NULL - so that, instead of doing nothing if the user selects
"Edit->Preferences" when there's already a "Preferences" dialog box
open, we raise and de-iconify that window.
Connect the preferences dialog box and any file selection dialog box
opened from its Print tab, so that:
if the preferences dialog box goes away, so does the file
selection dialog box (as it no longer has a text widget into
which it can stuff the selected file name);
if the "File:" button is clicked when there's already a file
selection dialog box open, we just reactivate that existing
dialog box rather than popping up a new one.
Catch the ESC key in the file selection dialog box popped up for the
"File:" button in the Print tab of the Preferences dialog box, and make
it cancel the file selection dialog box.
svn path=/trunk/; revision=1922
"File->Open", "File->Save As", and the "File:" buttons in the Capture
Preferences and Print dialog boxes, and make it cancel the file
selection dialog box.
svn path=/trunk/; revision=1921
mnemonics.
Give the button, in the "Display Options" dialog box, that controls
whether name resolution is enabled or not the same label ("Enable name
resolution") as the equivalent button in the "Capture Preferencs" dialog
box.
svn path=/trunk/; revision=1920
box it has open, so that:
if the capture preferences dialog box goes away, so does the
file selection dialog box (as it no longer has a text widget
into which it can stuff the selected file name);
if the "File:" button is clicked when there's already a file
selection dialog box open, we just reactivate that existing
dialog box rather than popping up a new one.
svn path=/trunk/; revision=1919
pointer is NULL - so that, instead of doing nothing if the user selects
"File->print" when there's already a "Print" dialog box open, we raise
and de-iconify that window.
Connect the print dialog box and any file selection dialog box it has
open, so that:
if the print dialog box goes away, so does the filter dialog box
(as it no longer has a text widget into which it can stuff the
selected file name);
if the "File:" button is clicked when there's already a file
selection dialog box open, we just reactivate that existing
dialog box rather than popping up a new one.
svn path=/trunk/; revision=1918
the pointer is NULL - so that, instead of doing nothing if the user
selects "Display->Options" when there's already a "Display Options"
dialog box open, we raise and de-iconify that window.
Register a "destroy" callback for the "Display Options" window, so that
no matter how it's destroyed, even if it's destroyed by a window manager
close button rather than by clicking the "OK" or "Cancel" button, we
note that fact by clearing the pointer to the current "Display Options"
window, so that if the user then selects "Display->Options", we know
that we need to pop a new "Display Options" window up.
svn path=/trunk/; revision=1917
that contain an "_" preceding a letter, indicating that the letter is to
be underlined in the label, and that if the key for that letter is
pressed (either with Alt or without it) in the dialog box to which the
button belongs, and the widget with the input focus doesn't do anything
with that button, the button is sent the "clicked" signal.
Attach mnemonics to the buttons in the "Display->Options" dialog box.
svn path=/trunk/; revision=1915
child process send to the parent a message indicating why it failed, so
that the parent can report that, and then exit.
If the attempt to create the child process to run Ethereal fails, pop up
a dialog box indicating that this happened.
Change the fork code a bit, to make it easier to substitute, on Win32
systems, code that does a "CreateProcess()" for the small chunk of code
that does the fork and exec.
svn path=/trunk/; revision=1910
register lists of "heuristic" dissectors, which are handed a
frame that may or may contain a payload for the protocol they
dissect, and that return FALSE if it's not or dissect the packet
and return TRUE if it is;
add a dissector to such a list;
go through such a list, calling each dissector until either a
dissector returns TRUE, in which case the routine returns TRUE,
or it runs out of entries in the list, in which case the routine
returns FALSE.
Have lists of heuristic dissectors for TCP and for COTP when used with
the Inactive Subset of CLNP, and add the GIOP and Yahoo Messenger
dissectors to the first list and the Sinec H1 dissector to the second
list.
Make the dissector name argument to "dissector_add()" and
"dissector_delete()" a "const char *" rarther than just a "char *".
Add "heur_dissector_add()", the routine to add a heuristic dissector to
a list of heuristic dissectors, to the set of routines we can export to
plugins through a table on platforms where dynamically-loaded code can't
call stuff in the main program, and initialize the element in the table
in question for "dissector_add()" (which we'd forgotten to do).
svn path=/trunk/; revision=1909
set the "activate" signal for a widget to call a routine to
activate the "OK" button for a dialog box;
set the "key_press_event" signal for a top-level dialog window
to call a routine to activate the "Cancel" button for a dialog
box if the key being pressed is the <Esc> key;
to make it easier to drive dialog boxes entirely from the keyboard.
Make the "Find Frame" and "Go To Frame" dialog boxes use those
utilities.
svn path=/trunk/; revision=1903
of the GTK+-for-Win32 library seems to work OK (at least with recent
changes to Ethereal avoid passing signed characters to "isprint()").
Note that you will need various Cygwin tools if you modify ".y", ".l",
or dissector files, and give instructions on how to get Cygwin.
svn path=/trunk/; revision=1898
build "register.c" in the top-level Makefile;
set path in "config.nmake" to include the Cygwin directory for
tools - those tools are needed to build "register.c";
remove constructed source files, and some additional object
files, when doing "nmake clean".
svn path=/trunk/; revision=1896
1) fix some problems with the SINEC H1 dissector;
2) make it easier to plug in other dissectors atop OSI transport
protocols (by making the H1 dissector return an indication of
whether it recognizes the packet as an H1 packet or not, so
that, if it doesn't, additional dissectors can be tried).
svn path=/trunk/; revision=1895
as "isprint()" is defined to be "isgraph() or space" (or, historically
speaking, "isgraph()", which came later, is defined to be "isprint()
except for space).
Make the characters in "packet_hex_print()" be "guchar" rather than
"gchar", so that they don't get sign-extended if the 8th bit is set, and
thus don't cause "isprint()" and company to give random answers.
svn path=/trunk/; revision=1893
snapshot length before writing them to the output file; this may come in
handy if you are translating the file to a different format so that it
can be read by a program that can't handle packets above a certain size
(e.g., the snoop in Solaris 2.5.1 or 2.6, which reject Ethernet packets
larger than the Ethernet MTU, and thus can't handle gigabit Ethernet
captures using jumbo frames).
svn path=/trunk/; revision=1891
protocol tree or not, so that, on the first pass through the capture, we
see the SETUP requests that specify the ports to be used, and thus know
what the conversations for RTCP and RTP are.
svn path=/trunk/; revision=1887
dissector.
Don't dissect the payload of any fragmented IPv6 packet unless it's the
initial fragment (that's what we do for IPv4).
svn path=/trunk/; revision=1882