commit 41ff1df89b
Author: Gerald Combs <gerald@wireshark.org>
Date:   Mon Nov 18 15:43:56 2024 -0800

    Prep for 4.2.9

commit 7449ade01f
Author: John Thacker <johnthacker@gmail.com>
Date:   Mon Nov 18 23:47:44 2024 -0500

    dfilter: Do not crash on failed IEEE 11073 float conversions

    The IEEE 11073 float ftype does not set the error message on a
    failed conversion. The various fvalue_from_XXX functions assume
    that if a ftype has a conversion function that it will set the
    error message. The dfilter semcheck function assumes that the
    error message gets set on a failed conversion.

    Have the generic fvalue_from_XXX functions check the error message
    on all failed conversions, and if an error message wasn't set at all,
    set the same generic message used when there is no conversion function.

    Prevents errors like:

     ** (wireshark:1296614) 23:50:37.712468 [DFilter ERROR] epan/dfilter/dfilter.c:76 -- dfw_set_error_location(): assertion failed: dfw->error
     ** (wireshark:1296614) Aborting on fatal log level exception
    Aborted

    When typing in invalid filters like
    'btatt.temperature_measurement.value.celsius == bogus'

    (backported from commit 1dd55199f57da0bab0f64880780c401f99fb55eb)

    Conflicts:
            epan/ftypes/ftypes.c

