Commit Graph

83781 Commits

Author SHA1 Message Date
Roland Knall bf21921445 Qt: Allow capture from hidden interfaces
Hidden interfaces where not able to be captured from, if they where displayed on the front page. This fixes that.

Fixes #13354
2022-03-18 12:53:42 +00:00
Richard Sharpe e61fe552d0 ieee80211-radiotap: Add support for headers to be bit-based as well as TLVs.
Johannes Berg pointed out this was the intent of the TLV definitions and
supplied some code for implementing that. I simply made it work.
2022-03-17 22:26:12 +00:00
Stig Bjørlykke eabf92859e test: Use integer tuple to check Gcrypt version
Converting Gcrypt version to float before checking against 1.6 does
not work when Gcrypt version is 1.10 and above.
2022-03-17 18:13:55 +00:00
Roland Knall 9d11321385 Qt: Disable Sorting for the packet List
Allows the sorting to be disabled to avoid painful recalculations if the
sorting has been clicked on by accident.

Fixes #16786
2022-03-17 16:52:53 +01:00
John Thacker b82ef4ad04 tls: Use TCP reassembly functions for desegmentation
Since TLS uses the TCP multisegment pdus for desegmentation,
use the TCP reassembly functions so that both the first frame
and sequence number are used. Fix #11173 somewhat better than
the previous fix, because it avoids the (unlikely) case of two
different fragments comparing equal when just bit twiddling a
single key.
2022-03-17 07:42:52 -04:00
John Thacker 9ca501ae13 tcp: Use first frame and sequence number for reassembly
It's possible to have more than one TCP segment for the same
stream that begins in the same frame when there is encapsulation
(e.g. DVB BaseBand Frames carrying GSE or MPE with IP.)

We always have the tcp_multisegment_pdu when looking up fragments
in TCP, so declare reassembly functions for TCP that accept the
MSP as data, so we can use the starting sequence number of the MSP
to distinguish segments with identical first frames. (Using the
sequence number alone would fail with re-used sequence numbers in
long connections or reused ports, and also have more hash collisions
with relative sequence numbers.) This is analogous to #11173 for
TLS.
2022-03-17 11:28:44 +00:00
João Valverde 588d22a82b dfilter: Allow variable number of jumps during codegen
Use a list to allow a variable number of jumps, instead of a fixed
count. The flexibility in the number of jumps a given syntax tree
node might need to handle is useful to add new kinds of
operations.
2022-03-16 20:12:22 +00:00
João Valverde 5f13127a94 ftypes: Remove unnecessary macro 2022-03-16 19:28:41 +00:00
João Valverde 72751919b2 ftypes: Remove shared boolean from fvalue struct
This shared variable hidden behind a macro does not provide any
efficiency gains and just obscures the code. Move the boolean to
the fvalue protocol struct, where it belongs.
2022-03-16 19:25:45 +00:00
João Valverde 32446523f6 dfilter: Fix stnode_tostr()
Syntax tree nodes can mutate and change type so the caching being used
is keepign a stale representation and printing wrong results. Recreate
the string every time the function is called.

We still store the string pointer in the node to be able to pass a const
char * to the caller without leaking memory, as a convenience.
2022-03-16 19:23:33 +00:00
Jorge Mora 765d6755fb RPCoRDMA: add padding on iWarp read and write chunks
Add padding bytes as a separate fragment when last fragment's data
is not on a four-byte boundary. The MPA layer removes the padding
bytes from all iWarp Reads and Writes. The iWarp Send messages are
padded correctly.

Fixes #17963.
2022-03-16 05:33:46 +00:00
Jorge Mora db09e81dd8 RPCoRDMA: add iWarp read chunk reassembly
Add binary tree, request_list, to add rdmap_request_t struct using
the sink steering tag of a tagged message as the key. The request
info is used to map the read response STag to the segment STag and
to map the read response offset to the segment offset.

Since the read chunk message is reassembled in the last read
response, go through all segments to calculate read chunk size
and the received bytes on the last read fragment. If all read chunk
fragments has been added to the reassembly table then complete the
reassembly and return the reassembled buffer.

Related to #17963.
2022-03-16 05:33:46 +00:00
Jorge Mora 327437d04d IWARP_DDP_RDMAP: add read request to struct rdmapinfo
Add struct rdmap_request to save read request info and include it
as read_request in rdmapinfo to pass to payload subdissectors.
Need to populate read request info even if rdma_tree is NULL.
Even though a read request does not have any payload data, call
upper layer dissector for message reassembly.

Related to #17963.
2022-03-16 05:33:46 +00:00
Jorge Mora 596c4151d8 RPCoRDMA: add iWarp reply chunk reassembly
Make sure to process RDMA_NOMSG not only for Infiniband but for
iWarp as well.

