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
This function is also very small, so small that teh overhead for the actual function call and return is likely to be a significant part
of its execution time.
change it into a macro and make it thus slightly faster by eliminating the function call overhead.
svn path=/trunk/; revision=9083
- added a pointer to raw rtp data to _rtp_info that can be used by
taps;
- RTP packets are passed to the tap queue only if they are not
error packets (so that you don't need to filter out ICMP
packets)
- use that pointer in rtp_stream, so it handles packets with
padding, and should handle RTP packets fragmented across
lower-level packets
- moved rtp_stream from tap sources to normal files
(prevents on-start-up registration of the rtp_stream tap
listener)
- rtp_stream tap gets registered/unregistered with the "RTP
Streams" dialog box
i.e. the tap is registered as long as the dialog box is open.
Alternatively, it is de-/registered on demand if RTP Analysis is
called directly on a packet.
- rtp_stream tap listener no longer uses a filter in dissection
` and does not need to have a proto tree being built.
(performance increase)
- fixed: RTP Streams list will get updated in real time if the
dialog box is open while a redissection takes place.
svn path=/trunk/; revision=9051
DISPLAY, and CLIENTNAME (in that order). If any of them are set, create
a capture filter that excludes their traffic and set it as the default.
The longer filters should be efficient without being overly long; they
may need some tweaking.
svn path=/trunk/; revision=8994
variables to be initialized to non-constant values (C89 says that "All
the expressions in an initializer for an object that has static storage
duration or in an initializer list for an object that has aggregate or
union type shall be constant expressions"; presumably the intent of the
former was to avoid run-time initialization and of the latter was to let
the initialization be done by copying from a compile-time-created blob
of memory), so we have to initialize "info->counts" by hand.
svn path=/trunk/; revision=8984
Make "proto_is_protocol_enabled()" and "proto_get_protocol_short_name()"
take a "protocol_t *" as an argument, so they don't have to look up the
"protocol_t" - this will probably speed them up considerably, and
they're called on almost every dissector handoff.
Get rid of a number of "proto_is_protocol_enabled()" calls that aren't
necessary (dissectors called through handles, including those called
through dissector tables, or called as heuristic dissectors, aren't even
called if their protocol isn't enabled).
Change some direct dissector calls to go through handles.
svn path=/trunk/; revision=8979
If we failed to dissect the GSS-SPNEGO blob it probably means that the segment
is somewhere in the middle of an LDAP PDU.
Just bail out and stop dissecting the PDU instead of aborting ethereal completely
using g_assert() since this is not really a pathological error, its just something that can and will happen normally.
svn path=/trunk/; revision=8925
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
somewhat; this fixes a bug wherein we were assuming all modules
necessarily had preference pages (they won't, if the only preferences
for the module are obsolete preferences).
svn path=/trunk/; revision=8880
the interface isn't in the list of known (local) interfaces - that way
we don't try to get entries if the user's in the middle of changing the
"Interface:" text, or if the interface is an rpcap: URL (getting the
link-layer header type list for a remote interface is currently
impossible, and even just getting its *default* interface type could
hang for a long time if the remote machine isn't responding).
Free the link-layer header type list when we're done with it.
Label the option menu for that list "Link-layer header type", as it
doesn't control the data link type of the interface in the only case I
know of where it's settable, namely 802.11 interfaces - it just controls
whether the packets you get from the interface have a fake Ethernet
header or a real 802.11 header.
svn path=/trunk/; revision=8867
need to call it if you already have a pointer to the first entry in the
list, which is what "a pointer to the list" is.
svn path=/trunk/; revision=8866
- fix missing detection of first packet when writing payload.
- fix bug of erroneous handling of confort noise when writing payload.
- fix bug of possible endless silence insertion on first packet when
writing payload.
svn path=/trunk/; revision=8846
"Edit -> Display Filters..." menu item, as per Ulf Lamping - there's
apparently some problem wherein &args doesn't get passed properly to the
callback.
svn path=/trunk/; revision=8819
a button that brings up the Create Filter dialog box. While it works, the
problem is that it also acts as an Enter keypress as far as the start_stat
button is concerned.
Probably needs a small fix.
svn path=/trunk/; revision=8782
return "<no file>" if there is no file loaded yet instead of crashing in io-stat
io-stat only print the label for the top tick on the y axis to make it look less cluttered
svn path=/trunk/; revision=8781
"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
- return FALSE immediately if the text entry is empty ;
- return FALSE at the end of the function so that the signal is sent to
the entry. It avoids a Gtk-ERROR (and an abort) :
file: gtkentry.c: line 4338 (blink_cb): assertion failed:
GTK_WIDGET_HAS_FOCUS(entry))
svn path=/trunk/; revision=8735
style.
Make the style text arrays static, as nobody uses them outside prefs.c.
Use FALSE and TRUE for the values for the Boolean controlling the
highlighting style.
Note that we're now using stock icons in the toolbar in GTK+ 2.x.
Put back the resizing of elements in the top-level container, at least
for GTK+ 1.2[.x]; otherwise, the toolbar's height never gets smaller,
even if you change the style in such a way as to reduce the height of
the elements (icons+text -> icons or text, icons -> text).
Make some routines and variables not used outside gtk/toolbar.c static.
svn path=/trunk/; revision=8720
- use GTK1/2 compatibility macros [GS]ET_OBJECT_DATA where needed
- add a set_toolbar_object_data() function which associates the display
filter entry (from the main window) with the E_DFILTER_TE_KEY for the
open and reload buttons (it is needed by the open and reload
callbacks). The function is called in create_main_window()
- reindent
svn path=/trunk/; revision=8718
of the filter text entry when reloading the file, and:
1) that doesn't work with the toolbar "reload" button (the
widget passed in for that button doesn't have a
E_DFILTER_TE_KEY data item pointing to the text entry);
2) that causes the Tools > Summary dialog box to report what
you've typed in that box, not the filter that's actually in
effect (i.e., it causes "cfile.dfilter" to reflect what's
been typed, not what's been applied);
so don't bother doing so. That also means that the "/File/Reload" menu
item doesn't need a E_DFILTER_TE_KEY data item, so don't give it one.
svn path=/trunk/; revision=8713
See manpage (hopefully manpage does not reformat my nice ascii graph)
While Service Response Times and the MIN/MAX/AVG thing in io-stat are measurements on the server load. The new measurement type LOAD is a measurement of Client LOAD.
Or rather, it is an attempt to measure client LOAD by measuring how much concurrency in its requests the client generates. It the client is slow in starting new i/o when a previous i/o has completed, this willb e indicated by the concurrency being lowered.
it is an experiment. i am not aware of any other attempts in deducing client workload from looking at captures.
svn path=/trunk/; revision=8706
Add a preference to control whether the "File > Open" dialog box
should start out in the last directory in which it looked - and
save that in the preferences file across invocations - or should
always start out in a user-specified directory, and add another
preference to specify that directory.
Write out section name comments into the preferences file.
Clean up white space a bit.
svn path=/trunk/; revision=8699
in preparation of more features.
The most visible changes are
graps drawn as sawtoots instead of bars.
relative times (mainly used for response times FT_RELATIVE_TIME) will be plotted as time measured in "s" "ms" or "us" on the y axis
future updates may be smoothed graphs and better relative time support
svn path=/trunk/; revision=8676
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