commit 2679623ccd
Author: John Thacker <johnthacker@gmail.com>
Date:   Sun Nov 17 15:48:50 2024 +0000

    pop: Assert if the per packet frame data doesn't exist on later passes

    If we have a continuation packet and no per-packet data, that indicates
    that dissection was different on the second pass and some kind of
    underlying problem. (In #20231, with the V-J decompression dissector.)

    Prevent a crash in #20231

    (cherry picked from commit 59efb4a203778c766d4f3386efe312892b56f1f6)

    Co-authored-by: John Thacker <johnthacker@gmail.com>

commit c67c17dd2a
Author: Gerald Combs <gerald@wireshark.org>
Date:   Sun Nov 17 09:30:03 2024 +0000

    [Automatic update for 2024-11-17]

    Update manuf, services enterprise numbers, translations, and other items.

commit a26e168054
Author: Sake Blok <sake.blok@syn-bit.nl>
Date:   Sat Nov 16 14:54:59 2024 +0000

    TCP: add missing NULL-check

    Add missing NULL-check on tcpd.

    Fix for !20226

    (cherry picked from commit caa32b41ae56a9ad407a57e5b388abc18756c5eb)

    Co-authored-by: Sake Blok <sake.blok@SYN-bit.nl>

commit 930d31c711
Author: Sake Blok <sake.blok@syn-bit.nl>
Date:   Sat Nov 16 10:36:42 2024 +0000

    TCP: Don't use client port for dissector selection

commit 25d367c4eb
Author: John Thacker <johnthacker@gmail.com>
Date:   Thu Nov 14 09:11:59 2024 -0500

    lua: Add a fixture to test Lua scripts under different locales

    Add a cross-platform way to run a Lua script under a different
    locale by calling os.setlocale.

    On UN*X we could have a different test_env fixture with LC_ environment
    variables to override the native locale, but that doesn't seem to work
    on Windows.

    Add some tests to util.lua for setting range preferences with
    comma separated ranges.

    Change the way the dissector is added to the DissectorTable in
    protofield.lua so that it uses a comma separated range. Note this
    test will fail if only one of the ports is set (as happened silently
    with Lua 5.2 and earlier in locales using decimal comma).

    Run these tests with a German locale, so that the decimal and thousands
    separators are swapped from English.

    (cherry picked from 6e2e4440430b4b57e926d7838af92a7c9ff13193)

commit c553ba1ec0
Author: John Thacker <johnthacker@gmail.com>
Date:   Thu Nov 14 05:48:21 2024 -0500

    Lua: Support comma separated DissectorTable ranges in decimal comma locales

    For numeric literals, Lua only uses "." as the decimal separator (as,
    e.g., the packet matching grammar for display filters does), but
    when converting strings back and forth, the locale native separator
    is used, unless Lua is specifically changed when compiled. On Lua 5.3
    and later, "." can always be used when converting from a string as well.

    The functions in epan/range.c use "," to separate ranges of integers,
    which are converted back and forth from strings.

    On locales which use "," as a decimal separator, this creates ambiguity;
    strings like "10,11" can either be converted to the numeric literal of
    ten and eleven-hundredths, or a range with two subranges, 10 and 11.

    To avoid ambiguity, only convert strings to ranges; do not attempt to
    convert strings to numbers/integers first. This will work fine for
    strings consisting of a single integer like "10", but does mean than
    on English and other locales that use dot as the decimal separator,
    "10.0" will no longer be allowed (the numeric literal 10.0 will still
    work, because the conversion is exact, see below.)

    On Lua 5.3 and later, conversions to an integer will return a failure
    if the conversion is not exact (again, unless overridden by a
    compilation option when compiling Lua, something we can't control when
    UN*X system Lua packages are used). On earlier Lua, floating point
    Numbers are simply cast to integer, truncating. This causes silent
    unexpected behavior on Wireshark 4.2 and earlier.

    Note we don't support (and have never done so) passing in our user
    UInt64 type (or the less relevant now Int64 type) to these functions,
    though if 64 bit dissector tables are ever implemented (see #20207)
    that may be a consideration.

    Fix #20216

    (backported from fb64334c6a6a2aff0a04c6d45c26e9349af71a57)

commit 06e0b0bb09
Author: Gerald Combs <gerald@wireshark.org>
Date:   Thu Nov 14 10:56:37 2024 -0800

    ECMP: Exorcise a string buffer arithmetic gremlin

    Use a wmem_strbuf instead of manually allocating a string and managing
    its offsets.

    Avoid appending a dangling space to our string.

    Fixes #20214

    (cherry picked from commit c8e58870733f88f275ca9a6fa115ed085f987d94)

    Conflicts:
            epan/dissectors/packet-ecmp.c

commit adda257866
Author: Stig Bjørlykke <stig@bjorlykke.org>
Date:   Tue Nov 12 18:32:05 2024 +0000

    hsrp: Fix the display length of some TLV blocks

    Include both TLV size and TLV block length.

    (cherry picked from commit 6f7207a6ded2c323ce95a73aae74df7464252933)

    Co-authored-by: Stig Bjørlykke <stig@bjorlykke.org>

commit 7679df7411
Author: Stig Bjørlykke <stig@bjorlykke.org>
Date:   Tue Nov 12 18:24:46 2024 +0000

    Qt: Improvements in Font and Colors preferences

    Only use gradient styleSheet when colorstyle is gradient. The
    QLineEdit qlineargradient ss does not currently work on macOS,
    but this will fix display for System Default and Solid.

    Use the same border on the sample lines as in the color select
    buttons.

    (cherry picked from commit bc6c5bd260f8c804efb830201cfd850e1a9d7fee)

    Co-authored-by: Stig Bjørlykke <stig@bjorlykke.org>

commit c354c8170c
Author: Gerald Combs <gerald@wireshark.org>
Date:   Sun Nov 10 09:31:13 2024 +0000

    [Automatic update for 2024-11-10]

    Update manuf, services enterprise numbers, translations, and other items.

    services failed.

commit 90e7b5c4c9
Author: Stig Bjørlykke <stig@bjorlykke.org>
Date:   Thu Nov 7 16:24:48 2024 +0000

    Qt: Check for valid clear_button

    Check for a valid clear_button in updateClearButton() to avoid
    a crash when drag'n'drop a filter from packet details to the
    find frame.

    Fix #20204

    (cherry picked from commit 291d6c11a581274fa68a62cda2b9e694cf927ebe)

    Co-authored-by: Stig Bjørlykke <stig@bjorlykke.org>

commit 3241a3f9fe
Author: Uli Heilmeier <uh@heilmeier.eu>
Date:   Mon Apr 29 21:51:12 2024 +0200

    Github/workflow: update upload-artifact action to v4

    v3 of upload-artifact action is scheduled for deprecation on November 30, 2024

    (cherry picked from commit 44aec537353a557531b630f5593f728c2b6174b2)

commit 681084a385
Author: Pascal Quantin <pascal@wireshark.org>
Date:   Tue Nov 5 12:19:29 2024 +0100

    POP: use state info stored in conversation during first pass only

    And copy in per packet data the info required for subsequent pass

    Fixes #20124

    (cherry picked from commit b3bc9bb617c2b7776bf94e646e9ca322c932725d)

    Conflicts:
            epan/dissectors/packet-pop.c

commit 29980a8b0d
Author: Pascal Quantin <pascal@wireshark.org>
Date:   Tue Nov 5 15:22:06 2024 +0100

    SRT: display NUL character in a middle of a string

    Fixes #20113

    (cherry picked from commit d70801c600a2334cf420f60c67cb3c3573031eb9)

    Conflicts:
            epan/dissectors/packet-srt.c

commit 59e91a1025
Author: Jaap Keuter <jaap.keuter@xs4all.nl>
Date:   Wed Nov 6 06:21:27 2024 +0000

    Profinet DCP: Use applicable sub option name in tree

    Fixing a copy-paste, probably.

    (cherry picked from commit 535a8a300879a6b30385ff6e3c34c9d5fb06bb56)

    Co-authored-by: Jaap Keuter <jaap.keuter@xs4all.nl>

commit f38649b4f1
Author: Alexis La Goutte <alexis.lagoutte@gmail.com>
Date:   Tue Nov 5 19:47:42 2024 +0000

    WiFi: Adjust regulatory info field

    Closes #20187

    (cherry picked from commit e63cefb9359a3bdd88e5e55a19202ffca1c11f93)

    Co-authored-by: Jaap Keuter <jaap.keuter@xs4all.nl>

commit 0288815a0b
Author: Pascal Quantin <pascal@wireshark.org>
Date:   Tue Nov 5 16:21:53 2024 +0000

    Protobuf: Use enum value if name is missing when mapping to JSON

    The enum value is used if the name of the enum value is
    not specified in proto file when mapping Protobuf to JSON.

    close #20182

    (cherry picked from commit f85d2fe5e188d932f0a30b39314a48157926edce)

    Co-authored-by: Huang Qiangxiong <qiangxiong.huang@qq.com>

commit cc8a158d0b
Author: Gerald Combs <gerald@wireshark.org>
Date:   Sun Nov 3 09:31:00 2024 +0000

    [Automatic update for 2024-11-03]

    Update manuf, services enterprise numbers, translations, and other items.

commit 922b4be264
Author: Pascal Quantin <pascal@wireshark.org>
Date:   Thu Oct 31 14:08:24 2024 +0000

    epan: Add handling for ASN.1 REAL special value NaN

    Add support for decoding the ASN.1 REAL special value of NaN.

    (cherry picked from commit b27a29b9e5d0ce3856c14882c6e4be76f4ab0ea1)

    Co-authored-by: Piotr Gawlowicz <piotr.gawlowicz@srs.io>

commit 2d185a795e
Author: Pascal Quantin <pascal@wireshark.org>
Date:   Thu Oct 31 14:07:55 2024 +0000

    epan: Fix decoding of ASN.1 REAL numbers with zero length (0.0)

    The length zero is valid for ASN.1 REAL types representing the value 0.0.
    Removed the incorrect check that treated (val_length == 0) as an unexpected length,
    allowing proper decoding of REAL numbers with zero length.

    (cherry picked from commit 15f02361f5ab6c605247b42dc77a207af07ba88f)

    Co-authored-by: Piotr Gawlowicz <piotr.gawlowicz@srs.io>

commit 48a38e9816
Author: Pascal Quantin <pascal@wireshark.org>
Date:   Thu Oct 31 14:07:32 2024 +0000

    epan: Fix asn1 REAL number decoding by correcting lenE assertion

    Adjusted the assertion from (lenE < len - 1) to (lenE < len) because len is decremented after decoding info_octet.
    Note that len = 1B (info_octet) + lenE (Exponent Length, 1-3B) + lenM (Mantissa Length).

    (cherry picked from commit c020c3b214d39f6b441561520788346e71a476dc)

    Co-authored-by: Piotr Gawlowicz <piotr.gawlowicz@srs.io>

commit bc26bf80c4
Author: John Thacker <johnthacker@gmail.com>
Date:   Tue Oct 29 12:34:12 2024 +0000

    Qt: Don't disconnect all signals (inc. ::destroyed) of WiresharkDialog

    As the QObject documentation warns:
    "Disconnecting all signal-slot connections will also disconnect the
    QObject::destroyed() signal if it is connected. Doing so can adversely
    affect classes that rely on this signal for cleaning up resources. It
    is recommended to disconnect only the specific signals that were
    connected by application code."

    In WiresharkDialog we also change the WindowTitle. In Qt 6.8.0,
    changing the WindowTitle also communicates the new title to the
    AccessibilityWidget.
    (https://codereview.qt-project.org/c/qt/qtbase/+/553568)

    The AccessibilityWidget is removed from an internal Qt cache when
    the widget is destroyed, which doesn't happen if the signals are
    disconnected. If a subsequent WiresharkDialog is created with the
    same name as a destroyed one (e.g., two Follow Stream Dialogs),
    this can result in a lookup in the cache returning the
    AccessibilityWidget pointing to the destroyed QDialog (now a
    nullptr, thanks to shared pointer), which gets dereferenced and
    crashes.

    Don't disconnect all signals, which includes internal Qt signals
    that happen when the dialog is destroyed. Only disconnect the signal
    we added. It's unclear if we need to disconnect signals added by
    derived classes (or this one, for that matter), but derived classes
    should do that if so.

    Thanks to Michael Weghorn for the analysis.

    Fix #20174

    (cherry picked from commit 7a7b99e0d96ff378f531b40300ce41b65a2c049a)

    Co-authored-by: John Thacker <johnthacker@gmail.com>

commit 686dff0f01
Author: John Thacker <johnthacker@gmail.com>
Date:   Tue Oct 29 10:45:25 2024 +0000

    5CoRAP: Advance offset correctly when too many items

    Even when not displaying the sub frame because too many (recursive)
    subdevices have been dissected, the offset still needs to advance
    by the header length as well as the length of the data size.

    In a case where the data size is zero, not doing this can lead to
    an infinite loop.

    Fix #20176

    (cherry picked from commit d8ca9fc3392219ed3f77756b7d3b6c18aaea52e0)

    Co-authored-by: John Thacker <johnthacker@gmail.com>

commit 27b2bd82b0
Author: John Thacker <johnthacker@gmail.com>
Date:   Mon Oct 28 23:34:50 2024 +0000

    dot11decrypt: Fix Fast BSS Transition decryption on big-endian systems

    The mdid field used as input for the PTK derivation for Fast BSS
    Transition is incorrectly converted to little-endian byte order.
    Due to this the derived PTK is invalid on big-endian systems,
    making the decryption fail. This error also results in a few failed
    tests on big-endian systems.

    The mdid field is a 2-octet value, not a 16-bit value so byte order
    conversion should not be applied. Fix by removing the byte order
    conversion.

    Ping #19965

    (cherry picked from commit 361c5c856227d0e80987252c5661da8978d85351)

    Co-authored-by: Mikael Kanstrup <mikael.kanstrup@gmail.com>

commit 14cd136ac5
Author: John Thacker <johnthacker@gmail.com>
Date:   Mon Oct 28 13:42:23 2024 +0000

    SIP: Check if we have a sip_via_be_route_handle before using it.

    closes #20173

    (cherry picked from commit d8c2c06f29dcde4c0e3d0b4d99ef4f8f9b4ce415)

    Co-authored-by: Anders Broman <a.broman58@gmail.com>

commit 1e91f414b0
Author: Gerald Combs <gerald@wireshark.org>
Date:   Sun Oct 27 09:27:57 2024 +0000

    [Automatic update for 2024-10-27]

    Update manuf, services enterprise numbers, translations, and other items.

commit f092bafd35
Author: John Thacker <johnthacker@gmail.com>
Date:   Sat Oct 26 01:25:50 2024 +0000

    HTTP2: Fix decompression of single padded DATA frames

    Workaround process_reassembled_data not truncating one-and-only-one
    "reassembly" tvbs properly by slicing the padding off the tvb
    immediately after calculating it.

    Fix #20167

    This can and should still get properly fixed in the reassembly
    functions, but trimming the padding off immediately also simplifies
    handling. (We could, as a result, reduce the number of times we
    pass around the data length and offset, though not done here.)

    (cherry picked from commit aa4f7fee0ea87455311d61dd1ff674b1f17a2fe9)

    Co-authored-by: John Thacker <johnthacker@gmail.com>

commit 4eff29a97c
Author: Jaap Keuter <jaap.keuter@xs4all.nl>
Date:   Thu Oct 24 14:02:51 2024 +0000

    TCP: don't hide the expert item behind the tree

    (cherry picked from commit 63142c663ae8e95dd48f7fcd23af5cf24c9e0c89)

    Co-authored-by: Jaap Keuter <jaap.keuter@xs4all.nl>

commit e093373e78
Author: Jaap Keuter <jaap.keuter@xs4all.nl>
Date:   Thu Oct 24 14:09:48 2024 +0000

    Fix potential integer overflow in getnum

    recurrence of CVE-2020-14147. Add bound check in getnum, referring to
    the patch of CVE-2020-14147.

    (cherry picked from commit 42a13925a055bb9947c162c859d5c37c89edcfb4)

    Co-authored-by: the-Chain-Warden-thresh <18302010006@fudan.edu.cn>

commit 9a261e1266
Author: John Thacker <johnthacker@gmail.com>
Date:   Tue Oct 22 11:56:08 2024 +0000

    ieee80211: Fix Block Ack bitmap parsing for large bitmaps

    Make sure to use the correct bit offset for retrieving the bit
    and reporting frame number after the first 8 bytes of the offset.

    Fix up issue accidentally introduced by 43d06c9fb3b287a3b9c0c85cd7
    when trying to support the 64 and 128 byte block ack bitmaps in
    802.11be (Wi-Fi 7)

    Fix #20156

    (cherry picked from commit a412efb8102a8625e5c0074c592cc79e0111aa7d)

    Co-authored-by: John Thacker <johnthacker@gmail.com>

commit 395988ce5f
Author: John Thacker <johnthacker@gmail.com>
Date:   Mon Oct 21 14:00:46 2024 +0000

    test: Fix Sharkd TLS secrets test on Big-Endian

    The file used, tls12-dsb.pcapng, has two used CLIENT_RANDOM
    secrets, and the order in which they're output is related to
    iterating over a hash table and is unpredictable. In particular,
    it's different on Big Endian platforms than Little Endian.
    Test for the Base64 of either of the two possibilities.

    Ping #19965

    (cherry picked from commit 6002d1096a6d5e53acc1693815951ed2e7922f80)

    Co-authored-by: John Thacker <johnthacker@gmail.com>

commit 664af7530f
Author: Gerald Combs <gerald@wireshark.org>
Date:   Sun Oct 20 09:30:57 2024 +0000

    [Automatic update for 2024-10-20]

    Update manuf, services enterprise numbers, translations, and other items.

commit 00e00d8a5c
Author: Uli Heilmeier <uh@heilmeier.eu>
Date:   Wed Oct 16 11:18:21 2024 +0000

    TLS: Fix JA4_c if extension list is empty

    The value of JA4_c is set to "000000000000" if there are no extensions in the
    sorted extension list.

    Fixes: #20066

    (cherry picked from commit 80428848bfbf06fac6ea32c57f4062602fb4e4eb)

    Co-authored-by: Uli Heilmeier <uh@heilmeier.eu>

commit 55597a5151
Author: John Thacker <johnthacker@gmail.com>
Date:   Tue Oct 15 18:05:15 2024 +0000

    tools: lowercase usb hex values for the value strings

    Some of the USB sources contain uppercase for the hex digits,
    but most are lowercase. Lowercase all the hex strings so that
    they sort in proper numerical order. Prevents:

     ** (wireshark:3326737) 20:46:56.474521 [Epan WARNING] epan/value_string.c:471 -- _try_val_to_str_ext_init(): Extended value string 'usb_products_vals' forced to fall back to linear search:
      entry 20705, value 645005387 [0x2672004b] < previous entry, value 645005389 [0x2672004d]

    (cherry picked from commit 75b742d2993e08b88671a22ff74f5272ecec2f18)

    Co-authored-by: John Thacker <johnthacker@gmail.com>

commit 88c616d9e2
Author: Gerald Combs <gerald@wireshark.org>
Date:   Sun Oct 13 09:30:34 2024 +0000

    [Automatic update for 2024-10-13]

    Update manuf, services enterprise numbers, translations, and other items.

    services failed.

commit 36435367d7
Author: John Thacker <johnthacker@gmail.com>
Date:   Fri Oct 11 11:57:46 2024 +0000

    UMTS RLC: Free with wmem what was allocated with wmem

    Commit 2db3db56bfd1ba38c5f42015622dbc8530ed05e9 changed to using
    wmem_file_scope memory for the frags, to prevent leaks caused by
    dangling frags in malformed packets. The freeing functions need
    to also call the matching wmem_free or else on file close there
    can be complaints, even crashes with FORTIFY_SOURCE about freeing
    the middle of a wmem_allocated block and possibly a double free.

    This GHashtable could be changed to a autoreset wmem map, which
    will be done in a follow up commit. (This is small in order to
    make backporting simpler.)

    Also avoid UB warnings in the case of memcpy'ing a NULL array
    with a zero length (which is undefined according to the C standard.)

    (cherry picked from commit a2c8ff7cb6b020b60adbd5a2d3e0111b26edd09f)

    Co-authored-by: John Thacker <johnthacker@gmail.com>

commit 368787539a
Author: John Thacker <johnthacker@gmail.com>
Date:   Thu Oct 10 21:17:43 2024 +0000

    MPEG PES: Fix dissection of video streams with length present

    Length zero, meaning "to the end of the packet" is allowed only
    for PES packets whose payload consists of bytes from a video
    elementary stream, but packets from a video stream are not
    *required* to have length zero. If they don't have length zero,
    we need to subtract off the bytes from the header from the length
    before adding the payload bytes or passing to a subdissector.

    This is a reported length, not a captured length, so use
    tvb_new_subset_length.

    Add an expert info if the length is zero but it is not a video
    elementary stream.

    This issue was exposed more after the packets started being
    handed to subdissectors based on information in the Program
    Map Table.

    (cherry picked from commit f126cbb5f5f5f934ef878efa582bd0c008a6aac0)

    Co-authored-by: John Thacker <johnthacker@gmail.com>

commit d27714d748
Author: John Thacker <johnthacker@gmail.com>
Date:   Thu Oct 10 23:15:35 2024 +0000

    CMake: Fix our c-ares version discovery

    c-ares 1.34.0 and later generate ARES_VERSION_STR using a macro, so
    fetch the version from ARES_VERSION_MAJOR, ARES_VERSION_MINOR, and
    ARES_VERSION_PATCH.

    Fixes #20125

    (cherry picked from commit 7c1418625d2ba5095ef5393abdb2141c990a662c)

    Co-authored-by: Gerald Combs <gerald@wireshark.org>

commit 8fc323684b
Author: Gerald Combs <gerald@wireshark.org>
Date:   Wed Oct 9 13:58:37 2024 -0700

    Version: 4.2.8 → 4.2.9

    [skip ci]
