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
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.
Run
git diff --name-only --diff-filter=A v3.5.0rc0.. epan/dissectors/{file,packet}-*.c plugins
and add any missing dissectors to the release notes. Take the liberty of
fixing up some dissector names and clean up some whitespace.
** 'nvme.cmd.identify.ctrl.lpa' exists multiple times with incompatible types: FT_UINT8 and FT_BOOLEAN
** 'nvme-rdma.cmd.prop_attr.set.csts.rsvd' exists multiple times with incompatible types: FT_BYTES and FT_UINT8
** 'nvme-rdma.cqe.status.pget.csts.rsvd' exists multiple times with incompatible types: FT_BYTES and FT_UINT8
wmem_strbuf_append_len is for appending strings with embedded nulls,
so it shouldn't return early if the first byte of the string passed in
is null. The check for the string itself being null and the append_len
being zero is sufficient.
The ftype-protocol has two components to its value - a tvb, which is
allowed to be be NULL (most notably in _ws.expert), and a string
description. They can also be created from string literals, such as
in display filters. It's possible to compare protocols with a NULL
tvb with protocol terms created from literals, e.g. entering the
display filter "_ws_expert < 1".
Partially revert 69e2603c48 so that
this doesn't crash, by assigning proto_string to the empty string
instead of null when creating from a literal. Fixes#17316
Replace most instances of ws_debug_printf() except in
epan/dissectors and dissector plugins.
Some replacements use printf(), some use ws_debug(), and
some were removed because they were dead or judged to be
temporary.
Change dissect_dvb_s2_bb to take a tvb_subset of the appropriate size
and offset instead of being passed in an offset and length. Rearrange the
parameters so that it has the dissector_t signature. This is a little
cleaner, and also allows in the future creating dissector handles that
call the GSE dissector directly for GSE frames not carried within a
BBFrame.
There's a "break" in some code that appears to be copied and pasted from
a switch statement; the break would exit the loop (and leak memory
allocated within the loop), which does not appear to be the intent, so
it may have been copied over incorrectly. Remove it.
While we're at it, redo the "constant-time append to the end of a loop"
code to be a bit clearer, both to humans reading the code and code
analyzers reading the code.
g_key_file_get_groups() returns a pointer to g_mallocated data; we need
to pass its return value to g_strfreev() when we're done with that data,
to free it up.
Declare it as being printflike, so that the compiler does
format-vs-argument-list checking.
Fix the error that found.
Make the string buffer into which it formats automatic, so that it's
thread-safe.
Let the libwireshark code format the value of the session key, by
setting its display format to SEP_COLON.
Use proto_tree_add_bytes_with_length(), so that the session key becomes
the value of the field; otherwise, the length of the key isn't
specified.
This means we don't need to call bytestring_to_str() (the code in
epan/proto.c calls it for us).
This also plugs a leak of the string generated by bytestring_to_str().
Free the path we've constructed before returning a failure indication if
pbw_load_proto_file() or load_all_files_in_dir() reports a failure.
Also, explicitly compare pbw_load_proto_file()'s return value against 0,
to make it a little clearer that it's *not* a Boolean, it's a return
code (with 0 meaning success and different non-zero values meaning
failure; if it matters *which* failure it is, we should probably have
otherwise we should just make it a Boolean).
Process the characters entirely ourselves; that way, we don't have to
worry about tvb_get_string_enc(..., ENC_ASCII) mangling label length
values, can convert non-ASCII characters in labels to the Unicode
REPLACEMENT CHARACTER, and can do bounds checks.
Error: proto_tree_add_item_ret_uint(.., hf_erldp_tag, ...) called at epan/dissectors/packet-erldp.c:625 with type FT_STRING
(allowed types are {'FT_UINT8', 'FT_CHAR', 'FT_UINT24', 'FT_UINT32', 'FT_UINT16'} )
Change dissect_dvb_s2_bb to take a tvb_subset instead of being
passed in an offset. Rearrange the parameters so that it has the
dissector_t signature. This is a little cleaner, and also allows
in the future creating dissector handles that point directly to
baseband frames (if we know we have L.1/ out of band mode adaptation.)
GCC 11.1.0.
./epan/dissectors/packet-dcerpc-netlogon.c: In function ‘dissect_secchan_verf’:
../epan/dissectors/packet-dcerpc-netlogon.c:8162:13: error: ‘digest’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
8162 | guint64 digest;
| ^~~~~~
- Implements the BACnet /SC datalink using encrypted TLS communication
over TCP/IP and the websocket protocol.
- Updated list of vendor ID's
- Added new BACnet services Who-Am-I / You-Are
- Some corrections for revision 22.
- Fixed bug issue #17142