The tshark help and documentation has been incorrect for at least
eight years, claiming that by default all name resolutions are
performed. Fixes#11762
The secs member of nstime_t is a time_t, which is difficult to print in
a way that's compatible across platforms. Convert our time to floating
point and print that value instead. Fixes
../ui/cli/tap-follow.c:304:63: error: format specifies type 'unsigned long long' but the argument has type 'time_t' (aka 'long') [-Werror,-Wformat]
printf(" timestamp: %" G_GINT64_MODIFIER "u.%09d\n", follow_record->abs_ts.secs, follow_record->abs_ts.nsecs);
~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~
%ld
on macOS.
Fix several issues with GSE reassembly:
Use the Input Stream Identifier (ISI) to distinguish packets on
different input streams, when present.
Take into account the label, if present, when reassembling. Also
don't send partially reassembled packets to subdissectors, but show
the bytes as undecoded PDU data in the fragment if reassembly did
not complete. (All this fixes #17403.)
Also include the Total Length field when reassembling, since it is
included in the CRC32 calculation. Check the CRC32 in completed
reassemblies.
Deal with reassembly issues arising from pinfo->src, dst, etc. changing
from subdissectors (since GSE oft carries IP.)
Require that reassemblies begin with Start packets, and don't add
Start packets to in progress reassemblies but rather start a new one.
Default to taking the VLAN ID into account when reassembling only
for private IPv4 addresses as defined by RFC 1918 and for link-local
addresses. Otherwise, do not take the VLAN ID into account unless
the "Enable stricter conversation tracking heuristics" preference
is enabled. Fixes#14356.
The most recent drafts of IEEE80211ax D7.0 change the format of trigger
frames in the User Info field quite a bit over the earlier drafts. This
also feeds into the fields in IEEE80211az draft 3.0 and beyond.
Change-Id: I5b80d3a3ccc9d0c16d0885bf284253b095ee0116
Commit 4bf4ee88f0 removed an else
statement that broke out of the BBFrame processing loop. Without
it, infinite loops might be possible if the GSE frames have bit errors
in the length field.
prefs_set_pref should allow the value of a preference argument set with
'-o pref:value' to be an empty string. Some of the types, like string
and range preferences, can and should be set to empty strings in some
cases. For types that wish to reject empty strings as a syntax error,
that can happen later in set_pref based on type, as already done for
PREF_UINT. Fixes#17199
Modify YAML output format so it includes information about peers and
absolute timestamps for each packet.
This also adds yaml output to tshark: -z follow,tcp,yaml,X
Make the variable into which we put the return value of
wtap_block_get_nth_string_option_value() a wtap_opttype_return_val, as
that's the type of the return value - it's not a boolean, it's a status
code with multiple values.
Explicitly check that value against WTAP_OPTTYPE_SUCCESS. Yes,
WTAP_OPTTYPE_SUCCESS is 0, so
if (xxx)
is equivalent to
if (xxx != WTAP_OPTTYPE_SUCCESS)
but it's better to make it explict, so it's clear that it's checking for
failure.
Move the RANAP heuristic dissector registration under the initialization
guard that they're only registered once. Prevents console warnings about
the dissectors already being registered to the sccp and sua tables if
a RANAP preference is changed.