Related to #17963.
2022-03-16 05:33:46 +00:00
Jorge Mora 8749bbca31 RPCoRDMA: add iWarp write chunk reassembly
Add function add_iwarp_fragment() to add an iWarp fragment to the
reassembly table and return the reassembled data if all fragments
have been added. Make sure to process RDMA_MSG not only for
Infiniband but for iWarp as well.

Related to #17963.
2022-03-16 05:33:46 +00:00
Jorge Mora 29b660cb92 IWARP_DDP_RDMAP: add tagged buffer items to struct rdmapinfo
Include steering_tag and tagged_offset in rdmapinfo to pass to
payload subdissectors.

Related to #17963.
2022-03-16 05:33:46 +00:00
Jorge Mora 746b46a16a RPCoRDMA: add iWarp send reassembly
Add global variable gp_rdmap_info to point to the data parameter
given by parent dissector IWARP_DDP_RDMAP.

Add binary tree, msn_list, to add send_info_t struct using the
message sequence number of an untagged message as the key.

Modify function add_send_fragment() to include iWarp segments.
Message numbers are given by the untagged message offset, thus
the msgno of send_info_t is not used and it is set to 0. Since
message offsets are not consecutive for iWarp, verify there are
no missing fragments by checking the number of bytes added to
the reassembly table.

Also, remove function rpcrdma_initialize()

Related to #17963.
2022-03-16 05:33:46 +00:00
Jorge Mora 4cc8e09213 IWARP_DDP_RDMAP: add untagged buffer items to struct rdmapinfo
Include last_flag, is_tagged, queue_number, message_seq_num and
message_offset in rdmapinfo to pass to payload subdissectors.
Also, add a typedef for struct rdmapinfo.

Related to #17963.
2022-03-16 05:33:46 +00:00
Jorge Mora 2523f6781d RPCoRDMA: correctly cache Infiniband send fragments
On the second pass, make sure to get the correct reassembly info
from the packet proto cache. This avoids having add_fragment()
being called again in the second pass since the message id will
be different. Also, do all of the work on add_send_fragment()
and get it ready for iWarp send reassembly.

Related to #17963.
2022-03-16 05:33:45 +00:00
Jorge Mora bf9a82d244 RPCoRDMA: correctly reassemble chunks when handle is reused
Include the virtual address or offset when searching for the
correct segment. Add the segment info struct to a binary tree
instead of a list to speed up searching for the correct
segment when dealing with large packet traces.

Add binary tree, pns_list, to avoid searching for the segment
and then looking through all requests for the correct request
info for the fragment. This way, the search is done using the
PSN of the read/write fragment to find the correct request
info on a single tree search.

Add another binary tree, msgid_list, to search for all segments
belonging to the same reassembly message id when calculating
if reassembly is really done.

Make sure all read/write reassembly is done on the first pass
only. On the second pass, get the correct reassembly info from
the packet proto cache. This is accomplished in part by removing
get_msg_num function and instead adding add_ib_fragment function.
This function, just calls get_reassembled_data() on the second
pass to make sure all fragments are labeled correctly with
"Reassembled in" message. On the first pass, add the fragment
using either the segment info for a write only fragment or the
request info for any other read/write fragments. This avoids
having to add a request for the write only case since all the
information needed is already in the segment info. The message
number is now easily calculated by making it relative to request
or segment info.

Cache the value returned by get_rdma_list_size() since the
segment info, more specifically rbytes, is not available on the
second pass.

Most of these changes not only deal with the issue to correctly
reassemble chunks when the handle is being reused but it also
prepares common code to add iWarp reassembly.

Fixes #17961.
Fixes #17962.
Related to #17963.
2022-03-16 05:33:45 +00:00
John Thacker 52e0a5a005 TCP: Add comments about current desegmentation limitations 2022-03-16 01:05:05 +00:00
Deep Datta bd5c6b8cac Add Ixia PEN fields for cflow: UDP and QUIC connection latency 2022-03-15 21:10:54 +00:00
Nardi Ivan 78d78eb016 QUIC: update support for QUICv2 draft-01
With this new version, packet types are version dependent.
Support for v2-00 has been removed (it has never been used in real
networks and it is incompatible with v2-01)
2022-03-15 13:56:51 +01:00
Moshe Kaplan 62d6c139b7 packet-eap: Fix memory leak
Fix memory leak in packet-eap.
Coverity ID 1496856.
2022-03-15 09:53:05 +00:00
Tomas Kukosa 16786ce708 ITS: use custom value format for more ITS elements 2022-03-15 08:52:28 +00:00
Jaap Keuter bdb460ef69 Bluetooth: have BT specific global names contain bluetooth 2022-03-14 20:02:10 +00:00
Guy Harris 109b92b5d7 wiretap: have wtap_dump_close() provide a "needs to be reloaded" indication.
This allows the "needs to be reloaded" indication to be set in the close
process, as is the case for ERF; having a routine that returns the value
of that indication is not useful if it gets seet in the close process,
as the handle for the wtap_dumper is no longer valid after
wtap_dump_close() finishes.

