Commit Graph

37152 Commits

Author SHA1 Message Date
Gerald Combs fce0b28a39 [Automatic update for 2022-08-28]
Update manuf, services enterprise numbers, translations, and other items.
2022-08-28 16:44:11 +00:00
Alexander Clouter 093cd2077c EAP: fix TEAP Identity TLV decoding caused by typo 2022-08-28 09:08:30 +00:00
John Thacker b90196f28a bt-utp: Implement Close Reason extension
There's another extension type used in the uTorrent Transport Protocol.
https://github.com/arvidn/libtorrent/blob/master/include/libtorrent/close_reason.hpp

Simplify the extension handling a bit by consolidating redundant code.
2022-08-28 08:49:37 +00:00
Martin Mathieson ed7c6a9946 OCP1: Make all value_strings static 2022-08-27 21:05:45 +01:00
John Thacker 6316d9a291 netflow: Sequence numbers are by Transport Session
RFCs 5101/7011 make it clear that sequence numbers are uniquely
associated for each Observation Domain withing a Transport Session.
That means that the sequence number tracking should be conversation
data. (This is not quite right on SCTP, because "Each SCTP Stream
counts sequence numbers separately, while all messages in a TCP
connection or UDP session are considered to be part of the same
stream," but find_conversation_pinfo for SCTP gets a conversation
based on the association, and getting the stream id is not transparent.
It is closer to correct.)

This prevents warning about bad sequence numbers when there are
multiple Transport Sessions within a capture for the same
Observation Domain ID (most likely for the default value 0.)

Go ahead and make the other map with the stored sequence analysis
results that is keyed by frame number into proto data as well.
2022-08-27 12:05:30 +00:00
John Thacker e725502afa tcp: Fix a comparison that should be strict in OOO processing
We don't want to add a zero length segment to the reassembly here.
Related to #17406
2022-08-27 11:47:42 +00:00
Dr. Lars Völker 89457e01da DoIP: Prepare for ISO 13400-2:2019Amd1 and newer
This patch allows to parse messages for the upcoming 2019 Amd1 version
that uses header version 4. Since the standard is not final yet, more
changes to fully support it are (probably) required.

In addition, this patch does not stop parsing, if the version is
unknown. Since the last releases were basically compatible, assuming
that the header can be parsed is the better choice.
2022-08-27 09:54:57 +00:00
Michael Tuexen 1576896e0a TCP: Raise an expert info for non-zero data after EOL
While it is the correct action for a TCP end-point to stop
processing of the options when an EOL is found, a protocol
analyzer should at least ensure that there is no non-zero
data after it.
2022-08-26 22:58:28 +02:00
Martin Mayer 3af04ebf87 OCP.1: Change Protocol Short Name 2022-08-26 09:13:31 +00:00
Dr. Lars Völker 05916eec1f DLT: Adding support to open DLT files
This patch allows Wireshark to open DLT files directly.
2022-08-26 07:45:36 +00:00
Guy Harris deb95a275d Rename routines that talk about conversation keys to talk about elements.
And change them to say "set" rather than "create"; they do more than
just allocate an array of conversation elements, they stuff a pointer to
that array into pinfo, which may affect what other dissectors do.
2022-08-25 22:37:19 -07:00
Guy Harris 8195bdd340 Rename a bunch of things with "conversation".
A conversation in Wireshark might have two endpoints or might have no
endpoints; few if any have one endpoint.  Distinguish between
conversations and endpoints.
2022-08-25 20:02:20 -07:00
DarienSpencer65 f593c4165e AT: Implement CMGR command (binary mode) 2022-08-25 16:47:28 +00:00
Guy Harris b6a21c6855 mxproxy: don't mix PT_ and ENDPOINT_ values.
PT_TCP and ENDPOINT_TCP happen to have the same numerical value, and
PT_UDP and ENDPOINT_UDP happen to have the same numerical value, but we
shouldn't cheat and just type-pun a PT_ value to an ENDPOINT_ value.

