Use BASE_CUSTOM and custom formatting functions for formatting
DHCP options that are time fields, instead of
proto_tree_add_uint_format_value(). This makes the formatted form
show up in columns.
Fix#18743
The websocket protocol masking feature makes follow TCP stream
on websocket traffic show masked payload. To easily view unmasked
and reassembled websocket payload add follow websocket stream
support.
If "use captured DNS packet data for name resolution" is enabled,
also use the information from PTR (reverse DNS) answers to fill
the hash table for IPv4 and IPv6 host resolution.
Fix#10036
Develpment headers are a sizeable part of the binary installation
and most users won't ever require them. It's recommended to package
them separately in a devel package or SDK.
Create a CMake installation component for development headers
and add the EXCLUDE_FROM_ALL property.
Headers can be installed using the invocation:
cmake --install <dir> --component Development
When creating the text of a custom column, don't call hf_try_val_to_str,
etc. on FT_FRAMENUM fields that have hfinfo->strings.
It refers to the ft_framenum_type.
Prevents crashing on custom columns of FT_FRAMENUM fields of
a type different than FT_FRAMENUM_NONE.
Add mingw packages for dependencies that are missing upstream;
these should eventually be submitted there.
Fix a version check for libsmi.
Update README.
The LwM2M object instance and resource id may be given in both the
CoAP Uri-Path and the LwM2M TLV header, and in this case the created
uri_path is wrong and resource id lookup will fail.
Change the logic to get object id from CoAP Uri-Path and resource id
from either Uri-Path or LwM2M TLV header.
The return of -1 for negative infinity is glibc specific and
non-portable.
/epan/dissectors/packet-synphasor.c:1634:62: error: comparison of constant '-1' with boolean expression is always false [-Werror=bool-compare]
1634 | if ((isinf(pmu_lat) == 1) || (isinf(pmu_lat) == -1)) {
| ^~
Fix
==10365== Conditional jump or move depends on uninitialised value(s)
==10365== at 0x81514B4: get_hfi_length (epan/proto.c:5981)
==10365== by 0x815A0A5: proto_tree_add_pi (epan/proto.c:5953)
==10365== by 0x815F41B: proto_tree_add_uint64 (epan/proto.c:5542)
==10365== by 0x6BF362C: dissect_msg_tag (epan/dissectors/packet-cose.c:462)
==10365== by 0x6BF1A27: dissect_cose_mac (epan/dissectors/packet-cose.c:656)
==10365== by 0x813511A: call_dissector_through_handle (epan/packet.c:757)
==10365== by 0x8130E58: call_dissector_work (epan/packet.c:850)
==10365== by 0x8131604: dissector_try_string_new (epan/packet.c:1751)
==10365== by 0x8131686: dissector_try_string (epan/packet.c:1776)
==10365== by 0x6BD8C60: dissect_coap_payload (epan/dissectors/packet-coap.c:1115)
==10365== by 0x6BDAD34: dissect_coap_message (epan/dissectors/packet-coap.c:1403)
==10365== by 0x6BD8ECB: dissect_coap (epan/dissectors/packet-coap.c:1526)
==10365==
==10365== Conditional jump or move depends on uninitialised value(s)
==10365== at 0x81517EC: get_hfi_length (epan/proto.c:6115)
==10365== by 0x815A0A5: proto_tree_add_pi (epan/proto.c:5953)
==10365== by 0x815F41B: proto_tree_add_uint64 (epan/proto.c:5542)
==10365== by 0x6BF362C: dissect_msg_tag (epan/dissectors/packet-cose.c:462)
==10365== by 0x6BF1A27: dissect_cose_mac (epan/dissectors/packet-cose.c:656)
==10365== by 0x813511A: call_dissector_through_handle (epan/packet.c:757)
==10365== by 0x8130E58: call_dissector_work (epan/packet.c:850)
==10365== by 0x8131604: dissector_try_string_new (epan/packet.c:1751)
==10365== by 0x8131686: dissector_try_string (epan/packet.c:1776)
==10365== by 0x6BD8C60: dissect_coap_payload (epan/dissectors/packet-coap.c:1115)
==10365== by 0x6BDAD34: dissect_coap_message (epan/dissectors/packet-coap.c:1403)
==10365== by 0x6BD8ECB: dissect_coap (epan/dissectors/packet-coap.c:1526)
and
==10365== Conditional jump or move depends on uninitialised value(s)
==10365== at 0x748EB90: hash_by_guid (epan/dissectors/packet-rtps.c:6006)
==10365== by 0xC522FD5: wmem_map_lookup (wsutil/wmem/wmem_map.c:264)
==10365== by 0x74A2E33: rtps_util_detect_coherent_set_end_empty_data_case (epan/dissectors/packet-rtps.c:3294)
==10365== by 0x74A1054: dissect_RTPS_DATA (epan/dissectors/packet-rtps.c:10829)
==10365== by 0x748E606: dissect_rtps_submessage_v2 (epan/dissectors/packet-rtps.c:12064)
==10365== by 0x748DFBE: dissect_rtps_submessages (epan/dissectors/packet-rtps.c:12439)
==10365== by 0x74A3FC9: dissect_rtps (epan/dissectors/packet-rtps.c:12357)
==10365== by 0x748EDD2: dissect_rtps_udp (epan/dissectors/packet-rtps.c:12459)
==10365== by 0x81334CA: dissector_try_heuristic (epan/packet.c:2864)
==10365== by 0x76A8FF6: decode_udp_ports (epan/dissectors/packet-udp.c:712)
==10365== by 0x76AB875: dissect (epan/dissectors/packet-udp.c:1267)
==10365== by 0x76A9DAD: dissect_udp (epan/dissectors/packet-udp.c:1273)
Fixes#18785
The code for dissecting enterprise IEs has been reworked.
Previously, each enterprise was registered by its enterprise-ie in a
dissector-table. The per-enterprise dissector would index into an array
of IEs in order to find the correct IE-dissector.
Using this method has following drawbacks:
- IEs had to be defined in two arrays (value_string and dissector),
possibly causing these two arrays becoming out-of-sync,
- the array only can be indexed if all IE-types are contiguous or gaps
are maintained, which would be wasteful in case of bigger gaps
- individual IEs cannot easily be added outside of the source of this
file
This commit implements a new approach that addresses above drawbacks by:
- defining all IE information together in one array,
- using per-vendor dissector_tables containing per-IE dissector handles,
allowing both for arbitrary ie-types and adding individual
enterprise-IEs separately from external code
This method does a two-level lookup for the IES:
- first looking up a vendor-dissector in the pfcp.enterprise_ies table
- if using the generic-ie-dissector a lookup in the per-vendor table to
find the IE-dissector
A vendor-dissector receives the whole IE including header and has to do
all the work. An IE-dissector receives only the data-part and
a tree + header-fields have already been created.
The code for registering the per-IE tree-types has been modified as
well, because these tree-types are now stored together with the
IE-definitions. (Getting rid of the hardcoded indexes is also a plus.)
The 3GPP example enterprise dissector has been removed, as there are two
other enterprises which can serve as example.
Implement USB 2.0 Extension Transaction specified in USB Engineering
Change Notice: USB 2.0 Link Power Management Addendum.
Display Best Effort Service Latency (BESL) instead of Host Initiated
Resume Duration (HIRD) when dissecting LPM Token to align with USB 2.0
ECN Errata for Link Power Management.
Originally WS_DISABLE_DEBUG was chosen to be
similar to G_DISABLE_ASSERT and NDEBUG.
However generator expressions are essential for modern CMake
but the syntax is weird and having to use negations makes it
ten-fold worse.
Remove the negation. Instead of changing the CMake variable
reverse the macro definition for WS_DISABLE_DEBUG.
The $<CONFIG:cgs> generator expression with multiple config arguments
requires CMake >= 3.19 so we can't use that yet for a further
syntactical simplification.
- ws_assert does not work, because _ASSERT_ENABLED is false and gets optimized
- add _U_ to unused variables because of compile flag /W3
- local variables need suppression of warning 4189