From e27759aa56732ec1423a104333c1d88f5ddd7efb Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 17 May 2024 17:00:51 +0200 Subject: Adding upstream version 4.2.5. Signed-off-by: Daniel Baumann --- ChangeLog | 1887 ++++++++++++++++++++++++++++++++++++------------------------- 1 file changed, 1109 insertions(+), 778 deletions(-) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 4711cda..73405da 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,1175 +1,1506 @@ -commit cde7eb73a1b -Author: Niels Widger -Date: Mon Mar 25 13:58:54 2024 -0400 +commit 7263aefcb0 +Author: Gerald Combs +Date: Mon May 13 15:55:35 2024 -0700 - sharkd: Add "column_info" field to "status" method + Prep for 4.2.5 - 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. +commit e02689beb6 +Author: John Thacker +Date: Mon May 13 22:06:46 2024 +0000 - 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. + Qt: Fix RTP Player crash - (cherry picked from commit a7236f6a57802cddb8d57f21d904bea729051b09) + marker_stream_ might not exist when playFinished is called. + In particular, deleting the RtpAudioStreams might cause + playFinished to be called when the audio streams delete + their audio output in certain cases, such as if they are + paused. (The behavior might be slightly different on Qt6, + where QAudioSink is used vs. Qt5 where QAudioOutput is used.) -commit 99655aa204c -Author: John Thacker -Date: Wed Mar 27 09:52:21 2024 -0400 + Fix #19596 - IPPUSB: Avoid (mostly harmless) string overread + (cherry picked from commit 7698e03ba13e2e9966c84fbd800f8ab6c25983ef) - 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. + Co-authored-by: John Thacker - For good practice, replace the tvb_get_ptr + memcmp call with - tvb_memeql. +commit 8be6839369 +Author: Gerald Combs +Date: Mon May 13 13:07:00 2024 -0700 - (cherry picked from commit 3a7b6188972e5fc59ce7df053e660b4f200795f8) + GitLab CI: Fix a couple of separators -commit e6abb97eb87 +commit 01a8f70b09 Author: John Thacker -Date: Tue Mar 26 19:03:31 2024 -0400 - - Qt: Apply the fix for SyntaxComboBoxes to Qt 5.15.3 +Date: Wed Oct 18 20:59:53 2023 -0400 - 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. + GitLab CI: Switch the openSUSE builds to 15.5 - There might well be a better way to work around this, but this - is simple enough and works. + (cherry picked from commit a274d763df69d2a3d91f6478f6deb29c0c039952) - Fix #18996 +commit 1b9e1eccc8 +Author: Gerald Combs +Date: Mon May 13 12:41:37 2024 -0700 - (cherry picked from commit 24b27a78e2cb2c64f1b359c920fd5f2fa051396a) + GitLab CI: Quote a variable -commit c05c751df5a +commit c637058453 Author: Gerald Combs -Date: Mon Mar 25 16:29:53 2024 -0700 +Date: Mon May 13 12:01:53 2024 -0700 - Prep for 4.2.4 + GitLab CI: Try to add back Lua on macOS -commit bff2e50c192 -Author: Gerald Combs -Date: Sat Mar 23 17:16:46 2024 -0700 +commit 9118420bb8 +Author: John Thacker +Date: Mon May 13 14:52:45 2024 +0000 - DVB-S2: Add a null check + Packaging: Get MinGW cross-compiling working with Qt 6.7 - (cherry picked from commit 105da2927f217e21216b0d1f3e5c6f4022d28ac6) + Qt 6.7 renamed QWindowsVistaStylePlugin to QModernWindowsStylePlugin. + We have an explicit mapping because windeployqt6 doesn't work well + with cross-compiling. Skip files that don't exist, since only one + of the Windows plugin files will exist. -commit 4bd1e2d4deb -Author: Gerald Combs -Date: Sat Mar 23 17:12:04 2024 -0700 + (cherry picked from commit 169392ce60ebf3d1fdc090ebf08ecdb313edb145) - ISO 7816: Add a null check + Co-authored-by: John Thacker - (cherry picked from commit 45342588857f4410c7e2c7d11c72105010e459b3) +commit e93ac94572 +Author: John Thacker +Date: Mon May 13 13:37:23 2024 +0000 -commit c430b886679 -Author: Gerald Combs -Date: Sat Mar 23 17:03:35 2024 -0700 + wslua: Fix segfault when registering a field / ei twice - H.264+H.265: Add null checks + We need to call Proto_commit as a protected function so that + errors don't call wslua_panic and abort, but instead are handled + gracefully. - Make sure our field pointers are valid. Found by scan-build. + Fix #19194 - (cherry picked from commit 0cc1a5f11077094266b2bd3ddf272aa0a5c7ae88) + (cherry picked from commit 70a3c9f82913d6c70ddc57d19976f80a676c9c56) - Conflicts: - epan/dissectors/packet-h264.c - epan/dissectors/packet-h265.c + Co-authored-by: John Thacker -commit 9cc50ba9757 -Author: Gerald Combs -Date: Sun Mar 24 09:24:14 2024 +0000 +commit 7f380a2a9d +Author: John Thacker +Date: Mon May 13 13:06:21 2024 +0000 - [Automatic update for 2024-03-24] + GitLab CI: Fix the Documentation job artifacts - Update manuf, services enterprise numbers, translations, and other items. + (cherry picked from commit 674e79c29e8144bb61ef4b3248be9fcb33c8dc9b) -commit 73cae3cda13 -Author: Gerald Combs -Date: Sat Mar 23 10:37:13 2024 -0700 + Co-authored-by: Gerald Combs - Add recursion checks to SoulSeek, SML, and Socks +commit 8c1ba39798 +Author: John Thacker +Date: Mon May 13 12:35:29 2024 +0000 - (cherry picked from commit 5366c18d28774f30c463d95df0e5e58d61f85897) + GitLab CI: Install ruby-dev in the Documentation job -commit 092d48aec06 -Author: Gerald Combs -Date: Sat Mar 23 11:53:04 2024 -0700 + (cherry picked from commit 520fb7848ec713eadd9a0b149197d793789e9c52) - Recursion updates for Gryphon, MATE, OpcUa, PNIO, and WiMAX ASN CP + Co-authored-by: Gerald Combs - (cherry picked from commit 6d4375846b07b827c73be6474c34dc68284414ab) +commit 235136144c +Author: John Thacker +Date: Sun May 12 08:53:46 2024 -0400 - Conflicts: - plugins/epan/mate/mate_runtime.c - plugins/epan/opcua/opcua_simpletypes.c + Revert "Lua: Replace lua_pushnumber with lua_pushinteger where apropriate." -commit 76c41d8dc0a -Author: Gerald Combs -Date: Sat Mar 23 10:19:43 2024 -0700 + This reverts commit 8cac5932f79b87deda26480769a266ff344036e6. - Add recursion checks to LLRP, MQ PCF, OPSI, and OSC +commit f12b53ac0f +Author: John Thacker +Date: Sun May 12 08:53:24 2024 -0400 - (cherry picked from commit f9e954497fb9900dfc62fd55b870f0d859147ec6) + Revert "wslua: Fix support for Lua 5.1 and 5.2 on 32bit" -commit f0678f3ae71 -Author: Guy Harris -Date: Fri Mar 22 12:23:04 2024 -0700 + This reverts commit f8fd960cb8f5378c8ab6b20b4bc7f0b73498d057. - expert: register ei_unreassembled with proto_unreassembled. +commit 4ed940da8c +Author: John Thacker +Date: Sun May 12 08:53:11 2024 -0400 - 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. + Revert "Lua: Revert a mistaken change to lua_pushinteger" - (cherry picked from commit e4a33420689431c6c399946fb3c6203cf687b5a2) + This reverts commit f2dc894cb2e50668a3f80bfdffed1932f8e35459. -commit 0ef35722a7f +commit a88ec0adc0 Author: Gerald Combs -Date: Thu Mar 21 09:25:29 2024 -0700 - - USBVIDEO: Add a class data type check +Date: Sun May 12 09:26:48 2024 +0000 - Make sure our class data type is USB_CONV_VIDEO before trying to use it. + [Automatic update for 2024-05-12] - Fixes #19717 + Update manuf, services enterprise numbers, translations, and other items. - (cherry picked from commit 0e1bad2875f2d73a6d67169eeb9f1cdb7554e1c2) +commit e8d6cf7c66 +Author: John Thacker +Date: Sat May 11 13:12:25 2024 +0000 -commit a9c7dcd27eb -Author: Gerald Combs -Date: Thu Mar 21 13:03:14 2024 -0700 + lua: Deregister heuristic lists added via heuristic_new on reload - Windows: Upgrade c-ares to 1.27.0 + Heuristic dissectors lists don't necessarily (and don't usually) + have the name of a given dissector handle. - (cherry picked from commit c733727c76a012b43d4026071e51e9a0d56559f3) + There's still a leak when reloading plugins because the created + heuristic dissector list isn't returned to the caller. That also + means there's no way of knowing if it succeeded, and using the + heuristic list involves calling proto:register_heuristic with + the name, but rather than calling a function on a returned + object. -commit 02218b1fb77 -Author: John Thacker -Date: Wed Mar 20 12:02:51 2024 -0400 + Fix #19603 - TFTP: Fix export objects in single pass tshark + (backported from commit 2b2b032af2bdb33345534db33445a2aad24c6217) - 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.) +commit 0711fa7b1e +Author: mistral13 +Date: Wed Oct 11 22:17:50 2023 +0200 - Fix #19715 + btmesh: Various fixes from master - (cherry picked from commit e640ecd591fdc837ee2ed79b1e39bee5b34829e3) + 1. Register the company ID as big endian. + 2. The pinfo column of the own (lua-)dissector was overwritten + by the btmesh dissector. + 3. Output of the own (lua-)dissector as root-tree element. -commit b0288cb8fb4 -Author: Gerald Combs -Date: Wed Mar 20 09:54:17 2024 -0700 + Fixed some code indent while already visiting this file. - Add recursion checks to EXTREME MESH, LwM2M-TLV, MPLS ECHO, SNA, and TCAP + Ping #19388 - (cherry picked from commit 1ed5bd8dd2c7b1a8c79c60fb368717728f0d15c4) + (cherry picked from commit d3fab19401caf09e2e65047d2843db9d3caf2131) + (cherry picked from commit 50f322ec1702f4ce0e2d94a19509a82b3fb3df24) + (cherry picked from commit 38d05ad97a4a2158b834f973a5b6a034c78edc7b) + (cherry picked from commit a4527fa0418605318c8986bc8947a606e72043a9) -commit b03e1136fc4 -Author: Guy Harris -Date: Tue Mar 19 11:43:18 2024 -0700 +commit 949aa570f3 +Author: John Thacker +Date: Fri May 10 10:42:03 2024 -0400 - mac-lte: fix more bogus casts. + Lua: Fix DissectorTable on certain Lua versions (e.g., 32 bit) - 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(). + The port value is a uint32_t. Calling checkinteger and implicitly + casting to an unsigned integer later does not give the correct + result on a Lua install where Lua_Integer is 32 bit for unsigned + integers greater than INT32_MAX. Lua will truncate to the integer + range (sometimes by using inline assembly, sometimes explicitly.) - 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. + Note that Lua_Integer can 32 bit on 64 bit platforms; it can also + be 64 bit on 32 bit platforms. - Don't do that. + Fix #18367 - (cherry picked from commit 3ea56842a3750d760d1742e534eab424e81d9a41) + (backported from commit 4049ea7e6c4009158cbf91b0bf3300759d2106d6) -commit 34bf4d1d361 -Author: Matan Perelman -Date: Tue Mar 19 09:07:13 2024 +0200 +commit f2dc894cb2 +Author: John Thacker +Date: Fri May 10 10:08:00 2024 -0400 - mac-lte: Fix memory access in LONG_BSR_LCID + Lua: Revert a mistaken change to lua_pushinteger - 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. + The value read from a file here is allowed to be a floating point number, + it should not be pushed as a Lua_Integer. - (cherry picked from commit 5de524bc2027b6d65480849f780169a9553506e2) + (backported from commit 1428fe28e663c8c6057d583d336b84014f169de1) -commit 4fc3be24f0d -Author: John Thacker -Date: Mon Mar 18 10:14:44 2024 -0400 +commit 077104f6dc +Author: Gerald Combs +Date: Wed May 8 14:17:01 2024 -0700 - MinGW+NSIS: Install NSIS package in setup script + Windows: Upgrade GnuTLS to 3.8.4 - (cherry picked from commit 4c5f838c5881f11a91635ba330d9a5b0f70fa86b) + (cherry picked from commit b119b9d6010f7ec0210f83297df365c2e1dec1ae) -commit 36afc6b15f5 +commit 6ab3e8ed88 Author: John Thacker -Date: Mon Mar 18 09:43:16 2024 -0400 +Date: Thu May 9 14:08:33 2024 +0000 - MinGW+NSIS: Work around QTBug-122257 when building + GitLab CI: Remove LUA_FIND_VERSIONS ANY - 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. + That was added briefly but support removed in + commit 759c0feab351de2b20946ececf2949ab52592ccd and it + results in Lua not being found. - https://bugreports.qt.io/browse/QTBUG-122257 + (cherry picked from commit eccf1104d6e310eaf78a0bf063425179c81a7150) - (cherry picked from commit 3cff44e4a06e5c0aa09e090538e0cea08e5a45d8) + Co-authored-by: John Thacker -commit 3bc3389128b +commit 38c5a89ac4 Author: Gerald Combs -Date: Sun Mar 17 12:52:39 2024 -0700 +Date: Tue May 7 16:48:37 2024 -0700 - Add recursion checks to DCOM, MPEG PES, PROXY, Snort config, and Thread + Windows: Upgrade nghttp2 to 1.61.0 - (cherry picked from commit 6653bfd82ed86417578a31525de67e5f1e299a89) + (cherry picked from commit fe51f8424f9a5dcae514745b919b6139c3c568fd) - Conflicts: - epan/dissectors/packet-snort-config.c +commit 5e96f900a9 +Author: John Thacker +Date: Tue May 7 06:38:31 2024 -0400 -commit b8146867260 -Author: Gerald Combs -Date: Sun Mar 17 10:37:39 2024 -0700 + gitlab-ci: Remove docker tag from jobs - Add recursion checks to DICOM, FC-SWILS, PIM, RSL, and WASSP + The small SaaS runner on Linux had the docker (plus all other tags) + removed, causing all the jobs with that tag to get stuck. - (cherry picked from commit e9f0d2c22a23bf279753884fd9a8980d2ae13642) + https://about.gitlab.com/blog/2023/08/15/removing-tags-from-small-saas-runner-on-linux/ + https://docs.gitlab.com/ee/update/deprecations.html#removal-of-tags-from-small-saas-runners-on-linux + (backported from commit a0e399e5c3edd06cfc78fe41f8959f4c556045be) -commit 218d89ff7db -Author: Gerald Combs -Date: Sun Mar 17 09:25:25 2024 -0700 +commit 94ac8729f3 +Author: John Thacker +Date: Sun May 5 13:59:27 2024 +0000 - Add recursion checks to DCCP, KNX/IP, PANA, SOME/IP, and WLCCP + MATE: Handle fields that are in different data sources - (cherry picked from commit db886b4acbc761e730d2364e3759019266404275) + In addition to the start and end offset locations, store a pointer to + the data source tvb in each mate_range. The start and end offsets + are only relevant within a data source. -commit 9c9a8a5defe -Author: Gerald Combs -Date: Sat Mar 16 10:35:37 2024 -0700 + If a field has a data source different from one of the protocol, + transport protocol, or payload ranges, search in the tree for the + ancestor nodes of the field, and see if an ancestor is located within + one of the ranges. - Add recursion checks to CSN.1, GSM A-bis OML, NAS-5GS, SolarEdge, and WMIO + In order to workaround #17877 (non-visible items can't change length + after being added to the tree, which affects most protocols), set + the tree as visible similar to done with a number of Lua postdissectors + that need all fields. Unfortunately this is overkill that hurts + performance. - (cherry picked from commit 73b6bf25e27796352774f7d95ef053c1da1d1cfd) + Fix #19619 - Conflicts: - epan/dissectors/packet-wmio.c + (cherry picked from commit 4ec5c7f78f9af35b2cebe92c4dd7eab033a1aa82) + + Co-authored-by: John Thacker -commit 248cb260566 +commit 48c0364590 Author: Gerald Combs -Date: Sun Mar 17 09:24:41 2024 +0000 +Date: Sun May 5 09:25:22 2024 +0000 - [Automatic update for 2024-03-17] + [Automatic update for 2024-05-05] Update manuf, services enterprise numbers, translations, and other items. -commit 9042c92dd95 -Author: Gerald Combs -Date: Sat Mar 16 09:44:46 2024 -0700 +commit cb267b4e52 +Author: Martin Nyhus +Date: Wed May 1 17:17:06 2024 +0200 - Add recursion checks to CQL, GSM GSUP, MSWSP, RSVP, and WTP + ZigBee TLV: fix infinite loop in deeply nested packets - (cherry picked from commit 277d965657060085e14990d7eafc596f0b1f0ed0) + When analyzing a packet that hits the recursion limit returning the + remaining length of the buffer would allow backtracking, setting up an + infinite loop if the packet is constructed correctly and the code would + fail by hitting the too many items check. -commit cc138f8ea22 -Author: Gerald Combs -Date: Fri Mar 15 14:31:15 2024 -0700 + Since dissect_zbee_tlvs doesn't know the length of the value it is + dissecting it can't pretend to have consumed all of it. Most of the + callers of this function eventually check for bytes that weren't + consumed so returning offset (i.e. no bytes consumed) makes the value + get treated as unknown bytes. - Add recursion checks to COSE, GQUIC, SUA, and XML + Input to fuzzshark_zbee_beacon that triggered this: + fb 03 49 ff 49 eb 49 ff 49 ff 49 eb 49 ff - (cherry picked from commit 7122291d5d0df839f4dd404cad13d93e36bd04a0) + (cherry picked from commit 9ab952b9641bb07d796499487e8d8691d52a6902) -commit 8cac5932f79 -Author: Anders Broman -Date: Mon Mar 4 12:22:54 2024 +0100 +commit 37c53eab86 +Author: John Thacker +Date: Thu May 2 23:29:30 2024 +0000 - Lua: Replace lua_pushnumber with lua_pushinteger where apropriate. + Qt: Fix an typo of row vs count in columnListModel - (cherry picked from commit 4e997a93ea4c494b5fdae5b14829feffafa6f453) + The size of the internal store is the number of model rows (which + are the packet list columns), not the number of model columns (which + are the parameter types for the packet list columns). This caused data + not to appear for the later parameter types when the number of packet + list columns were small. More of a difference in the current branch + because width and alignment are also shown in preferences, so it + has effects at the default number of columns. -commit 77897acfb46 -Author: Gerald Combs -Date: Tue Mar 12 19:28:43 2024 -0700 + Related to #19821 (but not sufficient.) - Add recursion checks to COROSYNC/TOTEMSRP, HSMS, ProtoBuf, RTLS, and YAMI + (cherry picked from commit 704fe87abd1e83a3451ba4abb2001ef7349d5c71) - (cherry picked from commit 5b29346f9b7e4c67401afc2015b880de760eb73b) + Co-authored-by: John Thacker -commit efed69f77b8 +commit a338e8117c Author: John Thacker -Date: Thu Mar 14 20:43:24 2024 -0400 +Date: Wed May 1 11:41:24 2024 +0000 + + LAPD: Set source address - Lua: Don't test for removed functions + The destination and source address are both being set to the + destination value. This causes the normal all source Flow Graph + (as opposed to the one created by the VoIP Calls Dialog) to have + empty lines. - 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. + Set the dl_src and dl_dst addresses using the AT_STRINGZ address + instead of col_set_str so that it works for both the Resolved and + Unresolved columns, and set the src and dst addresses as shallow + copies of those. - 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. + Fixup 7ac827fd74cf7b1eac80d54b5ce0001f15a587e3 - Related to #10881 + (cherry picked from commit 1da57b5ad536acd1d138d363825bc7aad7ad1f4b) - (backported from ad69c29f8e89b4f77ae4c63fa1b65da2ec57d648) + Co-authored-by: John Thacker -commit 12b34c36d3a +commit 8b916c603e Author: John Thacker -Date: Sun Mar 3 17:46:26 2024 -0500 +Date: Tue Apr 30 23:20:17 2024 +0000 - Lua: In tests, use load instead of loadstring on Lua > 5.1 + Qt: Fix ProgressFrame location in non-VoIP Flow Graph - 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. + ProgressFrame::addToButtonBox examines the button box layout to + determine where to add itself. Changing the visibility of the + RTP player button redoes the layout and upsets the positioning + of the frame. This leaves the ProgressFrame dangling in the far + left of the ButtonBox, on top of the Help button. - Related to #10881 + SequenceDialog only determines whether it's a VoIP Calls dialog or + a non-VoIP Flow Graph when initially instantiated (there's no call + to disable it), so add the VoIP parameter to the constructor and + set the visibility appropriately before adding the ProgressFrame + instead of having the VoIP Calls Dialog call an extra public method. - (cherry picked from commit 5e4d7dd565b9262c38847ff33688b675996d2546) + (cherry picked from commit a95dec6ef9612d80598547a346825639e16c4e51) -commit 4791b23c6c6 + Co-authored-by: John Thacker + +commit a862720a7e Author: John Thacker -Date: Wed Mar 13 08:39:38 2024 -0400 +Date: Tue Apr 30 22:41:28 2024 +0000 + + Qt: Use afterLayout signal for Flow Graph y axis labels - wsutil: Allow converting zero length bytestrings again + For the Sequence Dialog (Flow Graph / VOIP Calls), we place + text labels for the two y-axes (Time and Comment) above the + axes, which is not a normally supported position, so we + manually place it. The position of the labels depends on the + axis rectangle sizes and positions. - 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. + QCustomPlot 2.1.0 added a new QCustomPlot::afterLayout signal + that is extremely helpful for situations like this. It is + called immediately before the draw step in a replot, or before + printing happens, and can put the labels in the correct position + after any change. - Fix #19705 + This is a little more reliable than our previous solution, which + sometimes left the labels out of position, needing to be fixed + by manually pushing the Reset button. - (cherry picked from commit eb585523846961c8bfef20d7206a265e76825cd8) + (cherry picked from commit 84fe646b78d62dcc5540d7a2950a06b0f86de0e7) -commit 9dbd02ff654 + Co-authored-by: John Thacker + +commit 51a925ce40 Author: John Thacker -Date: Tue Mar 12 23:29:14 2024 -0400 +Date: Mon Apr 29 01:45:43 2024 +0000 + + ptp: multiple tlv_pathsequence in announce message - Qt: queue TCP stream graph replots during mouse moves + (cherry picked from commit 7ef8501c347d4336a1cb62b4b312f8c93b92efff) - 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. + 32b82d47 Update file packet-ptp.c + 746c18cf ptp: multiple tlv_pathsequence in announce message - (cherry picked from commit 1ea44a05e95d71d458750ee3f57fbf9801989e5f) + Co-authored-by: Chuck Craft + +commit 42e3b84e31 +Author: John Thacker +Date: Sun Apr 28 21:16:17 2024 +0000 -commit 4577621fc2f -Author: Jaap Keuter -Date: Wed Mar 13 01:13:02 2024 +0000 + GitLab CI: Fix the Documentation job - SNMP set correct req/resp relation when req's are repeated. + Remove a duplicate `cd`. Use the same pattern for the guides when + zipping and copying. - (cherry picked from commit 97bef124aea9d15fb202b8e9c412d4c575025d15) + (cherry picked from commit 4f8f52dea0db04dfefaefcba47e8ba16b2d29e2e) - ab0f0c24 SNMP set correct req/resp relation when req's are repeated. + Co-authored-by: Gerald Combs -commit 59c270da82f +commit d705e804ed Author: John Thacker -Date: Tue Mar 12 09:44:36 2024 -0400 +Date: Sun Apr 28 18:40:52 2024 +0000 - dfilter: Fix parsing of single character hex character escapes + ipars: Fix truncation warning - Fix parsing of C-style hex escape character constants with only - one hex digit. + MAX_EOM_MSG_SIZE is defined to be too small for the value placed in + for an unknown type. - Prevents errors like: + epan/dissectors/packet-ipars.c:130:29: error: 'snprintf' will always be truncated; specified size is 16, but format string expands to at least 24 [-Werror,-Wformat-truncation] + 130 | default: snprintf(eom_msg, MAX_EOM_MSG_SIZE, "Unknown EOM type (0x%2.2X)", ia); break; - Error: '\x1' is too long to be a valid character constant. + (cherry picked from commit 4320031c97b3528bc96ab5d366bab8b7fdb2a243) - (cherry picked from commit e05dfae55318c3b4e0f3176decdc2d06941fb729) + Co-authored-by: John Thacker -commit 29ab3749d3a -Author: Gerald Combs -Date: Sun Mar 10 11:59:21 2024 -0700 +commit f2b9b7b582 +Author: John Thacker +Date: Sun Apr 28 17:38:21 2024 +0000 - Add recursion checks to BVLC, DOCSIS MAC MGMT, MsgPack, RTMPT, and ZigBee ZCL + c-ares: Suppress deprecation warnings - (cherry picked from commit 9bfa8d9142ba9efa38827346486c895df9dce9cc) + c-ares 1.28.0 emits deprecation warnings by default for certain + functions. We will try to move away from those functions, but + suppress the warnings by default. -commit a6cdd65539b -Author: Gerald Combs -Date: Sun Mar 10 10:25:14 2024 -0700 + It's possible for recent versions of c-ares to be built without + thread safety and threading support, and it can only be checked + at runtime. We will probably have to fallback to using deprecated + functions on recent versions of c-ares if threading is not available + even if and when we switch to using event threads, so disable the + warning. - Add recursion checks to BT SDP, GTPv2, NHRP, SCTP, and Windows common + Ping #19763 - (cherry picked from commit 128c298122e71147f7fa3d7b6df2d7f0fde4eb7a) + (cherry picked from commit e1a6557d34ff45073e3e75923bf3f6521ebc2b16) - Conflicts: - epan/dissectors/packet-sctp.c + Co-authored-by: John Thacker -commit 022b66008bf -Author: Gerald Combs -Date: Sat Mar 9 17:22:34 2024 -0800 +commit 4dadd9b029 +Author: Dan +Date: Fri Apr 26 21:49:40 2024 -0500 + + wslua: Fix integer validation signedness + + The C Standard (any revision) 6.3.1.4 Real floating and integer, + in a footnote says: + "The remaindering operation performed when a value of integer type is + converted to unsigned type need not be performed when a value of real + floating type is converted to unsigned type." - Add recursion checks to BT BNEP, DOF, ICQ, Q.2931, and S7COMM + Since a Lua_Number is a float type, converting a (possibly negative) + float to an unsigned type and then to a signed type is undefined + behvavior, and doesn't necessarily produce the same result as converting + the float to a signed integer type directly. On x86 and x86-64 it + has the same result, but it's permissible to instead first cast the float + to the nearest unsigned integer value (i.e. 0), so that the end result + is 0 instead on negative. - (cherry picked from commit e50ef0effb253534c1e8afa9102aa6d52f9cbd12) + On the ARM architecture this is what seems to happen: -commit f170401f909 + https://embeddeduse.com/2013/08/25/casting-a-negative-float-to-an-unsigned-int/ + https://github.com/mavlink/mavlink/issues/2073#issuecomment-2080103820 + + (Compilers can warn about this, but it's perhaps difficult to get the + only the right subset of conversion warnings.) + + Therefore, when adding a signed integer field, we must use + wslua_checkgint32. + + (backported from commit 15392c324d5eaefcaa298cdee09cd5b40b12e09c) + +commit af5546f31d Author: Gerald Combs -Date: Sun Mar 10 09:24:40 2024 +0000 +Date: Sun Apr 28 09:25:05 2024 +0000 - [Automatic update for 2024-03-10] + [Automatic update for 2024-04-28] Update manuf, services enterprise numbers, translations, and other items. -commit 59c773d6540 -Author: Gerald Combs -Date: Sat Mar 9 10:56:40 2024 -0800 +commit e63cbbb720 +Author: John Thacker +Date: Fri Apr 26 13:15:27 2024 +0000 - Add recursion checks to BGP, Etch, LI5G, RPL, and SIMULCRYPT + 5co-rap: Use ITEM_LABEL_LENGTH for snprintf in CF_FUNCs - (cherry picked from commit 6f2514fba5fca8cbdc0b3513979a68f56424f868) + At least one case cases a format truncation warning in recent + versions of clang. -commit 53e8374919d -Author: Gerald Combs -Date: Sat Mar 9 10:32:56 2024 -0800 + (cherry picked from commit f1dd3bf4f2c95571e854d3e35536021ba9aa053d) + + Co-authored-by: John Thacker - Add recursion checks to BFCP, EDONKEY, QNET, RTPS, and XMPP +commit 43225b77d8 +Author: John Thacker +Date: Fri Apr 26 11:35:25 2024 +0000 - (cherry picked from commit 709404e401cfb36fdeb38f0bc1bd481b7309c1d9) + 5co-legacy: Use ITEM_LABEL_LENGTH for snprintf in CF_FUNCs -commit 4c3c98e2abc -Author: Gerald Combs -Date: Sat Mar 9 12:29:15 2024 -0800 + In particular, one case leads to a format truncation warning on + recent versions of clang. + + (cherry picked from commit 2056120ddce063850acb5cfd207dce724093c83e) + + Co-authored-by: John Thacker - GitLab CI+tools: Homebrew recently adopted PEP 668 +commit 21d3008eb0 +Author: Anders Broman +Date: Sun Apr 21 19:42:46 2024 +0200 + + PER: When showing internal bitfields handle integer values. - Attempting to install Python packages using pip under Homebrew now - returns + (cherry picked from commit f0462182da63155ffde38d51da7dbedc9fd2d0a6) - ``` - 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. +commit ae4f2529db +Author: Niels Widger +Date: Tue Apr 23 12:27:43 2024 +0000 - 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. + sharkd: Fix SIP follow filter returned in "frame" command - 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. - ``` + `sip_follow_conv_filter` uses its `edt` argument to determine the + `sip.Call-ID == ""` value to return as the conversation + filter. If `edt` is `NULL`, a fallback filter of `sip.Call-ID` is + returned. - Install pytest and pytest-xdist in a venv for now. + `sharkd`'s `frame` method returns the SIP filter returned by + `sip_follow_conv_filter` for SIP conversations in a `filter` field of + its `fol` object array. These fields are emitted by + `sharkd_follower_visit_layers_cb`, which uses `get_follow_conv_func` + to retrieve `sip_follow_conv_filter`. Previously, + `sharkd_follower_visit_layers_cb` always passed `NULL` as the `edt` + argument to the function returned by `get_follow_conv_func`, therefore + `sip_follow_conv_filter` always saw a `edt=NULL` and was not able to + output a specific `sip.Call-ID` filter, even if one was otherwise be + available. - (cherry picked from commit 77ec5a5068f9c68e67957c7978ef340b1e00536a) + This commit updates `sharkd_follower_visit_layers_cb` to instead pass + the `edt` argument that is available as the `edt` argument to its + caller, `sharkd_session_process_frame_cb`. -commit 7be4bbb413d -Author: John Thacker -Date: Wed Mar 6 20:40:42 2024 -0500 + (cherry picked from commit 9778cc82207520547e22c39f11ca3c1ac52c8aea) - t38: Allocate forced defragmented memory in correct scope + Co-authored-by: Niels Widger - 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. +commit f8fd960cb8 +Author: Balint Reczey +Date: Sat Apr 20 18:57:17 2024 +0200 - Fix #19695 + wslua: Fix support for Lua 5.1 and 5.2 on 32bit - (cherry picked from commit 6fd3af5e999c71df67c2cdcefb96d0dc4afa5341) + Add macros to use lua_pushnumber for Lua 5.1/5.2 and lua_pushinteger for Lua 5.3/5.4 + based on change proposal by Stig Bjørlykke. -commit eb894c6bca6 + Ping #10881 + + Follow up for commit 8cac5932f79b87deda26480769a266ff344036e6. + + Co-authored-by: Stig Bjørlykke + +commit 91e4bbf5cb Author: John Thacker -Date: Sun Mar 3 20:11:02 2024 -0500 +Date: Fri Apr 26 01:26:04 2024 +0000 + + Qt: Fix flow graph scroll direction via keyboard + + The y (time) axis is range reversed. QCP reversed ranges still + have the mathematically smaller element in lower and the larger + in upper, so reverse the direction of movement in panAxes. + + Also fix the keyboard right arrow allowing the graph to be scrolled + to right farther than the QScrollBar allows, into extra empty space. + + Fix #12932 + + (cherry picked from commit cc4c931b4a3a3d481aeb9ea320e5fb5e31ca0f70) - Lua: Convert the time to an integer in tests + Co-authored-by: John Thacker - 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 +commit 4e70db8cf0 +Author: Yaniv Michael Kaul +Date: Thu Apr 25 16:46:21 2024 +0300 - Related to #10881 + Release-4.2: CQL: take into account NULL and unset values - (cherry picked from commit 61e8d3392ae476516c22fa727e01a21846f2a487) + From https://gitlab.com/wireshark/wireshark/-/commit/291822a25cfaf54a3556c19d5d47af7efb1bdf48 to stable branch. -commit 1b3e1c9e8ec + Signed-off-by: Yaniv Kaul + +commit a4d779fbbb +Author: Yaniv Michael Kaul +Date: Thu Apr 25 16:28:19 2024 +0300 + + Release-4.2: CQL: fix show paging state first + + Brings to release 4.2 a single fix from https://gitlab.com/wireshark/wireshark/-/commit/161b9809b17c394e025453b5accdd9733eee3ee7 : + If Has_more_pages flag is set, then paging_state field should be the first to apper in the metadata, before the (optional) global_table_spec + + Signed-off-by: Yaniv Kaul + +commit c193bcea08 Author: John Thacker -Date: Mon Mar 4 17:11:21 2024 -0500 +Date: Thu Apr 25 15:17:47 2024 +0000 - Lua: Make tests work on Lua 5.4 + Qt: Fix Window scaling graph axis labels - 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. + Commit 259a3e508f37bb3c9b6d18cdacf7a18aa6dbd8f8 added a graph + of the congestion window to the Window Scale graph, but didn't + update the axes now that the window has two graphs. - On Lua 5.4 the head of the list is always index 3 (LUA_RIDX_LAST + 1). - On earlier Lua, 0 is used. + Fix #17425. Fix #15016 - 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. + (cherry picked from commit 259bbbff2a5257319ff69aa32cc377fc501eb022) - Related to #10881 + Co-authored-by: John Thacker - (cherry picked from commit 2188257743e44c98806df3968d756500f9697309) +commit 47199b51b9 +Author: John Thacker +Date: Thu Apr 25 14:39:26 2024 +0000 -commit 3959fc563dc -Author: Anders Broman -Date: Wed Feb 21 21:34:10 2024 +0100 + TLS: SM3 and SM2 are not in TLS (Signature|Hash)Algorithm registries - LUA: Make it compile with LUA 5.4 + These two value strings are only for displaying the contents of the + two octets contained in a signature_algorithms extension as a TLS 1.2 + SignatureAndHashAlgorithm. (As opposed to displaying it as a TLS 1.3 + SignatureScheme where the two octets do not necessarily separately + indicate signature and hash.) - (cherry picked from commit f9e052b88ed2303f2f2b52d0808cded1f5736576) + SM3 and SM2 are not assigned in those registries, are not supported in + TLS 1.2 (RFC 8998), and if they were would not receive the values chosen + here. -commit 3a10e3984ba -Author: Anders Broman -Date: Wed Feb 21 21:23:28 2024 +0100 + Add a comment explaining why even though RFC 8422 registered ED25519 + and ED448 to the TLS 1.2 SignatureAlgorithm and HashAlgorithm registries + we don't add it to the value strings for those. (It would take more + complicated processing to avoid confusion, and for little gain.) - LUA bitop: Convery our lua_bitop.c to work with 5.3 and 5.4 + Fix #19801 - The code is written by Andrew Engelbrecht and found here: - https://github.com/LuaJIT/LuaJIT/issues/384 + (cherry picked from commit ea5ed37426c9489b66ea32cec818d68c584a5a85) - (cherry picked from commit 926344c16c2147d06689cbde3c1e08aa6b5d6e93) + Co-authored-by: John Thacker -commit 2283c1efd4d +commit dc29e276dd Author: John Thacker -Date: Tue Mar 5 09:19:39 2024 -0500 +Date: Thu Apr 25 11:04:41 2024 +0000 - ICMPv6: Remove recursion check from 0 length option path + E212: update MNC information - Fixup 972bb56d0ab3fc825955d58bee629ba13c1e1a99 + Update MNC information from the 15 November 2013 release of + Mobile Network Codes (MNC) for the international identification + plan for public networks and subscriptions + (According to Recommendation ITU-T E.212 (09/2016)) - Fix #19688 + https://www.itu.int/pub/T-SP-E.212B-2023 + https://www.itu.int/pub/T-SP-OB.1280 - (cherry picked from commit ba82fcdef633214518aa2ea7f7a99f54e6bb03f3) + Fix #19800 -commit 7d7be263168 -Author: Gerald Combs -Date: Sun Mar 3 17:38:10 2024 -0800 + (cherry picked from commit a2eaaa4e8804189ef50406fb6b2783d492367949) - ASAP: More recursion updates + Co-authored-by: John Thacker - Check against pinfo->flags.in_error_pkt. +commit 22a9b5ab5d +Author: Gian Lorenzo Meocci +Date: Wed Apr 24 09:37:25 2024 +0200 - (cherry picked from commit d46e93b274aec46d75ca91dcd4e6f4f7a4b9f420) + fix pfcp outer header desc -commit 79fdafac830 -Author: Gerald Combs -Date: Mon Mar 4 14:13:59 2024 -0800 +commit 52d644b084 +Author: Niels Widger +Date: Wed Apr 24 12:26:07 2024 +0000 - Add recursion checks to Bencode, BT-DHT, ErlDP, H.233, and H.264 + sharkd: Improve sub-stream support in "frame" and "follow" methods - (cherry picked from commit f38f79d6e14c5a278d5e08ba1b96f9f4c0e600e0) + Add new optional `sub_stream` input argument to `sharkd`'s `follow` + method which, if given, specifies the sub-stream index number to + follow (e.g. for HTTP/2 or QUIC streams). If no `sub_stream` argument + is given, all sub-streams are followed (by using the special + `SUBSTREAM_UNUSED` sub-stream index value). -commit 175347ef5e2 -Author: Gerald Combs -Date: Mon Mar 4 11:33:20 2024 -0800 + Add new `followers` output field to `sharkd`'s `frame` method which + contains an array of objects each containing `protocol`, `filter`, + `stream` and (for HTTP/2 or QUIC streams) `sub_stream` fields. A new + `followers` array was added to the response instead of adding the + stream and sub-stream indices to the existing `fol` field due to + backwards-compatibility issues. The `fol` field is an array of string + arrays, each subarray containing the same values as the `protocol` and + `filter` fields in the new `followers` array, i.e.: - Add recursion checks and suppressions to BEEP, Kafka, and OpenFlow + "fol": [["TCP", "tcp.stream eq 0"], ["TLS", "tcp.stream eq 0"]] - (cherry picked from commit fcde25cfb8dc0d86904aaeaab8b50e87e1985fc0) + which makes adding new, possibly optional, fields difficult. The + `fol` field should be considered deprecated, any new fields should be + added to `followers`. The new `followers` field is an array of + objects, making adding new fields down the road simple: -commit 18b84f7734d -Author: Gerald Combs -Date: Mon Mar 4 10:51:16 2024 -0800 + "followers": [{"protocol": "TCP", "filter": "tcp.stream eq 0"}, {"protocol": "TLS", "filter": "tcp.stream eq 0"}] - Add recursion checks to Banana, ISAKMP, KINK, M2UA, and M3UA + Updated existing and added new `sharkd` unit tests to validate + behavior of new fields/arguments. - (cherry picked from commit 48e65f0c54b05dbc3d082dc645e3d111b46e9055) + (cherry picked from commit 289a159042e3b81c2c135031dd4da9590aea848e) -commit d238e207d84 -Author: Gerald Combs -Date: Sun Mar 3 17:53:45 2024 -0800 + Co-authored-by: Niels Widger - Remove our recursion checks in ICMPv6 and NETLINK +commit 15b77707dd +Author: John Thacker +Date: Wed Apr 24 22:41:03 2024 +0000 - We'll run out of packet before we run out of stack in each case. + github/workflow: fix macos - (cherry picked from commit 972bb56d0ab3fc825955d58bee629ba13c1e1a99) + For macos-latest runner on Github using macos14 on arm there is only Python + >= 3.11 available. -commit 4a83b8f470b -Author: Gerald Combs -Date: Sun Mar 3 09:25:02 2024 +0000 + We have to install pytest and dmgbuild manually - [Automatic update for 2024-03-03] + (cherry picked from commit f186f44a711b1ba831173238c49a8e280697ae1e) - Update manuf, services enterprise numbers, translations, and other items. + Co-authored-by: Uli Heilmeier -commit 13e199a4a56 -Author: Gerald Combs -Date: Sat Mar 2 18:42:13 2024 -0800 +commit 06a5e5c445 +Author: John Thacker +Date: Wed Apr 24 10:55:41 2024 +0000 - ASAP: Make sure pinfo is set + SSH: Handle "curve25519-sha256@libssh.org" KEX name - Fixes #19685. + As RFC 8731 notes, 'The "curve25519-sha256" key exchange method is + identical to the "curve25519-sha256@libssh.org" key exchange method + created by Aris Adamantiadis and implemented in libssh and OpenSSH.' - (cherry picked from commit dc84bddc1f245512c56aa3f5e617db9fff729796) + Handle the other name in ssh_kex_hash_type. It is already accounted + for in other functions. -commit 0a90847b7e9 -Author: Gerald Combs -Date: Sat Mar 2 15:37:37 2024 -0800 + Fix #19240 - Add recursion checks to BACnet, CIP, IPP, LISP, and NETLINK + (cherry picked from commit 6966cdb73e6f5dc2e6a03136b07b8ed59c7ff65a) - (cherry picked from commit c4d62f97615f85b24f86a0ab2a8aa0d62851b6e5) + Co-authored-by: John Thacker -commit 129b918b14a -Author: Gerald Combs -Date: Sat Mar 2 11:58:35 2024 -0800 +commit 1a88d0c734 +Author: Christian Krump +Date: Tue Apr 23 10:58:35 2024 +0200 - Add recursion checks to ASAP, iSCSI, JXTA, MBIM, and MQTT-SN + EPLv2: modified limitation of valid SDO segment size - (cherry picked from commit c49e1f2ceacac3e7a808f95c88d4eabf81c996e5) + (cherry picked from commit a9f783600fc787ce891f1eda8e242793cc436fc8) -commit 2d24f6d995e +commit 585a3dc48c Author: Gerald Combs -Date: Sat Mar 2 10:46:44 2024 -0800 +Date: Tue Apr 23 13:27:56 2024 -0700 - Add recursion checks to AMQP, GNW, LDP, CFLOW, and RDP + GitLab CI: after_script updates - (cherry picked from commit 3948fe5132f9641b662c888efb74b1bd01216cc9) + In GitLab 17 and later, after_script will run when a job is cancelled. + Update our various jobs accordingly. -commit 80e5533370b -Author: Gerald Combs -Date: Fri Mar 1 13:48:31 2024 -0800 + (cherry picked from commit e03a58958e065c7e2dc7e15a90978fa5d57edcf6) - Add recursion checks to various protocols + Conflicts: + .gitlab-ci.yml - (cherry picked from commit d0c09f485951a0b014102e8fc82aa5b854d9c33b) +commit 0c45a5d772 +Author: John Thacker +Date: Tue Apr 23 03:03:28 2024 +0000 -commit e7f8b65fdf0 -Author: Gerald Combs -Date: Fri Mar 1 09:32:00 2024 -0800 + lldpd: move hf_lldp_tlv_enable_system_cap* to capabilities_enabled_tree - Rebuild our ASN.1 dissectors + (cherry picked from commit e267bfdd88a7fe190f52906ac98a3b03035c580f) - Switch to simple recursion checks. + Co-authored-by: Paul Donald -commit 406c023c621 -Author: Gerald Combs -Date: Wed Feb 28 17:13:45 2024 -0800 +commit c8a21a6d58 +Author: Guy Harris +Date: Tue Apr 23 02:28:05 2024 +0000 + + fcfzs: fix calculation of the number of fill bytes. + + If a name length is a multiple of 4, no padding is required to make what + follows be on a 4-byte boundary. Only use 4 - (len % 4) to calculate + the padding if len isn't a multiple of 4. + + (cherry picked from commit e8b256c9a0f427b8dc2387ab02a47dc8c2f687e0) + + Co-authored-by: Guy Harris + +commit 0b80c5ab9e +Author: Stig Bjørlykke +Date: Mon Apr 22 15:52:00 2024 +0200 + + icmpv6: Do not add time string when lifetime is infinity + + Do not convert the lifetime value to string when the value + is used for infinity. + + (cherry picked from commit 1a40e22a0095056cc4397e07d7b95ce74587a65b) + +commit 8e515cac2e +Author: Anders Broman +Date: Mon Apr 22 12:17:29 2024 +0000 + + NR-RRC: Remove version from SIB dissector table name. - epan: Add simple recursion checks + (cherry picked from commit e40ec77006f159f816038e5295851f0caf218a7a) - 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. + Co-authored-by: Anders Broman - Use them to replace some of the current p_get_proto_depth and - p_set_proto_depth calls. +commit 98fa3eff88 +Author: Pascal Quantin +Date: Mon Apr 22 15:40:52 2024 +0200 - Get rid of PINFO_LAYER_MAX_RECURSION_DEPTH and use the - gui_max_tree_depth preference in call_dissector and - dissector_try_heuristic. + NAS 5GS: fix dissection of NAS message container IE - (cherry picked from commit 4f35c3a34a33f06fb86d4567715d2e935f506cd5) + Take into consideration the outer NAS message security header before + trying to dissect the IE. + + Closes #19793 + + (cherry picked from commit ab3511c5977d0dd483d1d7e3d741940a12eaacc4) Conflicts: - epan/dissectors/file-blf.c - epan/dissectors/packet-smb2.c + epan/dissectors/packet-nas_5gs.c -commit 783048838e2 +commit 6ed87c1638 Author: John Thacker -Date: Thu Feb 29 18:38:14 2024 -0500 +Date: Mon Apr 22 13:14:34 2024 +0000 - tools: Parse ranges in make-services.py + QUIC: handle connection migrations for zero length CIDs - 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 + In Quic Connection Migrations are possible even without source + connection IDs. Currently, after connection migration Wireshark fails to + associate answers with zero length CIDs for the new address to the + original connection. - (cherry picked from commit 95f6f94f8bd711660959d7d6b7ca0fffcd2f7630) + After migration when the client sends data from the new IP + the connection data needs to be associated with the new conversation. + So when the server answers and the connection is identified by the + conversation a connection is found. -commit 9c374bbfa1e -Author: John Thacker -Date: Wed Feb 28 18:16:20 2024 -0500 + (cherry picked from commit 95a9fc5c0fa569cc7c5026f0ef235736b99848eb) + + Co-authored-by: Max Schrötter - docs: Explicitly set wildcard when including dissection-options tags +commit c77f142c0e +Author: Anders Broman +Date: Sun Apr 21 18:34:09 2024 +0000 - 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.) + NR-RRC: Add callable dissectors for SIB messages - https://docs.asciidoctor.org/asciidoc/latest/directives/include-tagged-regions/#tag-filtering - (backported from commit bb37fcb0260eb06692ec127ceb05597c678bf4a7) + Add callable dissectors for SIB messages. + Add dis table + Fix column display for single SIB message. -commit c8e98a245cb -Author: Niels Widger -Date: Mon Feb 26 13:51:53 2024 -0500 + (cherry picked from commit dfec2284f34dae9ee515539d5ce5bb9f14762e3c) - sharkd: Increase JSON buffer size from 2048 to 8192 bytes + Co-authored-by: Anders Broman - 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. +commit 77ccc7ece0 +Author: Guy Harris +Date: Mon Apr 22 09:15:13 2024 +0000 - (cherry picked from commit 8989c732fc0b78039c72b695e7c7099948ea5491) + tipc: fix byte count. -commit 57741bfc81d -Author: John Thacker -Date: Tue Feb 27 20:25:05 2024 -0500 + Use the value used as the number of bytes in an atom to determine + whether that number is singular or plural; don't use some other + unrelated value. - prefs: Fix null defererences, remove obsolete function + (cherry picked from commit aea66ddc3336a095e6201b633a78014bd3af3a1d) - Null dereference check to fix Coverity CIDs 1399640 and 1399641. - Remove a function that has been unused for a decade. + Co-authored-by: Guy Harris + +commit 207981eb13 +Author: Guy Harris +Date: Mon Apr 22 06:54:31 2024 +0000 + + tipc: fix padding after bearer instance string. + + Presumably if the length of the string is a multiple of 4, it needs zero + byts of padding to put the next item on a 4-byte boundary. This means + that (4 - (length % 4)) is not the right formula - a check for whether + there's any padding must be done first. + + (cherry picked from commit cda7c030e1eafdca22028d1d8c87e484bba37555) + + Co-authored-by: Guy Harris + +commit 05e9eeef13 +Author: Gerald Combs +Date: Sun Apr 21 09:25:15 2024 +0000 - (cherry picked from commit 7dc0f853c6eed609f13fb2786c3cfa833dc850b5) + [Automatic update for 2024-04-21] -commit aeffdcf8206 + Update manuf, services enterprise numbers, translations, and other items. + +commit fc290d976e +Author: Guy Harris +Date: Sat Apr 20 18:58:25 2024 +0000 + + pcapio: fix a check for idb_filter size. + + The filter string in the idb_filter option has a maximum length of + UINT16_MAX - 1, because the maximum size of an option bodyis UINT16_MAX, + and the first byte of the option contains the filter type. + + The code to write the filter did the right check; the code to count the + idb_filter option length checked against UINT16_MAX. Fix that. + + While we're at it, fix a comment. + + (cherry picked from commit d277ecdb3ff7d04e7f64566f21409b3f1359eb2f) + + Co-authored-by: Guy Harris + +commit 32bde22d9b Author: John Thacker -Date: Wed Feb 28 06:59:45 2024 -0500 +Date: Sat Apr 20 13:04:27 2024 +0000 + + editcap, libwiretap: Don't use array of initial DSBs after freeing + + wtap_dump_close frees the passed in GArray of initial DSBs, used + by editcap for injecting DSBs from a file or list of files. + + Add functions to increment and decrement the reference count of + an array of wtap blocks. Dereference the block of initial DSBs + in wtap_dump_close() instead of freeing it. In editcap, before + closing the dump file in cases where we intend to open a new + file (e.g., with a maximum time value or a maximum packet count), + reference the block. + + Fix #19782, #19783, #19784. + + (cherry picked from commit be3550b3b138f39bebb87ac0b8490e75fc8cc847) - JSON-3GPP: Don't crash on empty suppFeat JSON value + Co-authored-by: John Thacker - 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.") +commit b8d61cd977 +Author: Pascal Quantin +Date: Sat Apr 20 12:12:00 2024 +0000 - Fix #19677 + GSM RP: fix dissection of SMS in 5G Nf interface - (cherry picked from commit ade326dbf56afb361158f7246572d5a96b7493dc) + Closes #19773 -commit 005a3e8fdf7 + (cherry picked from commit 9dffc3834ea0f7439a2e2d2f55350b6d5e2596c5) + + Co-authored-by: Pascal Quantin + +commit a7661fd568 Author: John Thacker -Date: Tue Feb 27 09:02:55 2024 -0500 +Date: Thu Apr 18 15:37:18 2024 +0000 + + Windows: Add include depended upon packets checkbox + + Non-Windows already has this checkbox. - ENRP: Check for invalid parameter & error cause lengths + The vast majority of the time users do want dependent packets + so that reassembly, etc. works. Occasionally they don't (e.g., + perhaps to exclude retransmitted segments or duplicates), but + the primary use of this checkbox is helping users understand why + extra packets are included so they don't think it's in error. - 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. + We might want to get rid of the special Windows dialogs. They + use a deprecated API, but the newer API is more difficult to customize. + The Qt common dialogs are better than the GTK+ file dialogs at the + time we started to use the Windows dialogs. - https://datatracker.ietf.org/doc/html/rfc5354 + Follow up to dcc9cbffefe0598eadec11cbc1869943a26219c5 + Fix #19772 - Fix #19674 + (cherry picked from commit 90d7ecf6971b89a918f61d95a9bce77d74f8cb64) - (backported from commit 84ffa648eaaa6292c5332df236b10d70f7cf07d0) + Co-authored-by: John Thacker -commit 4cc9f9bbbf7 -Author: Triton Circonflexe -Date: Sat Feb 24 21:39:31 2024 +0100 +commit bd26249852 +Author: Alexis La Goutte +Date: Fri Apr 19 06:50:41 2024 +0000 - Thrift: Fix recursion check + Zigbee Direct: Fixed UUID mismatch with join, pjoin & leave characteristics - Previous recursion check only worked with generic dissector. - The introduced changes cover the sub-dissectors as well. + (cherry picked from commit 8b802bffd12e3bbd80bb6e6e501309bb7fee8124) - 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 + Co-authored-by: Cole Wu - (cherry picked from commit 4eaf10bc4e46762b1e304baf188d0767907e1914) +commit 0e5038cf89 +Author: Alexis La Goutte +Date: Thu Apr 18 11:13:55 2024 +0000 -commit 3243e000415 + ieee80211: Fix typo in display filters + + (cherry picked from commit d4da04f8ee47f12cb737601fdbf2be48e881303c) + + Co-authored-by: WFA-achuang + +commit d4526a807b Author: John Thacker -Date: Thu Feb 22 08:54:12 2024 -0500 +Date: Thu Apr 18 11:56:00 2024 +0000 + + Qt: Fix removing ignored packets from selected range - Qt: Work around QTBUG-122109 when applying packet list style sheet + Correctly remove ignored packets from the selected packet + range on non-Windows, which for some reason has never done this. + The Windows dialog has. - https://bugreports.qt.io/browse/QTBUG-122109 + (cherry picked from commit 317177d1d079a1054f2b8935c30c376d67dd7eb5) - 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.) + Co-authored-by: John Thacker - 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. +commit 4d63d194ba +Author: John Thacker +Date: Tue Apr 16 09:05:40 2024 -0400 + + pcapng: fix writing hash options + + Since compute_block_option_size() and our option writing routines + already add needed padding, we don't need to compute the size + with padding in pcapng_compute_packet_hash_option_size(). That allows + us to use it both when computing the option size for the total + block size, and in the writing routine, for consistency. + + Fix some errors where the type octet was not being included in + the bytes written for both one type of packet verdict, and for + packet hash. Also an error where the packet verdict option was + written with the queue option type. - This affects versions 6.5.4 (commercial only, 6.5.3 is the last free - release) and 6.6.1 and 6.6.2. + Fix a possible buffer overrun for the fixed length hash types + when the hash length is wrong. We have a few different options + about how to handle hashes with bogus length - omit, write what + we have, truncate (if we have extra bytes) or err. Add some + comments regarding the options; for now, choose reporting an + error. - (cherry picked from commit ea38f142e89f81181fe397da0875a7df05787162) + Fix #19766 -commit 854dd3c85f0 -Author: Patrik Thunström -Date: Sun Feb 25 00:07:45 2024 +0100 + (backported from commit b36749f56a4b2a9f1931aa0ab472dbf7420a75e3) - CSV Export: Last column no longer exported when hidden. +commit 9c5c64b4cb +Author: Gerald Combs +Date: Mon Apr 15 16:06:46 2024 -0700 - Prior to fix the last column no matter if hidden or not was - always included when exporting packet dissections to CSV. + pcapng: Fix logging - Fixes #19666. + WS_LOG_DOMAIN must be defined after including config.h and before + including wslog.h. - (cherry picked from commit 30c0ab964ff62ef95b1a0ec9c04ebbbb0cd51c43) + (cherry picked from commit 09b83c0ecee60641439b67ed5931714492ae38c1) -commit 535a868fab5 +commit b822d573e0 Author: Gerald Combs -Date: Sun Feb 25 09:26:26 2024 +0000 +Date: Sun Apr 14 09:25:33 2024 +0000 - [Automatic update for 2024-02-25] + [Automatic update for 2024-04-14] Update manuf, services enterprise numbers, translations, and other items. -commit 459c0d50cb9 +commit 2ece4fa7dc Author: John Thacker -Date: Fri Feb 23 07:56:18 2024 -0500 +Date: Fri Apr 12 07:19:12 2024 -0400 - Inject TLS Secrets: Check for NULL used secrets map + ieee1905: Fix bit ordering of HE-MCS set - The GUI menu item should probably be disabled without a capture file - too. + The Tx Rx HE MCS Support field in IEEE 1905 is reordered from + 802.11ax into big-endian order (which is already done), but that + shouldn't change which bit is considered the LSB (which is the + Max HE-MCS For 1 SS) and which is the MSB (Max HE-MCS for 8 SS). - Fix #19667 + Fix #19737 - (cherry picked from commit ac90d8c83437c4eb120f8d64025f2ca07269f35e) + (cherry picked from commit 179bf05a4d4e64427fa7e7805f1d4e134874cca8) -commit 315e14a35d5 -Author: Gerald Combs -Date: Thu Feb 22 18:35:09 2024 -0800 +commit cee6caf8ea +Author: John Thacker +Date: Wed Apr 10 12:16:02 2024 -0400 - ICMPv6: Add a recursion check + Qt: Hide export dissections dialog when accepting - Fix + When the Export Dissections Dialog is accepted but starts to + try to save the files, hide it. It will close itself after the + export is done (which deletes it), but in the meantime the + exporting from a large file can take a long time. Hiding the + dialog allows the user to cancel the save with the Progress Dialog + on the main window. Leaving the dialog visible allowed the user + to click "Cancel" on the dialog, which didn't cancel the save + (still up to the progress dialog), but did delete the dialog on + close, resulting in a crash when the export did finish. - ``` - 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 - ``` + This is for Linux and macOS, and matches the behavior of the native + Windows dialog, which already hides itself when Save is clicked. - (cherry picked from commit 0eb0d6fdb4394872e68ed2c8c9d2cc1a1bc85db9) + (cherry picked from commit e84adf41da08c60ff329f3e91bb948e2e1e33753) -commit 27d5c37e714 -Author: Gerald Combs -Date: Thu Feb 22 18:50:24 2024 -0800 +commit 7fb337faf8 +Author: John Thacker +Date: Wed Apr 10 10:28:45 2024 -0400 - SMB2: Add recursion checks + Qt: Fix crash when closing TimeShiftDialog before redissection done - (cherry picked from commit 1515b211e20354e097092de0b52e50862e64ce36) + Commit f67eccedd9836e6ced1f57ae9889f57a5400a3d7 made it so that + the TimeShiftDialog doesn't have a nested event loop with exec. + That's good, but that means that an AutoConnection between + TimeShiftDialog::timeShifted and PacketList::applyTimeShift is a + DirectConnection, which means that TimeShiftDialog::applyTimeShift + waits for the packet list redissection to finish before the function + calls enableWidgets and returns. - Conflicts: - epan/dissectors/packet-smb2.c + The user can close the Time Shift Dialog while the packet list + redissection is still ongoing. As the TimeShiftDialog is also now + DeleteOnClose, this means that when the redissection finishes (or + is canceled via ProgressDialog) the TimeShiftDialog will try to update + its widgets after they've been deleted, causing a crash. -commit db9610c3896 -Author: Gerald Combs -Date: Thu Feb 22 18:29:49 2024 -0800 + To prevent, make the connection between the TimeShiftDialog and + the PacketList a Qt::QueuedConnection. - DHCPv6: Add a recursion check + (cherry picked from commit ea70c16e05d0f1f0779bec6e89153a67d07d6cfa) - Fix +commit 799735b9c0 +Author: Dr. Lars Völker +Date: Fri Mar 22 18:23:07 2024 +0100 - ``` - 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, - | ^ - ``` + BLF: Fixing Flags Decoding in FlexRayRcvMessage(Ex) (BUGFIX) - (cherry picked from commit 5a04c4ecee4a40851c8fd0f7de0ee96d257bb752) + Flags should have been in the FrameFlags byte. -commit cd5c51f50f7 -Author: Gerald Combs -Date: Wed Feb 21 15:01:00 2024 -0800 + (cherry picked from commit 823b49f6c338ddc0e99315e05e3e3fb5c557456c) - AllJoyn: Add recursion checks +commit 6288f7c592 +Author: Giovanni Musto +Date: Wed Dec 13 14:26:36 2023 +0100 - (cherry picked from commit 8b0e90d62e283d3aa7b00aa17a55a53bde362da4) + BLF: Fix BLF_OBJTYPE_CAN_FD_ERROR_64 not decoded as error -commit 3b7f2c1ca79 -Author: Gerald Combs -Date: Wed Feb 21 14:27:58 2024 -0800 + (cherry picked from commit 7b4d667f306c4ffb6c181280bdb47d01826eb3e6) - 6LoWPAN: Add recursion checks +commit 1c7dbe91da +Author: Guy Harris +Date: Sat Nov 18 14:53:33 2023 -0800 - (cherry picked from commit 34c90f7a3d31c74c7f66a71dcd23eed326718190) + blf: expand a comment. -commit 5d2c25d97e6 -Author: Gerald Combs -Date: Wed Feb 21 11:53:18 2024 -0800 + Give more details on how the amount of padding between log container + objects is not an obvious "padd the object's size to a multiple of + bytes". - TN5250: Add a recursion check + [skip ci] - (cherry picked from commit 282bd19e887a56496011d14b1bf7bdde40f9216e) + (cherry picked from commit 8c22a6cc0240123750347173acef964a3909da34) -commit 0e272f66bd2 -Author: Gerald Combs -Date: Wed Feb 21 11:08:42 2024 -0800 +commit 559a6f89f7 +Author: Guy Harris +Date: Sat Nov 18 11:27:26 2023 -0800 - MONGO: Add a recursion check + blf: check the validity of the header length field. - (cherry picked from commit 7183ac40da718b4a0531f84adf090e9a97c1297a) + (cherry picked from commit 3e296c041f233b6605f4004bec7e4be1acd34b70) -commit d8231096d5c -Author: John Thacker -Date: Tue Feb 20 22:58:58 2024 -0500 +commit 13bcc043a4 +Author: Guy Harris +Date: Sat Nov 18 01:02:04 2023 -0800 + + blf: add more error checks. + + Check for invalid lengths in headers. + + Have blf_scan_file_for_logcontainers() provide error codes and messages + on errors, and, if it fails, clean up and return an error when opening a + file. - text2pcap: Set encapsulation to WIRESHARK_UPPER_PDU with -P + Always check for errors from file_seek(). - 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 ae5c7ff41bdd031f7d29151501f42bfcc68d662d) - (cherry picked from commit 339d6d4aba6f51f32c9483ea4dab5790b713d247) +commit 91e1ec23d7 +Author: Giovanni Musto +Date: Mon Oct 23 09:30:29 2023 +0200 -commit a29a21fb697 + BLF: Extract FDF, BRS and ESI flags + + (cherry picked from commit c0f287ad69e05ceb8c71a5f7100cd7c59b3835ae) + +commit 058ca16704 +Author: Yingjie Deng <17322619133@163.com> +Date: Thu Apr 11 01:26:26 2024 +0800 + + fix: Hmac Missing + + The peer->mac Algorithm is not should set NULL here. The above + ssh_decryption_set_cipher_id function takes peer->enc, and set + peer->cipher to NULL in else case, the peer->cipher is the field of + struct ssh_peer_data, but not have corresponding field with peer->mac in + struct ssh_peer_data.So I just delete it in else case. + + (cherry picked from commit a2a911ea1a0adeb5a93f7cf4fd786ca0fdd0c820) + +commit a31b9964e6 +Author: Giovanni Musto +Date: Tue Oct 17 09:36:17 2023 +0200 + + BLF: Fix LIN parsing + + LIN was broken because its payload was treated as a variable length field, while it is always 8 bytes + Fix DLC parsing to allow only 8 bytes instead of 15 + Fix ID parsing to take only the lower 6 bits + Parse checksum field + + (cherry picked from commit 7bf7a136766fb20132d1b9cc550f661dc70ab2d2) + +commit eaf7d424a7 +Author: John Thacker +Date: Sun Apr 7 16:57:23 2024 -0400 + + Qt: Work around Qt6 dataChanged pessimization + + A change in Qt 6.0 makes QAbstractItemView::dataChanged, when called + with multiple indices, determine exactly how much of the viewport + rectangle is covered by the changed indices and only update that much + of the viewport instead of always updating the entire viewport. This + reduces CPU load when multiple indices, but not enough to span the + entire viewport, are updated at once. + ( https://codereview.qt-project.org/c/qt/qtbase/+/285280 + https://bugreports.qt.io/browse/QTBUG-58580 + ) + + Unfortunately, if the number of indices is very large (much larger + than the total number of indices that can possibly be displayed in + the viewport), computing the union of the intersecting rectangle takes + orders of magnitude longer than unconditionally updating the whole + viewport. ( https://bugreports.qt.io/browse/QTBUG-124173 ) + + When the packetListModel wants to indicate that all packets may have + changed, this makes dataChanged scale linearly with the total number of + rows/frames, whereas updating the viewport only scaled with the size of + the viewport but was unaffected by undisplayed packets. The calculation + is unnecessary because we know the entire viewport is affected. On a + sample modern workstation, measurements showed dataChanged taking 1 s + with 1.4 M packets and 9 s with 12 M packets. This signal can be issued + quite often, e.g. if IP address lookup (DNS or MaxMindIP) is enabled, it + can be issued once per second at the packet_data_timer expiration for + some period of time as idle dissection occurs when opening the file. + + Instead of issuing dataChanged, we can issue layoutAboutToBeChanged() + (in practice a no-op) and layoutChanged(), which causes the QTreeView + to clear all information about its view items (d->viewItems.clear() in + QTreeView::doItemsLayout), but without clearing the current and selected + row (unlike [begin|end]ResetModel.) This takes the same 5-8 ms in the + same test procedure as above in both the 1.4 M and 12 M packet tests. + + Improves #19486 considerably on Qt 6. + + (cherry picked from commit 5abfe91cc164d873e56c6f24a313b93b7d883a9e) + +commit e51f5bf24d 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 +Date: Sun Apr 7 09:24:53 2024 +0000 + + [Automatic update for 2024-04-07] + + Update manuf, services enterprise numbers, translations, and other items. + +commit 31188b669e Author: John Thacker -Date: Thu Feb 15 19:39:52 2024 -0500 +Date: Thu Apr 4 20:27:45 2024 -0400 - extcap: Fix writing preferences to file + reordercap: Handle IDBs in the middle of the 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. + We can read IDBs (and other non packet blocks) in the + middle of the file, so init the dump parameters after + reading all the frames. This will move the IDBs (and NRBs + and DSBs) to the start of the new output file (which might + have to happen if they're out of order.) - 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.) + Note: Files with multiple Section Header Blocks probably still + aren't handled correctly, because the IDB number might need to be + rewritten (though we have some of that information after + commit 8ebde1309d0cc0335e32cff8c7112dc98c05d5ed) - If the button says "Save", then save the preferences regardless - of what the "extcap Save on Start" preference says. + Fix #19740 - Fix #19639. Related to #18487 + (cherry picked from commit 0c637a2b5ebaf6bf24f406e5e01a39860d4a4daa) - (cherry picked from commit 268e7425416f0f482bc001c0ca8010c425db49c9) +commit f47c873dd8 +Author: mverkleij +Date: Fri Mar 15 14:43:29 2024 +0100 -commit c1584528c32 -Author: Gerald Combs -Date: Tue Feb 20 14:28:59 2024 -0800 + Fix reordercap -n flag generating empty output file - JPEG: Add a recursion check + (cherry picked from commit ef64dcf32879353f02057ada93c0b0add78cad3c) + (cherry picked from commit e6ad1f677ea970b85d08066135cd8ec10d23075c) - Fix +commit b6ba652b5b +Author: John Thacker +Date: Thu Apr 4 07:12:45 2024 -0400 - ``` - /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 - ``` + Qt: Ensure Copy Bytes as C String is a valid C string - (cherry picked from commit 46c652102f432577961cac534f20fc88fa6c11cf) + Use octal escapes padded to three digits instead of hex escapes. + An octal escape is limited to three digits by definition, whereas + hex escape sequence are not limited, which causes problems if + a hex escape is followed by a (non escaped) possible hex character. -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 + Escape double quotes and backslash. Use the simple escapes of + non printable characters too (optional, but looks nicer.) - ISIS LSP: Add a recursion check + This possibly could go in wsutil as another ws_escape method, but + the fix needs to be backported to 4.2 so let's not introduce a + new public function yet. - Fix + Fix #19735 - ``` - 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 - ``` + (cherry picked from commit 7130e33d30acb871538e540054ef8293912ed33a) - Add Clang-Tidy suppressions as well. +commit 5a58585792 +Author: Nardi Ivan +Date: Wed Jan 17 10:02:25 2024 +0100 - (cherry picked from commit 16d85df6f447b082afce8cf183d187d6144f2870) + LUA: allow conversion from string to uint64 in any base -commit 4557986660b -Author: Gerald Combs -Date: Tue Feb 20 09:41:29 2024 -0800 + This is handy when you want to specify a mask in hex format - GIOP: Add a recursion check + (cherry picked from commit 534cc08ebc9fb82b965cefdf164ae02da3827f4d) - Add Clang-Tidy suppressions as well. +commit e067aa55f3 +Author: Guy Harris +Date: Sun Mar 31 12:10:56 2024 -0700 - (cherry picked from commit 45f9dae43cc9f6253bc8e8f2d12afa47a8925e62) + wslua: put the example of use for treeitem:add at the right level. -commit 37eb42985eb -Author: Gerald Combs -Date: Tue Feb 20 09:24:00 2024 -0800 + It should be a subsection of the entry for treeitem:add, which means it + must be a level *5* header. + + (cherry picked from commit 7b6e196c4117010c04d911021c16b37c454a4f19) + +commit 48288a29db +Author: Guy Harris +Date: Sun Mar 31 10:51:30 2024 -0700 + + wslua: fix the documentation for Tvb:reported_length_remaining. + + Use the WSLUA_OPTARG_xxx convention for it optional offset argument, so + that the documentation generation process properly documents it. + + (cherry picked from commit 62bc594401f64317d4e2a66de726ca615cf0263b) + +commit 3911c7b7d2 +Author: John Thacker +Date: Fri Mar 29 09:42:44 2024 -0400 + + editcap: Don't memmove more than allocated in the buffer - ENRP: Add a recursion check + When moving from the begining with a beginning offset specified, + don't run off the end. Subtract the source memory area's full offset + from the beginning of the buffer from the capture length. - Add Clang-Tidy suppressions as well. + Fix #19724 - (cherry picked from commit 6c52cdf959a4da6a4bf148713cb341b40f06355b) + (cherry picked from commit 7c744e7933794b09e7af4d9703194ad0b01be282) -commit e1299a0ef50 +commit 1f0bc61bbc Author: Gerald Combs -Date: Sun Feb 18 09:24:20 2024 +0000 +Date: Sun Mar 31 09:24:23 2024 +0000 - [Automatic update for 2024-02-18] + [Automatic update for 2024-03-31] Update manuf, services enterprise numbers, translations, and other items. -commit d3ad478c920 -Author: Noan -Date: Tue Nov 28 09:36:44 2023 +0000 +commit e9965fe303 +Author: John Thacker +Date: Sat Mar 30 08:07:26 2024 -0400 - Fix parse number of scalability structures in VP9 + Mongo: Ensure the offset advances - (cherry picked from commit 8873aba1a03fb2fdf618807a416d528b52143bd8) + The MongoDB Wire Protocol uses _signed_ 32 bit integers for lengths. + dissect_bson_document checks for bogus values and ensures that a + non-negative (and at least 5) size is returned, but we need to make + sure to use that return value instead of trusting the value read + from the packet in dissect_op_msg_section. - 92ceaf04 Fix parse number of scalability structures - d40a502b Fix parse number of scalability structures in VP9 + Fix #19726 -commit 6f399ff8e6f -Author: Gerald Combs -Date: Sun Feb 18 10:09:57 2024 -0800 + (cherry picked from commit 38c0efcee8d22d922e446888b268effc3ccf725f) + +commit 17bff1a32f +Author: Guy Harris +Date: Fri Mar 29 22:31:04 2024 -0700 - tools: Don't assume that Homebrew has Lua 5.1 + macos-setup: Add a warning about a comparomised version of XZ. [skip ci] - (cherry picked from commit deac878dd56a4c04fc4dc9f198167314262c0af7) + (cherry picked from commit 75b1ffe1190de3843de3cd756a6b16200a967cd8) + +commit 8a7dc8c440 +Author: John Thacker +Date: Thu Mar 28 19:46:56 2024 -0400 + + JSON-3GPP: Handle 5GC over HTTP/1.1 (OAI), don't create HTTP/2 sessions + + http2_get_header_value currently, by calling get_http2_session, + always creates HTTP/2 conversation data on the current conversation. + This confuses the HTTP dissector if HTTP/2 is not actually present, + so guard it with proto_is_frame_protocol. + + Also, despite 3GPP TS 29.500 saying that the service based interfaces + use HTTP/2 only, OAI (and perhaps other implementations) have options + to use HTTP/1.1, so try to handle that case as well. + + Fix #19723 + + (backported from commit 8285e802241abb25c62d6fc71b17ce16175c151b) + +commit 47517b2cdd +Author: John Thacker +Date: Tue Mar 5 07:50:09 2024 -0500 + + http2: Return header value decoded from US-ASCII + + Per the discussion in RFCs 9113 and 8187, decode field values + from US-ASCII (replacing characters outside the range, i.e. + obs-text, with UTF-8 replacement characters) before returning them + in http2_get_header_value. This is what all current dissectors + need, and reduces the chances of adding unvalided text (non UTF-8) + to the tree. + + Make a note that dissectors may need to perform additional decoding, + e.g. percent decoding or decoding according to RFC 8187. -commit 9dbb5482ef0 + There may at some point be dissectors that need access to the raw + bytes as opaque data (which is discouraged by the RFCs), at which + point we could have an additional function to access that. + + Fix #19684 + + (cherry picked from commit 674e35bd62777e006fd41229c4c6583022d912f9) + +commit 9ad30bc466 Author: Gerald Combs -Date: Wed Feb 14 13:18:50 2024 -0800 +Date: Fri Mar 29 10:27:10 2024 -0700 + + GQUIC+DOCSIS MAC MGMT: Recursion updates + + Make our recursion checks consistent with other dissectors. + + (cherry picked from commit 119a385ba271a51ea35579b25dc0025ff450577c) + +commit 4e707387de +Author: John Thacker +Date: Thu Feb 29 19:26:23 2024 -0500 + + gRPC: Add separate dissector handles for gRPC Web and Web Text + + Rather than registering one gRPC dissector handle to three + flavors of gRPC and then figuring out which one got called + by inspecting pinfo->match_string, register different dissectors + with descriptions to each type, so we know which dissector was + called. + + This especially avoids assertions when a dissector is set via + Decode As, or via the stream ID table (even though the stream + ID table won't put the gRPC dissector into the special + streaming "reassembly as you go" mode, instead falling back + to the standard HTTP/2 reassemble at the end mode.) + + Also, if we have the (bidirectional) streaming mode set for + the stream ID but we don't have a streaming subdissector handle + for the (unidirectional) content type, set it to the data handle + to avoid an assertion. We could possibly try to set it to the + content type used in the other direction, but that has potential + issues. + + Fix #19679 + + (cherry picked from commit febcf46bbc4ff7e16c5cff609dc0c733b9e652a3) + +commit 196cc0d624 +Author: Dominic Pearson +Date: Thu Mar 28 15:07:40 2024 +0100 - GitLab CI: Add release notes artifacts + cpu_info: fix missing decl in else macro block - (cherry picked from commit d54031eda9e94e9c7ab28e8a70b2509dc20cdfc9) + (cherry picked from commit 318e8d3161ac23a7f486a74500d4d2b05403a58a) -commit 4520e9eb867 +commit c9f47f9ff5 Author: Gerald Combs -Date: Wed Feb 14 13:32:10 2024 -0800 +Date: Wed Mar 27 14:40:37 2024 -0700 - Version: 4.2.3 → 4.2.4 + Version: 4.2.4 → 4.2.5 [skip ci] -- cgit v1.2.3