Commit Graph

6900 Commits

Author SHA1 Message Date
Gerald Combs 1d3a3491ec [Automatic update for 2021-05-09]
Update manuf, services enterprise numbers, translations, and other items.
2021-05-09 09:29:13 +00:00
Gerald Combs 826e03c9f4 CMake: Apply AUTO{MOC,UIC,RCC} more selectively.
Set CMAKE_AUTO{MOC,UIC,RCC} if we're running CMake 3.20.0 or 3.20.1 in
order to work around CMake issue 22085, otherwise set the AUTOMOC,
AUTOUIC, and AUTORCC properties for the qtui target. The latter is
preferred since it keeps us from running Qt's meta-object, user
interface, or resource compilers on code outside of ui/qt. Ping #17314.
2021-05-06 19:14:15 -07:00
Pascal Quantin 438ace8f26 Qt UI: fix AutoUic warning 'The name 'label' (QLabel) is already in use' 2021-05-05 22:09:35 +02:00
Jirka Novak 6d6b376b43 VoIP dialogs: Default actions for buttons works as before
When button is pressed or triggered by shortcut, it opens same
window as before.
User can click small arrow next to button and it open menu with all
new actions e.g. Set/Add/Remove for RTP Player.
Documentation updated.
2021-05-04 20:45:35 +00:00
Jirka Novak 4c7c377d42 RTP Player: Player is able to skip silence during playback
Code is NOT able to do VAD (Voice Activity Detection) so audio silence
(sequence of equal samples) nor noise are not recognized as silence. Just
missing RTP (Confort Noise, interupted RTP, ...) and muted streams are
recognized as silence for this feature.
User can control duration of shortest silence to skip.
Updated documentation.
2021-05-03 21:38:48 +00:00
Guy Harris 8fc875db99 Allow the RTP player dialog to be opened even if we're built without libpcap. 2021-05-02 18:07:36 -07:00
Gilbert Ramirez 6555cfe885 Add min/mean delta and min jitter, to the RTP analysis. 2021-05-02 19:58:59 +00:00
Gerald Combs 75c6177fa1 [Automatic update for 2021-05-02]
Update manuf, services enterprise numbers, translations, and other items.
2021-05-02 09:19:54 +00:00
Chuck Craft e80f6fd768 Qt: URLs to Display Filter Reference and Wiki Protocol pages
Partial fix for #16727
2021-05-01 08:55:28 +00:00
Gerald Combs f80227861f Qt: Fix some documentation warnings. 2021-04-30 22:25:17 +00:00
Guy Harris 57a1514ac7 Cast away the return value of g_strlcpy() and g_strlcat().
Most of the time, the return value tells us nothing useful, as we've
already decided that we're perfectly willing to live with string
truncation.  Hopefully this keeps Coverity from whining that those
routines could return an error code (NARRATOR: They don't) and thus that
we're ignoring the possibility of failure (as indicated, we've already
decided that we can live with string truncation, so truncation is *NOT*
a failure).
2021-04-30 03:19:19 -07:00
Guy Harris faf2e62db8 tap_export_pdu: we don't have packet flags, don't claim that we do.
We don't set rec.rec_header.packet_header.pack_flags, so don't set
WTAP_HAS_PACK_FLAGS in the presence flags.  (Copy-and-pasteo?)
2021-04-29 14:27:49 -07:00
Guy Harris eb4d68033e Don't cast away upper bits when assigning to a nstime_t's secs field.
The secs field is a time_t, which is not necessarily 32 bits.  If it's
not, casting away the upper bits, by casting to guint32, introduces a
Y2.038K bug.

Either cast to time_t or, if you're assigning a time_t to it, don't
bother with the cast.
2021-04-28 21:31:15 +00:00
Jirka Novak 21b334fd82 RTP Player: Export of audio can start at position of play cursor
Added additional option for audio exporting 'From cursor'.
Documentation updated.
2021-04-28 20:29:02 +00:00
Jirka Novak 02107e6abe RTP Player: Fixed issue when keys were not processed till mouse clicked 2021-04-27 18:08:28 +02:00
Jirka Novak c1084fe97e RTP Player: Settings for enabling use of disk as temporarly store
New advanced settings are created:
- rtp_player_use_disk1 - controls if decoded samples are stored in
  memory or on disk.
