Added dissections for the following PIDs:
- PID_PARTICIPANT_SECURITY_DIGITAL_SIGNATURE_ALGO
- PID_PARTICIPANT_SECURITY_KEY_ESTABLISHMENT_ALGO
- PID_PARTICIPANT_SECURITY_SYMMETRIC_CIPHER_ALGO
- PID_ENDPOINT_SECURITY_SYMMETRIC_CIPHER_ALGO
ECC_SM4_CBC_SM3 is defined in GB/T38636-2020
Information security technology-Transport layer cryptography protocol
which is a Chinese national standard.
prf alg of ciphersuites defined in GB/T 38636-2020 are the same as TLS1.2.
These IEs were introduced back in 2018, see:
https://gerrit.osmocom.org/q/I93850710ab55a605bf61b95063a69682a2899bb1https://cgit.osmocom.org/libosmocore/commit/?id=1b729ce106f474e29e7bbd57c01c3472e75a8b25
Below is an example PDU containing them:
GSUP SendAuthInfo Request, IMSI: 901700000043352
Message Type: SendAuthInfo Request (8)
IE: IMSI, 901700000043352
Information Element Identifier: IMSI (1)
Information Element Length: 8
IMSI: 901700000043352
[Association IMSI: 901700000043352]
Mobile Country Code (MCC): International Mobile, shared code (901)
Mobile Network Code (MNC): Clementvale Baltic OÜ (70)
IE: Supported RAT Types
Information Element Identifier: Supported RAT Types (41)
Information Element Length: 1
Supported RAT Type: EUTRAN (SGS) (3)
IE: Current RAT Type
Information Element Identifier: Current RAT Type (42)
Information Element Length: 1
Current RAT Type: EUTRAN (SGS) (3)
libbrotlidec and libbrotlicommon show up in `otool -L` without any path
information on the macOS builders, similar to what's described at
https://github.com/google/brotli/issues/934
Try to work around this in osx-app.sh.
Modernize the handling of experimental TCP options based on
RFC 6994. In particular use ExID instead of magic (which
in the context of RFC 6994 are the last two bytes of a
32-bit ExID) and add a desciption of ExID based on the
current state of the IANA registry.
Set G_DEBUG=fatal-criticals environment variable when debugging with
Visual Studio. Setting the environment variable conveniently triggers
breakpoint whenever there is a programmer error.
Don't add the protocol to the tree if heuristics fail.
Make sure that we have enough bytes to perform the heuristics.
If the magic number is wrong, don't go on to retrieve the ifd offset.
It's set from the result of mktime(), which returns a time_t, and it's
assigned to a time_t that's ultimately assigned to the time_t secs
member of an nstime, so no reason for it to be a guint32.
This should squelch Coverity CID 1509354.
Windows processes inherit all inheritable handles when a new process is
created using CreateProcess() with bInheritHandles set to TRUE. This can
lead to undesired object lifetime extension. That is, the child process
will keep ineritable handles alive even if it does not use them. Up to
Windows Vista it was not possible explicitly list handles that should be
inherited. Wireshark no longer works on Windows releases earlier than
Vista, so use the new API without checking Windows version.
Require all callers to win32_create_process() to pass in the list of
handles to inherit. Set the listed handles as inheritable shortly before
calling CreateProcess() and set them as not inheritable shortly after
the process is created. This minimizes possibility for other callers
(especially in 3rd party libraries) to inherit handles by accident.
Do not terminate mmdbresolve process on exit. Instead rely on process
exit when EOF is received on standard input. Previously the EOF was
never received because mmdbresolve inherited both ends of standard input
pipe, i.e. the fact that Wireshark closed the write end was not observed
by mmdbresolve because mmdbresolve kept write handle the standard input
pipe open.
When reading memory-mapped Linux capture files, fix up the "real" length
field, in case the file was written by a program doing a capture done
with a version of libpcap with a bug that causes it to incorrectly set
the "real" length for isochronous transfers.
Update the sample dissector for some best practices,
and avoid some deprecated behavior.
Use register_protocol instead of creating an anonymous
dissector handle, so that Lua, Export PDU, custom
User DLT disection, etc. can find it. (See #5612)
Use auto preferences and prefer port ranges when possible
(See #14319)
That should never be the case; if you slice off part of a sausage, the
remainder of the sausage cannot be longer than the original sausage.
Warn about that.
If ssl_add_vector is called with a offset past offset_end,
add the malformed buffer too small expert info and return
failure instead of failing an assertion. Malformed packets
can cause this to happen, so it's not necessarily a dissector
bug.
Also change the other assertion to output the result of the
comparison to aid in debugging.
Related to #17890.