We also get rid of wtap_dump_get_needs_reload(), as callers should get
that information via the added argument to wtap_dump_close().

Fixes #17989.
2022-03-14 19:12:20 +00:00
easonweii 304dae33d6 doc: Corrected an error in the Wireshark test guide
Corrected the description of Wireshark Tests section in Wireshark Developer's Guide.
2022-03-14 18:23:16 +00:00
Dario Lombardo 9012722f9b elastic: fix mapping with recent es versions. 2022-03-14 08:34:48 +00:00
Moshe Kaplan 23ed064ded wiretap: Fix doxygen comments
Add asterisks to doxygen generates for existing
supported_block_type comments.

Add < to #define's so that doxygen associates comments
with the #define above, instead of below.
2022-03-14 00:07:02 -04:00
Dylan Ulis 2ebf8d4bdd sshdump: fix remote-sudo parameter on restart 2022-03-13 21:39:29 +00:00
Konrad Wolsing f9ee2c14a0 IEC-60870-5-104: apci type endianness bugfix
The type field in the IEC-60870-5-104 header is parsed wrongly. The type is
encoded in the headers third byte: I.e. a U-frame is encoded as xxxxxx11b, a
S-frame as xxxxxx01b and an I-frame as xxxxxxx0b. Yet the current parser reads
the information from the MSB.
2022-03-13 20:45:54 +00:00
Jaap Keuter 676ed85296 Bluetooth: Amend ID's with additional entries from registry
Also update registry references to current locations.
2022-03-13 20:00:02 +00:00
Gerald Combs 24420ceb47 [Automatic update for 2022-03-13]
Update manuf, services enterprise numbers, translations, and other items.
2022-03-13 16:46:10 +00:00
Moshe Kaplan 9b49cbff29 WSUG: Fix numerous grammar issues 2022-03-13 14:40:54 +00:00
Alexis La Goutte 7747189861 couchbase: fix clang warnings
Remove unused assigne varible
2022-03-12 21:53:44 +00:00
Alexis La Goutte b630fdfb98 rfc7468: fix warning found by Clang analyzer
rfc7468.c:195:76: warning: The left operand of '-' is a garbage value [core.UndefinedBinaryOperatorResult]
2022-03-12 21:53:44 +00:00
Alexis La Goutte f6ce1bd5a3 rfc7468: fix warning found by Clang analyzer
3rd function call argument is an uninitialized value
2022-03-12 21:53:44 +00:00
Moshe Kaplan 2579599287 WSUG: Clarify Packet Details context menu
Clarify phrasing for the Packet Details context menu.
2022-03-12 21:39:20 +00:00
Gerald Combs 8575914213 epan: Make sure we always set our return values.
Make sure we always set a return value in our various
proto_tree_add_item_ret_* routines. Fixes #17994.
2022-03-12 01:52:56 +00:00
Gerald Combs 87ff577257 Move Freedesktop files to resources/freedesktop. 2022-03-12 00:19:13 +00:00
Gerald Combs 492a11a256 Move a bunch of protocol resources to resources/protocols.
Move the following directories to resources/protocols:

- dtds
- diameter
- protobuf
- radius
- tpncp
- wimaxasncp
2022-03-11 18:34:41 +00:00
Gerald Combs e39b9a2f80 CMake: Disable fuzzshark by default.
Most people don't use fuzzshark, so don't waste compute resources
building it. OSS-Fuzz has been updated to always build fuzzshark in
https://github.com/google/oss-fuzz/pull/7373
2022-03-11 17:35:49 +00:00
Dario Lombardo 3bfc864c72
debian: add missing symbol. 2022-03-11 08:28:12 +01:00
Dylan Ulis f4703d4dcf CIP: Forward Close Req: Show connection parameters 2022-03-10 21:13:25 +00:00
Stig Bjørlykke 2c4165fe5a Qt: Set Packet List scrollbar page step only on macOS
Only set the Packet List scrollbar page step to be equal to the
height of the scrollbar when running on macOS. Qt on Linux and
Windows behaves different.
2022-03-10 15:08:14 +01:00
Jeff Morriss 80d0283341 mpeg: handle the presence of an image in the ID3v2 header.
Fixes #17985.
2022-03-10 07:38:14 +00:00
Nan Xiao 3f9fdc373e QUIC: fix typos 2022-03-10 07:17:51 +00:00
Dylan Ulis 1a4ef97e45 CIP Security: Update attribute values 2022-03-09 10:49:52 -05:00
Nan Xiao 42035b61aa quic: fix bug in decrypting draft-34 version 2022-03-09 13:05:29 +00:00