- rtp_player_use_disk2 - controls if dictionary for decoded samples
is stored in memory or on disk.
- documentation updated
2021-04-26 10:57:22 +02:00
Jirka Novak 71bd81efd4 RTP Player: Fix of clang compilation error 2021-04-25 22:08:49 +02:00
Jirka Novak 54b7886a5e RTP Player: Memory consumption improvements
Audio for play is now decoded and stored without silence parts.

Changes:
- ui/qt/utils/rtp_audio_file.cpp created to handle silence skipping
- ui/qt/rtp_audio_stream.cpp refactored to support it
- Fixed issue with exporting streams: File synchronized export was missing
leading silence.
- No line is shown in waveform graph if there is silence
2021-04-25 19:34:52 +02:00
database64128 d5bd5a920b 🔍 Fix HiDPI scaling on Windows
- Set `Qt::HighDpiScaleFactorRoundingPolicy::PassThrough` to fix large UI on devices with non-integer scaling factors
- Fix #17007
- See discussions at https://github.com/keepassxreboot/keepassxc/issues/2815 and my fix at https://github.com/keepassxreboot/keepassxc/pull/4915
2021-04-25 17:18:18 +00:00
Jirka Novak e91806b8e9 RTP Player: Fix for compilation when no HAVE_LIBPCAP is defined
See comment on !2801.
2021-04-25 14:47:59 +02:00
Gerald Combs c4d6b0f6d7 [Automatic update for 2021-04-25]
Update manuf, services enterprise numbers, translations, and other items.
2021-04-25 09:28:50 +00:00
j.novak@netsystem.cz 0048142ea1 RTP Player: Added button 'Refresh streams' for live capture 2021-04-22 19:33:11 +00:00
Jim Young d42042fcbb Qt: Add checkbox for enabling/disabling packet-list hover_style
At times the presence of the packet-list hover_style colorization can make
it difficult to determine the state of the packet directly under the mouse
cursor. This forces the user to move the mouse cursor away from the
packet-list row to reveal the next colorization state. The packet-list row
colorization style precedence, from highest to lowest, is: hover_style,
Selected, Ignored, Marked and then coloring rules.

This patch adds a new 'Packet List settings:' checkbox option 'Enable
mouse-over colorization'. By default the supporting preference
`gui.packet_list_hover_style.enabled` will be enabled (TRUE). When this
checkbox is disabled, the packet-list hover_style (mouse-over)
colorization will not be used.
2021-04-21 08:36:27 +00:00
Thomas Dreibholz 6d809554a4 Fixed typo. 2021-04-21 04:16:27 +00:00
Thomas Dreibholz 1c7d9a57ab Further SCTP Analysis dialog layout improvements. 2021-04-21 04:16:27 +00:00
Thomas Dreibholz c0aa2a0841 More SCTP Analysis GUI layout fixes. 2021-04-21 04:16:27 +00:00
Thomas Dreibholz 317d264664 Second part of SCTP Analysis GUI layout fixes. 2021-04-21 04:16:27 +00:00
Thomas Dreibholz df394c057b First part of SCTP Analysis GUI layout fixes. 2021-04-21 04:16:27 +00:00
Gerald Combs 9222bd77cd Remove unneeded modelines in ui.
Remove the editor modeline blocks from the source files in ui that use 4
space indentation by running

perl -i -p0e 's{ \n+ /[ *\n]+ editor \s+ modelines .* shiftwidth= .* \*/ \s+ } {\n}gsix' $( ag -l shiftwidth=4 $( ag -g '\.(c|cpp|h|m|mm)') )

This gives us one source of indentation truth for these files, and it
*shouldn't* affect anyone since

- These files match the default in our top-level .editorconfig.

