Commit Graph

84047 Commits

Author SHA1 Message Date
João Valverde 22f3d87a8f dfilter: Use singly linked list for registers
Replace calls to list append with list prepend where applicable.
2022-03-21 11:47:19 +00:00
João Valverde ea949ef719 dfilter: Cleanup dfilter_dump() 2022-03-21 11:26:52 +00:00
Roland Knall 9253762305 Qt: Fix startCapture legacy call 2022-03-21 10:06:28 +00:00
Roland Knall 5212a757a4 Qt: Remove sparkline for extcap 2022-03-21 09:49:13 +00:00
Richard Sharpe e6487fcdf4 tools/radiotap-gen: Fix build issue on some versions of Ubuntu. 2022-03-20 17:38:40 +00:00
Gerald Combs 96f3b7065f CMake: Fix our dtds dependencies. 2022-03-20 17:21:19 +00:00
Gerald Combs c347b057a7 dumpcap: Count more block types as packets.
The Sysdig Event dissector handles BLOCK_TYPE_SYSDIG_EVENT_V2 and
BLOCK_TYPE_SYSDIG_EVENT_V2_LARGE blocks. Add them to dumpcap's packet
count so that we don't get a "No packets captured." error.
2022-03-20 17:04:58 +00:00
Gerald Combs 6a97b2095c [Automatic update for 2022-03-20]
Update manuf, services enterprise numbers, translations, and other items.
2022-03-20 16:41:14 +00:00
João Valverde 50f04cb9da dfilter: Remove dead code 2022-03-19 20:10:43 +00:00
Jorge Mora 984dc6de78 IWARP_DDP_RDMAP: display read request tags and offsets in hex 2022-03-19 19:38:26 +00:00
Jorge Mora 4a80186e2b RPCoRDMA: do not reassemble if there is only one fragment
Only reassemble if reply chunk size is non-zero to avoid reassembly
of a single fragment. The RPC-over-RDMA reply has no data when the
reply chunk size is non-zero but it needs to reassemble all
fragments (more_frags = FALSE) in this frame. On the other hand
when the reply chunk size is zero, the whole message is given in
this frame therefore there is no need to reassemble.
2022-03-18 21:22:11 +00:00
John Thacker 37a0054551 http: Pass data relative to the original offset to follow tap
dissect_http_message might get called with a nonzero offset into
the tvb if there are multiple messages/segments in a frame. Only
send data starting from that offset to the follow tap, instead of
starting at tvb offset 0. Fix #18006
2022-03-18 21:11:09 +00:00
Jaap Keuter 096bc367b6 Align plugin reg function search with epan reg function search 2022-03-18 21:01:40 +00:00
Richard Sharpe 4099137ad1 tools/radiotap-gen: Add a sample program for generation radiotap headers.
This program generates complete pcap files containing the proposed U-SIG
radiotap TLVs along with enough else to make it readable. You cannot currently
read such packets with tshark or wireshark until I add U-SIG handling to
Wireshark.
2022-03-18 17:07:33 +00:00
Roland Knall 5f6d7ada57 Qt: Fix pre Qt 5.11 builds 2022-03-18 15:50:53 +01:00
Stig Bjørlykke 60ba57387c data: Add data shown as text to Info column
Fill the Info column when showing data as text.
2022-03-18 12:59:59 +00:00
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