Instead, make the relevant structure members endpoinnt_type values and
assign them ENDPOINT_ values.
2022-08-24 23:38:14 -07:00
John Thacker d8e877f610 HTTP: Test the first header line in a PDU more
For a PDU where we haven't seen a request, response, or
header line yet, check to see if the header name is valid
before deciding that it is a header. Prevents many false
positives on continuation data that happens to have a line
end and a colon, where we couldn't do desegmentation for
some reason.
2022-08-25 01:08:54 +00:00
Chuck Craft 4915b646d0 tls 1.3: set CCM aad_len for draft >= 25
Closes #18277
2022-08-25 00:51:40 +00:00
John Thacker 16563952f4 tcp: Update the maxnextseq on ooo MSPs properly
If we get a new contiguous fragment that is inserted into the
middle of a MSP in progress, we need to update maxnextseq by
looking at all the fragments part of that MSP that are now contiguous.
Related to #17406
2022-08-25 00:24:00 +00:00
Martin Mayer ffde66ea7c dissector: Open Control Protocol OCP.1/AES70 2022-08-24 14:20:18 +00:00
John Thacker fab27018b4 dtls: Handle invalid use_srtp protection profiles length
Handle a bad length, and set some expert infos if bad. Fix #18289
2022-08-24 08:30:03 -04:00
Guy Harris 2aeaf71fa5 Change names to reflect that it's an endpoint table.
More {host, hostlist} -> endpoint.
2022-08-23 22:15:45 -07:00
Chuck Craft 5399334ebc smpp: add NULL address_range to packet details
Sample capture attached to #6108
Account for all the bytes displayed in the packet bytes.
https://smpp.org/SMPP_v5.pdf - 4.7.3 address_range
2022-08-24 03:42:09 +00:00
Pau Espin e9618dccb1 BSSMAP: Show SAC in CellId tree
Similar is done for CGI, where LAC (%x)/CI (%u) is shown.
Let's do the same for SAI case, otherwise it's confusing since it first
looks as if LAC Cell Identifier was sent, but it is actually of type
SAI.
2022-08-24 03:01:50 +00:00
John Thacker 6da668d303 SMTP: Handle pipelining of DATA and BDAT
Handle RFC 2920 and RFC 3030 pipelining of DATA and BDAT. This
involves:

Instead of storing a single PDU type for each frame, storing
a linked list of PDUs (with end offsets), in order to handle
frames that switch between data and command state. This includes
handling other commands before or after a BDAT command, or handling
other commands after a DATA EOM. That means parsing the remaining
lines after BDAT and EOMs on the first pass instead of assuming that
the rest of the frame has a known type.

Also, RSET commands allow switching between BDAT transaction
and DATA transactions, per RFC 3030.

The case where more than one message is completed in a single frame
is not yet handled. RFC 2920 and 3030 imply that this is non-standard,
but it could work. To handle it, we would also have to track message
numbers in order to give fragment_add_seq_next unique frag IDs.
(It doesn't handle more than one fragment with the same ID ending in
the same frame.)

