C++-ize the UAT headers.
Add an ElidedLabel widget. Use it in the File Set, Profile, and UAT
dialogs.
Update the Qt README.
svn path=/trunk/; revision=50896
Unrecognized preferences and color filters created in proprietary or older versions are discarded when saved.
If the user attempts to save the preferences or colorfilters file, a popup is displayed that warns that unrecognized prefs or color filters have been detected and will be discarded if the save operation is allowed to proceed. In the case of Preferences, the popup message includes the version at which the file was last saved. A "Continue without Saving" button is provided so that the user can save the profile under a different name.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8942
svn path=/trunk/; revision=50716
Unrecognized preferences and color filters created in proprietary or older versions are discarded when saved.
If the user attempts to save the preferences or colorfilters file, a popup is displayed that warns that unrecognized prefs or color filters have been detected and will be discarded if the save operation is allowed to proceed. In the case of Preferences, the popup message includes the version at which the file was last saved. A "Continue without Saving" button is provided so that the user can save the profile under a different name.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8942
svn path=/trunk/; revision=50690
strduped again immediately when they are registered. To make this safe, tweak
the flow a bit so that they are guaranteed to be registered immediately after
being set here.
svn path=/trunk/; revision=50563
Errors in preferences preceding "gui.console_open" are not immediately
displayed in the console: If a gui.console_open is set to "AUTOMATIC" or
"ALWAYS" and an error or warning occurs in a preference previous to it, the
warning is not displayed in the console window because the window is not yet
open. However, if the user switches to another profile and returns, the
messages will be displayed.
Fix: Move the gui.console_open to the top of the list in
prefs_register_modules() of prefs.c. Existing preferences files can be
corrected by saving them.
svn path=/trunk/; revision=50269
As suggested by Jakub, don't use strlen() when g_string->len will do.
From me:
Don't assume that just because we "got_val" that the value has a length.
Checking it first eliminates this warning from Valgrind:
==11954== Invalid read of size 1
==11954== at 0x61D1466: read_prefs_file (prefs.c:3012)
==11954== by 0x61D1841: read_prefs (prefs.c:2955)
==11954== by 0x409901: main (tshark.c:1137)
==11954== Address 0xc05244f is 1 bytes before a block of size 16 alloc'd
==11954== at 0x4A08A6E: realloc (vg_replace_malloc.c:662)
==11954== by 0x3CF8C4D736: g_realloc (in /usr/lib64/libglib-2.0.so.0.3400.2)
==11954== by 0x3CF8C66226: ??? (in /usr/lib64/libglib-2.0.so.0.3400.2)
==11954== by 0x3CF8C66ACE: g_string_insert_c (in /usr/lib64/libglib-2.0.so.0.3400.2)
==11954== by 0x61D1566: read_prefs_file (gstring.h:139)
==11954== by 0x61D1841: read_prefs (prefs.c:2955)
==11954== by 0x409901: main (tshark.c:1137)
svn path=/trunk/; revision=49731
contify some arrays;
don't complain about "print.command" on Windows, just ignore it,
as it's valid on non-Windows platforms;
fix some comparisons for preferences moved elsewhere;
clean up some comments.
svn path=/trunk/; revision=49485
that directory since 2001 and reading from that directory was only left in for
backwards compatibility with versions prior to r4702. I think it's now safe
to remove that backwards compatibility.
This eliminates the last argument of get_persconffile_path().
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8437
svn path=/trunk/; revision=48797
preferences (currently hidden) to disable updates, set the update
frequency, and set the update "channel" (stable vs development). Add a
"Help" menu item to manually check for updates.
svn path=/trunk/; revision=47748
routine (prefs_register_directory_preference). Add PREF_FILENAME and
PREF_DIRNAME support to the Qt module preferences. Change a couple of
preferences to directory names.
Clean up some names and default settings.
svn path=/trunk/; revision=47573
picker widget so we're back to popping up dialogs. Move the contents of
monospace_font.{cpp,h} to wireshark_application.{cpp,h}.
Pango and Qt use completely different string representations for fonts.
Add a separate gui.qt.font_name preference so that they don't clobber
each other.
svn path=/trunk/; revision=47240
Get rid of user-hostile behavior. In the layout preferences pane 2 & 3
radio buttons overrode the user's selection if a duplicate item was
selected. Now we assume that the user knows what he or she is doing and
steal duplicate selections from the other panes.
Qt:
Match the new GTK+ behavior in the layout preferences. Add padding
around the layout images. Add toolbar style preferences to the
Appearance pane (instead of the layout pane).
All:
Remove the selection mode and scrollbar placement prefs and mark them
obsolete as recently discussed on -dev.
Adjust the layout images yet again after more Awful Monitor Testing.
svn path=/trunk/; revision=47214
more clearly indicate that it's a copy of a preference value rather than
something we've saved in the preferences file. Update
prefs_pref_to_str() to handle default, stashed, and current prefs.
Create ui/preference_utils.[ch] and move some common routines there. Use
prefs_pref_type_name() in the GTK+ preferences dialog.
Make the "OK" button in the Qt preferences dialog work. We simply write
the prefs and redissect on "OK" and do nothing on "Cancel". This is
intentionally different from the Apply/OK/Cancel behavior in the GTK+
version.
Add a general "emitAppSignal" method to wsApp and use it for packet
dissection and preference changes.
Suggest that we might want to create a WsString class to make conversion
between QStrings, gchar *s, and GStrings easier.
svn path=/trunk/; revision=47139
immediately close the dialog if he or she presses the escape or enter
keys. Revert the value if the user presses escape. Properly handle the
base for uint preferences. Fix a NULL pointer dereference.
Add a gchar_free_to_qstring utility routine which creates a QString from
a g_malloced string and frees it.
svn path=/trunk/; revision=47083
item's name, status, or type resets it to its default value.
Double-clicking the item's value lets you edit it. Implement the
advanced search field. (Clicking OK and Cancel still doesn't yet do
anything.)
Note that we could probably use a
prefs_register_{uint16|port}_preference routine for 16-bit values. Make
reset_pref public. Update some names and descriptions.
svn path=/trunk/; revision=46986
representations, and default status out of write_prefs and into their
own routines. Split the corresponding custom preference write callbacks.
Fix an apparent memory leak in the hidden column callback.
Add an initial preferences dialog to the Qt port. Use the new preference
routines to implement an "Adavanced" page similar to the "about:config"
page available in many web browsers. Standard pages will hopefully follow
soon.
Remove some QDebug includes and make sure our QTreeWidgets have uniform
row heights set.
svn path=/trunk/; revision=46942
ui/gtk/profile_dialog.c. Use the correct profile list in
profile_dialog.c so that deletion works.
Add a profile dialog to the Qt port. For some reason it crashes when
changing configuration profiles, which might be related to bug 7722.
Move the Qt configuration profile initialization from main.cpp to
wireshark_application.cpp. Make sure QMenuBar doesn't grab the
configuration profiles action on OS X. Add more role color names to
tango_colors.h.
svn path=/trunk/; revision=46834
Cast away some implicit 64-bit-to-32-bit conversion errors due to use of
sizeof.
Cast away some implicit 64-bit-to-32-bit conversion errors due to use of
strtol() and strtoul().
Change some data types to avoid those implicit conversion warnings.
When assigning a constant to a float, make sure the constant isn't a
double, by appending "f" to the constant.
Constify a bunch of variables, parameters, and return values to
eliminate warnings due to strings being given const qualifiers. Cast
away those warnings in some cases where an API we don't control forces
us to do so.
Enable a bunch of additional warnings by default. Note why at least
some of the other warnings aren't enabled.
randpkt.c and text2pcap.c are used to build programs, so they don't need
to be in EXTRA_DIST.
If the user specifies --enable-warnings-as-errors, add -Werror *even if
the user specified --enable-extra-gcc-flags; assume they know what
they're doing and are willing to have the compile fail due to the extra
GCC warnings being treated as errors.
svn path=/trunk/; revision=46748
works just fine and doesn't leak any memory.
Use wmem_permanent_scope() for the one string we do have to copy, to ensure
it doesn't leak either.
svn path=/trunk/; revision=45812
put_string_list() was generating string with list of columns to be saved to preference file,
but buffer is limited to MAX_FMT_PREF_LEN (1024 bytes). It looks like 1024 bytes is not enough.
Fix bug by writting directly to file.
svn path=/trunk/; revision=45043
Expand show version preference.
implementation of Steven's suggestion of a radio button (actually
dropdown) of the 4 possibilities.
I changed the default to have the version on both in
the welcome screen and on the window as that's how it was and people tend not to change the preferences I think.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6437
svn path=/trunk/; revision=44153
Add a new name resolution option: whether or not use the configured (in the OS)
name resolver (e.g., DNS) to resolve network names. When this option is disabled
but network name resolution is enabled then Wireshark will resolve only those
names that it can from local sources. This includes (at least, AFAIK):
- name resolutions that Wireshark picks up on from DNS packets it decodes
- the "user hosts file" (~/.wireshark/hosts on *NIX)
- what Wireshark reads out of capture file (the PCAPNG name resolution block)
This new preference defaults to "use external resolvers" for backward
compatibility (so people turning on network name resolution will get the old
behavior).
This option can be set via Edit->Preferences and on the command line; there
remain several UIs (e.g., the "open capture file" dialog, the
View->Name Resolution menu, etc.) that don't have the new option yet.
Also expand on the "description" for the name resolution preferences: these
are used not only in the tooltips but are also written to the preferences
file. The previous text didn't include enough context when written do the
preferences file.
svn path=/trunk/; revision=43605
some warnings from GTK+.
For interior nodes in the preference module tree, we create a page even
if the module itself has no preferences, so there's *something* we can
show if the user clicks on it. (Showing the top-level protocols page is
a bit weird, and requires us to keep track of it.)
svn path=/trunk/; revision=43596
- prefs.name_resolve_concurrency is now just 'name_resolve_concurrency'
- add notes about possible (?) integer overflows.
svn path=/trunk/; revision=43586
File name preferences are basically just string preferences except that the
GUI will present a "Browse" button that allows the user to go and find the
file s/he wants (rather than having to blindly type in the full path).
svn path=/trunk/; revision=43228
helpfully ignores G_LOG_LEVEL_INFO and G_LOG_LEVEL_DEBUG messages by
default. If the console_log_level preference includes either of those
two levels set the G_MESSAGES_DEBUG environment variable so that those
messages are printed.
Add checks for various console log messages to the stdin capture suite.
Fixes bug 7265.
svn path=/trunk/; revision=42930
preference values have been stored for a while now).
If a preference has not been changed from its default value, comment it out
when writing the preferences file. That way you won't get warnings about
some new "gui.*" (or other non-dissector) preference when switching between
SVN Wireshark and some older version.
Also fix some ommissions in copy_prefs() (preferences that were not copied).
(All these non-dissector preferences seem to require an awful lot of code;
it would be very nice to have a non-dissector preference registration API that
the GUI and core could use so we could eliminate a lot of this code.)
svn path=/trunk/; revision=42648
"column.format" in a later argument, make sure we mark the appropriate
existing columns as hidden.
As part of cleaning up the infrastructure for doing this, store the COL_
code for a column in a fmt_data structure rather than a pointer to the
raw column format string; this simplifies some code.
Have a routine to return whether a column is visible, not hidden, as
it's used to set a "visible" flag.
svn path=/trunk/; revision=39822
filters" preference; now that we always build with threads, we do the
syntax checking in a separate thread, so it doesn't hang the UI, and we
no longer have UI to change it but we were still trying to fetch the
value of the non-existent checkbox for it and getting a warning printed.
(We still check for it when reading, so that we don't print warnings if
it's present.)
svn path=/trunk/; revision=39788
as we don't save to a preferences file preference values that are equal
to their defaults, so if you change profiles, a preference that has a
non-default value in the old profile and a default value in the new
profile, so that it's *not* in the preference file for the new profile,
will not be set to the right value unless we reset all protocol
preferences to their defaults first.
svn path=/trunk/; revision=39777
pcap. Add a "-P" capture option which tries to use pcap instead of
pcap-ng ("-P" seemed to be the best option but we may want to use a
different letter).
Update the documentation and release notes.
svn path=/trunk/; revision=37696
sequence of frame_data structures, indexed by the frame number. Extract
the relevant bits of the capture_file data structure and move them to
the frame_data_sequence, and move the relevant code from cfile.c and
tweak it to handle frame_data_sequence structures.
Have a possibly-null pointer to a frame_data_sequence structure in the
capture_file structure; if it's null, we aren't keeping a sequence of
frame_data structures (we don't keep that sequence when we're doing
one-pass processing in TShark).
Nothing in libwireshark should care about a capture_file structure; get
rid of some unnecessary includes of cfile.h.
svn path=/trunk/; revision=36881
- Support for DTLS and SSL RSA keys list using User Accessible Table
- Support for IPv6 SSL as posted by bug#3343 comment#1
- 'any' and 'anyipv4' for IPv4 wildcard
- 'anyipv6' for IPv6 wildcard
- UAT fields validation.
From me:
- Update paramaters to match UAT API changes.
- Change the UAT filename.
- Fix buffer overflow for IPv6 addresses.
- Allow the use of hostnames along with numeric addresses.
- Don't convert strings to addresses twice.
- Don't use the same variable name for different data types.
- Make "any" mean "any IPv4 or any IPv6".
- Bend the concept of obsolete preferences slightly so that we can convert
and old-style key list to a UAT.
- Clean up whitespace.
- Don't point to a User's Guide section for now; it may make more sense to
keep using the wiki page.
SSL dissector changes have been tested. DTLS dissector changes have not.
svn path=/trunk/; revision=36875
In convert_string_case() use g_utf8_strup() instead of converting each
character by hand. Hopefully this won't cause any unexpected changes in
behavior.
svn path=/trunk/; revision=36006
Return an error if the user specifies a value in a range in excess of the
range-specified maximum.
Except when reading in preferences files which might have ranges that exceed
the maximum (because we didn't use to check): in that case silently lower the
out-of-range values.
svn path=/trunk/; revision=34698
if we show the value or the string representing the value.
This setting is not stored in the preferences file yet, and the option is
not available in the columns preferences window.
svn path=/trunk/; revision=33317
If, when we're writing the preferences file, the current value of the
preference is the same as the default, write out the preference (since the
preference file is also the documentation for the preferences) but comment it
out (so that if, for example, you go back to an older version of Wireshark
you won't get warnings about non-existant preferences that you didn't
change--and thus probably don't care too much about).
It might be interesting to, in the future, add a UI to restore the default
values.
svn path=/trunk/; revision=32967
and make it static.
When reading enum preferences, use the current value of the preference as the
default value of the preference instead of a hard-coded 1. This way if we
couldn't find the appropriate value we'll don't end up changing the preference
to something that may or may not make sense.
svn path=/trunk/; revision=32950
Call the various flavors of OS X integration just "OS X integration",
not anything with "IGE" in it - it appears that, in some places,
"ige-mac-integration" refers only to the older Carbon-based functions,
although the library still appears to be called -ligemacintegration.
Update the URLs for the information about the OS X integration
libraries.
Clean up help message for --with-pcap-remote.
Clean up white space a bit.
Speaking of white space, it's "Mac OS X", not "MacOS X".
svn path=/trunk/; revision=32941
Use prefs_is_capture_device_hidden() to find out whether a device should
be hidden - don't scan the list of hidden devices ourselves.
svn path=/trunk/; revision=32820
We fill out the COL_DSTIDX column by using 'pinfo->dst_idx'. This member is only set by the MDS Header dissector based on 'mdshdr.dstidx'. So remove COL_DSTIDX and migrate to 'mdshdr.dstidx' custom column.
svn path=/trunk/; revision=29795
We fill out the COL_SRCIDX column by using 'pinfo->src_idx'. This member is only set by the MDS Header dissector based on 'mdshdr.srcidx'. So remove COL_SRCIDX and migrate to 'mdshdr.srcidx' custom column.
svn path=/trunk/; revision=29794
We fill out the COL_RXID column by using 'pinfo->rxid'. This member is only set by the Fibre Channel dissector based on 'fc.rx_id'. So remove COL_RXID and migrate to 'fc.rx_id' custom column.
svn path=/trunk/; revision=29793
We fill out the COL_OXID column by using 'pinfo->oxid'. This member is only set by the Fibre Channel dissector based on 'fc.ox_id'. So remove COL_OXID and migrate to 'fc.ox_id' custom column.
svn path=/trunk/; revision=29792
There are still many todos in this area:
1) We need to either warn the user that he/she needs to click "Save" in the preference dialog so we can "flush" the old predefined column or apply this change ourself silently.
2) The predefined columns need to be removed from the "Columns" UI.
3) ....
svn path=/trunk/; revision=29514
- Adds preference "MacOS X style" to the (G)UI preferences pane
- When the preference above is enabled, the menu bar is moved from
the Wireshark window to the top of the screen. It is no longer displayed
in both places at once. This preference defaults to on.
- Calls function to enable shortcut keys for OS X top of screen menus.
- NOTE: The IGE Mac Integration functions change the Control key to Command
key in the menus. This may or may not be desirable.
svn path=/trunk/; revision=26565
When saving preferences, wireshark saves the description of each preference in
a one line comment. Unfortunately if the description consists of several lines,
wireshark comments out only the fist one.
The attached patch solves the problem by commenting out every lines in the
description.
svn path=/trunk/; revision=25756
and "hdlc" doesn't indicate that it's a protocol type), and, instead of
a "raw" option, have a "try to guess the traffic type" option - for now,
if the first byte is 0x0f or 0x8f, treat it as Cisco HDLC, otherwise
treat it as PPP.
svn path=/trunk/; revision=25737
"aal5_type" dissector, which offers only "guess the traffic type" and
"LLC multiplexed" as options, defaulting to "guess the type".
Add a separate preference to control whether to treat single ATM cells
as raw data or as the first cell of an AAL5 PDU (and dissecting them as
short AAL5 PDUs).
Don't reach inside the tvbuff to get the data and the length; use
tvb_length() and tvb_get_ptr().
Pass the data *after* the AAL5 header to the "guess the traffic type"
routine.
svn path=/trunk/; revision=25736
indicates; replace the "erf.eth" preference with an "erf.ethfcs"
preference, specifying whether the FCS is present in Ethernet frames,
and offer the options "present", "not present", and "maybe present" -
for "maybe present", call the regular Ethernet dissector, which tries to
figure out whether there's an FCS at the end of the packet or not.
svn path=/trunk/; revision=25719
libwireshark (and the plugins using those functions) do not depend on
wiretap on Windows.
While doing that, rename the eth_* functions to ws_*.
svn path=/trunk/; revision=25354
- rename rtp_player config group to taps/statistics
- will rename prefs_rtp_player files later
(svn didn't seem keen to rename with changes present,
and output says its just a copy/delete anyway...)
svn path=/trunk/; revision=25133
Not 100% implemented for usage with configuration profiles with
different column layout yet, as this requires some of the recent
values to be saved in each profile.
svn path=/trunk/; revision=24949
- Change ugly GLIB version checking statements to GLIB_CHECK_VERSION
- Remove ws_strsplit files because we no longer need to borrow GLIB2's
g_strsplit code for the no longer supported GLIB1 builds
svn path=/trunk/; revision=24829
to override UAT entries from the command line, e.g.
-o "uat:user_dlts:\"User 0 (DLT=147)\",\"http\",\"0\",\"\",\"0\",\"\""
Fix up white space.
svn path=/trunk/; revision=24338