- The one notable editor that's likely to be used on these files and
*doesn't* support EditorConfig (Qt Creator) defaults to 4 space
indentation.
2021-04-20 07:43:39 +00:00
Jirka Novak 9bb2af76d9 RTP Stream: Small code cleanup 2021-04-20 06:37:43 +00:00
Gerald Combs cd81255da2 Qt: Fix various compiler warnings.
Fix const-qual and missing-prototypes warnings found by Clang.
2021-04-20 06:11:40 +00:00
Jirka Novak a8ccb67921 VoIP Calls: Streams related to calls can be selected in RTP Streams
When user press S(elect)/D(eselect) key, all RTP streams related to
selected call/calls are selected/deselected in RTP Streams window. If
window is not shown, it is opened.
Documentation updated.
2021-04-19 20:04:05 +00:00
Gerald Combs ab3bd1b228 [Automatic update for 2021-04-18]
Update manuf, services enterprise numbers, translations, and other items.
2021-04-18 09:28:42 +00:00
Gerald Combs f7e5fb6952 Qt: Fix various missing prototype warnings.
Fix some noisy documentation bugs while we're here.
2021-04-16 22:25:22 +00:00
Kevin Hogan bbcc605ee2 Fix issues with tcptrace graph
1. In order to keep error bars and scatterplot in-sync for segment and
SACK graphs, tell QCustomPlot that the data is already sorted when
adding it to scatter plots. [ Otherwise it will re-sort the data and
potentially get out-of-sync with the error bars graphs ]

2. Clear and hide error bars plottables in fillGraph() similar to what
is done for other graphs.  [ otherwise QCustomPlot may attempt to draw
error bars on graphs where they are not relevant ]

3. Do not mark window update packets as duplicate acks.
2021-04-16 06:35:11 +00:00
Jirka Novak f460e7b18f Fix: RTP Player might crash when audio routing touched during play 2021-04-15 23:54:06 +02:00
Jirka Novak c8479e41ae VoIP dialogs: Improvements and new functions
Changes:
- RTP Player added to Telephony/RTP menu.
- When openning RTP Analysis or RTP Player from RTP menu, just selected
  stream is added. When Ctrl is hold during opening, reverse stream is
searched and added too.
- RTP Player: Added tool to select/deselect all inaudible streams
- RTP Player: Added Prepare Filter button
- RTP Player: Added Analyze button
- RTP Analysis: Added Prepare Filter button
- documentation updated

Code changes:
- RTP Player::rescanPacket() is not fired multiple times during rate change and during dialog creation
- Error shown in RTP player is cleared after every new decode of streams
- RTP Player handles case when Qt do not emit stop stream event
- "Select" menu code unified between dialogs>
- RTP Player: Audio routing menu unified
- buttons are connected to actions by signals()
- Analyze dialog is called by list of rtpstream_id, not rtpstream_info
2021-04-15 21:19:51 +00:00
Gerald Combs 212ff30603 RTP: Fixup stream ID hashing.
Update our hash value when calling add_address_to_hash. Fixes:

________________________________________________________________________________________________________
*** CID 1476121:  Incorrect expression  (USELESS_CALL)
/home/wireshark/builders/wireshark-master-fuzz/clangcodeanalysis/build/ui/rtp_stream_id.c: 141 in pinfo_rtp_info_to_hash()
135     	/* SRC PORT | DST_PORT */
136     	/* SSRC */
137     	/* SRC ADDR */
138     	/* DST ADDR */
139     	hash ^= pinfo->srcport | pinfo->destport << 16;
140     	hash ^= rtp_info->info_sync_src;
>>>     CID 1476121:  Incorrect expression  (USELESS_CALL)
>>>     Calling "add_address_to_hash(hash, &pinfo->src)" is only useful for its return value, which is ignored.
141     	add_address_to_hash(hash, &pinfo->src);
142     	add_address_to_hash(hash, &pinfo->dst);
143
144     	return hash;
145     }
146
2021-04-15 21:01:28 +00:00
Kevin Hogan 92e652ebfa Fix adaptive sampling performance on scatterplots
QCustomPlot's adaptive sampling decimates the data to be plotted based
on the screen resolution.  Specifically, if many data points fit within
the same pixel on the X (key) axis, then QCustomPlot attempts to plot
only the min value, the max value, and a few values in-between to
maintain a good "density" on the Y (value) axis.