Fix #17269. Fix #17267.
2022-08-24 02:42:41 +00:00
Guy Harris 4b53f31d2d Fix comments to reflect reality.
It's an endpoint table, not a table of hosts.
2022-08-23 19:07:25 -07:00
Jérôme Pouiller ef513118f9 Update Wi-SUN FAN dissector with LBC-IE
The last specification of the Wi-SUN FAN (I have not checked when it
appeared, but it is present in 1.1v04) introduce LBC-IE (see
"6.3.2.3.1.17 LFN Broadcast Configuration Information Element
(LBC-IE)").
2022-08-23 19:54:17 +00:00
Jérôme Pouiller 3fc57d3f93 Update Wi-SUN FAN dissector with last LBS-IE specification
The last specification of the Wi-SUN FAN (I have not checked when it
appeared, but it is present in 1.1v04) introduce the field
broadcast_sync_period in LBS-IE (see "6.3.2.3.1.13 LFN Broadcast
Schedule Information Element (LBS-IE)").
2022-08-23 19:54:17 +00:00
Michael Tuexen 13a302da6e TCP: Improve consistency of reproting the SACK supported option
The =1 part does not make any sense in reporting SACK_PERM=1.
There is no value in the option and if it is not supported the
option is not there. So remove the =1 part.
2022-08-23 19:02:24 +00:00
Guy Harris d9e662bc54 Rename some functions and types for endpoint tables.
The "conversation table" mechanism supports two types of tables, one for
the "Conversations" menu item under "Statistics" and one for the
"Endpoints" menu item under "Statistics".  The first of them shows
statistics for conversations at various layers of the networking stack;
the second of them shows statistics for endpoints at various layers of
the networking stack.

The latter is *not* a table of hosts; an endpoint might be a host,
identified by an address at some network level (MAC, IP, etc.), or it
might be a port on a host, identified by an address/port pair.

Some data types, function names, etc. use "host" or "hostlist" or other
terms that imply that an endpoint is a host; change them to speak of
endpoints rather than hosts, using names similar to the corresponding
functions for conversations.

Provide wrapper functions and typedefs for backwards source and binary
compatibility; mark them as deprecated in favor of the new names.

Clean up some comment errors found in the process.
2022-08-23 09:55:14 +00:00
zhangzhilei 21d93f072a TLS:add error check for ssl_hmac_init
add error check for ssl_hmac_init
2022-08-23 02:20:53 +00:00
John Thacker cbe4cd926c HTTP: Send binary Continuation Data to Follow Stream
If we shortcut the HTTP header check because the file starts with
a non-ASCII character, but we think that it is Continuation Data
because we've seen real HTTP in the same conversation, mark the
data as file data and send it to the follow tap, just as we would
if it failed the more extensive checks for being a header. Deals
with cases where desegmentation isn't performed (whether because
of prefs, missing packets, bad checksums, etc.)

Related to #13918.
2022-08-22 03:58:30 +00:00
John Thacker 2617ff294f SMTP: Move the request handling into a function
This makes the code easier to read and will enable handling
multiple PDUs in a message easier (needed for full pipelining
support.)
2022-08-21 18:00:18 -04:00
John Thacker d6812621a0 SMTP: Move response handling into function
Make the code a little easier to read
2022-08-21 18:00:18 -04:00
Martin Mathieson 9a5029b364 DCT2000: Don't assign to tag unused value 2022-08-21 19:48:13 +00:00
Gerald Combs 70dbe58aea [Automatic update for 2022-08-21]
Update manuf, services enterprise numbers, translations, and other items.
2022-08-21 16:39:53 +00:00
Chien Wong 5c216de8cc ieee80211: Improve A-MSDU dissecting
Fix subframe length issue.
Add padding.

Signed-off-by: Chien Wong <m@xv97.com>
2022-08-20 16:43:32 +00:00
Chien Wong 3b7c611be1 ieee80211: Add Transition Disable KDE dissecting
Signed-off-by: Chien Wong <m@xv97.com>
2022-08-20 06:14:29 +00:00
Stephen Hemminger 005169491e pcapng: add support displaying hash from pcapng
Add support for displaying one or more packet hashes that
have been recorded in EPB options.

A patch to add support for EPB hash option is pending for next
DPDK release.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2022-08-20 06:12:28 +00:00
Gerald Combs 07c7ce6ad0 Windows: Upgrade libgcrypt to 1.10.1. 2022-08-19 18:30:16 -07:00
John Thacker 346c53b0b2 QUIC: In stateless reset only set from_server if token found
When calling quic_find_stateless_reset_token, only change the
from_server pointer is the reset token is actually found.
Fixes a few cases where a new Initial connection is sent with
client and server reversed. Also fixes an error failing to
dereference a pointer to a boolean.
2022-08-19 19:37:41 -04:00
David Perry d0c8efe889 Use `register_dissector()` for more protocols 2022-08-19 22:53:58 +00:00
Martin Mathieson b809e73f7c Fix some spelling errors 2022-08-19 17:46:34 +01:00
huangqiangxiong bb6fc5bb9a Protobuf: correct the starting offsets of the field name and type tree items 2022-08-19 15:14:09 +00:00
John Thacker 2007c929d2 QUIC: Add support for stateless reset
Fix #17938
2022-08-19 12:46:07 +00:00
zhangzhilei 034e48b500 TLS:support decrypt TLS_SM4_GCM_SM3 ciphersuite
ECC_SM4_GCM_SM3 is defined in RFC8998,and it defined how to use
SM3 and SM4 in tls1.3.
2022-08-19 18:08:39 +08:00
zhangzhilei 10b2e62a4a TLS:support decrypt ECC_SM4_GCM_SM3 ciphersuite
ECC_SM4_GCM_SM3 is defined in GB/T38636-2020
Information security technology-Transport layer cryptography protocol
which is a Chinese national standard.
the gcm behaviour of ECC_SM4_GCM_SM3 is the same as TLS1.2.
2022-08-19 08:28:40 +00:00
ismaelrti 066e80cb33 RTPS: Added new Security PIDs in Participant and Endpoint Discovery
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
2022-08-19 07:55:05 +00:00
zhangzhilei 7b56170979 TLS:support decrypt ECC_SM4_CBC_SM3 ciphersuite
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.
2022-08-19 07:25:51 +00:00
Dario Lombardo bd0949ba1e rdpudp: fix leaking copy_address.
Fix: #18224.
2022-08-19 04:21:45 +00:00
Michael Tuexen ecefcf8801 TCP: Implement AccECN
This work is based on
https://www.ietf.org/archive/id/draft-ietf-tcpm-accurate-ecn-20.html
In particular, add support for the AccECN option, the experimental
AccECN option, the AE flag and the ACE field.
2022-08-19 00:41:24 +00:00
Vadim Yanitskiy 2755cb7516 GSUP: add missing Number of Vectors Requested IE
This IE was introduced back in 2019, see:

https://gerrit.osmocom.org/q/Iaecc47280f8ce54f3e3a888c1cfc160735483d0f
https://cgit.osmocom.org/libosmocore/commit/?id=49ddef610a003f1000422284bf31a653249cf09e
2022-08-18 18:42:53 +00:00