aboutsummaryrefslogtreecommitdiffstats
path: root/ui
AgeCommit message (Collapse)AuthorFilesLines
2024-02-27Qt: Show tooltip in sequence diagram for elided commentsJohn Thacker4-3/+36
If the comment (i.e. Info column) text is elided, show the full text as a tooltip. We already show it down in the status hint text, but it's nice not to have to look all the way at the bottom of the window. Somewhat related to #4972 (I think, for that one, we will probably need to make the column width controlled by a different widget rather than a QSplitter, because making it a QSplitter would make the comments no longer an axis, and then they wouldn't be printed.)
2024-02-27Remove PREF_DECODE_AS_UINTJohn Thacker5-9/+0
PREF_DECODE_AS_UINT has been unused since all auto port preferences were made ranges by 8604d03a98607bf8dc62e3ee152f8c8289c4052b Remove it. Ping #14319
2024-02-26Qt: Add case sensitive find to Follow Stream and Show Packet BytesJohn Thacker4-6/+56
Add a check box for case sensitivity when finding in follow stream and show packet bytes. Note that QPlainTextEdit::find() has a bit unexpected behavior with QRegularExpression (https://bugreports.qt.io/browse/QTBUG-88721). Searches are case-insensitive by default there too, respecting the default options. This is a change from the older QRegExp, where the option to find was ignored, and only the regex option was used, so for the last few releases regexp searches have been case-insensitive as well by default. (?-i) has been available to mode switch. We might want to move the various keyboard handling from FollowStreamDialog and ShowPacketBytesDialog and instead have FindLineEdit install shortcuts on the parents when constructed. That would be a little cleaner separation. We might also want to move the buttons and label to a separate composite widget class, that signals the parent to start a find. Fix #3784
2024-02-26Qt: copy correct hidden state to deviceJohn Thacker1-1/+2
The IFTREE_COL_HIDDEN is in fact a "Show" column (should the names be changed?) so when saving the data the hidden state is the opposite of the checked status. We were doing the inverted logic when writing to the preferences, but not when changing the device interface_t struct directly. However, before 6e12e504b9110285cd2de7e60c46483b8fa39ab7 we always re-read the hidden state from the preferences after changing it in the Manage Interfaces Dialog, so this bug wasn't exposed until we stopped doing that and used the current status. Fix #19672
2024-02-25Fix lots of spellingsMartin Mathieson9-11/+11
2024-02-25[Automatic update for 2024-02-25]Gerald Combs13-93/+179
Update manuf, services enterprise numbers, translations, and other items.
2024-02-24Qt: Only set Packet List style sheet when relevant prefs changeJohn Thacker7-4/+14
Add a colorsChanged signal/slot, more precise than the generic preferencesChanged signal, and only call it when one of the color related preferences have changed. Connect it to the packetList::colorsChanged() function, instead of calling that whenever preferencesChanged() is called. We could eventually move the signals and slots some of the other GUI widgets to this. Send that signal before handling preferences that change dissection and freeze the packet list, so that when we restore the column widths due to Qt bug 122109 it takes effect. The packet_list_hover_style preference affects colors, not the layout, despite its presence in the GUI layout module.
2024-02-24Qt: Work around QTBUG-122109 when applying packet list style sheetJohn Thacker2-1/+19
https://bugreports.qt.io/browse/QTBUG-122109 A bug introduced by the fix for https://bugreports.qt.io/browse/QTBUG-116013 causes all visible sections to reset to the default section size whenever a style sheet is applied (even if defaultSectionSize didn't change.) Make sure that before applying a style sheet we prevent our recent column widths from being updated, and then restore column widths from the recent values afterwards. This affects versions 6.5.4 (commercial only, 6.5.3 is the last free release) and 6.6.1 and 6.6.2.
2024-02-24Qt: If no preferences have changed, don't signalJohn Thacker1-1/+4
Enforce the requirement, already mentioned in the headers, that preference and preference module effect flags must be nonzero so that the application knows that a preference has changed. (Lua, for example, needs this.) Use this and avoid sending the PreferencesChanged signal when preferences have not changed.
2024-02-23Inject TLS Secrets: Check for NULL used secrets mapJohn Thacker1-1/+1
The GUI menu item should probably be disabled without a capture file too. Fix #19667
2024-02-22Fix some spelling errorsMartin Mathieson1-1/+1
2024-02-21extcap: Allow starting from extcap configJohn Thacker4-41/+43
Rework the changes from 428f2228533351baf6509b8fc50a075cdbc136b0 a little bit to restore the ability to start a capture from the extcap options dialog. When the the dialog is opened for configuration, present both the Save and the Start button. Continue to only have Start when the dialog was spawned because the user wanted to start a capture but a mandatory parameter was not configured. Use the default QDialogButtonBox "Discard/Close without Saving" button when closing the dialog without saving the user input for new preferences. Fix #19199
2024-02-18extcap: Fix writing preferences to fileJohn Thacker2-25/+18
Do not change the preference pointer inside the Extcap Options Dialog. That changes the real preference value, which disturbs the check inside prefs_store_ext_multiple that storeValues() calls for whether a pref has changed or not. Since the prefs are already changed to their new value, we won't realize that we need to write out a new preference file. The other changes in #18487 are sufficent to fix the problem identified there (though it's a bit unclear what "required" means in combination with a default, and whether we have to send the default value for the required parameter or can omit it.) If the button says "Save", then save the preferences regardless of what the "extcap Save on Start" preference says. Fix #19639. Related to #18487
2024-02-18added copy as C Arrayvxcute2-0/+14
2024-02-18extcap: Really don't load extcap interfaces if disabledJohn Thacker4-10/+24
If the capture.no_extcap preference is set, really don't load the extcap interfaces. Previously, the extcap interfaces were loaded before the preference was read, because otherwise the extcap preferences wouldn't be registered and properly read out of the configuration file. Wait until after that preference is read to register the extcap preferences and then re-read just the extcap module preferences from the configuration files. Make sure to check other times when the preference may be changed, such as switching profiles. Write extcap prefs to a separate file so that they don't get lost if the extcap interfaces aren't loaded and the prefs are then written out. Continue writing them to the main file for backwards compability. Related to #15295. Cuts ~100 ms off the loading time of Wireshark in a normal situation if the capture.no_extcap preference is set, more if an extcap has some kind of issue that makes it take a long time to load.
2024-02-18Some spellingsMartin Mathieson1-1/+1
2024-02-18[Automatic update for 2024-02-18]Gerald Combs12-256/+222
Update manuf, services enterprise numbers, translations, and other items.
2024-02-16Qt: Drop command line options when changing configuration profilesJohn Thacker3-1/+9
The solution to #12331 makes command line options that change preferences be reapplied when reloading Lua plugins. The command line preference overrides should be either reapplied or dropped when changing configuration profiles. Doing neither, as currently, means that they are not reapplied when switching but are reapplied when subsequently reloading Lua plugins, which is confusing. Drop them, but we could change that decision. Make sure that we set the pointer to NULL when freeing so that we don't double-free. commandline.h requires cfile.h to get the search direction enum.
2024-02-15Qt: Implement macOS "Show in Finder" in Cocoa.Darius Davis3-31/+18
Rather than shelling out to "osascript" and telling it to tell Finder to show the file, we can directly use NSWorkspace's "activateFileViewerSelectingURLs:" method to launch Finder and highlight the chosen file. It's less code, runs faster, and should be much less risky regarding special characters, string encodings, etc.
2024-02-15IPv6: Implementation of conversations with stream identifiersEugène Adell2-0/+4
2024-02-15Qt: Implement "Show in Folder" using DBus.Darius Davis2-2/+46
On Linux (and presumably other DBus-using Unix-like OSes), right-clicking on a file on the Welcome page and choosing "Show in Folder" would only ever open the folder, and would not highlight the chosen file. Adding DBus support to function desktop_show_in_folder allows for the file itself to be shown -- subject to support from the user's desktop environment...
2024-02-14columns: Allow any field expression syntax to be used in columnsJohn Thacker3-8/+51
Allow anything that can be used in a display filter to be used in columns (with the exception that field references don't work without a notion of a currently selected frame): display filter functions, slices, arithmetic calculations, logical tests, raw byte addressing, the layer modifier, display filter macros, etc., alone or in combination. Show the results and generate filters. Note that "resolved" values are not yet supported. They make conceptual sense for some expressions (e.g., if the layer modifier only is used) but not for others. Perhaps resolution could be done as a final step in the filter before returning values. It would also be useful to be able to get the expected return type of an expression, so that the functions for right justifying a column or sorting numerically could work. Right now the results are treated as strings even if the return field values are numeric. Multifield columns (i.e., concatenation of field values) are currently implemented using the OR operator.For backwards compability, continue to support that. When a true logical OR would give a different result, surround the expression in parentheses, which the multifield columns did not previously support (due to the regex used instead of full filter grammar parsing.) Perhaps in the future we should introduce a separate operator for concatenation, possibly only used in column definitions and nowhere else. Update release notes. Fix #7752. Fix #10154. Fix #15990. Fix #18588. Fix #19076. Related to #16181 - it's now possibly to define new display filter functions so that is essentially solved, though I suppose there's always room for more built-in functions.
2024-02-14Stats tree: Change our path separatorGerald Combs4-13/+11
Change our menu path separator to "//" similar to our filter buttons. Change the "name" configuration element to "path", since it's a menu path. Add a separate "title" element. This lets us use names like "Foo I/O".
2024-02-12column: Update custom column regexJohn Thacker2-3/+4
When splitting a possibly multifield custom column expression into components, don't match "or" unless it's a word by itself, i.e. is surrounded by space. "||" by itself is fine as a token. This is necessary if we allow more complicated filters to match than just single fields separated by "||" or "or". Also split at space at the beginning or end of a string (since we don't always guarantee that whitespace is stripped.) When spliting into components, only split on "||" and " or " that are not inside parenthesis. Splitting on operators inside parentheses results in components which are not fields or valid filter expressions and has never worked, e.g. splitting "(tcp.srcport or tcp.dstport)" into "(tcp.srcport" and "tcp.dstport)". TEST_OR has the lowest possible operator precedence (see commit 34ad6bb47887fab144c8e2547dce58152111abb0), so this works, and also justifies using OR instead of AND for multifield custom columns. This means that, e.g., "tcp.srcport or tcp.dstport" will be treated as a multifield custom column expression that returns the values for both of the fields, whereas "(tcp.srcport or tcp.dstport)" will be ultimately treated as a single logical test that returns true if one of the fields exist and false if neither do. Until tests and other non single-field expressions are supported, the latter won't work, but it never has worked. Related to #7752, #10154, #15990, #18588, and #16181.
2024-02-12stats_tree API updatesGerald Combs1-1/+1
Add an opaque public type for stats_tree configurations. Get rid of stats_tree_register_with_group and add stats_tree_set_group. Add stats_tree_set_first_column_name. Convert some documentation to doxygen.
2024-02-11Qt: Stats tree dialog speedupGerald Combs1-3/+3
Don't resize our columns every packet.
2024-02-11[Automatic update for 2024-02-11]Gerald Combs13-217/+933
Update manuf, services enterprise numbers, translations, and other items.
2024-02-10recent: Don't use format info at allJohn Thacker3-162/+15
We don't need to read or use the column format string in the recent settings column width info, because now they're in sync with the indices used in prefs.col_list. Continue to write it when writing out the recent settings for backwards compatibility with older version. We can also remove the workaround for #14177 from commit c62dadd31f859a60b970f699992a5ddba837a42c as it's not needed. This solves the width and alignment part of #15529. Hidden states are still to do.
2024-02-09Add Stack Overflow links for showing file in folder.Guy Harris1-0/+20
Those links are to questions with answers that indicate how to show a folder window with a particular file selected using system APIs rather than firing up programs.
2024-02-09Falco bridge: Add container I/O statsGerald Combs1-1/+0
2024-02-09recent: Keep recent column width in sync with prefsJohn Thacker5-11/+82
Keep the recent column width list in sync with the order of the prefs.col_list by appending, inserting, and moving the recent column width list at the same time, instead of allowing them to get out of sync (as we use the format for a key.) Fix an issue where column_prefs_add_custom did not always return the position of the column added (when a column number was passed in that was less than the maximum number of columns.) Preparation for the width and alignment part of #15529
2024-02-09Qt: Add width and alignment to column preferencesJohn Thacker2-7/+97
Add the ability to change the width and alignment of columns from the Column Preferences. This also makes it easier to eventually fix #15529 by having all the column-relevant details edited at once. In order to properly solve that issue, the column indices from the preferences and the recent settings need to be kept in sync, instead of using the format as the unique key. Related to #15529
2024-02-08Qt: Fix the FilterExpressionToolBar context menu positionGerald Combs1-2/+4
When we open a FilterExpressionToolBar menu and right click on it, make sure we open our context menu using coordinates relative to the toolbar.
2024-02-08Qt: added preference for hiding 'Welcom page' -> 'Open'Jan Wiesemann1-29/+31
This commit adds a additional preference to hide the 'Open' (recently opened files) section on the welcome page.
2024-02-07Qt: Add null checks to the protocol treeGerald Combs1-6/+10
eab4734a0d removed actionAnalyzeDecodeAs and actionFileExportPacketBytes from Logray.
2024-02-07Qt: Only save the filtered rows to the MapJohn Thacker3-30/+50
Be a little more careful in TrafficTab about whether we want the Proxy Model or the Source Model, since the tap filter doesn't exclude rows from the source model (since the non-displayed rows are used to as part of the percentages of the total.) When we want to respect the display filtering or the sorting, use the proxy model. In the tap data model, only claim we have GeoIPData (which makes the map available) if a row that isn't filtered out has data. Fix #18530
2024-02-07Qt: Show "Events" in the status bar when appropriateGerald Combs1-12/+37
2024-02-07Logray: UI updatesGerald Combs10-317/+127
Change some instances of "packet" to "event" in Logray's menu items. Remove "Export Objects" and "Export PDUs" and associated code. Remove the packet diagram menu items and associated code. Remove the "Decode as" menu items and associated code. Use "Selected" instead of the parenthetical plural "Packet(s)" for marking and ignoring. Remove an attempt at plural translation which apparently doesn't work if we don't have a "%n" in the translation string.
2024-02-06CMake+Logray: Add the About → Authors CSV resourceGerald Combs1-1/+21
2024-02-06Falco bridge: Syscall conversation updatesGerald Combs1-0/+7
Add a pinfo conversation filter which enables related packets based on (container.id, proc.id) combinations. Register the "Process" conversation filter first so that the "Go" menu behavior matches the related packet display. Handle cases where container.id is missing. Add 64-bit integer type support to conversations.
2024-02-04Qt: Add delta times to the follow dialog text formatsGerald Combs7-55/+230
When showing the follow data as text (ASCII, UTF-8, EBCDIC, etc), add a newline at each turn. Add the ability to show delta times between packets and turns. Add a recent setting for delta times. Make the initial dialog a bit wider. Save and restore our scoll position when reading a stream. Manually connect our signals and slots. Fix some clazy warnings.
2024-02-04[Automatic update for 2024-02-04]Gerald Combs13-100/+398
Update manuf, services enterprise numbers, translations, and other items.
2024-02-02extcap: Fix some leaks of argument settingsJohn Thacker1-1/+3
2024-02-02const-ify proto/handoff/tap registration data.Darius Davis1-1/+1
This moves 54 kBytes of data to a read-only data section.
2024-02-01wsutil+tools: Version info updatesGerald Combs4-5/+12
Define VCS_NUM_COMMITS and VCS_COMMIT_ID in vcs_version.h. Use them to return the Logray version in get_lr_vcs_version_info and use that where appropriate. Rename VCSVERSION to VCS_VERSION.
2024-01-31Logray: Use the name "Logray" in more placesGerald Combs7-53/+62
2024-01-31RTP Analysis: Use extended timestamp in statinfoJohn Thacker2-20/+13
The RTP dissector already calculates an extended timestamp that takes into account wrapping and passes it to the taps. Just use that in the analysis stats instead of redoing the extended timestamp calculation. (The calculation currently in the analysis has some slight issues about when to use a absolute difference versus a signed difference, and what to cast the 32 bit timestamps to.) Fix #19622. Tested and works with the various edges cases in !4853 and #16330 and others.
2024-01-30Qt: Use "Logray" in the about box when appropriateGerald Combs1-5/+5
Remove some unneeded includes as well.
2024-01-29File sets: Match both formats, compressed filesJohn Thacker1-4/+3
For file sets produced by multiple file captures, match both the number before time and the newer time before number format. Distinguish them in the return value, since files of different formats are not part of the same set. Also handle files with a compression suffix as well, as we can produce that in captures. Since in multi file captures compression is done when switching files, allow file sets to have a mixture of files compressed and uncompressed. When doing a multi file capture and compressing, the last file is not compressed. Add information to the user guide and release notes Related to #12371
2024-01-28[Automatic update for 2024-01-28]Gerald Combs13-69/+506
Update manuf, services enterprise numbers, translations, and other items.