aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2022-12-06test: Skip Follow HTTP2 test without Nghttp2John Thacker1-2/+6
The expected test output is with the headers decompressed, which we can't do without Nghttp2. (It outputs the compressed headers if we don't have it, so we could test for that instead.) Fix #18707
2022-12-06USBLL: Correctly handle last fragment retransmissionsTomasz Moń4-13/+72
Add fragment_add_check_with_fallback() and use it in USBLL dissector instead of fragment_add_check() to avoid last fragment retransmissions from being treated as separate transfers. With this change, the last fragment retransmissions are correctly grouped together with the rest of the transfer. Only skip single fragment reassembly if retransmission is not possible at the protocol level, i.e. for SETUP DATA0 (when it is not merged with OUT data) and for isochronous transfers. The reassembly must not be skipped for other transfers (especially for full-speed bulk) because otherwise it wouldn't be possible to group retransmissions together with the first data packet. Do not use DATA0/DATA1 tracking for isochronous transfers. Isochronous data cannot be retransmitted because there are no handshakes (there is no ACK nor NAK after isochronous data packets).
2022-12-05WSDG: retire Visual Studio 2019 for VS2022Chuck Craft3-39/+26
2022-12-05Qt: Convert our widgets and models to new-style signals & slotsGerald Combs11-18/+21
Convert our remaining widget and model code to new-style signals and slots.
2022-12-05Qt: Update an action name.Gerald Combs1-1/+1
647978b8be renamed actionAnalyzeCreateAColumn to actionAnalyzeApplyAsColumn. Update the packet list accordingly.
2022-12-05dtls: Support Connection ID when using Block CiphersStig Bjørlykke1-3/+13
Add support for DTLS Connection ID when using Block Ciphers with the deprecated extention type (53) from draft-ietf-tls-dtls-connection-id-07. Closes #18705
2022-12-05Update release notesJoão Valverde1-1/+4
2022-12-05IPv6: Remove some redundancies in address detailJoão Valverde1-24/+12
The loopback and unspecified addresses are repeated. Keep only the "special purpose" field, in accordance with the IANA registry (and unlike RFC 4291) to remove the redundancy. Add the "Unique Local Unicast" range to address space field, also from the IANA registry. Unique-Local and Link-Local are still repeated in both fields. Oh well...
2022-12-05IPv6: Add special-purpose address detailJoão Valverde1-0/+202
Add a field to show special purpose assignments listed in [1]. [1] https://www.iana.org/assignments/iana-ipv6-special-registry/iana-ipv6-special-registry.xhtml
2022-12-05Kafka: Add more loop checksJoão Valverde1-9/+29
Add a safeguard to limit the maximum number of iterations. Do not allocate a new buffer for every loop iterations in a loop that depends on the result of the decompression routine. Either allocate the buffer once or free after use. Defensive programming is more important than speed in this case.
2022-12-05CMake: Remove -Wjump-misses-init warningJoão Valverde1-1/+0
If the jump misses init it's probably because the variable is not used. Don't force contortions to avoid this common and harmless case of "missing init" for an unused variable after jumping.
2022-12-05CMake: Remove redundant warningJoão Valverde1-2/+0
-Wunused-const-variable is enabled with -Wunused-variable which is enabled by -Wall.
2022-12-05kafka: fix note of ZSTD_decompressStream returnKevin Albertson1-2/+5
2022-12-05kafka: stop decompressing once all input is consumedKevin Albertson1-3/+2
2022-12-04nxp_802154_sniffer: Add heuristicsJohn Thacker1-5/+43
UDP port 49999 is not IANA registered, so add some heuristics to the NXP 802.15.4 sniffer so that it doesn't claim packets from other protocols that have chosen that ephemeral port. Don't return 0 after already adding things to the tree; do that check in the heuristics. Fix #18695
2022-12-04Qt: Manually connect our "Analyze" menu actions.Gerald Combs8-176/+155
2022-12-04[Automatic update for 2022-12-04]Gerald Combs7-62/+173
Update manuf, services enterprise numbers, translations, and other items.
2022-12-04E2AP: Use S-NSSAI field in KPMMartin Mathieson3-62/+52
2022-12-04IPv6: Add multicast scope and flags address detailJoão Valverde1-0/+191
2022-12-03Qt: Miscellaneous ByteViewText fixes.Gerald Combs2-16/+16
Don't use isEmpty() internally. Name a variable "em_width_" to match the convention we use elsewhere. Use our viewport's font metrics.
2022-12-03check_typed_item_calls: add check for add_bitmask fieldsMartin Mathieson2-4/+46
2022-12-03epan: Use realloc when extending the uncompressed bufferJohn Thacker1-7/+2
tvb_uncompress initially allocates an output buffer of twice the input size. It is typical to have a compression ratio of 2:1 or 5:1, but in the extreme case (lots of all identical bytes), 1030:1 is possible. When extending the output buffer, instead of always malloc'ing a new buffer and memcpy'ing the old buffer into it, call realloc, which at least some (most?) of the time will extend the current buffer in place instead. This should reduce the time to unzip from always O(N^2) (where N is the compression ratio) to something average case more like O(N) or O(N log N), depending on how often it actually copies the data. It only really affects pathological cases. Related to #13779.
2022-12-03proto: Tweak admonition for proto_tree_add_string()João Valverde1-5/+6
Try the clarify the distinction and implications of a string value vs a string label.
2022-12-03wmem: Remove strbuf max size parameterJoão Valverde34-145/+90
This parameter was introduced as a safeguard for bugs that generate an unbounded string but its utility for that purpose is doubtful and the way it is being used creates problems with invalid truncation of UTF-8 strings. Rename wmem_strbuf_sized_new() with a better name.
2022-12-02gsmtap: Support V5-in-GSMTAPHarald Welte2-0/+13
GSMTAP has had support for various other ISDN related protocols as sub-types of the GSMTAP_TYPE_E1T1 type. We've recently started to work on V5 (ITU-T G.964/G.965) and introduced a new sub-type for this. Let's add the related dispatch from packet-gsmtap.c to packet-v5ef.c
2022-12-02Add support for missing DPoE and IEEE 1904.1 OAM attributesPeter Dobransky1-2/+166
DPoE - D-ONU Packet Buffer (0xD7000A) IEEE 1904.1 - aReadWriteMACAddress (0x07/0x00-1D) - aPhyType (0x07/0x00-20) - aAutoNegotiationAdminState (0X07/0x00-4F) - aMACControlFunctionsSupported (0x07/0x00-5D) - acConfigMulticastLlid (0xD9/0x01-07)
2022-12-01openflow_v6: Prevent infinite loops in too short ofp_statsJohn Thacker1-1/+7
The ofp_stats struct length field includes the fixed 4 bytes. If the length is smaller than that, report the length error and break out. In particular, a value of zero can cause infinite loops if this isn't done.
2022-12-01kafka: Don't try to decompress if the length is zero.John Thacker1-0/+7
There's no point in trying to decompress a message with length zero, and some of the third party decompression libraries (e.g. zstd) can give unexpected results that lead to infinite loops if we do so. A message length zero is almost surely a file with errors.
2022-12-01Qt: Check field autocomplete for syntactical validityJoão Valverde11-35/+83
Currently the autocompletion engine always suggests a protocol field completion, even in places where it isn't syntactically valid. Fix that by compiling the preamble to the token under the cursor and checking the returned error. If it is DF_ERROR_UNEXPECTED_END that indicates a field or literal value was expected. Otherwise a field replacement is not valid in this position. Fixes #12811.
2022-12-01reassembly: Store pointer to first gapTomasz Moń2-29/+124
Store pointer to first gap to reduce number of full list traversals needed when linking new fragments. When all captured fragments are in order, the first gap is effectively pointing to list tail. The best case scenario, where the list traversals are completely eliminated, happens every time for protocols that always have the fragments ordered (most notably USBLL Full-Speed capture containing Bulk OUT transfers with a lot of retransmissions). The memory usage is increased by a single pointer and 32-bit contiguous length counter per fragment head. The additional CPU usage is constant per insertion, i.e. does not increase with the number of fragments in the list. Fixes #17311
2022-12-01icmpv6: Format DNS name as UTF-8 for outputJohn Thacker1-3/+4
DNS names technically have arbitrary unknown encoding. When adding them as a string for output, format as UTF-8. Fix #18689
2022-12-01bpv6: Prevent infinite loopsJohn Thacker1-4/+8
display_extension_block is supposed to return the current offset, not the number of bytes remaining, which can be less than the current offset and cause an infinite loop. In the case of errors, set lastheader and return the current offset to break out of loops.
2022-11-30DECT-MITEL-ETH: Fix #18683Bernhard Dick1-5/+1
Adds missing NULL-termination in headerfield list in dissect_dect_mitel_eth_mac_con_ind and removes handover to general data dissector as this is path is no longer reached due to handling the different message types within this dissector.
2022-11-30dfilter: Replace compile booleans arguments with a bit flagJoão Valverde4-14/+20
2022-11-30dfilter: Add optimization flagJoão Valverde6-6/+11
When we are just testing code to see if it compiles performing optimizations is wasteful. Add an option to disable them.
2022-11-30asn2wrs: disable template line directive by defaultJoakim Karlsson210-5519/+19
Same as with !8955, To debug with line directive build with -DENABLE_DEBUG_A2W=ON flag
2022-11-30wmem: Remove wmem_strbuf_new_label()João Valverde24-51/+51
Only dissectors are using this function and there is no use case, as far as I know, that requires its use. Any limitation of length is imposed transparently by the UI backend. This function is problematic because it is not Unicode aware and will truncate a string on an arbitrary byte boundary for multibyte strings. Replace its use with a normal strbuf without a length limite and remove the function because it is not useful and the ITEM_LABEL_LENGTH parameter does not belong in wmem anyway.
2022-11-30dfilter: Always set error pointer in case of failureJoão Valverde1-0/+1
2022-11-30http: Check CitrixAGBasic Auth encodingJohn Thacker1-39/+51
CitrixAGBasic Authentication has Base64 encoded values. The result of Base64 decoding is not guaranteed to be valid UTF-8 (or ASCII), so verify it. Also add the username and password to the credentials tap. Fix #18677.
2022-11-30HTTP2: Load dynamic hf entries when UAT is changedJohn Thacker1-52/+75
The dynamic hf entries for HTTP2 read from the UAT should be changed when the UAT is changed or reset, not on each file load and file close. If a field is added as a column, coloring rule, or filter, and the capture file is changed, deregistering the field and reregistering it can cause a crash. Use the same approach as with HTTP and SIP, slightly modified because in HTTP2 the header fields hash contains the static headers as well, to prevent adding duplicate entries via the UAT. Fix #14768
2022-11-30asn2wrs: disable line directive by defaultJoakim Karlsson207-6139/+210
To debug with line directive build with -DENABLE_DEBUG_A2W=ON flag
2022-11-30Change the re for matching an item's labelMartin Mathieson1-1/+1
2022-11-30tools/check_static.py - fix remaining errorsMartin Mathieson3-19/+19
2022-11-29wslog: Check fileno() for errorsJoão Valverde1-2/+5
fileno() can fail and GLib will assert on negative fd. Fixes #18684.
2022-11-29SAPSNC: Added SAP SNC as main dissectorMartin Gallo5-3/+361
2022-11-29CIMD: Implement User Data encodingJohn Thacker1-179/+107
When CIMD indicates that a message was sent in the 7 bit GSM alphabet, each character has been converted to ASCII or ISO-8559-1 with the use of combining escape sequences for characters not present in the destination encoding. Properly convert back to GSM 7 bit encoding and then to UTF-8 for display. Fix #18676.
2022-11-29AJP13: Remove odd use of ITEM_LABEL_LENGTHJoão Valverde1-1/+1
2022-11-28CMake: Updates for CMake 3.25 and later on Windows.Gerald Combs4-3/+24
https://cmake.org/cmake/help/latest/release/3.25.html says: "On Windows, when targeting the MSVC ABI, the find_library() command now accepts .a file names after first considering .lib. This is symmetric with existing behavior when targeting the GNU ABI, in which the command accepts .lib file names after first considering .a." If "MSVC" is defined, only search for libsmi-2. This keeps us from finding libsmi.a. Set NO_SYSTEM_ENVIRONMENT_PATH when we're searching for zlib. This keeps us from finding Strawberry Perl's version. Some SpanDSP builds link with LibTIFF, but our Windows version doesn't.
2022-11-28dfilter: Return an error object instead of stringJoão Valverde30-215/+290
Return an struct containing error information. This simplifies the interface to more easily provide richer diagnostics in the future. Add an error code besides a human-readable error string to allow checking programmatically for errors in a robust manner. Currently there is only a generic error code, it is expected to increase in the future. Move error location information to the struct. Change callers and implementation to use the new interface.
2022-11-28DECT-AAMIDE: Remove duplicate relnote entryBernhard Dick1-1/+0