The density QCustomPlot wants is about one datapoint for every 4 pixels
covered by the value range of a single X (key) pixel.  Unfortunately,
this calculation is flawed if all values also fit within a single pixel
on the Y (value) axis - so this change fixes that bug.
2021-04-15 07:34:19 +00:00
Guy Harris 776957ec8b Clean up the "print interface link-layer/time stamp types" loop.
Initialize the exit status before the loop, and just break out of the
loop if something fails, so that the code following the loop can destroy
the console in Wireshark on Windows and then go to the clean exit code.
2021-04-14 23:36:07 -07:00
Guy Harris a9b3dfbbc7 Wireshark: when printing -L output, just create the console once.
On Windows, rather than creating and destroying the console twice for
each interface, just create it when we start printing and destroy it
when we finish printing.
2021-04-14 22:51:21 -07:00
Michael Tuexen f099bd179a Fix conversation table when using epoch based time
Ensure that if using tshark -q -t e -z conv,tcp the reported
start time is relative to the epoch time and not relative to
the time of the first packet in the capture file.

Thanks to Theresa Enghardt for reporting the issue and to
Peter Lei for initialy looking into it.
2021-04-15 03:42:47 +00:00
Jirka Novak c7f5646249 VoIP dialogs: Performance improvements
Retap and UI response are much faster when many RTP streams are
processed. RTP Streams/Analyse 1000+, RTP Player 500+.

Changes:
- RTP streams are searched with hash, not by iterating over list.
- UI operations do not redraw screen after every change, just after all
  changes. UI is locked when rereading packets.
- Sample list during RTP decoding is stored in memory so wireshark uses
  just half of opened files for audio decoding than before.
- Analysis window checkbox area is limited in height
- Dialogs shows shows count of streams, count of selected streams and
  count of unmuted streams
- Documentation extended with chapter about RTP decoding parameters
- Documentation extended with performance estimates
2021-04-14 14:02:58 +00:00
Alexis La Goutte 38d279326a Fix -Wdocumentation warning 2021-04-14 14:01:49 +00:00
Guy Harris fcb56bd1d4 Clean up printing of interface information.
In dumpcap, if we're being run by TShark or Wireshark, if there are no
link-layer types, just provide an empty list to our caller; let them
construct an empty list of link-layer types when they read our output.

In the code that reads that list, don't report an error if the list is
empty, rely on the caller to do so.

Have capture_opts_print_if_capabilities() do more work, moving some
functions from its callers to it.
2021-04-13 23:14:09 -07:00
Guy Harris d6c3781a7a Wireshark: fix output of -L and --list-tstamp-types.
Replace the Wireshark code for that with code that matches what TShark
does.

Update a comment in TShark while we're at it.

Fixes #14215.

(Still leaves it popping up the full window, but that's a bigger
change.)
2021-04-13 17:00:38 -07:00
Gerald Combs c27a7ffb9a Command line: Add a HAVE_LIBPCAP check for -k.
`-k` is a capture option, so add a HAVE_LIBPCAP check similar to other
flags. Fixes

../ui/commandline.c:459:41: error: no member named 'start_capture' in 'struct commandline_param_info'
                global_commandline_info.start_capture = TRUE;
                ~~~~~~~~~~~~~~~~~~~~~~~ ^
2021-04-13 14:36:12 -07:00
Guy Harris 60e339bba4 Don't handle -k in capture_opts_add_opt().
It's not a generic capture option also supported by TShark and dumpcap,
it's Wireshark-specific (dumpcap *always* starts a capture, and TShark
starts one iff it's passed one or more interfaces on which to capture;
only Wireshark needs it to start the capture immediately - that's a
relic of the days when Wireshark *itself* did what dumpcap now does for
Wireshark).

Handle it in commandline_other_options(), rather than in
capture_opts_add_opt().

That lets us get rid of an argument to capture_opts_add_opt(), and dummy
variables in TShark and dumpcap used to work with that extra argument.
2021-04-13 12:38:06 -07:00
Pascal Quantin 6ab7435af8 RTP player: fix compilation on Windows 2021-04-13 21:05:12 +02:00
Jirka Novak bc96d375ab RTP Player: Parallel playlist operations avoided
Changes:
- UI is locked during adding new streams
- When decoding of stream fails, it is reported in UI
2021-04-13 13:42:57 +02:00