Commit Graph

7135 Commits

Author SHA1 Message Date
Gerald Combs 38dbb8486f text import: Remove an unneeded cast.
Don't bother casting to a guint32. We check for large values further on.
2021-12-25 19:43:35 +00:00
John Thacker f63571c3e8 text_import: Ignore offsets in no offset mode
If we're in the no offset mode and we parse an offset,
warn the user and ignore. At the very beginning of the file try
adding it to the preamble, maybe there's something unfortunate
like an all numeric time stamp format (ISO-8601 Basic).
2021-12-25 08:39:29 -05:00
John Thacker 857d518c17 text_import: Use time format directly
Also use g_strcmp0 for setting the ISO format.
2021-12-25 03:35:24 +00:00
John Thacker 54c4c7b0a6 text_import: Another explicit cast for unsigned long and clang 2021-12-24 21:54:40 -05:00
John Thacker 96c299c6b8 text_import: Reduce globals
A bunch of the globals are simply copied from the input parameter
text_import_info_t, just use them directly.

Move the count for packets read and written into the info type,
so that callers like text2pcap can access them as results.
2021-12-24 08:20:27 -05:00
John Thacker 48574e3a58 text_import: Report errors and warnings
Don't exit in the middle with unexpected values. Report a failure
and return a failed exit status when something goes really wrong.
Use warnings when appropriate, like when a time code value couldn't
be parsed.
2021-12-23 19:26:45 -05:00
Gerald Combs 4605ad2ed7 CMake: Clean up the Qt CMakeLists.txt
Sort each of our file lists and remove a duplicate item. Make our
indentaion consistent.
2021-12-23 10:32:55 -08:00
John Thacker bc9cfa6340 text_import: Allow ISO8601 format times
Includes allowing the string "ISO" in the format string text box
in the GUI, so this works in "Import from Hex Dump" as well as
being for the text2pcap transition. Part of #16724.
2021-12-23 11:42:51 -05:00
John Thacker bc4b27bbe2 text_import: Report failure to write
Use report_message and report wtap_dump failures. Pass in
the output filename and keep track of the frame numbers for
the message parameters.

Report failure to initialize the lex scanner in text_import
instead of in the GUI, so that it would be reported from text2pcap,
and because text_import might have other failure cases that are
not the scanner.

The regex parser returns a positive number of packets processed
on success; save that number in text_import, and return zero on
success to our callers.
2021-12-23 15:49:04 +00:00
Gerald Combs 20ebe853d1 Qt: Make utils more independent.
Use qApp instead of wsApp in ColorUtils and StockIcon.
2021-12-22 19:00:13 -08:00
John Thacker 8d421de42c text_import: port ASCII identification from text2pcap
This is the special check for canonical hex+ASCII textdump
files that looks for the edge case where the beginning of the
ASCII column has strings that can be mistaken by the parser for
additional hex bytes. Not implemented in the GUI yet. Preparing
for text2pcap switchover. Related to #16724.
2021-12-22 20:08:29 -05:00
John Thacker 50d66b6346 text_import: gracefully handle hexdump without trailing LF
Adjust the grammar to recognize two trailing hexadecimal characters
without a LF as a byte as well. Ported from text2pcap and commit
22cf80d30d which explains why this
is safe. More work for #16724.
2021-12-22 20:15:11 +00:00
John Thacker 334d24ec5b text_import: Fix IPv6 payload length 2021-12-22 19:40:13 +00:00
Moshe Kaplan 69d54d6f8e Corrects repeated words throughout the code.
Repeated words were found with:
egrep "(\b[a-zA-Z]+) +\1\b" . -Ir
and then manually reviewed.
Non-displayed strings (e.g., in comments)
were also corrected, to ease future review.
2021-12-22 11:01:11 +00:00
John Thacker 6a74dae750 text_import: Add interface and internals for IPv6
Add IPv6 handling to text_import, including the ability to
handle dummy IPv6 addresses instead of IPv4. GUI support is
still TBD. This further reduces the number of text2pcap features
that ui/text_import does not yet support. Related to #16724.
2021-12-22 05:13:17 +00:00
John Thacker 3ff0c753a1 text_import: Add interface and internals for dummy IPv4 addresses
Add dummy IPv4 addresses to the text_import_info_t struct, and
use them if set in the same way text2pcap does. GUI support in
"Import from Hex Dump" is not added yet. This is also part of the
work for text2pcap to eventually call text_import. Related to #16724.
2021-12-22 02:41:11 +00:00
John Thacker 4cfae8e378 text_import: pcap_link_type -> wtap_encap_type
The encapsulation type that text_import expects and puts
directly into rec.rec_header.packet_header.pkt_encap is a
wiretap encap type, not a pcap link type. Fix the name and
comment appropriately.
2021-12-22 01:00:19 +00:00
j.novak@netsystem.cz 9b62d8ba05 Extcap prefs: Selector correctly selects default value 2021-12-21 21:40:51 +00:00
j.novak@netsystem.cz 55aad96738 Extcap prefs: Selector option shows tooltip 2021-12-21 20:14:14 +00:00
João Valverde 5ce2ae2804 Clean up some printf() format strings 2021-12-21 02:15:46 +00:00
Gerald Combs e56c00e12f [Automatic update for 2021-12-19]
Update manuf, services enterprise numbers, translations, and other items.
2021-12-20 06:22:21 +00:00
João Valverde 0ccd69e530 Replace g_strdup_printf() with ws_strdup_printf()
Use macros from inttypes.h.
2021-12-19 21:21:58 +00:00
João Valverde fe5248717f Replace g_snprintf() with snprintf()
Use macros from inttypes.h with format strings.
2021-12-19 20:06:13 +00:00
John Thacker db10235d68 text_import: Handle SCTP and minimum packet lengths
Correctly handle when a minimum packet length forces fragmentation of
SCTP and we are generating dummy SCTP DATA chunk headers: mark fragmentation
in the chunk flags and set the transmission sequence number and
stream sequence number appropriately.

