Qt: display PINO as child of parent protocol
Description
Building a simple profile to extract UDP data: Get UDP payload live for all ports
Disable all protocols then enable Ethernet
, IPv4
and UDP
.
It's working as defined in README.dissector:
separately as to remove confusion from real protocols. "pinos" the main
protocol's properties for things like enable/disable. i.e. If the "main"
protocol has been disabled, all of its pinos will be disabled as well.
(In this case it was the inverse: enabling IPv4
enables all of the PINOs for IP Option
.)
It would be nice if the PINO were displayed as children of the protocol they are registered to as the heuristic dissectors are:
Currently looks like:
/* Register IP options as their own protocols so we can get the name of the option */
proto_ip_option_eol = proto_register_protocol_in_name_only("IP Option - End of Options List (EOL)", "End of Options List (EOL)", "ip.options.eol", proto_ip, FT_BYTES);
proto_ip_option_nop = proto_register_protocol_in_name_only("IP Option - No-Operation (NOP)", "No Operation (NOP)", "ip.options.nop", proto_ip, FT_BYTES);
proto_ip_option_security = proto_register_protocol_in_name_only("IP Option - Security", "Security", "ip.options.security", proto_ip, FT_BYTES);
heur_dissector_add("udp", dissect_acn_heur, "ACN", "acn", proto_acn, HEURISTIC_DISABLE);
heur_dissector_add("udp", dissect_rdmnet_over_udp_heur, "RDMnet over UDP (LLRP)", "rdmnet_udp", proto_acn, HEURISTIC_DISABLE);
heur_dissector_add("tcp", dissect_rdmnet_over_tcp_heur, "RDMnet over TCP (Broker, RPT, EPT)", "rdmnet_tcp", proto_acn, HEURISTIC_DISABLE);
3.7.0rc0-1027-gb3d5ace216cd (v3.7.0rc0-1027-gb3d5ace216cd)
Compiled (64-bit) using Microsoft Visual Studio 2019 (VC++ 14.29, build 30138),
with Qt 5.15.2, with libpcap, with GLib 2.66.4, with PCRE2, with zlib 1.2.11,
with Lua 5.2.4, with GnuTLS 3.6.3 and PKCS #11 support, with Gcrypt 1.8.3, with
MIT Kerberos, with MaxMind DB resolver, with nghttp2 1.44.0, with brotli, with
LZ4, with Zstandard, with Snappy, with libxml2 2.9.10, with libsmi 0.4.8, with
QtMultimedia, with automatic updates using WinSparkle 0.5.7, with AirPcap, with
SpeexDSP (using bundled resampler), with Minizip.
Running on 64-bit Windows 10 (21H1), build 19043, with Intel(R) Core(TM)
i5-4300U CPU @ 1.90GHz (with SSE4.2), with 12191 MB of physical memory, with
GLib 2.66.4, with PCRE2 10.39 2021-10-29, with Qt 5.15.2, with Npcap version
1.60, based on libpcap version 1.10.2-PRE-GIT, with c-ares 1.17.0, with GnuTLS
3.6.3, with Gcrypt 1.8.3, with nghttp2 1.44.0, with brotli 1.0.9, with LZ4
1.9.3, with Zstandard 1.4.0, without AirPcap, with light display mode, without
HiDPI, with LC_TYPE=English_United States.utf8, binary plugins supported (21
loaded).
(Search help: PINO, PINOs, Protocols in name only, proto_register_protocol_in_name_only, heur_dissector_add)