commit cde7eb73a1b Author: Niels Widger Date: Mon Mar 25 13:58:54 2024 -0400 sharkd: Add "column_info" field to "status" method Add new `column_info` field to `sharkd`'s `status` method which contains additional column information. A new `column_info` field was added because the existing `columns` field is a simple string array and therefore new fields could not be added to it in a backwards-compatible manner. The new `column_info` field includes each column's title, format string (i.e. `%x` or `%Cus::` if `COL_CUSTOM`) as well as booleans indicating if the column is visible or resolved. The existing `sharkd` unit tests `test_sharkd_req_status_no_pcap` and `test_sharkd_req_status` have been updated to check for the new `column_info` field. (cherry picked from commit a7236f6a57802cddb8d57f21d904bea729051b09) commit 99655aa204c Author: John Thacker Date: Wed Mar 27 09:52:21 2024 -0400 IPPUSB: Avoid (mostly harmless) string overread The result of tvb_get_ptr and the CHUNKED_END array are not null terminated (but are guaranteed to be CHUNK_LENGTH_MIN), so memcmp is more appropriate than strncmp, as the later will call strlen, which goes outside the desired range. It's a read, not a write, and it will be thrown away because it will always compare larger than CHUNK_LENGTH_MIN, but there's no reason to do it. It also, at least on some versions of gcc and some compiler options, causes a stringop-overread warning that becomes an error. For good practice, replace the tvb_get_ptr + memcmp call with tvb_memeql. (cherry picked from commit 3a7b6188972e5fc59ce7df053e660b4f200795f8) commit e6abb97eb87 Author: John Thacker Date: Tue Mar 26 19:03:31 2024 -0400 Qt: Apply the fix for SyntaxComboBoxes to Qt 5.15.3 The change that caused SyntaxLineEdit backgrounds not to be applied when inside a QComboBox (#18175, caused by Qt trying to fix https://bugreports.qt.io/browse/QTBUG-81533) was backported to Qt 5.15.3, so apply it on those versions as well. There might well be a better way to work around this, but this is simple enough and works. Fix #18996 (cherry picked from commit 24b27a78e2cb2c64f1b359c920fd5f2fa051396a) commit c05c751df5a Author: Gerald Combs Date: Mon Mar 25 16:29:53 2024 -0700 Prep for 4.2.4 commit bff2e50c192 Author: Gerald Combs Date: Sat Mar 23 17:16:46 2024 -0700 DVB-S2: Add a null check (cherry picked from commit 105da2927f217e21216b0d1f3e5c6f4022d28ac6) commit 4bd1e2d4deb Author: Gerald Combs Date: Sat Mar 23 17:12:04 2024 -0700 ISO 7816: Add a null check (cherry picked from commit 45342588857f4410c7e2c7d11c72105010e459b3) commit c430b886679 Author: Gerald Combs Date: Sat Mar 23 17:03:35 2024 -0700 H.264+H.265: Add null checks Make sure our field pointers are valid. Found by scan-build. (cherry picked from commit 0cc1a5f11077094266b2bd3ddf272aa0a5c7ae88) Conflicts: epan/dissectors/packet-h264.c epan/dissectors/packet-h265.c commit 9cc50ba9757 Author: Gerald Combs Date: Sun Mar 24 09:24:14 2024 +0000 [Automatic update for 2024-03-24] Update manuf, services enterprise numbers, translations, and other items. commit 73cae3cda13 Author: Gerald Combs Date: Sat Mar 23 10:37:13 2024 -0700 Add recursion checks to SoulSeek, SML, and Socks (cherry picked from commit 5366c18d28774f30c463d95df0e5e58d61f85897) commit 092d48aec06 Author: Gerald Combs Date: Sat Mar 23 11:53:04 2024 -0700 Recursion updates for Gryphon, MATE, OpcUa, PNIO, and WiMAX ASN CP (cherry picked from commit 6d4375846b07b827c73be6474c34dc68284414ab) Conflicts: plugins/epan/mate/mate_runtime.c plugins/epan/opcua/opcua_simpletypes.c commit 76c41d8dc0a Author: Gerald Combs Date: Sat Mar 23 10:19:43 2024 -0700 Add recursion checks to LLRP, MQ PCF, OPSI, and OSC (cherry picked from commit f9e954497fb9900dfc62fd55b870f0d859147ec6) commit f0678f3ae71 Author: Guy Harris Date: Fri Mar 22 12:23:04 2024 -0700 expert: register ei_unreassembled with proto_unreassembled. We have two pseudo-protocols, not one, and proto_unreassembled is intended for "Wireshark didn't reassemble this, so we ran past the end of the first segment" type errors. Have two separate ei_register_info[] arrays, one for errors deemed "malformed" and one for errors deemed "unreassembled", and register them with the appropriate protocols. (cherry picked from commit e4a33420689431c6c399946fb3c6203cf687b5a2) commit 0ef35722a7f Author: Gerald Combs Date: Thu Mar 21 09:25:29 2024 -0700 USBVIDEO: Add a class data type check Make sure our class data type is USB_CONV_VIDEO before trying to use it. Fixes #19717 (cherry picked from commit 0e1bad2875f2d73a6d67169eeb9f1cdb7554e1c2) commit a9c7dcd27eb Author: Gerald Combs Date: Thu Mar 21 13:03:14 2024 -0700 Windows: Upgrade c-ares to 1.27.0 (cherry picked from commit c733727c76a012b43d4026071e51e9a0d56559f3) commit 02218b1fb77 Author: John Thacker Date: Wed Mar 20 12:02:51 2024 -0400 TFTP: Fix export objects in single pass tshark We cannot know during the first pass if the capture file contains the last block of a TFTP transfer, so we have to copy the blocks regardless (if we have no missing blocks yet.) Fix #19715 (cherry picked from commit e640ecd591fdc837ee2ed79b1e39bee5b34829e3) commit b0288cb8fb4 Author: Gerald Combs Date: Wed Mar 20 09:54:17 2024 -0700 Add recursion checks to EXTREME MESH, LwM2M-TLV, MPLS ECHO, SNA, and TCAP (cherry picked from commit 1ed5bd8dd2c7b1a8c79c60fb368717728f0d15c4) commit b03e1136fc4 Author: Guy Harris Date: Tue Mar 19 11:43:18 2024 -0700 mac-lte: fix more bogus casts. It is *not* safe to pass a pointer to anything other than a pointer to a guint32/uint32_t as the last argument to proto_tree_add_item_ret_uint(). Doing so, and then making the compiler's complaint about that because you want your code to compile, means that a full 32 bits will be written to, even though they're being written to somethiing smaller than 32 bits, so *something* outside of the item to be stored into will be written. If you're *lucky*, that will be padding. If you're *not* lucky, it could be anothr variable, or something else in memory. Don't do that. (cherry picked from commit 3ea56842a3750d760d1742e534eab424e81d9a41) commit 34bf4d1d361 Author: Matan Perelman Date: Tue Mar 19 09:07:13 2024 +0200 mac-lte: Fix memory access in LONG_BSR_LCID Before this change, when reaching LCID Group 2 in LONG_BSR_LCID parsing, the call to `proto_tree_add_item_ret_uint` with `(guint32*)&buffer_size[2]` would access memory beyond the array since the array contains 4 elements of type guin8. The invalid access sometimes created an unexpected write to the `lcids` array, changing the LCID and causing a wrong dissection of the matching body. (cherry picked from commit 5de524bc2027b6d65480849f780169a9553506e2) commit 4fc3be24f0d Author: John Thacker Date: Mon Mar 18 10:14:44 2024 -0400 MinGW+NSIS: Install NSIS package in setup script (cherry picked from commit 4c5f838c5881f11a91635ba330d9a5b0f70fa86b) commit 36afc6b15f5 Author: John Thacker Date: Mon Mar 18 09:43:16 2024 -0400 MinGW+NSIS: Work around QTBug-122257 when building For one status message type, windeployqt --list ignores the verbosity setting and prints them to standard out in Qt 6.6.0 - 6.6.2. Work around that so that MSYS2 builds work. https://bugreports.qt.io/browse/QTBUG-122257 (cherry picked from commit 3cff44e4a06e5c0aa09e090538e0cea08e5a45d8) commit 3bc3389128b Author: Gerald Combs Date: Sun Mar 17 12:52:39 2024 -0700 Add recursion checks to DCOM, MPEG PES, PROXY, Snort config, and Thread (cherry picked from commit 6653bfd82ed86417578a31525de67e5f1e299a89) Conflicts: epan/dissectors/packet-snort-config.c commit b8146867260 Author: Gerald Combs Date: Sun Mar 17 10:37:39 2024 -0700 Add recursion checks to DICOM, FC-SWILS, PIM, RSL, and WASSP (cherry picked from commit e9f0d2c22a23bf279753884fd9a8980d2ae13642) commit 218d89ff7db Author: Gerald Combs Date: Sun Mar 17 09:25:25 2024 -0700 Add recursion checks to DCCP, KNX/IP, PANA, SOME/IP, and WLCCP (cherry picked from commit db886b4acbc761e730d2364e3759019266404275) commit 9c9a8a5defe Author: Gerald Combs Date: Sat Mar 16 10:35:37 2024 -0700 Add recursion checks to CSN.1, GSM A-bis OML, NAS-5GS, SolarEdge, and WMIO (cherry picked from commit 73b6bf25e27796352774f7d95ef053c1da1d1cfd) Conflicts: epan/dissectors/packet-wmio.c commit 248cb260566 Author: Gerald Combs Date: Sun Mar 17 09:24:41 2024 +0000 [Automatic update for 2024-03-17] Update manuf, services enterprise numbers, translations, and other items. commit 9042c92dd95 Author: Gerald Combs Date: Sat Mar 16 09:44:46 2024 -0700 Add recursion checks to CQL, GSM GSUP, MSWSP, RSVP, and WTP (cherry picked from commit 277d965657060085e14990d7eafc596f0b1f0ed0) commit cc138f8ea22 Author: Gerald Combs Date: Fri Mar 15 14:31:15 2024 -0700 Add recursion checks to COSE, GQUIC, SUA, and XML (cherry picked from commit 7122291d5d0df839f4dd404cad13d93e36bd04a0) commit 8cac5932f79 Author: Anders Broman Date: Mon Mar 4 12:22:54 2024 +0100 Lua: Replace lua_pushnumber with lua_pushinteger where apropriate. (cherry picked from commit 4e997a93ea4c494b5fdae5b14829feffafa6f453) commit 77897acfb46 Author: Gerald Combs Date: Tue Mar 12 19:28:43 2024 -0700 Add recursion checks to COROSYNC/TOTEMSRP, HSMS, ProtoBuf, RTLS, and YAMI (cherry picked from commit 5b29346f9b7e4c67401afc2015b880de760eb73b) commit efed69f77b8 Author: John Thacker Date: Thu Mar 14 20:43:24 2024 -0400 Lua: Don't test for removed functions atan2, cosh, sinh, tanh, pow, frexp, ldexp, and log10 were removed from Lua 5.3. (log10 was removed in Lua 5.2), along with other functions. Don't test for or promise their existence. People using them in dissectors will have to use workarounds. The most common ones have native implementations - anyone using hyperbolic sine in a dissector will have to find some other workaound. Related to #10881 (backported from ad69c29f8e89b4f77ae4c63fa1b65da2ec57d648) commit 12b34c36d3a Author: John Thacker Date: Sun Mar 3 17:46:26 2024 -0500 Lua: In tests, use load instead of loadstring on Lua > 5.1 loadstring was removed after Lua 5.1. load given a string argument has the same behavior as loadstring did. Test for the Lua version in order to use the appropriate function. Related to #10881 (cherry picked from commit 5e4d7dd565b9262c38847ff33688b675996d2546) commit 4791b23c6c6 Author: John Thacker Date: Wed Mar 13 08:39:38 2024 -0400 wsutil: Allow converting zero length bytestrings again Prior to 3.6, we allowed the bytes_to_str function to convert an empty (but non NULL) hex byte string to an empty string, and some uses expected that, e.g. in the UATs. Allow that again. Fix #19705 (cherry picked from commit eb585523846961c8bfef20d7206a265e76825cd8) commit 9dbd02ff654 Author: John Thacker Date: Tue Mar 12 23:29:14 2024 -0400 Qt: queue TCP stream graph replots during mouse moves For a mouseMove event, don't immediately replot but queue the replot for the next event loop iteration. This dramatically improves performance on Linux for graphs with a large number of points when moving the mouse for graphs. (cherry picked from commit 1ea44a05e95d71d458750ee3f57fbf9801989e5f) commit 4577621fc2f Author: Jaap Keuter Date: Wed Mar 13 01:13:02 2024 +0000 SNMP set correct req/resp relation when req's are repeated. (cherry picked from commit 97bef124aea9d15fb202b8e9c412d4c575025d15) ab0f0c24 SNMP set correct req/resp relation when req's are repeated. commit 59c270da82f Author: John Thacker Date: Tue Mar 12 09:44:36 2024 -0400 dfilter: Fix parsing of single character hex character escapes Fix parsing of C-style hex escape character constants with only one hex digit. Prevents errors like: Error: '\x1' is too long to be a valid character constant. (cherry picked from commit e05dfae55318c3b4e0f3176decdc2d06941fb729) commit 29ab3749d3a Author: Gerald Combs Date: Sun Mar 10 11:59:21 2024 -0700 Add recursion checks to BVLC, DOCSIS MAC MGMT, MsgPack, RTMPT, and ZigBee ZCL (cherry picked from commit 9bfa8d9142ba9efa38827346486c895df9dce9cc) commit a6cdd65539b Author: Gerald Combs Date: Sun Mar 10 10:25:14 2024 -0700 Add recursion checks to BT SDP, GTPv2, NHRP, SCTP, and Windows common (cherry picked from commit 128c298122e71147f7fa3d7b6df2d7f0fde4eb7a) Conflicts: epan/dissectors/packet-sctp.c commit 022b66008bf Author: Gerald Combs Date: Sat Mar 9 17:22:34 2024 -0800 Add recursion checks to BT BNEP, DOF, ICQ, Q.2931, and S7COMM (cherry picked from commit e50ef0effb253534c1e8afa9102aa6d52f9cbd12) commit f170401f909 Author: Gerald Combs Date: Sun Mar 10 09:24:40 2024 +0000 [Automatic update for 2024-03-10] Update manuf, services enterprise numbers, translations, and other items. commit 59c773d6540 Author: Gerald Combs Date: Sat Mar 9 10:56:40 2024 -0800 Add recursion checks to BGP, Etch, LI5G, RPL, and SIMULCRYPT (cherry picked from commit 6f2514fba5fca8cbdc0b3513979a68f56424f868) commit 53e8374919d Author: Gerald Combs Date: Sat Mar 9 10:32:56 2024 -0800 Add recursion checks to BFCP, EDONKEY, QNET, RTPS, and XMPP (cherry picked from commit 709404e401cfb36fdeb38f0bc1bd481b7309c1d9) commit 4c3c98e2abc Author: Gerald Combs Date: Sat Mar 9 12:29:15 2024 -0800 GitLab CI+tools: Homebrew recently adopted PEP 668 Attempting to install Python packages using pip under Homebrew now returns ``` error: externally-managed-environment × This environment is externally managed ╰─> To install Python packages system-wide, try brew install xyz, where xyz is the package you are trying to install. If you wish to install a non-brew-packaged Python package, create a virtual environment using python3 -m venv path/to/venv. Then use path/to/venv/bin/python and path/to/venv/bin/pip. If you wish to install a non-brew packaged Python application, it may be easiest to use pipx install xyz, which will manage a virtual environment for you. Make sure you have pipx installed. note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages. ``` Install pytest and pytest-xdist in a venv for now. (cherry picked from commit 77ec5a5068f9c68e67957c7978ef340b1e00536a) commit 7be4bbb413d Author: John Thacker Date: Wed Mar 6 20:40:42 2024 -0500 t38: Allocate forced defragmented memory in correct scope Fragment data can't be allocated in pinfo->pool scope, as it outlives the frame. Set it to be freed when the associated tvb is freed, as done in the main reassemble.c code. Fix #19695 (cherry picked from commit 6fd3af5e999c71df67c2cdcefb96d0dc4afa5341) commit eb894c6bca6 Author: John Thacker Date: Sun Mar 3 20:11:02 2024 -0500 Lua: Convert the time to an integer in tests Apparently in Lua 5.3, os.date doesn't like being handed a value with fractional seconds. Convert the time to an integer via a method that also works on Lua 5.1 Related to #10881 (cherry picked from commit 61e8d3392ae476516c22fa727e01a21846f2a487) commit 1b3e1c9e8ec Author: John Thacker Date: Mon Mar 4 17:11:21 2024 -0500 Lua: Make tests work on Lua 5.4 Lua tables are stored with reference values that default to a one-up counter starting at 1. To reduce the number of necessary reallocations, the allocated but previously freed entries form a linked list. Starting with the head of the freelist, each reference points to the index number of the next freed reference in the list, or 0 as a sentinel value. The head always present and is 0 if nothing has been deleted. On Lua 5.4 the head of the list is always index 3 (LUA_RIDX_LAST + 1). On earlier Lua, 0 is used. Various C API functions like lua_next and lua_len (and thus the length operator #) do not distinguish between these values that refer to table indices and those that refer to objects we've stored in them. We can distinguish by checking whether or not the value for a particular key is one of our classes, e.g. a ProtoField, or a lua_Number. Our setters should assure that we aren't putting any lua_Numbers into the tables. Related to #10881 (cherry picked from commit 2188257743e44c98806df3968d756500f9697309) commit 3959fc563dc Author: Anders Broman Date: Wed Feb 21 21:34:10 2024 +0100 LUA: Make it compile with LUA 5.4 (cherry picked from commit f9e052b88ed2303f2f2b52d0808cded1f5736576) commit 3a10e3984ba Author: Anders Broman Date: Wed Feb 21 21:23:28 2024 +0100 LUA bitop: Convery our lua_bitop.c to work with 5.3 and 5.4 The code is written by Andrew Engelbrecht and found here: https://github.com/LuaJIT/LuaJIT/issues/384 (cherry picked from commit 926344c16c2147d06689cbde3c1e08aa6b5d6e93) commit 2283c1efd4d Author: John Thacker Date: Tue Mar 5 09:19:39 2024 -0500 ICMPv6: Remove recursion check from 0 length option path Fixup 972bb56d0ab3fc825955d58bee629ba13c1e1a99 Fix #19688 (cherry picked from commit ba82fcdef633214518aa2ea7f7a99f54e6bb03f3) commit 7d7be263168 Author: Gerald Combs Date: Sun Mar 3 17:38:10 2024 -0800 ASAP: More recursion updates Check against pinfo->flags.in_error_pkt. (cherry picked from commit d46e93b274aec46d75ca91dcd4e6f4f7a4b9f420) commit 79fdafac830 Author: Gerald Combs Date: Mon Mar 4 14:13:59 2024 -0800 Add recursion checks to Bencode, BT-DHT, ErlDP, H.233, and H.264 (cherry picked from commit f38f79d6e14c5a278d5e08ba1b96f9f4c0e600e0) commit 175347ef5e2 Author: Gerald Combs Date: Mon Mar 4 11:33:20 2024 -0800 Add recursion checks and suppressions to BEEP, Kafka, and OpenFlow (cherry picked from commit fcde25cfb8dc0d86904aaeaab8b50e87e1985fc0) commit 18b84f7734d Author: Gerald Combs Date: Mon Mar 4 10:51:16 2024 -0800 Add recursion checks to Banana, ISAKMP, KINK, M2UA, and M3UA (cherry picked from commit 48e65f0c54b05dbc3d082dc645e3d111b46e9055) commit d238e207d84 Author: Gerald Combs Date: Sun Mar 3 17:53:45 2024 -0800 Remove our recursion checks in ICMPv6 and NETLINK We'll run out of packet before we run out of stack in each case. (cherry picked from commit 972bb56d0ab3fc825955d58bee629ba13c1e1a99) commit 4a83b8f470b Author: Gerald Combs Date: Sun Mar 3 09:25:02 2024 +0000 [Automatic update for 2024-03-03] Update manuf, services enterprise numbers, translations, and other items. commit 13e199a4a56 Author: Gerald Combs Date: Sat Mar 2 18:42:13 2024 -0800 ASAP: Make sure pinfo is set Fixes #19685. (cherry picked from commit dc84bddc1f245512c56aa3f5e617db9fff729796) commit 0a90847b7e9 Author: Gerald Combs Date: Sat Mar 2 15:37:37 2024 -0800 Add recursion checks to BACnet, CIP, IPP, LISP, and NETLINK (cherry picked from commit c4d62f97615f85b24f86a0ab2a8aa0d62851b6e5) commit 129b918b14a Author: Gerald Combs Date: Sat Mar 2 11:58:35 2024 -0800 Add recursion checks to ASAP, iSCSI, JXTA, MBIM, and MQTT-SN (cherry picked from commit c49e1f2ceacac3e7a808f95c88d4eabf81c996e5) commit 2d24f6d995e Author: Gerald Combs Date: Sat Mar 2 10:46:44 2024 -0800 Add recursion checks to AMQP, GNW, LDP, CFLOW, and RDP (cherry picked from commit 3948fe5132f9641b662c888efb74b1bd01216cc9) commit 80e5533370b Author: Gerald Combs Date: Fri Mar 1 13:48:31 2024 -0800 Add recursion checks to various protocols (cherry picked from commit d0c09f485951a0b014102e8fc82aa5b854d9c33b) commit e7f8b65fdf0 Author: Gerald Combs Date: Fri Mar 1 09:32:00 2024 -0800 Rebuild our ASN.1 dissectors Switch to simple recursion checks. commit 406c023c621 Author: Gerald Combs Date: Wed Feb 28 17:13:45 2024 -0800 epan: Add simple recursion checks Add a "dissection_depth" element to packet_info, and add increment_dissection_depth and decrement_dissection_depth. Assert if our dissection depth exceeds the gui_max_tree_depth preference. Use them to replace some of the current p_get_proto_depth and p_set_proto_depth calls. Get rid of PINFO_LAYER_MAX_RECURSION_DEPTH and use the gui_max_tree_depth preference in call_dissector and dissector_try_heuristic. (cherry picked from commit 4f35c3a34a33f06fb86d4567715d2e935f506cd5) Conflicts: epan/dissectors/file-blf.c epan/dissectors/packet-smb2.c commit 783048838e2 Author: John Thacker Date: Thu Feb 29 18:38:14 2024 -0500 tools: Parse ranges in make-services.py The new services parsing was only putting the first and last port of a range into the static C array data. This was a regression in 4.2 compared to 4.0 (cherry picked from commit 95f6f94f8bd711660959d7d6b7ca0fffcd2f7630) commit 9c374bbfa1e Author: John Thacker Date: Wed Feb 28 18:16:20 2024 -0500 docs: Explicitly set wildcard when including dissection-options tags The double wildcard is implied on recent versions of asciidoctor, but explicitly specifying doesn't hurt, and fixes the includes on some older versions (such as that with RHEL 8.) https://docs.asciidoctor.org/asciidoc/latest/directives/include-tagged-regions/#tag-filtering (backported from commit bb37fcb0260eb06692ec127ceb05597c678bf4a7) commit c8e98a245cb Author: Niels Widger Date: Mon Feb 26 13:51:53 2024 -0500 sharkd: Increase JSON buffer size from 2048 to 8192 bytes This commit increases the maximum size for the JSON commands processed by `sharkd` from 2048 to 8192 bytes. The primary reason for this change is to allow larger filters in `filter0`...`filter9` arguments which, combined with the outer JSON boilerplate, can cause a command to quickly hit the existing 2048-byte limit. (cherry picked from commit 8989c732fc0b78039c72b695e7c7099948ea5491) commit 57741bfc81d Author: John Thacker Date: Tue Feb 27 20:25:05 2024 -0500 prefs: Fix null defererences, remove obsolete function Null dereference check to fix Coverity CIDs 1399640 and 1399641. Remove a function that has been unused for a decade. (cherry picked from commit 7dc0f853c6eed609f13fb2786c3cfa833dc850b5) commit aeffdcf8206 Author: John Thacker Date: Wed Feb 28 06:59:45 2024 -0500 JSON-3GPP: Don't crash on empty suppFeat JSON value Return straightaway if the length is 0 or less. (It shouldn't be less unless the JSON dissector has issues, but if it's -1 it might not raise an exception adding the string because of the longstanding feature of -1 length for a FT_STRING meaning "to the end of the tvb.") Fix #19677 (cherry picked from commit ade326dbf56afb361158f7246572d5a96b7493dc) commit 005a3e8fdf7 Author: John Thacker Date: Tue Feb 27 09:02:55 2024 -0500 ENRP: Check for invalid parameter & error cause lengths The value in the length field in ENRP parameters and error causes include the length and types, and must be at least 4. In particular, not erring on zero can cause an infinite loop. https://datatracker.ietf.org/doc/html/rfc5354 Fix #19674 (backported from commit 84ffa648eaaa6292c5332df236b10d70f7cf07d0) commit 4cc9f9bbbf7 Author: Triton Circonflexe Date: Sat Feb 24 21:39:31 2024 +0100 Thrift: Fix recursion check Previous recursion check only worked with generic dissector. The introduced changes cover the sub-dissectors as well. Remove the existing check as it counted basic types as well. Add a check at every place where a sub-tree is created: - containers (list, set, map) - structures (cherry picked from commit 4eaf10bc4e46762b1e304baf188d0767907e1914) commit 3243e000415 Author: John Thacker Date: Thu Feb 22 08:54:12 2024 -0500 Qt: Work around QTBUG-122109 when applying packet list style sheet https://bugreports.qt.io/browse/QTBUG-122109 A bug introduced by the fix for https://bugreports.qt.io/browse/QTBUG-116013 causes all visible sections to reset to the default section size whenever a style sheet is applied (even if defaultSectionSize didn't change.) Make sure that before applying a style sheet we prevent our recent column widths from being updated, and then restore column widths from the recent values afterwards. This affects versions 6.5.4 (commercial only, 6.5.3 is the last free release) and 6.6.1 and 6.6.2. (cherry picked from commit ea38f142e89f81181fe397da0875a7df05787162) commit 854dd3c85f0 Author: Patrik Thunström Date: Sun Feb 25 00:07:45 2024 +0100 CSV Export: Last column no longer exported when hidden. Prior to fix the last column no matter if hidden or not was always included when exporting packet dissections to CSV. Fixes #19666. (cherry picked from commit 30c0ab964ff62ef95b1a0ec9c04ebbbb0cd51c43) commit 535a868fab5 Author: Gerald Combs Date: Sun Feb 25 09:26:26 2024 +0000 [Automatic update for 2024-02-25] Update manuf, services enterprise numbers, translations, and other items. commit 459c0d50cb9 Author: John Thacker Date: Fri Feb 23 07:56:18 2024 -0500 Inject TLS Secrets: Check for NULL used secrets map The GUI menu item should probably be disabled without a capture file too. Fix #19667 (cherry picked from commit ac90d8c83437c4eb120f8d64025f2ca07269f35e) commit 315e14a35d5 Author: Gerald Combs Date: Thu Feb 22 18:35:09 2024 -0800 ICMPv6: Add a recursion check Fix ``` wireshark/epan/dissectors/packet-icmpv6.c:1709:1: warning: function 'dissect_icmpv6_nd_opt' is within a recursive call chain [misc-no-recursion] 1709 | dissect_icmpv6_nd_opt(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) | ^ wireshark/epan/dissectors/packet-icmpv6.c:1709:1: note: example recursive call chain, starting from function 'dissect_icmpv6_nd_opt' wireshark/epan/dissectors/packet-icmpv6.c:2247:30: note: Frame #1: function 'dissect_icmpv6_nd_opt' calls function 'dissect_icmpv6_nd_opt' here: 2247 | opt_offset = dissect_icmpv6_nd_opt(tvb, opt_offset, pinfo, icmp6opt_tree); | ^ wireshark/epan/dissectors/packet-icmpv6.c:2247:30: note: ... which was the starting point of the recursive call chain; there may be other cycles ``` (cherry picked from commit 0eb0d6fdb4394872e68ed2c8c9d2cc1a1bc85db9) commit 27d5c37e714 Author: Gerald Combs Date: Thu Feb 22 18:50:24 2024 -0800 SMB2: Add recursion checks (cherry picked from commit 1515b211e20354e097092de0b52e50862e64ce36) Conflicts: epan/dissectors/packet-smb2.c commit db9610c3896 Author: Gerald Combs Date: Thu Feb 22 18:29:49 2024 -0800 DHCPv6: Add a recursion check Fix ``` wireshark/epan/dissectors/packet-dhcpv6.c:1846:1: warning: function 'dhcpv6_option' is within a recursive call chain [misc-no-recursion] 1846 | dhcpv6_option(tvbuff_t *tvb, packet_info *pinfo, proto_tree *bp_tree, | ^ wireshark/epan/dissectors/packet-dhcpv6.c:1846:1: note: example recursive call chain, starting from function 'dhcpv6_option' wireshark/epan/dissectors/packet-dhcpv6.c:2052:28: note: Frame #1: function 'dhcpv6_option' calls function 'dhcpv6_option' here: 2052 | temp_optlen += dhcpv6_option(tvb, pinfo, subtree, | ^ wireshark/epan/dissectors/packet-dhcpv6.c:2052:28: note: ... which was the starting point of the recursive call chain; there may be other cycles wireshark/epan/dissectors/packet-dhcpv6.c:2958:1: warning: function 'dissect_dhcpv6' is within a recursive call chain [misc-no-recursion] 2958 | dissect_dhcpv6(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, | ^ ``` (cherry picked from commit 5a04c4ecee4a40851c8fd0f7de0ee96d257bb752) commit cd5c51f50f7 Author: Gerald Combs Date: Wed Feb 21 15:01:00 2024 -0800 AllJoyn: Add recursion checks (cherry picked from commit 8b0e90d62e283d3aa7b00aa17a55a53bde362da4) commit 3b7f2c1ca79 Author: Gerald Combs Date: Wed Feb 21 14:27:58 2024 -0800 6LoWPAN: Add recursion checks (cherry picked from commit 34c90f7a3d31c74c7f66a71dcd23eed326718190) commit 5d2c25d97e6 Author: Gerald Combs Date: Wed Feb 21 11:53:18 2024 -0800 TN5250: Add a recursion check (cherry picked from commit 282bd19e887a56496011d14b1bf7bdde40f9216e) commit 0e272f66bd2 Author: Gerald Combs Date: Wed Feb 21 11:08:42 2024 -0800 MONGO: Add a recursion check (cherry picked from commit 7183ac40da718b4a0531f84adf090e9a97c1297a) commit d8231096d5c Author: John Thacker Date: Tue Feb 20 22:58:58 2024 -0500 text2pcap: Set encapsulation to WIRESHARK_UPPER_PDU with -P The documentation, both man page and help, claims that text2pcap automatically sets the encapsulation to WIRESHARK_UPPER_PDU if -P is given. Make the behavior match the documentation. (cherry picked from commit 339d6d4aba6f51f32c9483ea4dab5790b713d247) commit a29a21fb697 Author: Gerald Combs Date: Tue Feb 20 15:22:07 2024 -0800 RBM: Add a recursion check Fix ``` wireshark/epan/dissectors/file-rbm.c:196:13: warning: function 'dissect_rbm_array' is within a recursive call chain [misc-no-recursion] 196 | static void dissect_rbm_array(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, guint* offset, gchar** value_str) | ^ wireshark/epan/dissectors/file-rbm.c:410:13: note: example recursive call chain, starting from function 'dissect_rbm_object' 410 | static void dissect_rbm_object(tvbuff_t* tvb, packet_info* pinfo, proto_tree* ptree, guint* offset, gchar** type, gchar** value) | ^ wireshark/epan/dissectors/file-rbm.c:439:4: note: Frame #1: function 'dissect_rbm_object' calls function 'dissect_rbm_string' here: 439 | dissect_rbm_string(tvb, pinfo, tree, offset, &value_local); | ^ wireshark/epan/dissectors/file-rbm.c:325:2: note: Frame #2: function 'dissect_rbm_string' calls function 'dissect_rbm_object' here: 325 | dissect_rbm_object(tvb, pinfo, tree, offset, NULL, NULL); | ^ wireshark/epan/dissectors/file-rbm.c:325:2: note: ... which was the starting point of the recursive call chain; there may be other cycles wireshark/epan/dissectors/file-rbm.c:222:13: warning: function 'dissect_rbm_hash' is within a recursive call chain [misc-no-recursion] 222 | static void dissect_rbm_hash(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, guint* offset, gchar** value_str) | ^ wireshark/epan/dissectors/file-rbm.c:321:13: warning: function 'dissect_rbm_string' is within a recursive call chain [misc-no-recursion] 321 | static void dissect_rbm_string(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, guint* offset, gchar** value) | ^ wireshark/epan/dissectors/file-rbm.c:329:13: warning: function 'dissect_rbm_regex' is within a recursive call chain [misc-no-recursion] 329 | static void dissect_rbm_regex(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, guint* offset, gchar** value) | ^ wireshark/epan/dissectors/file-rbm.c:344:13: warning: function 'dissect_rbm_userclass' is within a recursive call chain [misc-no-recursion] 344 | static void dissect_rbm_userclass(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, guint* offset, gchar** value) | ^ wireshark/epan/dissectors/file-rbm.c:355:13: warning: function 'dissect_rbm_variable' is within a recursive call chain [misc-no-recursion] 355 | static void dissect_rbm_variable(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, guint* offset, gchar** value_str) | ^ wireshark/epan/dissectors/file-rbm.c:368:13: warning: function 'dissect_rbm_struct' is within a recursive call chain [misc-no-recursion] 368 | static void dissect_rbm_struct(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, guint* offset, gchar** value) | ^ wireshark/epan/dissectors/file-rbm.c:374:13: warning: function 'dissect_rbm_drb' is within a recursive call chain [misc-no-recursion] 374 | static void dissect_rbm_drb(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, guint* offset) | ^ wireshark/epan/dissectors/file-rbm.c:383:13: warning: function 'dissect_rbm_rubyobject' is within a recursive call chain [misc-no-recursion] 383 | static void dissect_rbm_rubyobject(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, guint* offset) | ^ wireshark/epan/dissectors/file-rbm.c:400:13: warning: function 'dissect_rbm_extended' is within a recursive call chain [misc-no-recursion] 400 | static void dissect_rbm_extended(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, guint* offset) | ^ wireshark/epan/dissectors/file-rbm.c:410:13: warning: function 'dissect_rbm_object' is within a recursive call chain [misc-no-recursion] 410 | static void dissect_rbm_object(tvbuff_t* tvb, packet_info* pinfo, proto_tree* ptree, guint* offset, gchar** type, gchar** value) | ^ wireshark/epan/dissectors/file-rbm.c:535:6: warning: function 'dissect_rbm_inline' is within a recursive call chain [misc-no-recursion] 535 | void dissect_rbm_inline(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, guint* offset, gchar** type, gchar** value) | ^ ``` (cherry picked from commit d7b15ff6d19763cc29f3cc4677aef28aed2879df) commit ec470ca63d8 Author: John Thacker Date: Thu Feb 15 19:39:52 2024 -0500 extcap: Fix writing preferences to file Do not change the preference pointer inside the Extcap Options Dialog. That changes the real preference value, which disturbs the check inside prefs_store_ext_multiple that storeValues() calls for whether a pref has changed or not. Since the prefs are already changed to their new value, we won't realize that we need to write out a new preference file. The other changes in #18487 are sufficent to fix the problem identified there (though it's a bit unclear what "required" means in combination with a default, and whether we have to send the default value for the required parameter or can omit it.) If the button says "Save", then save the preferences regardless of what the "extcap Save on Start" preference says. Fix #19639. Related to #18487 (cherry picked from commit 268e7425416f0f482bc001c0ca8010c425db49c9) commit c1584528c32 Author: Gerald Combs Date: Tue Feb 20 14:28:59 2024 -0800 JPEG: Add a recursion check Fix ``` /builds/wireshark/wireshark/epan/dissectors/file-jpeg.c:773:1: warning: function 'process_tiff_ifd_chain' is within a recursive call chain [misc-no-recursion] 773 | process_tiff_ifd_chain(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, | ^ /builds/wireshark/wireshark/epan/dissectors/file-jpeg.c:773:1: note: example recursive call chain, starting from function 'process_tiff_ifd_chain' /builds/wireshark/wireshark/epan/dissectors/file-jpeg.c:896:37: note: Frame #1: function 'process_tiff_ifd_chain' calls function 'process_tiff_ifd_chain' here: 896 | process_tiff_ifd_chain(tree, tvb, pinfo, encoding, | ^ /builds/wireshark/wireshark/epan/dissectors/file-jpeg.c:896:37: note: ... which was the starting point of the recursive call chain; there may be other cycles ``` (cherry picked from commit 46c652102f432577961cac534f20fc88fa6c11cf) commit 69f9eab216b Author: Gerald Combs Date: Tue Feb 20 14:03:02 2024 -0800 BLF: Add a recursion check Fix ``` wireshark/epan/dissectors/file-blf.c:498:1: warning: function 'dissect_blf_lobj' is within a recursive call chain [misc-no-recursion] 498 | dissect_blf_lobj(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, gint offset_orig) { | ^ wireshark/epan/dissectors/file-blf.c:886:1: note: example recursive call chain, starting from function 'dissect_blf_next_object' 886 | dissect_blf_next_object(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint offset) { | ^ wireshark/epan/dissectors/file-blf.c:893:32: note: Frame #1: function 'dissect_blf_next_object' calls function 'dissect_blf_lobj' here: 893 | int bytes_parsed = dissect_blf_lobj(tvb, pinfo, tree, offset); | ^ wireshark/epan/dissectors/file-blf.c:580:27: note: Frame #2: function 'dissect_blf_lobj' calls function 'dissect_blf_next_object' here: 580 | tmp = dissect_blf_next_object(sub_tvb, pinfo, subtree, offset_sub); | ^ wireshark/epan/dissectors/file-blf.c:580:27: note: ... which was the starting point of the recursive call chain; there may be other cycles wireshark/epan/dissectors/file-blf.c:886:1: warning: function 'dissect_blf_next_object' is within a recursive call chain [misc-no-recursion] 886 | dissect_blf_next_object(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint offset) { | ^ ``` (cherry picked from commit 3b2c961eeb3eda36a0253cc5111396a4d6a424e0) commit 4861d841305 Author: Gerald Combs Date: Tue Feb 20 09:41:29 2024 -0800 ISIS LSP: Add a recursion check Fix ``` wireshark/epan/dissectors/packet-isis-lsp.c:3431:1: warning: function 'dissect_sub_clv_tlv_22_22_23_141_222_223' is within a recursive call chain [misc-no-recursion] 3431 | dissect_sub_clv_tlv_22_22_23_141_222_223(tvbuff_t *tvb, packet_info* pinfo, proto_tree *tree, | ^ wireshark/epan/dissectors/packet-isis-lsp.c:3431:1: note: example recursive call chain, starting from function 'dissect_sub_clv_tlv_22_22_23_141_222_223' wireshark/epan/dissectors/packet-isis-lsp.c:3541:21: note: Frame #1: function 'dissect_sub_clv_tlv_22_22_23_141_222_223' calls function 'dissect_sub_clv_tlv_22_22_23_141_222_223' here: 3541 | dissect_sub_clv_tlv_22_22_23_141_222_223(tvb, pinfo, subtree, local_offset, local_len); | ^ wireshark/epan/dissectors/packet-isis-lsp.c:3541:21: note: ... which was the starting point of the recursive call chain; there may be other cycles ``` Add Clang-Tidy suppressions as well. (cherry picked from commit 16d85df6f447b082afce8cf183d187d6144f2870) commit 4557986660b Author: Gerald Combs Date: Tue Feb 20 09:41:29 2024 -0800 GIOP: Add a recursion check Add Clang-Tidy suppressions as well. (cherry picked from commit 45f9dae43cc9f6253bc8e8f2d12afa47a8925e62) commit 37eb42985eb Author: Gerald Combs Date: Tue Feb 20 09:24:00 2024 -0800 ENRP: Add a recursion check Add Clang-Tidy suppressions as well. (cherry picked from commit 6c52cdf959a4da6a4bf148713cb341b40f06355b) commit e1299a0ef50 Author: Gerald Combs Date: Sun Feb 18 09:24:20 2024 +0000 [Automatic update for 2024-02-18] Update manuf, services enterprise numbers, translations, and other items. commit d3ad478c920 Author: Noan Date: Tue Nov 28 09:36:44 2023 +0000 Fix parse number of scalability structures in VP9 (cherry picked from commit 8873aba1a03fb2fdf618807a416d528b52143bd8) 92ceaf04 Fix parse number of scalability structures d40a502b Fix parse number of scalability structures in VP9 commit 6f399ff8e6f Author: Gerald Combs Date: Sun Feb 18 10:09:57 2024 -0800 tools: Don't assume that Homebrew has Lua 5.1 [skip ci] (cherry picked from commit deac878dd56a4c04fc4dc9f198167314262c0af7) commit 9dbb5482ef0 Author: Gerald Combs Date: Wed Feb 14 13:18:50 2024 -0800 GitLab CI: Add release notes artifacts (cherry picked from commit d54031eda9e94e9c7ab28e8a70b2509dc20cdfc9) commit 4520e9eb867 Author: Gerald Combs Date: Wed Feb 14 13:32:10 2024 -0800 Version: 4.2.3 → 4.2.4 [skip ci]