Port from text2pcap commit f8d48662c8
Part of #16724.
2021-12-18 22:45:02 -05:00
John Thacker f89d536503 text_import: Fix direction detection in Import from Hexdump
If the first character of the preamble indicates direction, it
needs to be skipped over and not tested as part of the timestamp.
2021-12-18 00:49:42 +00:00
John Thacker b4054d3879 text_import: Time delta between packets without timestamp
The "Import from Hex Dump" time delta for packets without a timestamp
was changed to be a nanosecond, but the time resolution for the file
created by import_text_dialog is the default, microseconds. Until
that is configurable, the time tick used needs to be microseconds like
it was before.

Clean up the code so that it's a little more consistent about when
and how the extra time tick is added, namely:
1. If there is no time format passed in.
2. If time format conversion for the packet fails for any reason.

We don't add an extra delta in other situations, e.g. if packets just
happen to have the same valid time value.

Fix #15562.
2021-12-17 13:37:29 +00:00
John Thacker 5f5f03f0e8 text_import: Fix spelling and grammar 2021-12-17 12:55:52 +00:00
John Thacker a74fabf73f text_import: Parse entire timestamp from hex dumps
_parse_time, which uses g_strlcpy, expects that end_field points
to the position after the end of the field (such as the \0.)
text_import_regex handles this correctly, but when importing from
hex dumps the last character of the timestamp was being cut off,
which makes a big difference when fractional seconds are not used.
2021-12-16 00:07:08 +00:00
João Valverde 81de22e81a wslog: 'struct timespec' is C11, use that 2021-12-15 15:00:59 +00:00
João Valverde fe30cf2f8a wsutil: Add portability wrapper for clock_gettime(CLOCK_REALTIME) 2021-12-15 15:00:59 +00:00
João Valverde e877460a9e Revert "The function timespec_get() is C17 so assume we have it"
This reverts commit 8b15d0e641.
2021-12-15 15:00:59 +00:00
João Valverde cf3cb3a695 wslog: Avoid logging any output to stdout
For historical reasons our logging inherited from GLib the logging of
some levels to stdout. Namely levels "info" and "debug" (to which we
added "noisy").

However this practice is discouraged because it mixes debug output
with application output for CLI tools and breaks many common usage
scenarios, like using tshark in pipes.

This change flips the logic on wslog to make logging to stderr the
default behavior.

Extcap subprocess have a hidden dependency on stdout so add that.

