Commit Graph

45319 Commits

Author SHA1 Message Date
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
John Thacker ccf720d95d epan: Handle subset tvbuffs with non-zero offets and length -1
According to tvbuff.h, tvb_new_subset_length() with length -1
should behave like tvb_new_subset_remaining(). That means that
the reported length should subtract off the offset into the
original tvb.
2022-08-21 15:21:24 +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
Vadim Yanitskiy 9ca0193fed GSUP: add missing Supported/Current RAT Types IEs
These IEs were introduced back in 2018, see:

https://gerrit.osmocom.org/q/I93850710ab55a605bf61b95063a69682a2899bb1
https://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)
2022-08-18 18:42:53 +00:00
Michael Tuexen c2574b72f4 TCP: Add support for TARR option
Based on https://datatracker.ietf.org/doc/html/draft-gomez-tcpm-ack-rate-request-05.
2022-08-18 00:08:30 +02:00
Michael Tuexen 9cea2c26a1 TCP: Use RFC 6994 for experimental options
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.
2022-08-17 21:33:31 +00:00
David Perry 3b36ae4b1a TCP tap: check if have seglen before using it 2022-08-17 19:41:05 +00:00
Michael Pergament bd6c21696a Add support for Addd Path in EVPN NLRI 2022-08-17 18:22:17 +00:00
Rubin Gerritsen 56817af9b5 Bluetooth: Decode LL_VERSION_IND packets with version 5.3
Bluetooth 5.3 was released 2021-07-13.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2022-08-17 16:29:25 +02:00
John Thacker 704d6ff104 smb: Squash small leak in export object
After a free chunk is removed from the list of free chunks,
it should be freed.
2022-08-17 13:41:09 +00:00
Uli Heilmeier 117788f694 BTATT: Fix bitmask for btatt.battery_power_state
Fixes: #18267
2022-08-17 14:33:39 +02:00
John Thacker b3c7c31124 tiff(file): Don't add a proto item when heuristics fail
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.
2022-08-17 07:52:39 +00:00
Tomasz Moń c6ef99f006
win32-utils: Explicitly list inherited handles
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.
2022-08-16 20:53:22 +02:00
Trond Norbye fb0d271641 [Couchbase] Add support for new features
Add support for parsing RU and WU reported in flex header and
the new status codes.
2022-08-16 14:24:46 +00:00
Adrian Granados 9a560060ad ieee80211: Add dissector for Arista (Mojo) vendor specific IE
Dissector only supports type 6: AP Name.
2022-08-16 14:08:15 +00:00
Dieter Dobbelaere 321465db07 Corrected description of `wlan.fc.type_subtype`. 2022-08-16 12:19:48 +00:00
Anders Broman a47830e56f Increase number of preallocated fields. 2022-08-16 09:43:42 +02:00
Pascal Quantin 653c4d3e91 XnAP: upgrade dissector to v17.1.0 2022-08-16 01:33:00 +00:00
John Thacker 7d583e1340 TLS: rename reassembled data source from SSL to TLS 2022-08-15 07:33:55 -04:00
Guy Harris 8674eea7b0 frame: warn if the real length is less than the captured length.
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.
2022-08-14 16:12:07 -07:00
John Thacker 7962d18222 tls-utils: Add malformed expert info instead of asserting
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.
2022-08-14 16:23:37 -04:00
Pascal Quantin 938cc05d20 NGAP: add NTN related restricted RATs 2022-08-14 18:00:53 +00:00
Tomasz Moń 4240381026 wsutil: Remove flawed ws_pipe_close() function
The semantics behind ws_pipe_close() were broken since its introduction.
Forcing process termination on Windows, while simply setting variable on
other systems results in more OS specific code sprinkled all over the
place instead of less. Moreover ws_pipe_close() never handled standard
file handles. It is really hard to come up with sensible ws_pipe_close()
replacement, as process exit is actually asynchronous action. It is
recommended to register child watch using g_child_watch_add() instead.

Do not call ws_pipe_close() when deleting capture interface. Things will
break if extcap is still running when interface opts are being freed and
terminating process won't help.

Rework maxmind shutdown to rely on GIOChannel state. For unknown reason
TerminateProcess() is still needed on Windows. The actual root cause
should be identified and fixed instead of giving up hope that it will
ever work correctly on Windows. In other words, TerminateProcess()
should not be used as a pattern, but rather as a last resort.
2022-08-14 16:05:22 +00:00
Peter Ross 298eabc36c DIS: support Receiver PDUs 2022-08-14 20:59:14 +10:00
John Thacker c7a136a5c0 epan: Rearrange column includes
Move all the declarations of routines that are internal and
not for use by dissectors from column-utils.h column-info.h
Move the column max length defines into column-utils.h because
dissectors might need that

Since packet.h already includes column-utils.h, dissectors don't
need to include column-utils.h anymore.
Remove or downgrade a few other column header includes that are
unnecessary.
2022-08-13 19:37:28 +00:00
Pascal Quantin 8291dc23f3 RRC: upgrade dissector to v17.1.0 2022-08-13 17:35:21 +00:00
Michael Tuexen a033dc7dc6 TCP: cleanup ECN related flags
The ECN-Echo flag is abbreviated in RFC 3168 using ECE, not ECN.
In addition, when displaying the flags, no abbreviations are
used. Therefore, do the same for the CWR flag.
2022-08-13 11:08:55 +00:00
Pascal Quantin d982338177 NGAP: upgrade dissector to v17.1.1 2022-08-12 19:15:16 +00:00
Pascal Quantin cf17011c53 S1AP: add support for NTN NB-IoT TACs 2022-08-12 20:47:41 +02:00