Some GUI users may also have a dependency on stdout. Because
GUI tools are unlikely to depend on stdout for programatic output
add another exception for wireshark GUI, to preserve backward
compatibility.
2021-12-14 12:05:41 +00:00
João Valverde 8b15d0e641 The function timespec_get() is C17 so assume we have it 2021-12-14 11:23:05 +00:00
Gerald Combs a6cffab3a1 [Automatic update for 2021-12-12]
Update manuf, services enterprise numbers, translations, and other items.
2021-12-12 17:54:42 +00:00
João Valverde 7d7873187e GUI: Lower log level of "up and ready" message
This lowers the level of this message from "message" to
"info". This has two side-effects:
  - It is not displayed by default
  - It is printed to stdout instead of stderr.

Some users were depending on this message. Restore this to
the level it had before 05ed76d4. Even though this output is
not considered a stable interface restoring the old behavior
helps them and has no meaningful usability downsides. The
changes in 05ed76d4 were experimental anyway.

Related to #17763.
2021-12-11 00:01:41 +00:00
John Thacker f888074def cli: Cleanup rtspstat tap output format
Actually output the packet count for RTSP response status codes,
and align the columns between requests and response. (This CLI-only
stat is largely redundant with rtsp,tree but it might as well work.)
2021-12-10 14:15:29 +00:00
John Thacker 51134bca8d RTSP: Fix segault of cli tap with no filter set 2021-12-09 05:37:59 +00:00
Dario Lombardo 5fd23d72b6 Qt: fix compilation without pcap. 2021-12-09 04:51:02 +00:00
Gerald Combs 3d369c01cc CMake+Qt: Fix a version check. 2021-12-08 08:26:27 -08:00
John Thacker 8938b83961 cli: Clean up httpstat tap output format
Actually output the packet count for HTTP response status codes,
and align the columns between requests and response. (This CLI-only
stat is largely redundant with http,tree but it might as well work.)
2021-12-08 00:46:48 +00:00
Chuck Craft c560226f3b Qt: capture with file intervals bug; autostop duration reset
Closes #16783. No open issue for autostop bug. Link added in
issue 16783 to Ask site question 15303.
2021-12-07 08:05:56 +00:00
Martin Mayer 8d07014df0 Qt: Collapse/Expand context menu for StatsTreeDlg 2021-12-07 06:04:09 +00:00
j.novak@netsystem.cz d50c666cd7 Capture Options dialog: Added configuration icon 2021-12-07 05:47:54 +00:00
John Thacker 34f3a902f8 cli: Make CAMEL SRT stats filter work
The filter needs to be set after memsetting the struct to 0.
Also fix a length being off by one so that the filter doesn't
include the comma.
2021-12-06 03:52:49 +00:00
Gerald Combs 49e1576c31 CMake+Qt: Add a version check for QT5_ADD_TRANSLATION.
Passing options to QT5_ADD_TRANSLATION requires Qt >= 5.11.

https://github.com/qt/qttools/blob/5.11/src/linguist/Qt5LinguistToolsMacros.cmake
https://github.com/qt/qttools/blob/5.10/src/linguist/Qt5LinguistToolsMacros.cmake
2021-12-05 16:30:44 -08:00
John Thacker 7987df81ff QT: Default sort simple stat tables by first column ascending
Without this, the simple stat tables default to sorting by the first
column in descending order. (An artifact of the QTreeWidget that they
inherit from.) The first column is generally a message type (integer or
string) and ascending order makes more sense.

Some of the stat tables intentionally insert rows in a preferred order
that is different than sorting by the first column (e.g, ANSI A I/F tables
are sorted by the second column), but we can't tell what that is.
QTreeWidget only allows the data to be shown in its original unsorted
order if the widget is marked unsortable, but then the user isn't allowed
to sort at all, and being able to sort by other columns (such as count)
is useful.
2021-12-05 14:54:07 +00:00
Gerald Combs 6ef2b48fc0 CMake+Qt: Run lrelease in silent mode. 2021-12-04 17:46:29 +00:00
João Valverde e921b804d0 Fix logging with extcaps
Extcaps require a log file when invoked in child mode. It also has
a specific flag to enable debugging, other that the wslog options.

Fix the logging to:
  1. Enable debug log level if --debug is used.
  2. Do not emit messages to the stderr if debug is enabled.

This brings extcap logging to the same feature level it had before
wslog replaced GLib logging.
2021-12-03 12:30:53 +00:00
João Valverde 14bb016b5b Add release build configuration to version info 2021-12-01 20:28:25 +00:00
Moshe Kaplan 3953ddcf57 Add UI header files to Doxygen
Add @file markers for UI
header files so that Doxygen will
generate documentation for them.
2021-11-30 08:01:36 -05:00