Version in base suite: 4.4.18-0+deb13u1 Base version: wireshark_4.4.18-0+deb13u1 Target version: wireshark_4.4.19-0+deb13u1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/w/wireshark/wireshark_4.4.18-0+deb13u1.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/w/wireshark/wireshark_4.4.19-0+deb13u1.dsc CMakeLists.txt | 2 ChangeLog | 1157 +++++++------ cmake/modules/FindMinizipng.cmake | 5 debian/changelog | 23 doc/attributes.adoc | 2 doc/release-notes.adoc | 640 +++---- doc/wsug_src/capinfos-h.txt | 2 doc/wsug_src/dumpcap-h.txt | 2 doc/wsug_src/editcap-h.txt | 2 doc/wsug_src/mergecap-h.txt | 2 doc/wsug_src/rawshark-h.txt | 2 doc/wsug_src/reordercap-h.txt | 2 doc/wsug_src/text2pcap-h.txt | 2 doc/wsug_src/tshark-h.txt | 2 epan/CMakeLists.txt | 2 epan/crypt/dot11decrypt.c | 6 epan/dfilter/dfvm.c | 2 epan/dfilter/gencode.c | 13 epan/dissectors/asn1/f1ap/f1ap.cnf | 42 epan/dissectors/asn1/f1ap/packet-f1ap-template.c | 38 epan/dissectors/asn1/nbap/nbap.cnf | 4 epan/dissectors/asn1/nbap/packet-nbap-template.c | 3 epan/dissectors/asn1/pkcs12/packet-pkcs12-template.c | 20 epan/dissectors/file-tiff.c | 11 epan/dissectors/packet-btavctp.c | 18 epan/dissectors/packet-catapult-dct2000.c | 10 epan/dissectors/packet-csn1.c | 8 epan/dissectors/packet-csn1.h | 2 epan/dissectors/packet-dcm.c | 68 epan/dissectors/packet-f1ap.c | 80 epan/dissectors/packet-fp_hint.c | 28 epan/dissectors/packet-frame.c | 62 epan/dissectors/packet-ieee80211.c | 25 epan/dissectors/packet-lbmc.c | 45 epan/dissectors/packet-lorawan.c | 31 epan/dissectors/packet-nbap.c | 7 epan/dissectors/packet-obex.c | 4 epan/dissectors/packet-openflow_v4.c | 15 epan/dissectors/packet-openflow_v5.c | 18 epan/dissectors/packet-openflow_v6.c | 18 epan/dissectors/packet-pkcs12.c | 20 epan/dissectors/packet-rf4ce-secur.c | 6 epan/dissectors/packet-rtps.c | 6 epan/dissectors/packet-sctp.c | 45 epan/dissectors/packet-smb.c | 26 epan/dissectors/packet-spdy.c | 24 epan/dissectors/packet-synphasor.c | 42 epan/dissectors/packet-umts_fp.c | 27 epan/dissectors/packet-umts_fp.h | 3 epan/dissectors/packet-usb-hid.c | 6 epan/dissectors/packet-x11.c | 132 - epan/dissectors/packet-zebra.c | 2 epan/enterprises.c | 460 ++++- epan/manuf-data.c | 411 ++++ epan/proto.c | 4 epan/services-data.c | 2 epan/tvbuff.c | 4 extcap/etl.c | 25 extcap/etl.h | 6 extcap/etw_message.c | 45 extcap/etw_ndiscap.c | 183 -- extcap/etw_ndiscap.h | 40 extcap/etwdump.c | 2 packaging/debian/changelog | 2 packaging/source/git-export-release.sh.in | 2 resources/freedesktop/org.wireshark.Wireshark.metainfo.xml | 5 sharkd_session.c | 2 test/suite_dfilter/group_syntax.py | 31 tools/make-tls-ct-logids.py | 3 tools/make-version.py | 4 ui/qt/models/profile_model.cpp | 5 ui/qt/models/profile_model.h | 14 ui/qt/utils/wireshark_zip_helper.cpp | 78 ui/qt/utils/wireshark_zip_helper.h | 2 wiretap/CMakeLists.txt | 2 wiretap/erf.c | 9 wiretap/netmon.c | 55 wiretap/toshiba.c | 10 78 files changed, 2856 insertions(+), 1314 deletions(-) dpkg-source: warning: cannot verify inline signature for /srv/release.debian.org/tmp/tmpdhinuy88/wireshark_4.4.18-0+deb13u1.dsc: no acceptable signature found dpkg-source: warning: cannot verify inline signature for /srv/release.debian.org/tmp/tmpdhinuy88/wireshark_4.4.19-0+deb13u1.dsc: no acceptable signature found diff -Nru wireshark-4.4.18/CMakeLists.txt wireshark-4.4.19/CMakeLists.txt --- wireshark-4.4.18/CMakeLists.txt 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/CMakeLists.txt 2026-09-23 17:33:48.000000000 +0000 @@ -57,7 +57,7 @@ # Updated by tools/make-version.py set(PROJECT_MAJOR_VERSION 4) set(PROJECT_MINOR_VERSION 4) -set(PROJECT_PATCH_VERSION 18) +set(PROJECT_PATCH_VERSION 19) set(PROJECT_BUILD_VERSION 0) set(PROJECT_VERSION_EXTENSION "") diff -Nru wireshark-4.4.18/ChangeLog wireshark-4.4.19/ChangeLog --- wireshark-4.4.18/ChangeLog 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/ChangeLog 2026-09-23 17:33:48.000000000 +0000 @@ -1,853 +1,988 @@ -commit 732223d4cf +commit b328796c35 Author: Gerald Combs -Date: Tue Aug 11 13:17:08 2026 -0700 +Date: Wed Sep 23 08:39:19 2026 -0700 - tools: Update libssh to 0.12.2 + Prep for 4.4.19 - (cherry picked from commit ff6b064137c56625813f7eb7bae9497fc79d4ed2) +commit 4622c2c366 +Author: Gerald Combs +Date: Sun Sep 20 12:02:23 2026 -0700 - Conflicts: - cmake/modules/FetchArtifacts.cmake + tools: Use the URL hostname as a fallback in generate-tls-ct-logids.py -commit 0391cde810 -Author: Gerald Combs -Date: Mon Aug 10 16:08:53 2026 -0700 + The URL hostname seems to be more descriptive than the log ID. - Prep for 4.4.18 + (cherry picked from commit c228a8bf2125e73bccf4c9064db6baa8d964db7b) -commit 539e5ba4c6 +commit aebac65983 Author: John Thacker -Date: Sun Aug 9 16:20:18 2026 -0400 +Date: Sun Sep 20 07:56:16 2026 -0400 - BT AVRCP: Do not overflow on too large reassemblies + F1AP: Handle SRBID appearing after RRCContainer in UEContextRelease - If the total reassembled size of a PDU would overflow, truncate at a value. - Similar to #21423 / 9f68da57d360629eb7cee8d97d2f894b4858ce8f, stop at - INT32_MAX for now until unsigned lengths can be handled for tvbuffers - everywhere. This prevents allocating a buffer that is in reality too short. - Add a warning field (use a field instead of a expert info to make this - similar to the standard reassembly API, which perhaps should be used in - the future.) + In the UEContextRelease PDU, the SRBID shall be present if the + RRCContainer is present, according to the ASN.1, but unlike the + UL and DL RRCMessageTransfer PDUs, the SRBID occurs later in the + PDU. Handle that reverse ordering so that it works on the first pass + as well. - Thanks to both AISLE Research and Feng Xue for independently reporting - this issue and providing PoCs and proposed fixes. + By doing so, we can revert the f1ap_private_data_t to pinfo->pool + storage, saving some persistent memory. This also allows us to store + the top_tree in the private data instead of having a dissector level + static global, which is an anti-pattern that has led to user-after-free + in other dissectors, since the proto_trees are freed in epan/proto.c + outside of dissectors. - Fix #21488. + Fix #21581 with regards to frame 93. There's also an issue with frame + 59 on the first pass and how the RRC Security Mode Command has the + integrity protection mentioned in its own message applied to itself + (which is spec compliant, and not handled by the NR PDCP dissector at the + moment.) - (backported from commit 1b599808322109ddbac92dd4d81c41ef09bea488) + (cherry picked from commit 82a1ec4455197fdd75250324844365b7e202accf) Co-authored-by: John Thacker -commit 32ecb4ce4e -Author: Ronnie Sahlberg -Date: Wed Aug 5 23:29:51 2026 +1000 - - Fix potential heap corruption in UMTS RRC +commit 2869818e9a +Author: Gerald Combs +Date: Sun Sep 20 10:12:04 2026 +0000 - Fixes #21478 + [Automatic update for 2026-09-20] - Signed-off-by: Ronnie Sahlberg - (cherry picked from commit a44c8dc01cac93fca23debab465298fc08b06658) + Update manuf, services, enterprise numbers, translations, and other items. -commit 0e1d75a037 +commit c0f44dcd15 Author: John Thacker -Date: Sun Aug 9 16:23:20 2026 -0400 +Date: Fri Sep 18 21:44:37 2026 -0400 - btavrcp: Fix Coverity Dereference null return value + ETWDump Message: Don't pass in a larger buffer size than exists - Fix Coverity Dereference null return value warning + etw_message extract_property has a stack allocated buffer and then heap + allocates a larger buffer if necessary. On a subsequent loop, it passes + in the stack allocated buffer but the expanded size of the oversize + buffer, which could lead to a buffer overflow. Correct that. - Add a condition to check that data_fragment is not NULL. + The GetPropertyLenght and GetArraySize functions do not check to see + if the property index is out of bounds or if the property size is + larger than the assumed maximum of a 32 bit integer. - Coverity CID 1405201 + Thanks to AISLE security research for the report. No PoC was given. + It might be possible to exploit this with a malicious etl file + (or, somehow, a malicious event stream?) - AI-Assisted: no + (backported from 7caf6e0b965c594e497c451d25273393f1869318) - (cherry picked from commit 8841ffbe83d2055ed83b9b91329d5b2bf0b01347) +commit 741ce07db7 +Author: John Thacker +Date: Sat Sep 19 10:33:29 2026 -0400 - Co-authored-by: infostam GitHub + Catapult DCT2000: Use the truncated length for padding and TVB creation -commit a24d913593 -Author: Gerald Combs -Date: Sun Aug 9 10:12:40 2026 +0000 + Use the length after truncating instead of the untruncated length when + padding the end of the NRUP data and creating the associated tvb. Also, + use tvb_new_child_real_data with the original tvb passed into the + dissector in order to avoid leaking. - [Automatic update for 2026-08-09] + Fix #21589 - Update manuf, services, enterprise numbers, translations, and other items. + Thanks to Anthropic and Claude and Ada Logics and David Korczynski for + the report and PoC. -commit e15834c812 -Author: Chuck Craft -Date: Tue Aug 4 15:10:40 2026 -0500 + (cherry picked from commit 63e9d5ba582c3502b65d3e617f08eeeb29765afc) - daintree: validate timestamp fraction +commit 89947f2e1f +Author: John Thacker +Date: Sat Sep 19 11:06:35 2026 -0400 - Fixes #21473 + etwdump ndiscap: Fix VM Switch string property handling - (cherry picked from commit a78713609bee82268b95c441aa4bf1ea6719dfbd) + Use a common function. Check for errors. Ensure that null + termination is correct. Actually calculate the narrow length; + if the ANSI Code Page is UTF-8, GB18030, or more generally any + multibyte code page, then a single 2-byte UTF-16 character does + not necessarily translate to a single byte (and GB18030 even maps + some code points in the BMP to 4 bytes.) -commit f2429bb23a -Author: Pascal Quantin -Date: Thu Aug 6 16:16:52 2026 +0200 + Thanks to AISLE Security and Elman Shahbazov for separately reporting + this. - NAS 5GS: fix dissection of type 1 service-level-AA parameter + Fix #21587 - Fixes #21479 + (cherry picked from commit f113d13f0c162d09620e94b3d8b5718284bd82e4) - (cherry picked from commit 077d999dff577ba4c60dff981e5e448cac8a7fc3) + Co-authored-by: John Thacker - (cherry picked from commit 61469331d74488b63be76dd114b32eb408510250) +commit 923ab08cbc +Author: Guy Harris +Date: Tue Jan 7 11:48:03 2025 -0800 - Co-authored-by: Pascal Quantin + etwdump: either declare functions static or declare them in headers. -commit f3eba66172 -Author: Pascal Quantin -Date: Wed Aug 5 12:17:02 2026 +0200 + If a function is used only in the .c file that defines it, declare it + static. - NAS 5GS: fix a copy/paste error in SOR transparent container dissection + If it's used in other .c files, don't declare it .c files that call it; + declare it in a .h files also included in the .c file that defines it. - Fixes #21477 + (cherry picked from commit febd09fad933d3d6043f34c70c4d435a9e42b8e1) + (cherry picked from commit b2bd2d080b9648ef69175aca3df0e5c5ac3fc155) - (cherry picked from commit 35a0df6e8e889433d5f7db99f16f9b627864182a) +commit 1f62251374 +Author: Anders Broman +Date: Fri Sep 18 08:23:10 2026 +0200 - Co-authored-by: Pascal Quantin + UMTS FP: more checks for no_ddi_entries -commit 71d0f537fe -Author: Pascal Quantin -Date: Tue Aug 4 20:01:23 2026 +0200 + Several dissectors setup the fp_info struct and pass it as packet info + to the UMTS FP dissector. Add some additional checks that the number + of E-DCH DDIs is not greater than the array size inside UMTS FP. - NAS 5GS: fix SOR transparent container dissection + Follow up of #21580, #21270 to check in the consumer as well (though + all the in-tree producers do limit the value now.) - Fixes #21472 + (cherry picked from commit c414032d06b0796fcc376ec55f61e3ae0c6c719b) - (cherry picked from commit 1dbdfdc340809da28afcf7b448b61a1d21f9d0ba) + Co-authored-by: John Thacker -commit ed1294055c +commit b0d31fcd8c Author: John Thacker -Date: Sun Aug 2 19:43:53 2026 -0400 +Date: Sat Jan 17 17:13:13 2026 -0500 - ESS: Avoid DISSECTOR_ASSERTing on a zero length BIT STRING + FP Hint: Don't set no_ddi_entries larger than the maximum - The VAL_PTR from dissecting a BIT STRING can be uninitialized without - throwing an exception, notably in the zero length case. That likely - will call a DISSECTOR_ASSERT later with most compilers (but because - the parameter tvb was not initialized to NULL, it may not, particularly - under testing.) + The fp_edch_channel_info_t used in various places to pass information to + the UMTS FP dissector has a maximum number of E-DCH DDI entries it can + hold, both due to the NGAP spec and due to how fixed size arrays are + allocated. THere is a also an int indicating the number of DDI entries + actually used. When the FP Hint dissector dissects a frame, if the frame hint + indicates too many DDIs, don't just have an expert info, but prevent the + no_ddi_entries value from being larger than the max, since the UMTS FP + dissector uses that value to loop on. - Fix #21467 + Differentiate between two similar expert info situations. Do the test at + the top of the E-DCH DDI loop, not the end. - Thanks to AISLE Research for the report and suggested fix + Fix #21580 - (backported from commit affa11c6256fd697bc451e8c0139ff6230e7858a) + Test the num FP chans loop variable before indexing with it, not after, and + it needs to exit when greater than or equal to the max. -commit ff9f1bc138 -Author: Peter Wu -Date: Tue Aug 4 01:31:56 2026 +0200 + Coverity CIDs 1191371, 1191372 - x509if: fix null-pointer dereference on invalid nested RDN + (backported from commit 49256c60eb5aa622588d81da8976770f0812e715) + (backported from commit 990b41a264532805c88d26cb0d5b44e5bab7177f) - A RDN nested within a RDN is malformed and creates a nested call to - `dissect_x509if_RelativeDistinguishedName`. The inner dissection resets - `last_rdn_buf` to NULL, causing a NULL-pointer deref in the outer call. +commit 41eeaaea7e +Author: Gerald Combs +Date: Sun Sep 13 08:58:07 2026 -0700 - Fix this by gracefully handling the outcome. `last_dn_buf` seems - similar, but is unaffected as it doesn't reset to NULL after dissection. + tools: Add a fallback description to generate-tls-ct-logids.py - Fixes #21469 + Log entries may not have a description, so fall back to the log ID. - Fixes: v4.1.0rc0-821-g59ee5247dc ("X509IF: Fix string truncation") - (cherry picked from commit 340b45bcb2a9cabe7b33562ebefbe7a6d7bea0ee) + (cherry picked from commit 2224bc09a442be2e3e6a3a309c68de45732d3fa8) -commit 930f2f39c4 -Author: Chuck Craft -Date: Sun Aug 2 12:27:18 2026 -0500 +commit a08f1a9d23 +Author: Gerald Combs +Date: Sun Sep 13 10:12:24 2026 +0000 - bblog: check for truncated option block + [Automatic update for 2026-09-13] - Fixes: #21460 + Update manuf, services, enterprise numbers, translations, and other items. -commit 04dc6b2af4 +commit 13e2d35799 Author: John Thacker -Date: Sun Aug 2 14:25:33 2026 -0400 +Date: Sun Sep 13 00:24:37 2026 -0400 - SSH: Check Curve25519 key lengths + IEEE 802.11: Save the FTE element for dot11decrypt after length check - crypto_scalarmult_curve25519 requires that the key lengths be the - correct size (32 bytes), so check that before calling in case the - Decryption Secrets Block has a bogus length. + For certain elements, data is saved off as proto_data for the + dot11decrypt functions. Most of such elements are those that *SHOULD* + only appear once; if they appear more than once, rather than marking + an expert info, the last element generally replaces the previous one + in proto data. Certain elements can have "one or more" present; it + does not appear that any of those are the ones saved as proto_data. + For purposes of calculating the MIC, the entire element, including + tag number and tag length, is concatenated, so the data is saved + before the tag dissector is called. (It is also before defragmentation, + though those elements, according to Table 9-92 Element IDs of IEEE + 802.11-2020, are not fragmentable.) - Fix #21465 + *The* Fast BSS Transition Element (FTE) is one that MUST only appear + once in a frame body if it appears. It also saves to proto_data some + parsed data needed for the MIC calculation from later in the element. + That is by necessity after a length check. - Thanks to Vivek Parikh of BreachX Zero Day Labs, using Typhon AI Mil v2, - for the report. + This means that in the case of a short FTE, the full element is saved + to FTE_TAG_KEY is saved but not the other proto data from the FTE. Worse, + if a frame illegally contains multiple FTE elements, an earlier one which + is of a normal size and a second one which is short, there is an + inconsistency between the data from the FTE_TAG_KEY and the data from + the FTE_MIC_LEN_KEY, as the former but not the latter will be copied + from a short element. - (cherry picked from commit 3f38ce6c3740d3553ef682c19da5e413af6b61ce) + To prevent that, don't copy the FTE if it is too short. - Co-authored-by: John Thacker + In addition, add some extra checks in Dot11DecryptFtMicCheck for the + RSNE, MDE, or FTE being missing, as might somehow occur in a bogus + Authentication, Reassociation Request, or Reassociation Response frame. -commit 34fdc00602 -Author: Gerald Combs -Date: Sun Aug 2 10:21:48 2026 +0000 + Fix #21564 - [Automatic update for 2026-08-02] + Thanks to Anthropic and Ada Logics for the report. - Update manuf, services, enterprise numbers, translations, and other items. + (cherry picked from commit 6971deb86e2ec687f1a86abef0988be0594d14ea) -commit 0d14b9e49e + Co-authored-by: John Thacker + +commit ec16a28a99 Author: John Thacker -Date: Sat Aug 1 21:24:12 2026 -0400 +Date: Sat Sep 12 09:31:03 2026 -0400 - androiddump: Avoid overflow in btsnoop reported or captured lengths + X11: Handle ChangeKeyboardMapping better - The btsnoop file format, derived, from the Sun snoop format, features - 32-bit unsigned values for reported and captured lengths. It is - extremely unlikely that real values will be in the top half of the - range, and thus convert to negative numbers if cast to signed 32-bit - integers, but a hostile or buggy Android Debug Bridge service could - do so. Guard against that. + A XChangeKeyboardMapping opcode can change the KeySyms for only a subset + of KeyCodes. The keysyms_per_keycode in that function need not be the + same as keysyms_per_keycode necessary to decribe the KeyCodes requested + in XGetKeyboardMapping. One option would be to extend all possible + KeyCodes KeySym lists to the largest keysyms_per_keycode seen, filling + with trailing NoSymbol entries. - Decode record lengths as unsigned values, reject impossible records before - length arithmetic, and use the validated values for dumping and buffering. + Instead, use wmem_array_t for each KeyCode, so that we have access to + the length of each KeyCode instead of storing a per-state value. This + makes it easier to perhaps later use a tree of arrays so that the + correct values can be used on non sequential dissection on later + passes before and after a ChangeKeyboardMapping operation. - Assisted-by: AISLE:Snapshot + Fix a few other minor issues, like allocating the array each time a + packet is dissected without freeing the old one, making sure the keymap + is initialized to zero, and checking for trailing NoSymbol at the end + of a list of KeySyms for a particular KeyCode, instead of at the end + of the array of KeyCodes. - Fix #21464 + https://tronche.com/gui/x/xlib/input/XChangeKeyboardMapping.html + https://tronche.com/gui/x/xlib/input/XGetKeyboardMapping.html + https://tronche.com/gui/x/xlib/events/keyboard-pointer/keyboard-pointer.html + https://tronche.com/gui/x/xlib/input/keyboard-encoding.html - Thanks to Aisle Security for the report, PoC, and proposed fix. + Fix #21563 - (cherry picked from commit 3c221601fd471c457dd23c414cd5090980d3d99d) + Thanks to Ada Logics and Anthropic for reporting. + + (cherry picked from commit 8d3ad0ad22e7b392df9ba2a249cfe792b397c855) Co-authored-by: John Thacker -commit b201d45928 +commit b86acf4a2a Author: John Thacker -Date: Fri Jul 31 11:34:23 2026 -0400 +Date: Sat Sep 12 14:05:33 2026 -0400 - wsjon: Make json_get_next_object iterative + RF4CE: Fix previous fix - The current implementation is recursive, albeit probably optimized - considerably in most build types. Replace it with an iterative - implementation to reduce stack use, especially in an ASan Debug build. + There are five 16-byte blocks, but we only XOR to the next block from + the first four blocks in order to XOR them all together without + overwriting a different part of the struct (with temp storage of a previous + key, so mostly harmless but incorrect.) - Fix #21462 + Fixup ca63025d79ef5059445d213b5ae5e199c1a7f426 - Thanks to Aisle Security for the report, PoC, and proposed fix. + Coverity 1701150 - (cherry picked from commit 35d9347975451d5a57af8cc1514af7657f7ef02f) + (cherry picked from commit 84a95a3468cf8c1b6016dc46d6ee27ae3fe0cdf8) Co-authored-by: John Thacker -commit b73bf93aa8 +commit a9fd9ac978 Author: John Thacker -Date: Thu Jul 30 20:10:48 2026 -0400 +Date: Sat Sep 12 09:28:23 2026 -0400 - ngsniffer: Don't read past the actual buffer read + Zebra: Fix use of uninitialized memory - Pass in the number of bytes we read (which was limited to 256), - not the total remaining length, to the header processing function. - Fix it in both paths, even though it doesn't matter in one. + Fix a likely copy-and-pasteo. - Fix #21461 + Fix #21372 - Thanks to AISLE Security for the report, PoC, and proposed fix. + AI-Assisted: no - (cherry picked from commit 5b624b9c3a4c0b14ffe25300842e741cf3cf37d4) + (cherry picked from commit 8ac2da71b5ccb3fa6204ab9a796144dea1a3ae1d) Co-authored-by: John Thacker -commit da9204174b +commit a3a546d95a Author: John Thacker -Date: Thu Jul 30 12:21:07 2026 -0400 +Date: Sat Sep 12 08:58:08 2026 -0400 - CMS: Move globals into packet private data + X11: wmem_packet_scope -> pinfo->pool - This prevents reusing the proto_trees in a later frame, or having - to add a frame end routine, in the case of unusual non-spec - compliant captures. + (cherry picked from commit 5547bbb3670751fbe072aaea1b5b6826e334abcc) - Thanks to AISLE Security for the reports, PoCs, and proposed fixes. + Co-authored-by: Michael Mann - Fix #21457, #21458 +commit bf4578f18e +Author: John Thacker +Date: Fri Sep 11 06:58:35 2026 -0400 - (backported from commit 70b341567adb8b7bae0268b7a6fe61f1374073d6) + SMB: Clamp the max reported size of files at UINT64_MAX -commit 5119ed263f -Author: John Thacker -Date: Thu Jul 30 15:57:17 2026 -0400 + File offsets can be 64-bit, so that plus the size can wrap. There's a + check later on that avoids doing anything with files larger than + UINT32_MAX, so clamping the max size doesn't pose any problems. - wiretap: log3gpp: Use proper bounds for writing + Also return early when the reported chunk length is 0 if the + insert_chunk function is ever called that way (prevents UB) and + use the total size instead of the end offset (which is 1 less) + in a few places where that is more intuitive. - Fix the loop bound when procesing hexstring data. Exploiting this - requires very specific packet lengths in the data due to how - the wiretap buffers are allocated. + Fix #21575 - Thanks to AISLE Security for the report, PoC, and proposed fix. + Thanks to Mirae working with TrendAI Zero Day Initiative for + reporting. - Fix #21454 + (cherry picked from commit 73b7edffb06be63444b507c4b8453859455eeb79) - (backported from c5f900e92227495ff944356f25523c530a277900) + Co-authored-by: John Thacker -commit 5520cc92a8 -Author: John Thacker -Date: Wed Jul 29 18:21:02 2026 -0400 +commit 1fd3ca3cfa +Author: Anders Broman +Date: Fri Sep 11 08:37:16 2026 +0200 - BT BR/EDR: Register reassembly table + OpenFlow v4: Validate hello element length to prevent exception - Thanks to Aisle Security for the report, PoC, and proposed fix. + (cherry picked from commit 4ce4d86ed195d881aca69b6b8d34aae5de9668e3) - Fix #21452 + 25e42341 openflow_v4: validate hello element length to prevent exception - (cherry picked from commit 0e191266dd14ff099f91d051cdf34ff4ae1e0571) + Co-authored-by: meel-ayush - Co-authored-by: John Thacker +commit b2d359a23f +Author: Anders Broman +Date: Fri Sep 11 08:28:29 2026 +0200 -commit a1cc189664 -Author: John Thacker -Date: Wed Jul 29 10:29:17 2026 -0400 + RF4CE: Fix link key recovery - BT HFP: Check the length of the +XAPL first parameter + Each key seed command frame has 80 octets. (n + 1) frames are sent. The + link key is recovered in two phases: - Check the length of the first parameter of the HFP Command AT+XAPL - before trying to parse hex strings out of the raw array. + 1. Compute the XOR of the seed data fields from each of the (n + 1) key + seed command frames. + 2. Divide the result of phase 1 into five 128-bit blocks and compute + their XOR. - https://developer.apple.com/accessories/Accessory-Design-Guidelines.pdf + 3.5.11.2 of https://csa-iot.org/wp-content/uploads/2022/01/095262r01ZB_zigbee_rf4ce_sc-ZigBee_RF4CE_Specification_public.pdf - Thanks to AISLE Security for the report, PoC, and suggested patch. + Using the "number of key seed command frames received (plus one)" + instead of five for the number of 128-bit blocks does not work, and, + worse, can run off the end of the allocated struct. - Fix #21451 + Works with the sample from !12435 - (backported from commit fc4171f4ddf75b4f243f392f0ea093e8962fcb73) + Fix #21574 -commit a1d6efed38 -Author: John Thacker -Date: Wed Jul 29 07:11:20 2026 -0400 + Thanks to Meshaal (@unrealmesh) and working with TrendAI Zero Day Initiative + for the report. - kerberos: Add a function to print up to the first 4 bytes of a key + (cherry picked from commit ca63025d79ef5059445d213b5ae5e199c1a7f426) - Add a static function to print up to the first 4 bytes of a key - (with an ellipsis if there are more than 4 bytes, as is likely) - and use it in the various expert items formats. This avoids having - to worry if the key is for some reason shorter than 4 bytes. + Co-authored-by: John Thacker - Fix #21449 +commit e14e4cbe9c +Author: Anders Broman +Date: Fri Sep 11 08:30:10 2026 +0200 - Thanks to AISLE Security for the report, PoC, and proposed fix. + SMB: Fix small leak every time Export Objects updates - (cherry picked from commit 78d67418e8cfec6eb30a80bd399d8485f01efdd3) + Free the old content type entry (which hsa the percentage of the + size detected) when creating a new one. + + (cherry picked from commit b38f082685a04dc109e30863055cf9b0c96b6fd9) Co-authored-by: John Thacker -commit de13f9ff4c -Author: John Thacker -Date: Tue Jul 28 15:19:39 2026 -0400 +commit 62754d2360 +Author: Anders Broman +Date: Fri Sep 11 08:32:46 2026 +0200 - H.245: Do not update state for a returnedFunction GenericMessage + openflow: validate hello element length in v5 and v6 dissectors - In H.245, a returnedFunction is much like an encapsulated original - datagram in a ICMP error packet. The h245_pi is cleared before - processing one. In the case that the returnedFunction is a - GenericMessage it h245_pi should be checked against NULL, and the - info column and frame label should not be updated. It is checked - in all the other cases in H.245 + In OpenFlow 1.4 (v5) and OpenFlow 1.5 (v6) hello elements, elem_length includes the 4-byte header. An elem_length < 4 causes an infinite loop in dissect_openflow_hello_v5() and dissect_openflow_hello_v6() because the offset does not advance. - Thanks to AISLE Security for the report, PoC, and suggested patch. + Register and report ei_openflow_v5_hello_element_length_bad and ei_openflow_v6_hello_element_length_bad when elem_length < 4, and safely terminate hello element dissection. - Fix #21447 + (cherry picked from commit 8d43195058fcbceb1fa94dee769c690b3dc25db9) - (cherry picked from commit 86df5f3b401f77dbbaf02d7dc1af39b820b2b489) + Co-authored-by: Ayush Meel - Co-authored-by: John Thacker +commit 48f59b01ea +Author: Anders Broman +Date: Thu Sep 10 11:09:22 2026 +0200 -commit 920cb47359 -Author: John Thacker -Date: Tue Jul 28 09:02:28 2026 -0400 + cmake: use set() for bcrypt on Win32 to fix x86/x64 mismatch - CMS: Check if Digest Algorithm is NULL + find_library() resolved bcrypt.lib to the x86 Windows SDK path on x64 + builds, causing LNK4272 and LNK2019. Use set() directly as bcrypt is a + standard Windows system library always available via the linker. - Check for the Digest Algorithm being NULL. (g_strcmp0 could - also be used instead.) + AI-Assisted: yes (Kiro) - Also, clear the old digest algorithm at the start of dissecting - an AlgorithmIdentifier instead of after dissecting the OID, in - case there is an exception, etc. to avoid stale data. Do this before - the sequence processing, in case of an empty sequence. (The BER - dissector probably should check for missing mandatory elements - for SEQUENCE as it appears to do for SET.) + (cherry picked from commit 9a388e4c54fa51364ea4981150049a863d066c53) - Thanks to AISLE Research for the report, PoC, and proposed mitigation. + Co-authored-by: Joakim Karlsson - Fix #21446 +commit 86777d8d73 +Author: John Thacker +Date: Tue Sep 8 20:19:13 2026 -0400 - (backported from commit 02dd1e7af093163feae29ef1937caef24da54d17) + USB HID: Widen a loop variable -commit cfc38a9f04 -Author: John Thacker -Date: Tue Jul 28 10:18:06 2026 -0400 + Since usage_max is inclusive, widen a loop variable so that the loop is + guaranteed to end. In some ways it might be clearer to loop from 0 to the + new count, usage_max - usage_min + 1 (which is bounded by UINT16_MAX), but + that requires other changes like using wmem_array_index and recording + the current max index, so it might be less clear in other ways. + + Fix #21566 + + (cherry picked from commit 857d9b98e9d70c0f0666bea18c3b2b060e5bd93b) - wiretap: RTPDump: Fix swapped caplen / len + Co-authored-by: John Thacker - Also check to make sure that the total packet length, which - includes the mandatory 8-byte header, is at least 8. +commit 18d2bbee99 +Author: Anders Broman +Date: Tue Sep 8 07:39:13 2026 +0200 - Fix #21445 + OBEX: Fix an off by one when going up a path level - Thanks to Be33eD for the report and PoC. + The number of bytes to save up to (but not including, because it's + added back later) a "/" is just the result of subtracting the result + from g_strrstr or strrchr from the original start. (If we wanted to + include the "/" found instead of adding it back later, we would add + one, but subtracting 1 is not correct.) - (backported from commit 613fdd1682bd307f82d2ed5d2efc2866b88f2085) + Also just use strrchr instead of g_strrstr, since we're searching for + a single character. -commit 5b73ba672f -Author: John Thacker -Date: Tue Jul 28 10:20:29 2026 -0400 + Fix #21562 - KNX/IP: Prevent NULL dereference by using tvb_get_ptr call correctly + (cherry picked from commit c8c396cf239270428e9283fb9654869c57d9806d) - The size variable is already the length of the encrypted data, so - the offset does not need to be subtracted a second time. The size - was verified by tvb_get_captured_length_remaining and checked before - each subtraction, so size bytes (which must be at least 16) are - always present. + Co-authored-by: John Thacker - tvb_get_ptr() returns a raw pointer into the data, so the length - value at the end being shorter than the desired size only matters - for the verification step (not needed here because the size has - already been verified) not the length of the returned pointer, - except in the case where the value after subtraction becomes 0 and - the returned pointer is NULL. +commit a895b968f6 +Author: Anders Broman +Date: Tue Sep 8 07:44:31 2026 +0200 - Thanks to Be33eD for the report and PoC. + TIFF dissector: Fix IFD chain has no cycle detection. - Fix #21444 + Closes #21565 - (cherry picked from commit b42ae78d867ba6acaf1fc8479344ab939f30b834) + (cherry picked from commit c4b49facbe64e43aa4a71750e75ad26548c2b976) - Co-authored-by: John Thacker + Co-authored-by: Anders Broman -commit 7f7f869d32 +commit cc96a21810 Author: Gerald Combs -Date: Sun Jul 26 10:12:34 2026 +0000 +Date: Sun Sep 6 10:17:41 2026 +0000 - [Automatic update for 2026-07-26] + [Automatic update for 2026-09-06] Update manuf, services, enterprise numbers, translations, and other items. -commit d53b33eabd +commit e93748b2f3 Author: John Thacker -Date: Sat Jul 25 08:12:58 2026 -0400 +Date: Tue Sep 1 18:03:06 2026 -0400 - EAX: Don't truncate lengths + Qt: Guard better on profile ZIP archives - C12.22 can send 32-bit lengths to the EAX handling to be decrypted. - The buffer to decrypt is all copied from packet data via tvb_memcpy - before decryption, so this isn't just a 32-bit length read from packet - data that doesn't correspond to actual data. + The Qt documentation has to be read very carefully to see which + functions remove ".." and which don't. Add more explicit comments + noting that absolute paths are allowed on Windows because of an + error creating profile ZIP archives up until 3.2.5 (but maybe we + should stop as that's a no longer supported version.) After converting + absolute paths to relative, perform a directory traversal check on + all OSes. - Don't truncate the lengths. Do checked arithemtic to check for overflow. + Also, don't cast the returned uncompressed_size in the unz_file_info64 + struct from a ZPOS64_T (uint64_t) to an int, to handle the case where + a ZIP64 archive has a file with a 64-bit file size that when cast to + a 32-bit signed integer becomes negative or otherwise less than 256 MiB. - It is unlikely to be larger than a 16-bit value without some kind of - reassembly, but reassembly is possible since this is over TCP. Return - false in a few failure cases. + Fixup 70c86bd39c74fc0052c9a212afc911b41d612388 - Fix #21439 + Fix #21553 - Thanks to AISLE Security for the report, PoC, and suggsted fix (though - this fix goes in a slightly different direction.) + (backported from commit 683ee3badeebecbf4409b76d649ff43bd54e368b) - (cherry picked from commit 360bdc60fe1084061d4cc98fcdfbe55d9e2cb375) +commit d4b9700879 +Author: John Thacker +Date: Wed Sep 2 10:17:40 2026 -0400 - Co-authored-by: John Thacker + frame: Try to prevent a clobbering warning + + Under some unknown conditions GCC optimizes itself just right into a + clobbering warning in the frame dissector on certain versions of GCC + and Qt and in MRs that don't actually touch packet-frame. Mark a + variable as volatile to try to fix that. -commit 6d895fe9f3 + This is only needed directly on 4.4 because of the changes in + 5d3605b293038c9c28ee3c83829ed393aabaf901 + +commit 1fe015631b Author: John Thacker -Date: Sat Jul 25 07:28:58 2026 -0400 +Date: Tue Sep 1 20:41:25 2026 -0400 - EAX: Move a static struct onto the stack. + BT AVCTP: Check for overflow when reassembling - There's no need to use static storage for the decryption working space; No - state need be maintained across calls to Eax_Decrypt. Moving it to the stack - frees up a tiny amount of .bss but most importantly eliminates the risk of - concurrency issues. + Put a maximum size limit on the length of a reassembled PDU, similar to + BT AVRCP. - Tested using the capture attached to issue #5531. + Fix #21552. - (cherry picked from commit bb9bb86070f0e72456e19753ff94863921f94a90) + (cherry picked from commit 6a5382d1333aee1c15e8239200aa10db1575eac2) - Co-authored-by: Darius Davis + Co-authored-by: John Thacker -commit 7028cf20df +commit 9366180862 Author: John Thacker -Date: Fri Jul 24 09:46:16 2026 -0400 +Date: Sat Aug 29 16:45:42 2026 -0400 - k12: Don't try to write records larger than supported for writing + frame: Catch exception if there are too many comments - The Tektronix K12xx (.rf5) wiretap dumper can only write the k12 - encapsulation, but the reader can read files with records larger - than the dumper can write. Prevent writing past an allocated buffer - by refusing to write a too long record. + frame_add_comment adds comments to the frame tree. Since there can + be multiple comments, in the unusual case of enough comments to hit + the "too many items in the tree" safeguard, a DissectorError can + be thrown. Thus, that processing has to be under a TRY CATCH block + just as with dissection and postdissectors. - Also replace a few numeric literals with the appropriate #defines. + Fix #21525. Thanks to Mayank Jangid for the report and PoC. - Fix #21436 + (backported from commit 7cd3f07525f1a17d27f14196d62dbc9735f2feec) - Thanks to AISLE Security for the report, PoC, and suggested fix. +commit 803b73b83d +Author: Gerald Combs +Date: Sun Aug 30 10:18:42 2026 +0000 + + [Automatic update for 2026-08-30] - (backport from commit 08dde3f0ed385261d56270fe5289e029a666c6bf) + Update manuf, services, enterprise numbers, translations, and other items. -commit 02e8e31cb0 +commit 5ff55eb493 Author: John Thacker -Date: Fri Jul 24 12:08:37 2026 -0400 +Date: Sat Aug 29 17:09:56 2026 -0400 - Windows: Update to libgcrypt-1.12.2-3 package + RTPS: Use correct minimum length in RTPS_DATA_BATCH - For some reason the previous package doesn't seem to remember that - the library is already initialized, and ends up calling LoadLibraryEx - and FreeLibrary every single time a libgcrypt function is called. + RTPS_DATA_BATCH has a list of nested information, each of which + has its own flags and minimum length. There are two similarly + named minimum length variables; use the correct one on the inner + loop. - Fix #21337 + Fix #21521 - (backported from e699ab947839ac6fa5e6d1740dee4502557f5b6e) + (cherry picked from commit a3d7492c3d1d71de3e6184716c30050d49044942) -commit 32c63e1b62 + Co-authored-by: John Thacker + +commit 466d6856d7 Author: John Thacker -Date: Fri Jul 24 09:57:55 2026 -0400 +Date: Sat Aug 29 12:37:46 2026 -0400 + + sharkd: Use a wider int for intermediate value when resampling - wiretap: busmaster: Do not exit the program on a malformed file + Prevent overflow when the sampling rate changes dramatically from + the beginning. - Report a malformed header as a bad file and have that handled through - the normal wiretap error routines, instead of rudely exiting the - process. + This is the same fix as dd161ade12670c2b92105068527ae899a7e5afae but + in sharkd. - Fix #21435 + Fix #21545 - Thanks to AISLE Security and AISLE:Snapshot for the report, PoC and suggested - patch. + Thanks to Mayank Jangid for the report and PoC. - (cherry picked from commit 8e984f1f8360d90c5250c1a77b8754f3ce64890b) + (cherry picked from commit e999e30092c4e5e0c47521a8de614517455a3799) Co-authored-by: John Thacker -commit f95f229f4e +commit 505ffa313f Author: John Thacker -Date: Fri Jul 24 11:04:16 2026 -0400 +Date: Sat Aug 29 08:50:42 2026 -0400 - UMTS-FP: More bounds checking against subframes[] + epan: Avoid overflow calculating number of bytes required 7 bit encoding - (cherry picked from commit 5c5d3d53818a78db8f14ebc46c67b052b6542894) + Calculating the number of bytes required for a certain number of 7 bit + characters at a certain bit offset doesn't overflow in the result via + the natural method, but an intermediate result must be stored in a + larger type to avoid overflow. Alternatively, the number of characters + could be split into the quotient and remainder with 8 in order to divide + by 8 first; that is probably slower here on 64-bit architectures with + 32-bit inputs and output, but might be worth it on 32-bit architectures + or 64-bit inputs and outputs. - 16010858 UMTS-FP: More bounds checking against subframes[] + In the signed case, intermediate overflow of an initially positive + signed integer (as expected here) leads to a negative result; division + here would definitely leave it negative whereas the right bit shift is + implementation defined but probably also arithmetic and retains the + sign. This leads to handling as a negative number and in many case either + taking the rest of the tvb or throwing an exception, instead of wrapping + to a smaller number. Hence the same PoC that works on the current master + may not produce an error on released versions. (See #20103.) - Co-authored-by: Martin Mathieson + Fix #21549, #21550 -commit dbefcd3101 -Author: Pascal Quantin -Date: Thu Jul 23 17:47:35 2026 +0200 + (backported from commit 6a2b72e43d571cca589ef7712f0d4641a610c126) - NAS 5GS: add extraneous data check to UE security capability IE +commit f9101365f9 +Author: John Thacker +Date: Wed Aug 26 19:48:05 2026 -0400 - Fixes #21431 + dfilter: Don't re-use range-limited field values - (cherry picked from commit f2d3d9f070750d1a23b30b5ec231cedf62802a83) + We already had a test not to re-use existing registers with field + values for range-limited versions of the same hfinfo. Also do the + other side, and don't *store* the values of range-limited hfinfos + for possible re-use by other versions of the same hfinfo, range-limited + or not. - Co-authored-by: Pascal Quantin + Add some tests for this, and for the similar situation with raw + field queries. -commit e839c9e603 -Author: Pascal Quantin -Date: Thu Jul 23 17:07:01 2026 +0200 + We could also store the range-limits in the key of used hfinfos + so that we could re-use those registers, though that does seem like + a fair amount of work for a relatively rare optimization. - NAS 5GS: fix dissection of extended CAG information list IE + Thanks to AISLE Security for this report. This is not a security issue, + as it only causes the wrong filter results when using an unusual filter. - Fixes #21433 + (backported from commit a8c96d44a3642456d6524229f0f540d64e077632) - (cherry picked from commit ba4e7dfb1020673cca0bb497b68765caf9db0789) +commit 661d3320c2 +Author: John Thacker +Date: Sun Aug 2 10:47:51 2026 -0400 - Co-authored-by: Pascal Quantin + ERF: Don't further truncate truncated packets below 0 -commit 9427a5b378 -Author: Pascal Quantin -Date: Thu Jul 23 16:27:08 2026 +0200 + The ERF format requires that the actual captured length + present (including some ERF headers) be 64-bit aligned. + When a frame is already truncated below the reported wire + length, the ERF dumper has to truncate the frame further + instead of padding, because otherwise the padding would be + interpreted as the missing truncated bytes. If this would + make the length to be written go below zero, report an error + and refuse to write the record. - NAS 5GS: fix dissection of registration wait range IE + Fix #21466 - Fixes #21432 - - (cherry picked from commit 1ada3fc602388e1b8d37cfb008b0ac1278267c58) + Thanks to AISLE Security for the report, PoC, and proposed fix. - Co-authored-by: Pascal Quantin + (backported from commit 6393b5bd637ab336f07f3d8d6709cc8fc7d4c9f4) -commit 3eaf9083d3 +commit 29cb8db03e Author: John Thacker -Date: Wed Jul 22 09:09:09 2026 -0400 +Date: Wed Aug 26 09:46:39 2026 -0400 - Qt: QCustomPlot: Fix overflow in QCPItemTracer + toshiba: Make sure the OFFSET line is long enough - Converting a QRectF to a QRect can cause integer overflow, particularly - when the QRectF in question has just been radically shifted by a conversion - from relative times to absolute times. Qt 6.10 added a check for integer - overflow in QRect and other geometry classes: + Even if the first 16 bytes look correct, double-check and make + sure that the line is long enough to actually contain the LEN, + as opposed to reading it from stale data from the previous packet. - https://github.com/qt/qtbase/commit/1145e1709d1072f7dd45683e9c25a14615603854 + Tested with the Toshiba files attached to other issue (see + previous Toshiba commits.) - This causes non-UB wraparound Qt is not compiled in Debug mode, but - causes an Error which leads to Wireshark being aborted when compiled in - Debug mode. (The wraparound is still incorrect, but also the QRect - produced by wrapping around is unlikely to intersect, although it - could.) + Thanks to AISLE Security for the report. - Convert the clipRect to a QRectF before checking the intersection with - various QRectF, instead of converting the QRectFs to QRects in order to - avoid overflow. + Fix #21541 - Ping #21426 - - (cherry picked from commit 2f022fab2cc9523e1407ef7403eec61a873109a7) + (cherry picked from commit 9f54bc5a6b742446d03d4902734f55c07e1f75b4) Co-authored-by: John Thacker -commit e32702d6be +commit 4edcad5efe Author: John Thacker -Date: Tue Jul 21 20:10:39 2026 -0400 +Date: Wed Aug 26 09:45:20 2026 -0400 - Qt: Trim off extra attributes from Qt >= 6.11 QFont::toString + CSN.1: Check the length of RECURSIVE_ARRAYs - Qt 6.11 added two new attributes to the comma separated list produced - by QFont::toString(). Older versions have 17 attributes; now there are - 19. (Qt 5 also uses 17 attributes, although the weights numbers are - different.) + Similar to RECURSIVE_TARRAY, make sure we don't go past the length of + the appropriate data member. Otherwise it can write into the next + part of the same larger structure, or worse go outside the structure + memory entirely. - https://doc.qt.io/qt-6/qfont.html#toString - https://doc.qt.io/qt-6.10/qfont.html#toString + Fix #21510 - Strip extra attributes when running on Qt < 6.11, to avoid console - warnings like: + Thanks to Feng Xue for the report, PoC, and proposed fix. - [GUI WARNING] -- QFont::fromString: Invalid description - 'Consolas,9,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular,0,0'` + (cherry picked from commit 7379ffcb0f45d34336d354844e75b513743a9c40) - This can happen when using the same preferences on multiple versions of - Wireshark or on multiple computers, only some of which have Qt 6.11. + Co-authored-by: John Thacker - Fonts are managed in a different place in 4.6 and earlier, so this - commit is made directly to 4.6 +commit 150f4da46e +Author: John Thacker +Date: Tue Aug 25 20:41:23 2026 -0400 - (cherry picked from commit 1360624cc4b33603afee5b665c469791fd13e6aa) + dfvm: Fix an error message to avoid an out-of-bounds read - Co-authored-by: John Thacker + Fix the wrong index variable passed to debug_op_error. -commit f8edcd3db2 -Author: Pascal Quantin -Date: Tue Jul 21 23:37:26 2026 +0200 + In the unusual case of an arithmetic binary operation failing at runtime, + e.g. due to a divide-by-zero, and where the left-hand side has more + field values than the right hand side, this can cause an out-of-bounds + read when generating the debug message. (Even though the debug message + it at noisy level, the incorrect array value is accessed even when + debug statements are compiled out.) - DCT2000: fix buffer overflow when copying packet data + Add a test with a runtime divide by zero where the left side has more + field values than the right side. - Fixes #21427 + Fix #21540 - Thanks to Yazan Balawneh from CyStack Security Team for the report + (cherry picked from commit 373504f7c97813ac828e573ed76707205423647b) - (cherry picked from commit 46c813e7ad05316afdbb06c1ecb0cf82b7c1c000) + Co-authored-by: John Thacker + +commit fa10b0c343 +Author: John Thacker +Date: Tue Aug 25 08:00:31 2026 -0400 - Co-authored-by: Pascal Quantin + pkcs12: Add some checks in PBE_decrypt data -commit 40ab60fce7 -Author: Pascal Quantin -Date: Tue Jul 21 00:02:06 2026 +0200 + If the encryption algorithm is NULL (didn't parse or missing the ASN.1 + element entirely), fail. - BT ATT: check handle count when decoding Read Multiple Variable Response + If the length of the encrypted tvb is zero, fail. (wmem_alloc will + return NULL for the output buffer, and gcry_cipher_decrypt will + apparently succeed.) (This can happen with zero-length ASN.1 + OCTET STRINGs.) - Fixes #21424 + If the length of the salt_tvb is 0, fail in generate_key_or_iv. + (This can also happen with a zero-length OCTET STRING.) - Thanks to Yazan Balawneh from CyStack Security Team for the report + Fix #21535 - (cherry picked from commit 6e2dfd4f0bfc62a35b0d520e57165aee5b441d99) + Thanks to AISLE Research and Ibrahim AlJaafreh for independently + reporting. - Co-authored-by: Pascal Quantin + (backported from commit 6b535616b5f0b945be1f42da15702189c75e0872) -commit c1378c3314 +commit 322b8ff03c Author: John Thacker -Date: Sun Jul 19 21:50:17 2026 -0500 +Date: Sun Aug 23 09:27:41 2026 -0400 - reassemble: Put a max limit on add_seq() reassembly lengths + netmon: Normalize bad nanoseconds more quickly - The add_seq family of reassembly functions uses sequence ids within - the reassembly (instead of offsets, the way the TCP-like fragment_add - functions do). The total length is computed at the end. If that length - overflows, or otherwise goes beyond a maximum supported size - (INT32_MAX until #20103 is fully solved), stop copying. This prevents - allocating too short a buffer if the total length would overflow. + Integer division and remainder has been defined as rounding towards + zero since C99 (and C++11). Use a much faster approach for bogus + packets to prevent potentially billions of iterations. Also add some + other checked arithmetic. - Fix #21423 + Fix #21523 - Thanks to Daniel Birtwhistle for the report and POC. + Thanks to both AISLE Research and Mayank Jangid for independently reporting, + and for the PoC. - (backported from commit 9f68da57d360629eb7cee8d97d2f894b4858ce8f) + (backported from commit 5cc3a15d3dd960df6a31252584ab95340a00d99a) -commit a7c97b297d -Author: Pascal Quantin -Date: Sun Jul 19 23:14:17 2026 +0200 +commit 88574ad8f8 +Author: Gerald Combs +Date: Sun Aug 23 10:11:45 2026 +0000 + + [Automatic update for 2026-08-23] - C12.22: fix bound check in canonify_unencrypted_header() + Update manuf, services, enterprise numbers, translations, and other items. + +commit 6527cb12b7 +Author: John Thacker +Date: Fri Aug 21 18:25:03 2026 -0400 - Thanks to Aisle Security for reporting and PoC. + LoRaWAN: Don't store a padded length in a uint8_t - (cherry picked from commit 94a0319ec2d26b4d724dcafdacf6a7abc2ba2d57) + There's absolutely no good reason to store this value in a uint8_t + and let it possibly wrap. Move some of the allocation and tvb copying + into the static decryption function, so it can return false on + failure. - Co-authored-by: Pascal Quantin + Fix #21520 -commit d28eaacbad -Author: Pascal Quantin -Date: Sat Jul 18 13:27:31 2026 -0500 + Thanks to Trend Micro's Zero Day Initiative for the report and PoC. - RDP: fix bound checks + (cherry picked from commit 48463347d7e6fef175d6df34b6db17db1b865881) - Fixes #21396 + Co-authored-by: John Thacker - Thanks to Anthropic's Claude and Ada Logics for reporting and PoC. +commit e2f9595e3d +Author: John Thacker +Date: Thu Aug 20 21:31:22 2026 -0400 - (cherry picked from commit d50d557d84ddb546ca4a43f51034780e2493c409) + LBMC: Test for integer overflow - Conflicts: - epan/tvbuff_rdp.c + Test for integer overflow both in the new fragment and in the + accumulated length. The fragment reassembly does not seem to consider + that there might be bogus and/or overlapping fragments. -commit 68dfb30566 -Author: Gerald Combs -Date: Sun Jul 19 10:17:24 2026 +0000 + Make some things that should always be non-NULL in the static function + a DISSECTOR_ASSERT instead of returning. - [Automatic update for 2026-07-19] + Also, assign data_tvb in all path, including the error path, so it won't + be NULL when handed to the data dissector. - Update manuf, services, enterprise numbers, translations, and other items. + Fix #21519 -commit 4ef42a732c + Thanks to Trend Micro's Zero Day Initiative for the report and PoC. + + (backported from commit d6e8f0b2806f73779335ef4def5ca19227aa1e68) + +commit aa7372d11d Author: John Thacker -Date: Sat Jul 18 10:14:32 2026 -0400 +Date: Thu Aug 20 07:45:51 2026 -0400 - rlogin: Don't add invalid UTF-8 to a column + SPDY: Fix potential reassembly overflow - Instead of a fixed array buffer, allocate the string; since we bound - the length we're willing to read, this shouldn't cause any problems. - This also means we do sanitization and replacement of invalid characters - right away. + Also fix two places where the wrong TVB was sent to the media or + data dissector. - Fix #21419 + Note that the tvbuffer wrapper (not the data) leaks here, 64 bytes. + It could be possible to call a wmem callback, or to store the data + length and the data directly and create the tvbuffer on demand. + Long term we probably just want to use the reassembly API here + for various reasons. - (cherry picked from commit 7def9acc2c7f9db36662df1cd17b6d73ec91bae9) + It might make sense longrun to replace "tvb_new_real_data" with + something that takes a wmem_allocator_t, and forces developers to pass + NULL when they want one that won't be automatically freed. That might + discourage leaks. - Co-authored-by: John Thacker + Fix #21487. -commit 82c0b871be -Author: Anders Broman -Date: Wed Jul 15 07:26:55 2026 +0200 + Thanks to feng xue for reporting and for the PoC. - erf: Check that a time tag is long enough before copying + (cherry picked from commit eecf92ebc812d2414752f5608ad726422fff6b31) - This is a similar test used for other sorts of tags elsewhere - in the wiretap module for ERF. + Co-authored-by: John Thacker + +commit 09d825f1da +Author: John Thacker +Date: Wed Aug 19 10:09:18 2026 -0400 - Fix #21415 + DICOM: Make Export Objects fix 32-bit happy - Thanks to Jaime Cavero for the report and PoC. + ssize_t and unsigned int are the same rank on 32-bit and so can't be + compared. Also put some kind of sanity check on the max size rather + than using the theoretical max of SSIZE_MAX on 64-bit so that Coverity + won't complain. - (cherry picked from commit 4e030d2b1791de6bc84a60278ea730d3660fe6f5) + Fixup 17689584d70f15419d4ae9de53d57ceb60cdb351 + + (cherry picked from commit 0d40a2c7d7b71b27b8210edfd5874c65613e0cbb) Co-authored-by: John Thacker -commit 6f812cbb50 +commit b9fb012bf4 Author: John Thacker -Date: Tue Jul 14 00:47:45 2026 -0400 +Date: Mon Aug 17 09:51:57 2026 -0400 - K12: Fix a possible buffer overrun + DICOM: Avoid overflow in Export Objects - The k12 wiretap module's get_record() has always returned the length - read in the file, i.e., the offset advanced, not the length of the - record. These are distinct values because every 8192 bytes there are - 16 byte blobs that are thrown away. + Check for overflow. Also, increase the maximum size, as the Export + Objects code does work with a size_t. This is based on the actual + size of the data contained in the file and does not need to be + limited. (Overflowing a size_t might be possible on a 32-bit system, + so stop there. It's not really worth trying something clever to + write more than SIZE_MAX bytes even if we do have large file support.) - Starting at least with commit 74322911219429bc6e5a6b17a4bee2fa87e7df65 - 19.5 years ago, that return value was incorrectly treated as the record - length. This meant that the length of extra bytes in the record after - the frame length was calculated too large whenever the portion of the - file including the record included the blob. + Fix #21497 - Since the buffer is allocated with 8192 bytes originally, this generally - means copying uninitialized data, but with certain record lengths can - mean a buffer overrun. The buffer size was increased as necessary to - accommodate the actual payload, but this did not take into account the - 16 byte blob, and so any value within 16 bytes of 8192 or a power of 2 - multiplied by 8192 could produce this. + (cherry picked from commit 17689584d70f15419d4ae9de53d57ceb60cdb351) - To reduce the confusion, use a Buffer instead of a raw uint8_t array - with length, and use ws_buffer_length() to retrieve the length written - to the buffer, as separate from the offset advance. + Co-authored-by: John Thacker - Thanks to Jaime Cavero for the report and PoC. +commit 4f484b1815 +Author: Gerald Combs +Date: Sun Aug 16 10:16:24 2026 +0000 - Fix #21414 + [Automatic update for 2026-08-16] - (backported from commit c517aedc993f6f12f6768c9d6115efb0b956e5e3) + Update manuf, services, enterprise numbers, translations, and other items. -commit 5b56712fb9 +commit aeb82d6483 Author: John Thacker -Date: Sun Jul 12 14:56:47 2026 -0400 +Date: Sat Aug 15 14:33:30 2026 -0400 - sharkd: Make sure to deregister and free taps on failure + SCTP: Prevent overflow in reassembly - Move registering a single tap to a separate static function, - and on failure, make sure that all the registered taps are - removed and freed appropriately. + Fix #21481. - Fix #21395 + Thanks to Feng Xue for the Report and PoC. - Thanks to Anthropic's Claude and Ada Logics for reporting and PoC. + (cherry picked from commit fe9b9fe55ae040e1cf32931d8124d62f56655988) - (backported from commit 178939f126d5eeb442d96e10b0ea4c1cfc6920e9) + Co-authored-by: John Thacker -commit a03f38a12d +commit e26e6dba8b Author: Pascal Quantin -Date: Mon Jul 13 16:16:37 2026 +0200 +Date: Sat Aug 15 21:14:32 2026 +0200 - NAS 5GS: fix dissection of NSAG information + F1AP: NotificationInformation is both a normal IE and an extension - Fixes #21412 + Ref !11625 + Closes #21499 - (cherry picked from commit 8ef8e0fa782cea54570dda01ee25a36b24f03ae7) + (cherry picked from commit 875997963333c6a34485f8b68ba630f6bd8dd216) -commit e298ec78a0 -Author: Pascal Quantin -Date: Mon Jul 13 11:54:54 2026 +0200 + Co-authored-by: Anders Broman + +commit 57682ea521 +Author: John Thacker +Date: Thu Aug 13 20:19:37 2026 -0400 + + DICOM: Use a wmem_strbuf_t for appending - NAS 5GS: fix S-NSSAI location validity information dissection + To repeatedly append to a string, use a wmem_strbuf_t, which saves + a considerably amount of memory and processing time. This reduces + the peak memory usage according to massif from 5.3 GiB to 56.9 MiB + on the sample file. - Fixes #21411 + Fix #21498 - (cherry picked from commit c92cf203e28054944c55ad83f28557fa342ed955) + Thanks to Daniel Birtwhistle for the report and PoC. - Co-authored-by: Pascal Quantin + (cherry picked from commit 9126072c92be387da08eba5e623145e93e3d264f) + + Co-authored-by: John Thacker -commit 560ec98247 +commit 8415b3a8ca Author: John Thacker -Date: Sun Jul 12 17:22:32 2026 -0400 +Date: Wed Aug 12 21:16:29 2026 -0400 - sharkd: Make sure to deregister and already added IO Graphs on error + Synchrophasor: Don't allocate file scope memory for a transient array - Commit 647205177179a6e9ef6c08f08c33a2b405efffbc (pre-3.6.0) - made it so that bad I/O Graphs lines returned an error immediately - instead of being silently ignored. This meant that they were no - longer freed and deregistered. + The temporary arrays of phasor and analog data from the packet can be + pinfo->pool scoped, since their values are copied into the file scoped + memory array. Also call wmem_array_append and copy all of them at once; + this is not only more efficient, but it also reduces persistent memory + allocation in cases where some, but not all, of the phasors are present + in the packet and an exception is thrown so that the file scoped memory + would become oprhaned. - Fix #21399 + This avoids allocating nearly as much persistent memory, especially that + using a size read from packet data that may be larger than what's actually + in the packet. The pinfo->pool memory will be freed shortly upon an exception + in the packet, so we don't really need to check that the value is below a + reasonable maximum (it's a 16-bit quantity at most, which is fine so long + as it's pinfo->pool scoped). - Thanks to Anthropic's Claude and Ada Logics for reporting. + Fix #21492 - (cherry picked from commit d43d89d201b18f1c6d77460e52b4e6b5a4ec68f8) + Thanks to Liu Tianzhuo (刘天卓) for the report and PoC. - Co-authored-by: John Thacker + (backported from commit 42011d80e51432af44095e1ccf83839068e2808e) -commit 6716c765ef +commit fd4669d716 Author: Gerald Combs -Date: Sun Jul 12 10:16:19 2026 +0000 - - [Automatic update for 2026-07-12] +Date: Wed Aug 12 13:06:58 2026 -0700 - Update manuf, services, enterprise numbers, translations, and other items. + Docs: Minor release notes fixes -commit a15f6d0b5f +commit c90c5ae7ed Author: Gerald Combs -Date: Wed Jul 8 15:19:06 2026 -0700 +Date: Wed Aug 12 12:47:14 2026 -0700 - Version: 4.4.17 → 4.4.18 [skip ci] + Version: 4.4.18 → 4.4.19 [skip ci] diff -Nru wireshark-4.4.18/cmake/modules/FindMinizipng.cmake wireshark-4.4.19/cmake/modules/FindMinizipng.cmake --- wireshark-4.4.18/cmake/modules/FindMinizipng.cmake 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/cmake/modules/FindMinizipng.cmake 2026-09-23 17:33:48.000000000 +0000 @@ -76,10 +76,7 @@ list(APPEND MINIZIPNG_LIBRARIES ${ZSTD_LIBRARY}) if(WIN32) - find_library(Bcrypt_LIBRARY - NAMES - Bcrypt - ) + set(Bcrypt_LIBRARY bcrypt) list(APPEND MINIZIPNG_LIBRARIES ${Bcrypt_LIBRARY}) endif() diff -Nru wireshark-4.4.18/debian/changelog wireshark-4.4.19/debian/changelog --- wireshark-4.4.18/debian/changelog 2026-08-23 15:34:57.000000000 +0000 +++ wireshark-4.4.19/debian/changelog 2026-10-02 13:45:05.000000000 +0000 @@ -1,3 +1,26 @@ +wireshark (4.4.19-0+deb13u1) trixie-security; urgency=medium + + * Team upload. + * New upstream version 4.4.19 (Closes: #1149644) + - CVE-2026-95387: SPDY dissector crash, allows DoS + - CVE-2026-95388: Crash in sharkd, allows DoS + - CVE-2026-95389: SCTP dissector crash, allows DoS + - CVE-2026-95392: MBIM dissector crash, allows DoS + - CVE-2026-95393: CSN.1 dissector crash, allows DoS + - CVE-2026-95394: MNM parser large loop, allows DoS + - CVE-2026-95395: IEEE C37.118 dissector memory leak, allows DoS + - CVE-2026-96415: Catapult DCT2000 dissector crash, allows DoS + - CVE-2026-96416: IEEE 802.11 dissector crash, allows DoS + - CVE-2026-96417: RF4CE dissector crash, allows DoS + - CVE-2026-96418: TIFF dissector infinite loop, allows DoS + - CVE-2026-96419: Profile import crash, possible code execution + - CVE-2026-96420: Toshiba parser crash, allows DoS + - CVE-2026-96421: USB HID dissector memory leak, allows DoS + - CVE-2026-96422: Frame metadissector crash, allows DoS + - CVE-2026-96423: X11 dissector crash, allows DoS + + -- Matheus Polkorny Fri, 02 Oct 2026 10:45:05 -0300 + wireshark (4.4.18-0+deb13u1) trixie-security; urgency=medium * Team upload. diff -Nru wireshark-4.4.18/doc/attributes.adoc wireshark-4.4.19/doc/attributes.adoc --- wireshark-4.4.18/doc/attributes.adoc 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/doc/attributes.adoc 2026-09-23 17:33:48.000000000 +0000 @@ -1,6 +1,6 @@ // Common attributes -:wireshark-version: 4.4.18 +:wireshark-version: 4.4.19 :logray-version: 0.9.0 // Required for btn, kbd:, and menu: macros. diff -Nru wireshark-4.4.18/doc/release-notes.adoc wireshark-4.4.19/doc/release-notes.adoc --- wireshark-4.4.18/doc/release-notes.adoc 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/doc/release-notes.adoc 2026-09-23 17:33:48.000000000 +0000 @@ -27,298 +27,414 @@ The following vulnerabilities have been fixed: +* wssalink:2026-93[] {notable} +SCTP protocol dissector crash. +wsbuglink:21481[]. +cveidlink:2026-95389[]. +// Fixed in master: fe9b9fe55a +// Fixed in release-4.6: 8428d84d1a +// Fixed in release-4.4: aeb82d6483 +// CVSS AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H +// CWE-122 +// Credit: Security research assessment of Wireshark internals (Feng Xue) +// * SCTP Fragment Reassembly integer overflow in fragment_reassembly() leads to heap buffer overflow. wsbuglink:21481[]. + +* wssalink:2026-96[] {notable} +IEEE C37.118 Synchrophasor protocol dissector memory leak. +wsbuglink:21492[]. +cveidlink:2026-95395[]. +// Fixed in master: 42011d80e5 +// Fixed in release-4.6: 148bda7a53 +// Fixed in release-4.4: 8415b3a8ca +// CVSS AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H +// CWE-401 +// Credit: Liu Tianzhuo (刘天卓) +// * Wireshark SYNCHROPHASOR CFG3 frame parser memory exhaustion. wsbuglink:21492[]. + +* wssalink:2026-97[] {notable} +SPDY protocol dissector crash. +wsbuglink:21487[]. +cveidlink:2026-95387[]. +// Fixed in master: eecf92ebc8 +// Fixed in release-4.6: 41d743897e +// Fixed in release-4.4: aa7372d11d +// CVSS AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H +// CWE-122 +// Credit: Security research assessment of Wireshark internals (Feng Xue) +// * SPDY Data Frame Reassembly Integer Overflow. wsbuglink:21487[]. + +* wssalink:2026-98[] {notable} +Microsoft Network Monitor file parser large loop. +wsbuglink:21523[]. +cveidlink:2026-95394[]. +// Fixed in master: 5cc3a15d3d +// Fixed in release-4.6: 89bdc94130 +// Fixed in release-4.4: 322b8ff03c +// CVSS AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H +// CWE-606 +// Credit: Mayank Jangid (OpenSec Intelligence) +// * NetMon 2.x timestamp normalization permits CPU denial of service from a small capture file. wsbuglink:21523[]. + +* wssalink:2026-99[] {notable} +CSN.1 protocol dissector crash. +wsbuglink:21510[]. +cveidlink:2026-95393[]. +// Fixed in master: 7379ffcb0f +// Fixed in release-4.6: dc02523edb +// Fixed in release-4.4: 4edcad5efe +// CVSS AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H +// CWE-122 +// Credit: Security research assessment of Wireshark internals (Feng Xue) +// * Heap buffer overflow (WRITE) in CSN.1 dissector. wsbuglink:21510[]. + +* wssalink:2026-100[] {notable} +MBIM protocol dissector crash. +wsbuglink:21549, wsbuglink:21550[]. +cveidlink:2026-95392[]. +// Fixed in master: 6a2b72e43d +// Fixed in release-4.6: 2e9a516902 +// Fixed in release-4.4: 505ffa313f +// CVSS AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H +// CWE-126 +// Credit: Mayank Jangid (OpenSec Intelligence) +// * MBIM ASCII/IA5 7-bit character-count wrap causes invalid read and full-tree process termination. wsbuglink:21550[]. + +* wssalink:2026-101[] {notable} +Sharkd utility crash. +wsbuglink:21545[]. +cveidlink:2026-95388[]. +// Fixed in master: e999e30092 +// Fixed in release-4.6: 842203fb89 +// Fixed in release-4.4: 466d6856d7 +// CVSS AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H +// CWE-122 +// Credit: Mayank Jangid (OpenSec Intelligence) +// * Sharkd RTP resampler output-size wrap causes undersized-buffer write. wsbuglink:21545[]. + +* wssalink:2026-102[] {notable} +Frame protocol metadissector crash. +wsbuglink:21525[]. +cveidlink:2026-96422[]. +// Fixed in master: 7cd3f07525 +// Fixed in release-4.6: 66fa0aecbd +// Fixed in release-4.4: 9366180862 +// CVSS AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H +// CWE-617 +// Credit: Mayank Jangid (OpenSec Intelligence) +// * pcapng packet comments can abort TShark while building a protocol tree. wsbuglink:21525[]. + +* wssalink:2026-103[] {notable} +USB HID protocol dissector infinite loop and memory leak. +wsbuglink:21566[]. +cveidlink:2026-96421[]. +// Fixed in master: 857d9b98e9 +// Fixed in release-4.6: f32cebcbc3 +// Fixed in release-4.4: 86777d8d73 +// CVSS AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H +// CWE-1325 +// Credit: Claude and Ada Logics +// * USB HID: extended Usage Maximum `0xFFFFFFFF` wraps the usage-range loop at UINT32_MAX → infinite loop + unbounded allocation (bypasses the wnpa-sec-2026-05 cap) wsbuglink:21566[]. + +* wssalink:2026-104[] {notable} +RF4CE protocol dissector crash. +wsbuglink:21574[]. +cveidlink:2026-96417[]. +// Fixed in master: ca63025d79, 84a95a3468 +// Fixed in release-4.6: 91fe6e507c, 0fe8d00e93 +// Fixed in release-4.4: b2d359a23f, b86acf4a2a +// CVSS AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H +// CWE-122 +// Credit: Trend Micro's Zero Day Initiative +// * ZDI-CAN-31780: RF4CE Packet Parsing Buffer Overflow. wsbuglink:21574[]. + +* wssalink:2026-105[] {notable} +Toshiba file parser crash. +wsbuglink:21541[]. +cveidlink:2026-xxx[]. +// Fixed in master: 9f54bc5a6b +// Fixed in release-4.6: 211d9e27b8 +// Fixed in release-4.4: 29cb8db03e +// CVSS AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H +// CWE-126 +// Credit: Aisle Research (Dmitrijs Trizna, Luigino Camastra, Ze Sheng (O2Lab & TAMU), Igor Morgenstern) +// * Malformed Toshiba OFFSET line can make parser read stale stack memory. wsbuglink:21541[]. + +* wssalink:2026-106[] {notable} +Profile import crash and possible code execution. +// followup to wnpa-sec-2026-21 / CVE-2026-5656 +wsbuglink:21553[]. +cveidlink:2026-96419[]. +// Fixed in master: 683ee3bade +// Fixed in release-4.6: 1fce266d26 +// Fixed in release-4.4: e93748b2f3 +// CVSS AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H +// CWE-22 +// Credit: 경배 지 +// * Incomplete fix for CVE-2026-5656: Windows patch bypass via #ifndef _WIN32 guard in WiresharkZipHelper::unzip() wsbuglink:21553[]. + +* wssalink:2026-107[] {notable} +TIFF protocol dissector infinite loop. +wsbuglink:21565[]. +cveidlink:2026-96418[]. +// Fixed in master: c4b49facbe +// Fixed in release-4.6: 22ac3622e7 +// Fixed in release-4.4: a895b968f6 +// CVSS AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H +// CWE-835 +// Credit: Claude and Ada Logics +// * TIFF dissector: IFD chain has no cycle detection, so a self-referential IFD makes the dissector loop forever (infinite loop, DoS) wsbuglink:21565[]. + +* wssalink:2026-108[] {notable} +X11 protocol dissector crash. +wsbuglink:21563[]. +cveidlink:2026-96423[]. +// Fixed in master: 8d3ad0ad22 +// Fixed in release-4.6: 6029ac4693 +// Fixed in release-4.4: ec16a28a99 +// CVSS AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H +// CWE-122 +// Credit: Claude and Ada Logics +// * X11 dissector: out-of-bounds heap read from a stale keysyms-per-keycode width in `keycode2keysymString()` wsbuglink:21563[]. + +* wssalink:2026-109[] {notable} +IEEE 802.11 protocol dissector crash. +wsbuglink:21564[]. +cveidlink:2026-96416[]. +// Fixed in master: 6971deb86e +// Fixed in release-4.6: 147d2ca4b1 +// Fixed in release-4.4: 13e2d35799 +// CVSS AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H +// CWE-122 +// Credit: Claude and Ada Logics +// * 802.11 FT MIC check: length desync between two FTE elements passes a negative length to `gcry_mac_write()`, causing a huge out-of-bounds read. wsbuglink:21564[]. + +* wssalink:2026-110[] {notable} +Catapult DCT2000 protocol dissector crash. +wsbuglink:21589[]. +cveidlink:2026-96415[]. +// Fixed in master: 63e9d5ba58 +// Fixed in release-4.6: 2f80bfe200 +// Fixed in release-4.4: 741ce07db7 +// CVSS AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H +// CWE-121 +// Credit: Claude and Ada Logics +// * Catapult DCT2000 NR-UP padding loop writes past a 200-byte static buffer. wsbuglink:21589[]. + +// * wssalink:2026-111[] {notable} +// Foo protocol dissector {crash,infinite loop,memory leak}. +// wsbuglink:xxx[]. +// cveidlink:2026-xxx[]. +// Fixed in master: xxx +// Fixed in release-4.6: xxx +// Fixed in release-4.4: xxx +// CVSS AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H +// CWE-??? +// Credit: + +The following bugs have been fixed: + +//* wsbuglink:5000[] +//* wsbuglink:6000[Wireshark bug] +//* cveidlink:2014-2486[] +//* Wireshark took a bite out of each of your freshly baked muffins until it found the perfect one. {notable} + +* Fuzz job issue: fuzz-2026-06-24-15017166049.pcap. wsbuglink:21372[]. +* ERF writer underflows payload length for tiny truncated packets. wsbuglink:21466[]. +* DICOM Export Objects uint32 length wrap causes undersized allocation and heap overwrite. wsbuglink:21497[]. +* DICOM AT value formatting has quadratic packet-scope memory amplification. wsbuglink:21498[]. +* F1AP: NotificationInformation IE under PWSSystemInformation.iE-Extensions not decoded in WriteReplaceWarningRequest. wsbuglink:21499[]. +* ZDI-CAN-32846: Wireshark LBMC Fragment Reassembly Integer Overflow Remote Code Execution Vulnerability. wsbuglink:21519[]. +* ZDI-CAN-32851: Wireshark LoRaWAN Decryption Numeric Truncation Error Remote Code Execution Vulnerability. wsbuglink:21520[]. +* RTPS: dissect_RTPS_DATA_BATCH() sample-info minimum-length check increments the wrong variable (min_len instead of min_length) wsbuglink:21521[]. +* NULL-pointer dereference in pkcs12 PBE_decrypt_data via empty AlgorithmIdentifier. wsbuglink:21535[]. +* Out-of-bounds read in DFVM binary-operation error path. wsbuglink:21540[]. +* Bluetooth AVCTP multipart reassembly integer overflow (incomplete AVRCP ckd_add sibling fix) wsbuglink:21552[]. +* Fuzz job UTF-8 encoding issue: fuzz-2026-09-06-16330342486.pcap. wsbuglink:21562[]. +* ZDI-CAN-31676: Wireshark SMB Object Export Integer Overflow. wsbuglink:21575[]. +* Heap out-of-bounds read in FP Hint E-DCH DDI count handling. wsbuglink:21580[]. +* F1AP fails to decode RRC release message. wsbuglink:21581[]. +* Stack-based buffer overflow in etwdump extcap (etw_ndiscap.c) when parsing crafted ETL files. wsbuglink:21587[]. + + +// == Known Bugs + +=== New and Updated Features + +// * The Windows installers now ship with Qt 6.7.3. +// They previously shipped with Qt 6.5.3. + +// === Removed Features and Support + +// === Removed Dissectors + +=== New Protocol Support + +There are no new protocols in this release. + +=== Updated Protocol Support + +// Add one protocol per line between the -- delimiters. +// rg -A1 '(define PSNAME|proto_register_protocol[^_])' $(git diff --name-only v4.4.18.. | rg packet- | sort -u) +[commaize] +-- +BT AVCTP +Catapult DCT2000 +CSN.1 +DICOM +F1AP +FP Hint +Frame +IEEE 802.11 +LBMC +LoRaWAN +NBAP +OBEX +OpenFlow 1.3 +OpenFlow 1.4 +OpenFlow 1.5 +PKCS12 +RTPS +SMB +SPDY +SYNCHROPHASOR +TPM2.0 +UMTS FP +X11 +Zebra +-- + +=== New and Updated Capture File Support + +// There is no new or updated capture file support in this release. +// Add one file type per line between the -- delimiters. +[commaize] +-- +ERF +Network Monitor +Toshiba +-- + +=== New and Updated File Format Decoding Support + +There is no updated file format support in this release. +// Add one file type per line between the -- delimiters. +// [commaize] +// -- +// -- + +// === New and Updated Capture Interfaces support + +// === New and Updated Codec support + +// === Major API Changes + +== Prior Versions + +Wireshark 4.4.18 included the following changes. +See the +https://www.wireshark.org/docs/relnotes/wireshark-4.4.18.html[release notes] +for details: + * wssalink:2026-64[] sharkd crash. wsbuglink:21395[]. -// cveidlink:2026-xxx[]. -// Fixed in master: 178939f126 -// Fixed in release-4.6: 51d0eea79f -// Fixed in release-4.4: 5b56712fb9 -// CVSS AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:L -// CWE-825 -// Credit: Claude and Ada Logics * wssalink:2026-65[] sharkd crash. wsbuglink:21399[]. -// cveidlink:2026-xxx[]. -// Fixed in master: d43d89d201 -// Fixed in release-4.6: c40bdd55da -// Fixed in release-4.4: 560ec98247 -// CVSS AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:L -// CWE-825 -// Credit: Claude and Ada Logics -* wssalink:2026-66[] {notable} +* wssalink:2026-66[] UMTS FP protocol dissector crash. wsbuglink:21413[]. -// cveidlink:2026-xxx[]. -// Fixed in master: 5c5d3d5381 -// Fixed in release-4.6: 67b2d8b865 -// Fixed in release-4.4: f95f229f4e -// CVSS AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H -// CWE-122 -// Credit: Jaime Cavero -* wssalink:2026-67[] {notable} +* wssalink:2026-67[] RDP protocol dissector crash. wsbuglink:21396[]. -// cveidlink:2026-xxx[]. -// Fixed in master: d50d557d84 -// Fixed in release-4.6: 26edba6065 -// Fixed in release-4.4: d28eaacbad -// CVSS AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H -// CWE-122 -// Credit: Claude and Ada Logics -* wssalink:2026-69[] {notable} +* wssalink:2026-69[] Dissection engine reassembly crash. wsbuglink:21423[]. -// cveidlink:2026-xxx[]. -// Fixed in master: 9f68da57d3 -// Fixed in release-4.6: 1df97a20fb -// Fixed in release-4.4: c1378c3314 -// CVSS AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H -// CWE-122 -// Credit: Daniel Birtwhistle -* wssalink:2026-70[] {notable} +* wssalink:2026-70[] BUSMASTER file parser abnormal exit. wsbuglink:21435[]. -// cveidlink:2026-xxx[]. -// Fixed in master: 8e984f1f83 -// Fixed in release-4.6: 6aba0a890f -// Fixed in release-4.4: 32c63e1b62 -// CVSS AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H -// CWE-703 -// Credit: Aisle Research (Dmitrijs Trizna, Luigino Camastra, Ze Sheng (O2Lab & TAMU), Igor Morgenstern) -* wssalink:2026-71[] {notable} +* wssalink:2026-71[] Tektronix K12xx file parser crash. wsbuglink:21414[]. -// cveidlink:2026-xxx[]. -// Fixed in master: c517aedc99 -// Fixed in release-4.6: 349750c199a -// Fixed in release-4.4: 6f812cbb50 -// CVSS AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H -// CWE-126 -// Credit: Jaime Cavero -* wssalink:2026-72[] {notable} +* wssalink:2026-72[] ERF file parser crash. wsbuglink:21415[]. -// cveidlink:2026-xxx[]. -// Fixed in master: 4e030d2b17 -// Fixed in release-4.6: b8a7c24b534 -// Fixed in release-4.4: 82c0b871be -// CVSS AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H -// CWE-126 -// Credit: Jaime Cavero -* wssalink:2026-73[] {notable} +* wssalink:2026-73[] Bluetooth Attribute Protocol dissector crash. wsbuglink:21424[]. -// cveidlink:2026-xxx[]. -// Fixed in master: 6e2dfd4f0b -// Fixed in release-4.6: dec594457c7 -// Fixed in release-4.4: 40ab60fce7 -// CVSS AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H -// CWE-125 -// Credit: Yazan Balawneh - CyStack Security Team -* wssalink:2026-74[] {notable} +* wssalink:2026-74[] Catapult DCT2000 file parser crash. wsbuglink:21427[]. -// cveidlink:2026-xxx[]. -// Fixed in master: 46c813e7ad -// Fixed in release-4.6: c91e5e16339 -// Fixed in release-4.4: f8edcd3db2 -// CVSS AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H -// CWE-122 -// Credit: Yazan Balawneh - CyStack Security Team -* wssalink:2026-75[] {notable} +* wssalink:2026-75[] C12.22 protocol dissector crash. wsbuglink:21439[]. -// cveidlink:2026-xxx[]. -// Fixed in master: 360bdc60fe -// Fixed in release-4.6: 2a7ea46648f -// Fixed in release-4.4: d53b33eabd -// CVSS AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H -// CWE-122 -// Credit: Aisle Research (Dmitrijs Trizna, Luigino Camastra, Ze Sheng (O2Lab & TAMU), Igor Morgenstern) -* wssalink:2026-76[] {notable} +* wssalink:2026-76[] CMS protocol dissector crash. wsbuglink:21446[]. -// cveidlink:2026-xxx[]. -// Fixed in master: ​​02dd1e7af0 -// Fixed in release-4.6: ​​fdcae73419f -// Fixed in release-4.4: 920cb47359 -// CVSS AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H -// CWE-476 -// Credit: Aisle Research (Dmitrijs Trizna, Luigino Camastra, Ze Sheng (O2Lab & TAMU), Igor Morgenstern) -* wssalink:2026-77[] {notable} -H.245 protocol dissector {crash,infinite loop,memory leak}. +* wssalink:2026-77[] +H.245 protocol dissector crash. wsbuglink:21447[]. -// cveidlink:2026-xxx[]. -// Fixed in master: 86df5f3b40 -// Fixed in release-4.6: 73467571b0e -// Fixed in release-4.4: de13f9ff4c -// CVSS AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H -// CWE-476 -// Credit: Aisle Research (Dmitrijs Trizna, Luigino Camastra, Ze Sheng (O2Lab & TAMU), Igor Morgenstern) -* wssalink:2026-78[] {notable} +* wssalink:2026-78[] Kerberos protocol dissector crash. wsbuglink:21449[]. -// cveidlink:2026-xxx[]. -// Fixed in master: 78d67418e8 -// Fixed in release-4.6: 848f415af2b -// Fixed in release-4.4: a1d6efed38 -// CVSS AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H -// CWE-125 -// Credit: Aisle Research (Dmitrijs Trizna, Luigino Camastra, Ze Sheng (O2Lab & TAMU), Igor Morgenstern) -* wssalink:2026-79[] {notable} +* wssalink:2026-79[] Bluetooth HFP Profile protocol dissector crash. wsbuglink:21451[]. -// cveidlink:2026-xxx[]. -// Fixed in master: fc4171f4dd -// Fixed in release-4.6: 068d179d5f6 -// Fixed in release-4.4: a1cc189664 -// CVSS AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H -// CWE-125 -// Credit: Aisle Research (Dmitrijs Trizna, Luigino Camastra, Ze Sheng (O2Lab & TAMU), Igor Morgenstern) -* wssalink:2026-80[] {notable} +* wssalink:2026-80[] Bluetooth BR/EDR FHS protocol dissector crash. wsbuglink:21452[]. -// cveidlink:2026-xxx[]. -// Fixed in master: 0e191266dd -// Fixed in release-4.6: 907c6ab2200 -// Fixed in release-4.4: 5520cc92a8 -// CVSS AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H -// CWE-476 -// Credit: Aisle Research (Dmitrijs Trizna, Luigino Camastra, Ze Sheng (O2Lab & TAMU), Igor Morgenstern) -* wssalink:2026-81[] {notable} +* wssalink:2026-81[] 3gpp phone log file parser crash. wsbuglink:21454[]. -// cveidlink:2026-xxx[]. -// Fixed in master: c5f900e922 -// Fixed in release-4.6: f41e4d1ecfa -// Fixed in release-4.4: 5119ed263f -// CVSS AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H -// CWE-787 -// Credit: Aisle Research (Dmitrijs Trizna, Luigino Camastra, Ze Sheng (O2Lab & TAMU), Igor Morgenstern) -* wssalink:2026-83[] {notable} +* wssalink:2026-83[] CMS protocol dissector crash. wsbuglink:21457[], wsbuglink:21458[]. -// cveidlink:2026-xxx[]. -// Fixed in master: 70b341567a -// Fixed in release-4.6: e6320512dc3 -// Fixed in release-4.4: da9204174b -// CVSS AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H -// CWE-416 -// Credit: Aisle Research (Dmitrijs Trizna, Luigino Camastra, Ze Sheng (O2Lab & TAMU), Igor Morgenstern) -* wssalink:2026-84[] {notable} +* wssalink:2026-84[] Pcapng file parser crash. wsbuglink:21460[]. -// cveidlink:2026-xxx[]. -// Fixed in master: c72babdb03 -// Fixed in release-4.6: 8a3cbd7b91f -// Fixed in release-4.4: 930f2f39c4 -// CVSS AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H -// CWE-125 -// Credit: Aisle Research (Dmitrijs Trizna, Luigino Camastra, Ze Sheng (O2Lab & TAMU), Igor Morgenstern) -* wssalink:2026-85[] {notable} +* wssalink:2026-85[] SSH protocol dissector crash. wsbuglink:21465[]. -// cveidlink:2026-xxx[]. -// Fixed in master: 3f38ce6c37 -// Fixed in release-4.6: ccd12dd4920 -// Fixed in release-4.4: 04dc6b2af4 -// CVSS AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H -// CWE-122 -// Credit: BreachX Zero Day Labs -* wssalink:2026-86[] {notable} +* wssalink:2026-86[] ESS protocol dissector crash. wsbuglink:21467[]. -// cveidlink:2026-xxx[]. -// Fixed in master: affa11c625 -// Fixed in release-4.6: d77dcfd071a -// Fixed in release-4.4: ed1294055c -// CVSS AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L -// CWE-457 -// Credit: Aisle Research (Dmitrijs Trizna, Luigino Camastra, Ze Sheng (O2Lab & TAMU), Igor Morgenstern) -* wssalink:2026-87[] {notable} +* wssalink:2026-87[] X.509IF protocol dissector crash. wsbuglink:21469[]. cveidlink:2026-xxx[]. -// Fixed in master: 340b45bcb2 -// Fixed in release-4.6: 179c1d24c03 -// Fixed in release-4.4: ff9f1bc138 -// CVSS AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H -// CWE-476 -// Credit: Aisle Research (Dmitrijs Trizna, Luigino Camastra, Ze Sheng (O2Lab & TAMU), Igor Morgenstern) -* wssalink:2026-88[] {notable} +* wssalink:2026-88[] RRC protocol dissector crash. wsbuglink:21478[]. -// cveidlink:2026-xxx[]. -// Fixed in master: a44c8dc01c -// Fixed in release-4.6: a29767a9e89 -// Fixed in release-4.4: 32ecb4ce4e -// CVSS AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H -// CWE-787 -// Credit: Aisle Research (Dmitrijs Trizna, Luigino Camastra, Ze Sheng (O2Lab & TAMU), Igor Morgenstern) -* wssalink:2026-89[] {notable} +* wssalink:2026-89[] C12.22 protocol dissector crash. wsbuglink:21480[]. -// cveidlink:2026-xxx[]. -// Fixed in master: 94a0319ec2 -// Fixed in release-4.6: 71528302b11 -// Fixed in release-4.4: a7c97b297d -// CVSS AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H -// CWE-121 -// Credit: Aisle Research (Dmitrijs Trizna, Luigino Camastra, Ze Sheng (O2Lab & TAMU), Igor Morgenstern) -* wssalink:2026-91[] {notable} +* wssalink:2026-91[] Bluetooth AVRCP Profile protocol dissector crash. wsbuglink:21488[]. -// cveidlink:2026-xxx[]. -// Fixed in master: 1b59980832 -// Fixed in release-4.6: b302764efd2 -// Fixed in release-4.4: 539e5ba4c6 -// CVSS AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H -// CWE-122 -// Credit: Feng Xue - - -// * wssalink:2026-92[] {notable} -// Foo dissector {crash,infinite loop,memory leak}. -// wsbuglink:xxx[]. -// cveidlink:2026-xxx[]. -// Fixed in master: xxx -// Fixed in release-4.6: xxx -// Fixed in release-4.4: xxx -// CVSS AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H -// CWE-824 - -The following bugs have been fixed: - -//* wsbuglink:5000[] -//* wsbuglink:6000[Wireshark bug] -//* cveidlink:2014-2486[] -//* Wireshark took a bite out of each of your freshly baked muffins until it found the perfect one. {notable} * Wireshark Version 4.6.6 - File Capture Properties is excessively slow and hangs Wireshark on Windows. wsbuglink:21337[]. * Wireshark misdecodes S-NSSAI location validity information IE (5G NAS) wsbuglink:21411[]. @@ -338,121 +454,51 @@ * Wireshark misdecodes SOR-CMCI of SOR transparent container IE (5G NAS) wsbuglink:21477[]. * Wireshark misdecodes Service level AA container (5GSM NAS) wsbuglink:21479[]. -// == Known Bugs - -=== New and Updated Features - -// * The Windows installers now ship with Qt 6.7.3. -// They previously shipped with Qt 6.5.3. - -// === Removed Features and Support - -// === Removed Dissectors - -=== New Protocol Support - -There are no new protocols in this release. - -=== Updated Protocol Support - -// Add one protocol per line between the -- delimiters. -// rg -A1 '(define PSNAME|proto_register_protocol[^_])' $(git diff --name-only v4.4.18.. | rg packet- | sort -u) -[commaize] --- -BT ATT -BT AVRCP -BT BR/EDR RF -BT HFP -C12.22 -CMS -ESS -FP -H.245 -Kerberos -Rlogin -SSH -X.509AF -X.509IF --- - -=== New and Updated Capture File Support - -// There is no new or updated capture file support in this release. -// Add one file type per line between the -- delimiters. -[commaize] --- -3gpp phone log -Busmaster -Catapult DCT2000 -Daintree SNA -Endace ERF -pcapng -RTPDump -Sniffer -Tektronix K12xx --- - -=== New and Updated File Format Decoding Support - -There is no updated file format support in this release. -// Add one file type per line between the -- delimiters. -// [commaize] -// -- -// -- - -// === New and Updated Capture Interfaces support - -// === New and Updated Codec support - -// === Major API Changes - -== Prior Versions - Wireshark 4.4.17 included the following changes. See the https://www.wireshark.org/docs/relnotes/wireshark-4.4.17.html[release notes] for details: -* wssalink:2026-52[] {notable} +* wssalink:2026-52[] Catapult DCT2000 protocol dissector crash. wsbuglink:21270[]. -* wssalink:2026-54[] {notable} +* wssalink:2026-54[] FMP/NOTIFY protocol dissector large loop. wsbuglink:21347[]. -* wssalink:2026-55[] {notable} +* wssalink:2026-55[] SSH protocol dissector crash. wsbuglink:21378[]. -* wssalink:2026-57[] {notable} +* wssalink:2026-57[] IEEE 802.11 protocol dissector crash. wsbuglink:21391[]. -* wssalink:2026-58[] {notable} +* wssalink:2026-58[] Z39.50 protocol dissector crash. wsbuglink:21397[]. -* wssalink:2026-59[] {notable} +* wssalink:2026-59[] UMTS FP protocol dissector crash. wsbuglink:21398[]. -* wssalink:2026-60[] {notable} +* wssalink:2026-60[] BLF file parser information disclosure. wsbuglink:21361[]. -* wssalink:2026-61[] {notable} +* wssalink:2026-61[] Multiple protocol dissector infinite loops. wsbuglink:21275[], wsbuglink:21277[], wsbuglink:21330[], wsbuglink:21383[]. -* wssalink:2026-62[] {notable} +* wssalink:2026-62[] DBS Etherwatch file parser crash. wsbuglink:21352[]. -* wssalink:2026-63[] {notable} +* wssalink:2026-63[] Ciscodump extcap crash. wsbuglink:21375[]. @@ -880,7 +926,7 @@ for details: * wssalink:2025-01[] -Bundle Protocol and CBOR dissector {crash,infinite loop,memory leak}. +Bundle Protocol and CBOR dissector crash. wsbuglink:20373[]. * Crash when sorting columns during capture with display filter active. wsbuglink:20263[]. diff -Nru wireshark-4.4.18/doc/wsug_src/capinfos-h.txt wireshark-4.4.19/doc/wsug_src/capinfos-h.txt --- wireshark-4.4.18/doc/wsug_src/capinfos-h.txt 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/doc/wsug_src/capinfos-h.txt 2026-09-23 17:33:48.000000000 +0000 @@ -1,4 +1,4 @@ -Capinfos (Wireshark) 4.4.18 (v4.4.18rc0-0-ga15f6d0b5f5a) +Capinfos (Wireshark) 4.4.19 (v4.4.19rc0-5-gaeb82d6483db) Print various information (infos) about capture files. See https://www.wireshark.org for more information. diff -Nru wireshark-4.4.18/doc/wsug_src/dumpcap-h.txt wireshark-4.4.19/doc/wsug_src/dumpcap-h.txt --- wireshark-4.4.18/doc/wsug_src/dumpcap-h.txt 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/doc/wsug_src/dumpcap-h.txt 2026-09-23 17:33:48.000000000 +0000 @@ -1,4 +1,4 @@ -Dumpcap (Wireshark) 4.4.18 (v4.4.18rc0-0-ga15f6d0b5f5a) +Dumpcap (Wireshark) 4.4.19 (v4.4.19rc0-5-gaeb82d6483db) Capture network packets and dump them into a pcapng or pcap file. See https://www.wireshark.org for more information. diff -Nru wireshark-4.4.18/doc/wsug_src/editcap-h.txt wireshark-4.4.19/doc/wsug_src/editcap-h.txt --- wireshark-4.4.18/doc/wsug_src/editcap-h.txt 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/doc/wsug_src/editcap-h.txt 2026-09-23 17:33:48.000000000 +0000 @@ -1,4 +1,4 @@ -Editcap (Wireshark) 4.4.18 (v4.4.18rc0-0-ga15f6d0b5f5a) +Editcap (Wireshark) 4.4.19 (v4.4.19rc0-5-gaeb82d6483db) Edit and/or translate the format of capture files. See https://www.wireshark.org for more information. diff -Nru wireshark-4.4.18/doc/wsug_src/mergecap-h.txt wireshark-4.4.19/doc/wsug_src/mergecap-h.txt --- wireshark-4.4.18/doc/wsug_src/mergecap-h.txt 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/doc/wsug_src/mergecap-h.txt 2026-09-23 17:33:48.000000000 +0000 @@ -1,4 +1,4 @@ -Mergecap (Wireshark) 4.4.18 (v4.4.18rc0-0-ga15f6d0b5f5a) +Mergecap (Wireshark) 4.4.19 (v4.4.19rc0-5-gaeb82d6483db) Merge two or more capture files into one. See https://www.wireshark.org for more information. diff -Nru wireshark-4.4.18/doc/wsug_src/rawshark-h.txt wireshark-4.4.19/doc/wsug_src/rawshark-h.txt --- wireshark-4.4.18/doc/wsug_src/rawshark-h.txt 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/doc/wsug_src/rawshark-h.txt 2026-09-23 17:33:48.000000000 +0000 @@ -1,4 +1,4 @@ -Rawshark (Wireshark) 4.4.18 (v4.4.18rc0-0-ga15f6d0b5f5a) +Rawshark (Wireshark) 4.4.19 (v4.4.19rc0-5-gaeb82d6483db) Dump and analyze network traffic. See https://www.wireshark.org for more information. diff -Nru wireshark-4.4.18/doc/wsug_src/reordercap-h.txt wireshark-4.4.19/doc/wsug_src/reordercap-h.txt --- wireshark-4.4.18/doc/wsug_src/reordercap-h.txt 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/doc/wsug_src/reordercap-h.txt 2026-09-23 17:33:48.000000000 +0000 @@ -1,4 +1,4 @@ -Reordercap (Wireshark) 4.4.18 (v4.4.18rc0-0-ga15f6d0b5f5a) +Reordercap (Wireshark) 4.4.19 (v4.4.19rc0-5-gaeb82d6483db) Reorder timestamps of input file frames into output file. See https://www.wireshark.org for more information. diff -Nru wireshark-4.4.18/doc/wsug_src/text2pcap-h.txt wireshark-4.4.19/doc/wsug_src/text2pcap-h.txt --- wireshark-4.4.18/doc/wsug_src/text2pcap-h.txt 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/doc/wsug_src/text2pcap-h.txt 2026-09-23 17:33:48.000000000 +0000 @@ -1,4 +1,4 @@ -Text2pcap (Wireshark) 4.4.18 (v4.4.18rc0-0-ga15f6d0b5f5a) +Text2pcap (Wireshark) 4.4.19 (v4.4.19rc0-5-gaeb82d6483db) Generate a capture file from an ASCII hexdump of packets. See https://www.wireshark.org for more information. diff -Nru wireshark-4.4.18/doc/wsug_src/tshark-h.txt wireshark-4.4.19/doc/wsug_src/tshark-h.txt --- wireshark-4.4.18/doc/wsug_src/tshark-h.txt 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/doc/wsug_src/tshark-h.txt 2026-09-23 17:33:48.000000000 +0000 @@ -1,4 +1,4 @@ -TShark (Wireshark) 4.4.18 (v4.4.18rc0-0-ga15f6d0b5f5a) +TShark (Wireshark) 4.4.19 (v4.4.19rc0-5-gaeb82d6483db) Dump and analyze network traffic. See https://www.wireshark.org for more information. diff -Nru wireshark-4.4.18/epan/CMakeLists.txt wireshark-4.4.19/epan/CMakeLists.txt --- wireshark-4.4.18/epan/CMakeLists.txt 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/CMakeLists.txt 2026-09-23 17:33:48.000000000 +0000 @@ -316,7 +316,7 @@ set_target_properties(epan PROPERTIES COMPILE_DEFINITIONS "WS_BUILD_DLL" LINK_FLAGS "${WS_LINK_FLAGS}" - VERSION "18.0.18" SOVERSION 18 + VERSION "18.0.19" SOVERSION 18 INSTALL_RPATH "${LIBRARY_INSTALL_RPATH}" # By default the name for a library with target name epan will be libepan, # but Ethereal is now named Wireshark diff -Nru wireshark-4.4.18/epan/crypt/dot11decrypt.c wireshark-4.4.19/epan/crypt/dot11decrypt.c --- wireshark-4.4.18/epan/crypt/dot11decrypt.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/crypt/dot11decrypt.c 2026-09-23 17:33:48.000000000 +0000 @@ -2111,6 +2111,12 @@ uint8_t zeros[16] = { 0 }; gcry_mac_hd_t handle; + if (!assoc_parsed->rsne_tag || !assoc_parsed->mde_tag || + !assoc_parsed->fte_tag) { + ws_debug("RSNE, MDE, or FTE not present"); + return DOT11DECRYPT_RET_UNSUCCESS; + } + fte_len = assoc_parsed->fte_tag[1] + 2; if (fte_len < 20) { ws_debug("FTE too short"); diff -Nru wireshark-4.4.18/epan/dfilter/dfvm.c wireshark-4.4.19/epan/dfilter/dfvm.c --- wireshark-4.4.18/epan/dfilter/dfvm.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dfilter/dfvm.c 2026-09-23 17:33:48.000000000 +0000 @@ -1473,7 +1473,7 @@ for (size_t j = 0; j < fv2->len; j++) { result = func(fv1->pdata[i], fv2->pdata[j], &err_msg); if (result == NULL) { - debug_op_error(fv1->pdata[i], fv2->pdata[i], "&", err_msg); + debug_op_error(fv1->pdata[i], fv2->pdata[j], "&", err_msg); g_free(err_msg); err_msg = NULL; } diff -Nru wireshark-4.4.18/epan/dfilter/gencode.c wireshark-4.4.19/epan/dfilter/gencode.c --- wireshark-4.4.18/epan/dfilter/gencode.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dfilter/gencode.c 2026-09-23 17:33:48.000000000 +0000 @@ -153,7 +153,9 @@ /* Keep track of which registers * were used for which hfinfo's so that we * can re-use registers. */ - /* Re-use only if we are not using a range (layer filter). */ + /* Re-use only if we are not using a range (layer filter). + * We could try to key on the range value as well in the hash table; + * it's not clear if that optimization is worth the trouble. */ loaded_key = g_hash_table_lookup(loaded_fields, hfinfo); if (loaded_key != NULL) { if (range == NULL) { @@ -171,9 +173,14 @@ } else { reg = dfw->next_register++; - g_hash_table_insert(loaded_fields, - hfinfo, GINT_TO_POINTER(reg + 1)); + if (range == NULL) { + g_hash_table_insert(loaded_fields, + hfinfo, GINT_TO_POINTER(reg + 1)); + } + /* It might not truly be a new hfinfo - we might have added it + * as a different raw/vs/range variant, but it's no harm to + * re-add it to the hashtable below. */ added_new_hfinfo = true; } diff -Nru wireshark-4.4.18/epan/dissectors/asn1/f1ap/f1ap.cnf wireshark-4.4.19/epan/dissectors/asn1/f1ap/f1ap.cnf --- wireshark-4.4.18/epan/dissectors/asn1/f1ap/f1ap.cnf 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/asn1/f1ap/f1ap.cnf 2026-09-23 17:33:48.000000000 +0000 @@ -1681,6 +1681,7 @@ RequestedP-MaxFR2 N f1ap.extension id-RequestedP-MaxFR2 DRX-Config N f1ap.extension id-DRX-Config UEAssistanceInformation N f1ap.extension id-UEAssistanceInformation +NotificationInformation N f1ap.extension id-NotificationInformation BPLMN-ID-Info-List N f1ap.extension id-BPLMN-ID-Info-List CP-TransportLayerAddress N f1ap.extension id-TNLAssociationTransportLayerAddressgNBDU PortNumber N f1ap.extension id-portNumber @@ -2248,7 +2249,6 @@ } break; case id_DLRRCMessageTransfer: - case id_UEContextRelease: switch (f1ap_data->srb_id) { case 0: col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/"); @@ -2269,6 +2269,12 @@ break; } break; + case id_UEContextRelease: + /* In the UEContextReleaseCommand, the id_SRBID IE is present if the + * RRC container IE is present, but follows it. */ + f1ap_data->rrc_tree = subtree; + f1ap_data->rrc_tvb = param_tvb; + break; case id_UEContextSetup: case id_UEContextModification: col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/"); @@ -2301,7 +2307,41 @@ #.FN_BODY SRBID VAL_PTR=&f1ap_data->srb_id f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); + proto_tree *subtree = f1ap_data->rrc_tree; + tvbuff_t *param_tvb = f1ap_data->rrc_tvb; %(DEFAULT_BODY)s + if (param_tvb) { + switch (f1ap_data->message_type) { + case INITIATING_MESSAGE: + switch (f1ap_data->procedure_code) { + case id_UEContextRelease: + switch (f1ap_data->srb_id) { + case 0: + col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/"); + col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL); + col_set_fence(actx->pinfo->cinfo, COL_INFO); + call_dissector(nr_rrc_dl_ccch_handle, param_tvb, actx->pinfo, subtree); + break; + case 1: + case 2: + case 3: + col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/"); + col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL); + col_set_fence(actx->pinfo->cinfo, COL_INFO); + add_nr_pdcp_meta_data(actx->pinfo, PDCP_NR_DIRECTION_DOWNLINK, f1ap_data->srb_id); + call_dissector(nr_pdcp_handle, param_tvb, actx->pinfo, subtree); + break; + default: + break; + } + break; + default: + break; + } + default: + break; + } + } #.FN_BODY RRCContainer-RRCSetupComplete VAL_PTR=¶m_tvb tvbuff_t *param_tvb = NULL; diff -Nru wireshark-4.4.18/epan/dissectors/asn1/f1ap/packet-f1ap-template.c wireshark-4.4.19/epan/dissectors/asn1/f1ap/packet-f1ap-template.c --- wireshark-4.4.18/epan/dissectors/asn1/f1ap/packet-f1ap-template.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/asn1/f1ap/packet-f1ap-template.c 2026-09-23 17:33:48.000000000 +0000 @@ -530,6 +530,9 @@ uint32_t gdb_cu_ue_f1ap_id; e212_number_type_t number_type; struct f1ap_tap_t *stats_tap; + proto_tree *top_tree; + proto_tree *rrc_tree; + tvbuff_t *rrc_tvb; } f1ap_private_data_t; typedef struct { @@ -562,18 +565,28 @@ static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); -static proto_tree *top_tree; +static f1ap_private_data_t* +f1ap_get_private_data(packet_info *pinfo) +{ + f1ap_private_data_t *f1ap_data = (f1ap_private_data_t*)p_get_proto_data(pinfo->pool, pinfo, proto_f1ap, 0); + if (!f1ap_data) { + f1ap_data = wmem_new0(pinfo->pool, f1ap_private_data_t); + f1ap_data->srb_id = -1; + f1ap_data->gdb_cu_ue_f1ap_id = 1; + p_add_proto_data(pinfo->pool, pinfo, proto_f1ap, 0, f1ap_data); + } + return f1ap_data; +} static void set_message_label(asn1_ctx_t *actx, int type) { const char *label = val_to_str_ext_const(type, &mtype_names_ext, "Unknown"); col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, label); - /* N.B. would like to be able to use actx->subTree.top_tree, but not easy to set.. */ - proto_item_append_text(top_tree, " (%s)", label); + f1ap_private_data_t *priv_data = f1ap_get_private_data(actx->pinfo); + proto_item_append_text(priv_data->top_tree, " (%s)", label); } - static void f1ap_MaxPacketLossRate_fmt(char *s, uint32_t v) { @@ -598,19 +611,6 @@ snprintf(s, ITEM_LABEL_LENGTH, "%.1fms (%d)", (float)v/2, (int32_t)v); } -static f1ap_private_data_t* -f1ap_get_private_data(packet_info *pinfo) -{ - f1ap_private_data_t *f1ap_data = (f1ap_private_data_t*)p_get_proto_data(wmem_file_scope(), pinfo, proto_f1ap, 0); - if (!f1ap_data) { - f1ap_data = wmem_new0(wmem_file_scope(), f1ap_private_data_t); - f1ap_data->srb_id = -1; - f1ap_data->gdb_cu_ue_f1ap_id = 1; - p_add_proto_data(wmem_file_scope(), pinfo, proto_f1ap, 0, f1ap_data); - } - return f1ap_data; -} - static void add_nr_pdcp_meta_data(packet_info *pinfo, uint8_t direction, uint8_t srb_id) { @@ -729,13 +729,13 @@ f1ap_item = proto_tree_add_item(tree, proto_f1ap, tvb, 0, -1, ENC_NA); f1ap_tree = proto_item_add_subtree(f1ap_item, ett_f1ap); - /* Store top-level tree */ - top_tree = f1ap_tree; /* Add stats tap to private struct */ f1ap_private_data_t *priv_data = f1ap_get_private_data(pinfo); priv_data->stats_tap = f1ap_info; + /* Store top-level tree */ + priv_data->top_tree = f1ap_tree; dissect_F1AP_PDU_PDU(tvb, pinfo, f1ap_tree, NULL); diff -Nru wireshark-4.4.18/epan/dissectors/asn1/nbap/nbap.cnf wireshark-4.4.19/epan/dissectors/asn1/nbap/nbap.cnf --- wireshark-4.4.18/epan/dissectors/asn1/nbap/nbap.cnf 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/asn1/nbap/nbap.cnf 2026-09-23 17:33:48.000000000 +0000 @@ -1708,6 +1708,8 @@ return offset; no_ddi_entries = fp_edch_channel_info->no_ddi_entries = nbap_edch_channel_info[e_dch_macdflow_id].no_ddi_entries; + /* This should always hold because of the PER sequence constraint. */ + DISSECTOR_ASSERT_CMPINT(no_ddi_entries, <=, MAX_EDCH_DDIS); for (i = 0; i < no_ddi_entries; i++) { fp_edch_channel_info->edch_ddi[i] = nbap_edch_channel_info[e_dch_macdflow_id].edch_ddi[i]; fp_edch_channel_info->edch_macd_pdu_size[i] = nbap_edch_channel_info[e_dch_macdflow_id].edch_macd_pdu_size[i]; @@ -1891,6 +1893,8 @@ return offset; no_ddi_entries = fp_edch_channel_info->no_ddi_entries = nbap_edch_channel_info[e_dch_macdflow_id].no_ddi_entries; + /* This should always hold because of the PER sequence constraint. */ + DISSECTOR_ASSERT_CMPINT(no_ddi_entries, <=, MAX_EDCH_DDIS); for (i = 0; i < no_ddi_entries; i++) { fp_edch_channel_info->edch_ddi[i] = nbap_edch_channel_info[e_dch_macdflow_id].edch_ddi[i]; fp_edch_channel_info->edch_macd_pdu_size[i] = nbap_edch_channel_info[e_dch_macdflow_id].edch_macd_pdu_size[i]; diff -Nru wireshark-4.4.18/epan/dissectors/asn1/nbap/packet-nbap-template.c wireshark-4.4.19/epan/dissectors/asn1/nbap/packet-nbap-template.c --- wireshark-4.4.18/epan/dissectors/asn1/nbap/packet-nbap-template.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/asn1/nbap/packet-nbap-template.c 2026-09-23 17:33:48.000000000 +0000 @@ -130,11 +130,12 @@ { address crnc_address; uint16_t crnc_port; + /* fp_edch_channel_info_t */ int no_ddi_entries; uint8_t edch_ddi[MAX_EDCH_DDIS]; unsigned edch_macd_pdu_size[MAX_EDCH_DDIS]; - uint8_t edch_type; /* 1 means T2 */ uint8_t lchId[MAX_EDCH_DDIS]; /*Logical channel ids.*/ + uint8_t edch_type; /* 1 means T2 */ } nbap_edch_channel_info_t; diff -Nru wireshark-4.4.18/epan/dissectors/asn1/pkcs12/packet-pkcs12-template.c wireshark-4.4.19/epan/dissectors/asn1/pkcs12/packet-pkcs12-template.c --- wireshark-4.4.18/epan/dissectors/asn1/pkcs12/packet-pkcs12-template.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/asn1/pkcs12/packet-pkcs12-template.c 2026-09-23 17:33:48.000000000 +0000 @@ -85,8 +85,8 @@ gcry_md_hd_t md; gcry_mpi_t num_b1 = NULL; size_t pwlen; - char hash[20], buf_b[64], buf_i[128], *p; - char *salt_p; + uint8_t hash[20], buf_b[64], buf_i[128], *p; + uint8_t *salt_p; int salt_size; size_t cur_keylen; size_t n; @@ -95,7 +95,10 @@ cur_keylen = 0; salt_size = tvb_captured_length(salt_tvb); - salt_p = (char *)tvb_memdup(pinfo->pool, salt_tvb, 0, salt_size); + if (salt_size == 0) { + return false; + } + salt_p = (uint8_t *)tvb_memdup(pinfo->pool, salt_tvb, 0, salt_size); if (pw == NULL) pwlen = 0; @@ -230,6 +233,10 @@ } encryption_algorithm = x509af_get_last_algorithm_id(); + if (encryption_algorithm == NULL) { + proto_item_append_text(item, " [Unknown encryption algorithm]"); + return false; + } /* these are the only encryption schemes we understand for now */ if(!strcmp(encryption_algorithm, PKCS12_PBE_3DES_SHA1_OID)) { @@ -285,6 +292,12 @@ return false; } + datalen = tvb_captured_length(encrypted_tvb); + if (!datalen) { + proto_item_append_text(item, " [Zero-length input buffer]"); + return false; + } + /* allocate buffers */ key = (char *)wmem_alloc(pinfo->pool, keylen); @@ -318,7 +331,6 @@ } } - datalen = tvb_captured_length(encrypted_tvb); clear_data = (char *)wmem_alloc(pinfo->pool, datalen); err = gcry_cipher_decrypt (cipher, clear_data, datalen, (char *)tvb_memdup(pinfo->pool, encrypted_tvb, 0, datalen), datalen); diff -Nru wireshark-4.4.18/epan/dissectors/file-tiff.c wireshark-4.4.19/epan/dissectors/file-tiff.c --- wireshark-4.4.18/epan/dissectors/file-tiff.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/file-tiff.c 2026-09-23 17:33:48.000000000 +0000 @@ -42,6 +42,7 @@ static expert_field ei_tiff_unknown_tag; static expert_field ei_tiff_bad_entry; static expert_field ei_tiff_zero_denom; +static expert_field ei_tiff_bad_ifd; static int ett_tiff; @@ -803,6 +804,11 @@ proto_tree_add_item(ifd_tree, hf_tiff_ifd_next, tvb, offset, 4, encoding); uint32_t ifd_next = tvb_get_uint32(tvb, offset, encoding); + if (ifd_next <= offset) { + expert_add_info_format(pinfo, ifd_tree, &ei_tiff_bad_ifd, "Next IFD offset (%u) is less than or equal to current IFD offset (%u)", ifd_next, offset); + ifd_next = 0; + } + return ifd_next; } @@ -1136,7 +1142,10 @@ { "tiff.zero_denom", PI_PROTOCOL, PI_WARN, "Zero denominator", EXPFILL } }, - + { &ei_tiff_bad_ifd, + { "tiff.bad_ifd", PI_PROTOCOL, PI_ERROR, + "Invalid IFD offset", EXPFILL } + }, }; proto_tiff = proto_register_protocol("Tagged Image File Format", "TIFF image", "tiff"); diff -Nru wireshark-4.4.18/epan/dissectors/packet-btavctp.c wireshark-4.4.19/epan/dissectors/packet-btavctp.c --- wireshark-4.4.18/epan/dissectors/packet-btavctp.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-btavctp.c 2026-09-23 17:33:48.000000000 +0000 @@ -41,6 +41,7 @@ static int ett_btavctp; static expert_field ei_btavctp_unexpected_frame; +static expert_field ei_btavctp_reassembled_too_long; static expert_field ei_btavctp_invalid_profile; static dissector_handle_t btavctp_handle; @@ -208,6 +209,8 @@ length = tvb_reported_length_remaining(tvb, offset); /* reassembling */ + /* XXX - All of this can and should be replaced with the standard reassembly API with + * custom key functions. */ next_tvb = tvb_new_subset_length(tvb, offset, length); if (packet_type == PACKET_TYPE_SINGLE) { bluetooth_uuid_t uuid; @@ -282,6 +285,7 @@ fragments->psm == psm)) fragments = NULL; + /* XXX - This does not check if the END has already been received. */ if (!pinfo->fd->visited && fragments != NULL) { fragment = wmem_new(wmem_file_scope(), fragment_t); fragment->length = length; @@ -363,14 +367,23 @@ call_data_dissector(next_tvb, pinfo, tree); } else { uint8_t *reassembled = NULL; + unsigned new_length; bluetooth_uuid_t uuid; for (i_frame = 1; i_frame <= fragments->count; ++i_frame) { fragment = (fragment_t *)wmem_tree_lookup32_le(fragments->fragment, i_frame); if (fragment) { - reassembled = (uint8_t*)wmem_realloc(pinfo->pool, reassembled, length + fragment->length); + if (ckd_add(&new_length, length, fragment->length) || new_length > INT32_MAX) { + expert_add_info(pinfo, pitem, &ei_btavctp_reassembled_too_long); + new_length = INT32_MAX; + reassembled = (uint8_t*)wmem_realloc(pinfo->pool, reassembled, new_length); + memcpy(reassembled + length, fragment->data, new_length - length); + length = new_length; + break; + } + reassembled = (uint8_t*)wmem_realloc(pinfo->pool, reassembled, new_length); memcpy(reassembled + length, fragment->data, fragment->length); - length += fragment->length; + length = new_length; } } @@ -446,6 +459,7 @@ static ei_register_info ei[] = { { &ei_btavctp_unexpected_frame, { "btavctp.unexpected_frame", PI_PROTOCOL, PI_WARN, "Unexpected frame", EXPFILL }}, + { &ei_btavctp_reassembled_too_long, { "btavctp.reassembled.too_long", PI_REASSEMBLE, PI_WARN, "Reassembled PDU too long, truncated", EXPFILL }}, { &ei_btavctp_invalid_profile, { "btavctp.invalid_profile", PI_PROTOCOL, PI_NOTE, "Invalid Profile", EXPFILL }}, }; diff -Nru wireshark-4.4.18/epan/dissectors/packet-catapult-dct2000.c wireshark-4.4.19/epan/dissectors/packet-catapult-dct2000.c --- wireshark-4.4.18/epan/dissectors/packet-catapult-dct2000.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-catapult-dct2000.c 2026-09-23 17:33:48.000000000 +0000 @@ -2960,7 +2960,7 @@ } /* Create tvb */ - tvbuff_t *mac_nr_tvb = tvb_new_real_data(mac_data, idx, idx); + tvbuff_t *mac_nr_tvb = tvb_new_child_real_data(tvb, (const uint8_t*)mac_data, idx, idx); add_new_data_source(pinfo, mac_nr_tvb, "MAC-NR Payload"); /* Call the dissector! */ call_dissector_only(mac_nr_handle, mac_nr_tvb, pinfo, tree, NULL); @@ -2985,10 +2985,10 @@ int idx, m; /* The rest (or all) is data! */ - length = (int)strlen(payload) / 2; for (m=0, idx=0; payload[m] != '\0' && idx < MAX_NRUP_DATA_LENGTH-4; m+=2, idx++) { nrup_data[idx] = (hex_from_char(payload[m]) << 4) + hex_from_char(payload[m+1]); } + length = idx; /* Pad out to nearest 4 bytes if necessary. */ if (length % 4 != 0) { for (int p=length % 4; p < 4; p++) { @@ -2997,7 +2997,9 @@ } /* Create separate NRUP tvb */ - tvbuff_t *nrup_tvb = tvb_new_real_data(nrup_data, length, length); + /* XXX - Should the reported length be based upon + * strlen(payload) / 2 as we might have truncated? */ + tvbuff_t *nrup_tvb = tvb_new_child_real_data(tvb, nrup_data, length, length); add_new_data_source(pinfo, nrup_tvb, "NRUP Payload"); /* Call the dissector! */ @@ -3064,7 +3066,7 @@ } /* Create tvb */ - tvbuff_t *raw_traffic_tvb = tvb_new_real_data(eth_data, idx, idx); + tvbuff_t *raw_traffic_tvb = tvb_new_child_real_data(tvb, eth_data, idx, idx); add_new_data_source(pinfo, raw_traffic_tvb, "Raw-Traffic Payload"); /* PDU */ diff -Nru wireshark-4.4.18/epan/dissectors/packet-csn1.c wireshark-4.4.19/epan/dissectors/packet-csn1.c --- wireshark-4.4.18/epan/dissectors/packet-csn1.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-csn1.c 2026-09-23 17:33:48.000000000 +0000 @@ -1347,6 +1347,7 @@ * REMARK: recursive way to specify an array but an iterative implementation! */ int16_t no_of_bits = pDescr->i; + uint32_t nSizeArray = (uint32_t)((uintptr_t)pDescr->aux_fn); uint8_t ElementCount = 0; pui8 = pui8DATA(data, pDescr->offset); @@ -1358,8 +1359,13 @@ remaining_bits_len--; /* extract and store no_of_bits long element from bitstream */ - *pui8++ = tvb_get_bits8(tvb, bit_offset, no_of_bits); ElementCount++; + if (ElementCount > nSizeArray) + { + /* error: too many elements in recursive array. Increase its size! */ + return ProcessError(tree , ar->pinfo, tvb, bit_offset, CSN_ERROR_STREAM_NOT_SUPPORTED, &ei_csn1_stream_not_supported, pDescr); + } + *pui8++ = tvb_get_bits8(tvb, bit_offset, no_of_bits); if (remaining_bits_len < 0) { diff -Nru wireshark-4.4.18/epan/dissectors/packet-csn1.h wireshark-4.4.19/epan/dissectors/packet-csn1.h --- wireshark-4.4.18/epan/dissectors/packet-csn1.h 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-csn1.h 2026-09-23 17:33:48.000000000 +0000 @@ -421,7 +421,7 @@ *****************************************************************************/ /* XXX - need 2 hf support */ #define M_REC_ARRAY(_STRUCT, _MEMBER, _ElementCountField, _BITS, _HF_PTR, _HF_PTR_EXIST)\ - {CSN_RECURSIVE_ARRAY, _BITS, {(const void*)offsetof(_STRUCT, _ElementCountField)}, offsetof(_STRUCT, _MEMBER), false, #_MEMBER, NULL, 0, _HF_PTR, _HF_PTR_EXIST, NULL} + {CSN_RECURSIVE_ARRAY, _BITS, {(const void*)offsetof(_STRUCT, _ElementCountField)}, offsetof(_STRUCT, _MEMBER), false, #_MEMBER, NULL, 0, _HF_PTR, _HF_PTR_EXIST, (void_fn_t)array_length(((_STRUCT*)0)->_MEMBER)} /****************************************************************************** * M_VAR_TYPE_ARRAY(Par1, Par2, Par3, Par4) diff -Nru wireshark-4.4.18/epan/dissectors/packet-dcm.c wireshark-4.4.19/epan/dissectors/packet-dcm.c --- wireshark-4.4.18/epan/dissectors/packet-dcm.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-dcm.c 2026-09-23 17:33:48.000000000 +0000 @@ -272,6 +272,11 @@ static bool global_dcm_export_header = true; static unsigned global_dcm_export_minsize = 4096; /* Filter small objects in export */ +/* The maximum size for a file in Export Objects can be larger than what + * we'll put in a tvbuffer, but still put some kind of limit on it. The + * limit has to be smaller for 32-bit platforms. */ +#define DICOM_EO_MAXSIZE (MIN((uint64_t)SSIZE_MAX,UINT64_C(0x2000000000))) + static bool global_dcm_seq_subtree = true; static bool global_dcm_tag_subtree; /* Only useful for debugging */ static bool global_dcm_cmd_details = true; /* Show details in header and info column */ @@ -426,7 +431,7 @@ const char *hostname; const char *filename; const char *content_type; - uint32_t payload_len; + size_t payload_len; const uint8_t *payload_data; } dicom_eo_t; @@ -1268,7 +1273,7 @@ and process_reassembled_data(). In this case all data will be in the last PDV, and all its predecessors will have zero data. -- DICOM PDVs are keep separate. Every PDV contains data. +- DICOM PDVs are kept separate. Every PDV contains data. */ static void dcm_export_create_object(packet_info *pinfo, dcm_state_assoc_t *assoc, dcm_state_pdv_t *pdv) @@ -1283,7 +1288,7 @@ uint8_t *pdv_combined = NULL; uint8_t *pdv_combined_curr = NULL; uint8_t *dcm_header = NULL; - uint32_t pdv_combined_len = 0; + size_t pdv_combined_len = 0; uint32_t dcm_header_len = 0; uint16_t cnt_same_pkt = 1; char *filename; @@ -1299,7 +1304,11 @@ while (pdv_curr->prev && !pdv_curr->prev->is_last_fragment) { pdv_curr = pdv_curr->prev; - pdv_combined_len += pdv_curr->data_len; + if (ckd_add(&pdv_combined_len, pdv_combined_len, pdv_curr->data_len) || + pdv_combined_len > DICOM_EO_MAXSIZE) { + pdv_combined_len = DICOM_EO_MAXSIZE; + // We can't break here because we want to rewind to the beginning + } } /* Count number of PDVs with the same Packet Number */ @@ -1358,23 +1367,39 @@ } } + if (ckd_add(&pdv_combined_len, pdv_combined_len, dcm_header_len) || + pdv_combined_len > DICOM_EO_MAXSIZE) { + pdv_combined_len = DICOM_EO_MAXSIZE; + } - if (dcm_header_len + pdv_combined_len >= global_dcm_export_minsize) { + if (pdv_combined_len >= global_dcm_export_minsize) { /* Allocate the final size */ - pdv_combined = (uint8_t *)wmem_alloc0(pinfo->pool, dcm_header_len + pdv_combined_len); + pdv_combined = (uint8_t *)wmem_alloc0(pinfo->pool, pdv_combined_len); pdv_combined_curr = pdv_combined; + size_t curr_len = 0, next_len; if (dcm_header_len != 0) { /* Will be 0 when global_dcm_export_header is false */ memmove(pdv_combined, dcm_header, dcm_header_len); pdv_combined_curr += dcm_header_len; + curr_len += dcm_header_len; } /* Copy PDV per PDV to target buffer */ - while (!pdv_curr->is_last_fragment) { - memmove(pdv_combined_curr, pdv_curr->data, pdv_curr->data_len); /* this is a copy not move */ - pdv_combined_curr += pdv_curr->data_len; + while (curr_len < pdv_combined_len && !pdv_curr->is_last_fragment) { + if (pdv_curr->data) { + // In C2y memmove(..., NULL, 0) will no longer be UB + size_t to_copy = pdv_curr->data_len; + if (ckd_add(&next_len, curr_len, to_copy) || + next_len > pdv_combined_len) { + to_copy = pdv_combined_len - curr_len; + next_len = pdv_combined_len; + } + memmove(pdv_combined_curr, pdv_curr->data, to_copy); + pdv_combined_curr += to_copy; + curr_len = next_len; + } pdv_curr = pdv_curr->next; } @@ -1389,7 +1414,7 @@ eo_info->filename = filename; eo_info->content_type = pdv->desc; - eo_info->payload_len = dcm_header_len + pdv_combined_len; + eo_info->payload_len = pdv_combined_len; eo_info->payload_data = pdv_combined; tap_queue_packet(dicom_eo_tap, pinfo, eo_info); @@ -2677,7 +2702,7 @@ uint16_t at_grp; uint16_t at_elm; - char *at_value = ""; + wmem_strbuf_t *at_value = wmem_strbuf_create(pinfo->pool); /* In on capture the reported length for this tag was 2 bytes. And since vl_max is unsigned long, -3 caused it to be 2^32-1 So make it at least one loop so set it to at least 4. @@ -2694,11 +2719,11 @@ proto_tree_add_uint_format_value(tree, hf_dcm_tag_value_32u, tvb, offset + i*vm_item_len, vm_item_len, (at_grp << 16) | at_elm, "%04x,%04x", at_grp, at_elm); - at_value = wmem_strdup_printf(pinfo->pool,"%s(%04x,%04x)", at_value, at_grp, at_elm); + wmem_strbuf_append_printf(at_value, "(%04x,%04x)", at_grp, at_elm); i++; } - *tag_value = at_value; + *tag_value = wmem_strbuf_finalize(at_value); } else if (strncmp(vr, "FL", 2) == 0) { /* Single Float. Can be VM > 1, but not yet supported */ @@ -3666,11 +3691,9 @@ proto_tree *pdv_ptree; /* Tree for item details */ proto_item *pdv_pitem, *pdvlen_item; - char *buf_desc = NULL; /* PDU description */ + wmem_strbuf_t *buf_desc = NULL; /* PDU description */ char *pdv_description = NULL; - bool first_pdv = true; - uint32_t endpos = 0; uint32_t pdv_len = 0; @@ -3703,20 +3726,19 @@ /* The following doesn't seem to work anymore */ if (pdv_description) { - if (first_pdv) { - buf_desc = wmem_strdup(pinfo->pool, pdv_description); + if (buf_desc == NULL) { + buf_desc = wmem_strbuf_new(pinfo->pool, pdv_description); } else { - buf_desc = wmem_strdup_printf(pinfo->pool, "%s, %s", buf_desc, pdv_description); + wmem_strbuf_append_printf(buf_desc, ", %s", pdv_description); } + proto_item_append_text(pdv_pitem, ", %s", pdv_description); } - proto_item_append_text(pdv_pitem, ", %s", pdv_description); - first_pdv=false; - } - *pdu_data_description = buf_desc; + /* wmem_strbuf_finalize returns NULL on NULL input. */ + *pdu_data_description = wmem_strbuf_finalize(buf_desc); return offset; } diff -Nru wireshark-4.4.18/epan/dissectors/packet-f1ap.c wireshark-4.4.19/epan/dissectors/packet-f1ap.c --- wireshark-4.4.18/epan/dissectors/packet-f1ap.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-f1ap.c 2026-09-23 17:33:48.000000000 +0000 @@ -5321,6 +5321,9 @@ uint32_t gdb_cu_ue_f1ap_id; e212_number_type_t number_type; struct f1ap_tap_t *stats_tap; + proto_tree *top_tree; + proto_tree *rrc_tree; + tvbuff_t *rrc_tvb; } f1ap_private_data_t; typedef struct { @@ -5353,18 +5356,28 @@ static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); -static proto_tree *top_tree; +static f1ap_private_data_t* +f1ap_get_private_data(packet_info *pinfo) +{ + f1ap_private_data_t *f1ap_data = (f1ap_private_data_t*)p_get_proto_data(pinfo->pool, pinfo, proto_f1ap, 0); + if (!f1ap_data) { + f1ap_data = wmem_new0(pinfo->pool, f1ap_private_data_t); + f1ap_data->srb_id = -1; + f1ap_data->gdb_cu_ue_f1ap_id = 1; + p_add_proto_data(pinfo->pool, pinfo, proto_f1ap, 0, f1ap_data); + } + return f1ap_data; +} static void set_message_label(asn1_ctx_t *actx, int type) { const char *label = val_to_str_ext_const(type, &mtype_names_ext, "Unknown"); col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, label); - /* N.B. would like to be able to use actx->subTree.top_tree, but not easy to set.. */ - proto_item_append_text(top_tree, " (%s)", label); + f1ap_private_data_t *priv_data = f1ap_get_private_data(actx->pinfo); + proto_item_append_text(priv_data->top_tree, " (%s)", label); } - static void f1ap_MaxPacketLossRate_fmt(char *s, uint32_t v) { @@ -5389,19 +5402,6 @@ snprintf(s, ITEM_LABEL_LENGTH, "%.1fms (%d)", (float)v/2, (int32_t)v); } -static f1ap_private_data_t* -f1ap_get_private_data(packet_info *pinfo) -{ - f1ap_private_data_t *f1ap_data = (f1ap_private_data_t*)p_get_proto_data(wmem_file_scope(), pinfo, proto_f1ap, 0); - if (!f1ap_data) { - f1ap_data = wmem_new0(wmem_file_scope(), f1ap_private_data_t); - f1ap_data->srb_id = -1; - f1ap_data->gdb_cu_ue_f1ap_id = 1; - p_add_proto_data(wmem_file_scope(), pinfo, proto_f1ap, 0, f1ap_data); - } - return f1ap_data; -} - static void add_nr_pdcp_meta_data(packet_info *pinfo, uint8_t direction, uint8_t srb_id) { @@ -27735,7 +27735,6 @@ } break; case id_DLRRCMessageTransfer: - case id_UEContextRelease: switch (f1ap_data->srb_id) { case 0: col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/"); @@ -27756,6 +27755,12 @@ break; } break; + case id_UEContextRelease: + /* In the UEContextReleaseCommand, the id_SRBID IE is present if the + * RRC container IE is present, but follows it. */ + f1ap_data->rrc_tree = subtree; + f1ap_data->rrc_tvb = param_tvb; + break; case id_UEContextSetup: case id_UEContextModification: col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/"); @@ -28269,9 +28274,43 @@ static int dissect_f1ap_SRBID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); + proto_tree *subtree = f1ap_data->rrc_tree; + tvbuff_t *param_tvb = f1ap_data->rrc_tvb; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 3U, &f1ap_data->srb_id, true); + if (param_tvb) { + switch (f1ap_data->message_type) { + case INITIATING_MESSAGE: + switch (f1ap_data->procedure_code) { + case id_UEContextRelease: + switch (f1ap_data->srb_id) { + case 0: + col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/"); + col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL); + col_set_fence(actx->pinfo->cinfo, COL_INFO); + call_dissector(nr_rrc_dl_ccch_handle, param_tvb, actx->pinfo, subtree); + break; + case 1: + case 2: + case 3: + col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/"); + col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL); + col_set_fence(actx->pinfo->cinfo, COL_INFO); + add_nr_pdcp_meta_data(actx->pinfo, PDCP_NR_DIRECTION_DOWNLINK, f1ap_data->srb_id); + call_dissector(nr_pdcp_handle, param_tvb, actx->pinfo, subtree); + break; + default: + break; + } + break; + default: + break; + } + default: + break; + } + } return offset; @@ -45008,13 +45047,13 @@ f1ap_item = proto_tree_add_item(tree, proto_f1ap, tvb, 0, -1, ENC_NA); f1ap_tree = proto_item_add_subtree(f1ap_item, ett_f1ap); - /* Store top-level tree */ - top_tree = f1ap_tree; /* Add stats tap to private struct */ f1ap_private_data_t *priv_data = f1ap_get_private_data(pinfo); priv_data->stats_tap = f1ap_info; + /* Store top-level tree */ + priv_data->top_tree = f1ap_tree; dissect_F1AP_PDU_PDU(tvb, pinfo, f1ap_tree, NULL); @@ -57019,6 +57058,7 @@ dissector_add_uint("f1ap.extension", id_RequestedP_MaxFR2, create_dissector_handle(dissect_RequestedP_MaxFR2_PDU, proto_f1ap)); dissector_add_uint("f1ap.extension", id_DRX_Config, create_dissector_handle(dissect_DRX_Config_PDU, proto_f1ap)); dissector_add_uint("f1ap.extension", id_UEAssistanceInformation, create_dissector_handle(dissect_UEAssistanceInformation_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_NotificationInformation, create_dissector_handle(dissect_NotificationInformation_PDU, proto_f1ap)); dissector_add_uint("f1ap.extension", id_BPLMN_ID_Info_List, create_dissector_handle(dissect_BPLMN_ID_Info_List_PDU, proto_f1ap)); dissector_add_uint("f1ap.extension", id_TNLAssociationTransportLayerAddressgNBDU, create_dissector_handle(dissect_CP_TransportLayerAddress_PDU, proto_f1ap)); dissector_add_uint("f1ap.extension", id_portNumber, create_dissector_handle(dissect_PortNumber_PDU, proto_f1ap)); diff -Nru wireshark-4.4.18/epan/dissectors/packet-fp_hint.c wireshark-4.4.19/epan/dissectors/packet-fp_hint.c --- wireshark-4.4.18/epan/dissectors/packet-fp_hint.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-fp_hint.c 2026-09-23 17:33:48.000000000 +0000 @@ -57,6 +57,7 @@ static expert_field ei_fph_radio_bearers; static expert_field ei_fph_mac_frames; static expert_field ei_fph_fp_channels; +static expert_field ei_fph_edch_ddis; static dissector_handle_t data_handle; static dissector_handle_t ethwithfcs_handle; @@ -295,6 +296,13 @@ fpi->num_chans = cnt; fpi->dch_crc_present = 1; while (i < cnt) { + if (i >= MAX_FP_CHANS) { + proto_tree_add_expert_format(tree, pinfo, &ei_fph_fp_channels, tvb, offset, -1, + "Frame contains more FP channels than currently supported (%u supported)", + MAX_FP_CHANS); + fpi->num_chans = MAX_FP_CHANS; + return; + } pi = proto_tree_add_item(tree, hf_fph_tf, tvb, offset, 4, ENC_NA); subtree = proto_item_add_subtree(pi, ett_fph_rb); hdr = tvb_get_ptr(tvb, offset, 4); @@ -314,12 +322,6 @@ proto_tree_add_uint(subtree, hf_fph_tf_size, tvb, offset + 1, 3, size); } offset += 4; - if (i > MAX_FP_CHANS) { - proto_tree_add_expert_format(tree, pinfo, &ei_fph_fp_channels, tvb, offset, -1, - "Frame contains more FP channels than currently supported (%u supported)", - MAX_FP_CHANS); - return; - } i++; } rbcnt = tvb_get_uint8(tvb, offset); offset++; @@ -390,6 +392,13 @@ fpi->no_ddi_entries = maces_cnt; while (i < maces_cnt) { + if (i >= MAX_EDCH_DDIS) { + proto_tree_add_expert_format(tree, pinfo, &ei_fph_edch_ddis, tvb, offset, -1, + "Frame contains more E-DCH DDIs than currently supported (%u supported)", + MAX_EDCH_DDIS); + fpi->no_ddi_entries = MAX_EDCH_DDIS; + return; + } ddi = tvb_get_uint8(tvb, offset++); logical = tvb_get_uint8(tvb, offset++); maces_size = tvb_get_letohs(tvb, offset); @@ -404,12 +413,6 @@ proto_tree_add_uint(subtree, hf_fph_ddi_size, tvb, offset - 2, 2, maces_size); } i++; - if (i >= MAX_EDCH_DDIS) { - proto_tree_add_expert_format(tree, pinfo, &ei_fph_fp_channels, tvb, offset, -1, - "Frame contains more FP channels than currently supported (%u supported)", - MAX_FP_CHANS); - return; - } } @@ -574,6 +577,7 @@ { &ei_fph_radio_bearers, { "fp_hint.rb.invalid", PI_PROTOCOL, PI_WARN, "Frame contains more Radio Bearers than currently supported", EXPFILL }}, { &ei_fph_mac_frames, { "fp_hint.mac_frames.invalid", PI_PROTOCOL, PI_WARN, "Frame contains more MAC Frames than currently supported", EXPFILL }}, { &ei_fph_fp_channels, { "fp_hint.fp_channels.invalid", PI_PROTOCOL, PI_WARN, "Frame contains more FP channels than currently supported", EXPFILL }}, + { &ei_fph_edch_ddis, { "fp_hint.edch_ddis.invalid", PI_PROTOCOL, PI_WARN, "Frame contains more E-DCH DDIs than currently supported", EXPFILL }}, }; expert_module_t* expert_fp_hint; diff -Nru wireshark-4.4.18/epan/dissectors/packet-frame.c wireshark-4.4.19/epan/dissectors/packet-frame.c --- wireshark-4.4.18/epan/dissectors/packet-frame.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-frame.c 2026-09-23 17:33:48.000000000 +0000 @@ -578,7 +578,7 @@ dissector_handle_t dissector_handle; fr_foreach_t fr_user_data; struct nflx_tcpinfo tcpinfo; - bool tcpinfo_filled = false; + volatile bool tcpinfo_filled = false; tree=parent_tree; @@ -730,15 +730,59 @@ DISSECTOR_ASSERT_NOT_REACHED(); break; } + if (wtap_block_count_option(fr_data->pkt_block, OPT_COMMENT) > 0) { - item = proto_tree_add_item(tree, proto_pkt_comment, tvb, 0, 0, ENC_NA); - comments_tree = proto_item_add_subtree(item, ett_comments); - fr_user_data.item = item; - fr_user_data.tree = comments_tree; - fr_user_data.pinfo = pinfo; - fr_user_data.tvb = tvb; - fr_user_data.n_changes = 0; - wtap_block_foreach_option(fr_data->pkt_block, frame_add_comment, (void *)&fr_user_data); + TRY { +#ifdef _MSC_VER + /* Win32: Visual-C Structured Exception Handling (SEH) + to trap hardware exceptions like memory access violations */ + /* (a running debugger will be called before the except part below) */ + /* Note: A Windows "exceptional exception" may leave the kazlib's (Portable Exception Handling) + stack in an inconsistent state thus causing a crash at some point in the + handling of the exception. + See: https://lists.wireshark.org/archives/wireshark-dev/200704/msg00243.html + */ + __try { +#endif + item = proto_tree_add_item(tree, proto_pkt_comment, tvb, 0, 0, ENC_NA); + comments_tree = proto_item_add_subtree(item, ett_comments); + fr_user_data.item = item; + fr_user_data.tree = comments_tree; + fr_user_data.pinfo = pinfo; + fr_user_data.tvb = tvb; + fr_user_data.n_changes = 0; + wtap_block_foreach_option(fr_data->pkt_block, frame_add_comment, (void *)&fr_user_data); +#ifdef _MSC_VER + } __except(EXCEPTION_EXECUTE_HANDLER /* handle all exceptions */) { + ensure_tree_item(parent_tree, EXCEPTION_TREE_ITEMS); + switch (GetExceptionCode()) { + case(STATUS_ACCESS_VIOLATION): + show_exception(tvb, pinfo, parent_tree, DissectorError, + "STATUS_ACCESS_VIOLATION: dissector accessed an invalid memory address"); + break; + case(STATUS_INTEGER_DIVIDE_BY_ZERO): + show_exception(tvb, pinfo, parent_tree, DissectorError, + "STATUS_INTEGER_DIVIDE_BY_ZERO: dissector tried an integer division by zero"); + break; + case(STATUS_STACK_OVERFLOW): + show_exception(tvb, pinfo, parent_tree, DissectorError, + "STATUS_STACK_OVERFLOW: dissector overflowed the stack (e.g. endless loop)"); + /* XXX - this will have probably corrupted the stack, + which makes problems later in the exception code */ + break; + /* XXX - add other hardware exception codes as required */ + default: + show_exception(tvb, pinfo, parent_tree, DissectorError, + ws_strdup_printf("dissector caused an unknown exception: 0x%x", GetExceptionCode())); + } + } +#endif + } + CATCH_BOUNDS_AND_DISSECTOR_ERRORS { + ensure_tree_item(parent_tree, EXCEPTION_TREE_ITEMS); + show_exception(tvb, pinfo, parent_tree, EXCEPT_CODE, GET_MESSAGE); + } + ENDTRY; } cap_len = tvb_captured_length(tvb); diff -Nru wireshark-4.4.18/epan/dissectors/packet-ieee80211.c wireshark-4.4.19/epan/dissectors/packet-ieee80211.c --- wireshark-4.4.18/epan/dissectors/packet-ieee80211.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-ieee80211.c 2026-09-23 17:33:48.000000000 +0000 @@ -21696,6 +21696,16 @@ uint8_t tag_no; uint8_t tag_len; + /* None of these should be fragmented. For purposes of calculating the + * MIC we want these elements including the tag number and tag len. The + * tag dissector is passed a tvbuffer that does not include the tag number + * or tag len. + * + * XXX - save_proto_data calls tvb_memcpy and can throw an exception if + * the TVB doesn't contain the full element length. We don't want to copy + * the data if the full length isn't there, but we might not want to throw + * an exception here before we've added the fields that we can to the tree. + */ if (!enable_decryption) { return; } @@ -21707,7 +21717,13 @@ save_proto_data(tvb, pinfo, offset, tag_len + 2, MDE_TAG_KEY); break; case TAG_FAST_BSS_TRANSITION: - save_proto_data(tvb, pinfo, offset, tag_len + 2, FTE_TAG_KEY); + if (tag_len >= 82) { + /* Same length check as in dissect_fast_bss_transition(), which + * also saves proto data needed for the MIC calculation but after + * the length check. This prevents odd behavior in the unusual + * case of a malformed frame with one normal and one short FTE. */ + save_proto_data(tvb, pinfo, offset, tag_len + 2, FTE_TAG_KEY); + } break; case TAG_RIC_DATA: save_proto_data(tvb, pinfo, offset, tag_len + 2, RDE_TAG_KEY); @@ -30619,6 +30635,13 @@ tag_no = tvb_get_uint8(tvb, offset); tag_len = tvb_get_uint8(tvb, offset + 1); + /* XXX - Some elements can only appear once, whereas others can appear one or + * more times. Compare in Table 9-32 "Beacon frame body" etc. the phrases + * "The X element is present if" to "One or more X elements are present if". + * We don't add an expert info if an element that should appear only once + * is repeated. In general when saving proto_data, e.g. for dot11decrypt, + * we save the last element of a tag, but need to be careful if an element + * occurs once in a normal form and once in a short or malformed form. */ save_tag_for_dot11decrypt(tvb, pinfo, offset); /* diff -Nru wireshark-4.4.18/epan/dissectors/packet-lbmc.c wireshark-4.4.19/epan/dissectors/packet-lbmc.c --- wireshark-4.4.18/epan/dissectors/packet-lbmc.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-lbmc.c 2026-09-23 17:33:48.000000000 +0000 @@ -6305,21 +6305,32 @@ return (entry); } -static void lbmc_message_add_fragment(lbmc_message_entry_t * message, tvbuff_t * tvb, int data_offset, lbmc_fragment_info_t * info, uint32_t frame) +static bool lbmc_message_add_fragment(lbmc_message_entry_t * message, tvbuff_t * tvb, int data_offset, lbmc_fragment_info_t * info, uint32_t frame) { lbmc_fragment_entry_t * frag = NULL; lbmc_fragment_entry_t * cur = NULL; - if ((tvb == NULL) || (info == NULL) || (message == NULL)) - { - return; + DISSECTOR_ASSERT(!((tvb == NULL) || (info == NULL) || (message == NULL))); + + /* This innocent function does not seem to consider the possibility of + * overlapping or bogus fragments, and the total accumulated length not + * equaling the expected length at any point. It would be nice to use + * the reassembly API. */ + unsigned frag_len = tvb_reported_length_remaining(tvb, data_offset); + uint32_t total_len, accumulated_len; + if (ckd_add(&total_len, info->offset, frag_len) || total_len > message->total_len) { + return false; } + if (ckd_add(&accumulated_len, message->accumulated_len, frag_len) || accumulated_len > message->total_len) { + return false; + } + if (message->entry == NULL) { frag = wmem_new(wmem_file_scope(), lbmc_fragment_entry_t); if (frag == NULL) { - return; + return false; } frag->prev = NULL; frag->next = NULL; @@ -6333,7 +6344,7 @@ if (info->offset == cur->fragment_start) { /* Already have this fragment */ - return; + return true; } if (info->offset < cur->fragment_start) { @@ -6351,7 +6362,7 @@ frag = wmem_new(wmem_file_scope(), lbmc_fragment_entry_t); if (frag == NULL) { - return; + return false; } if (cur == NULL) { @@ -6372,12 +6383,13 @@ } } frag->fragment_start = info->offset; - frag->fragment_len = tvb_reported_length_remaining(tvb, data_offset); + frag->fragment_len = frag_len; frag->data = (char *) tvb_memdup(wmem_file_scope(), tvb, data_offset, frag->fragment_len); frag->frame = frame; frag->frame_offset = data_offset; message->accumulated_len += frag->fragment_len; message->fragment_count++; + return true; } /*----------------------------------------------------------------------------*/ @@ -6394,7 +6406,7 @@ /*----------------------------------------------------------------------------*/ /* Dissection functions. */ /*----------------------------------------------------------------------------*/ -static int dissect_nhdr_frag(tvbuff_t * tvb, int offset, packet_info * pinfo _U_, proto_tree * tree, lbmc_fragment_info_t * frag_info) +static int dissect_nhdr_frag(tvbuff_t * tvb, int offset, packet_info * pinfo _U_, proto_tree * tree, lbmc_fragment_info_t * frag_info, proto_item **frag_item) { proto_item * subtree_item = NULL; proto_tree * subtree = NULL; @@ -6419,6 +6431,10 @@ frag_info->offset = tvb_get_ntohl(tvb, offset + O_LBMC_FRAG_HDR_T_OFFSET); frag_info->len = tvb_get_ntohl(tvb, offset + O_LBMC_FRAG_HDR_T_LEN); } + if (frag_item != NULL) + { + *frag_item = subtree_item; + } return (L_LBMC_FRAG_HDR_T); } @@ -10890,6 +10906,7 @@ frag_info.first_sqn = 0; frag_info.offset = 0; frag_info.len = 0; + proto_item *hdr_frag_item = NULL; msgprop_len = 0; reassembly = wmem_new(pinfo->pool, lbmc_extopt_reassembled_data_t); lbmc_init_extopt_reassembled_data(reassembly); @@ -10926,7 +10943,7 @@ switch (next_hdr) { case LBMC_NHDR_FRAG: - dissected_hdr_len = dissect_nhdr_frag(hdr_tvb, 0, pinfo, subtree, &frag_info); + dissected_hdr_len = dissect_nhdr_frag(hdr_tvb, 0, pinfo, subtree, &frag_info, &hdr_frag_item); break; case LBMC_NHDR_BATCH: dissected_hdr_len = dissect_nhdr_batch(hdr_tvb, 0, pinfo, subtree); @@ -11438,16 +11455,15 @@ { /* Check fragment against message */ int frag_len = tvb_reported_length_remaining(lbmc_tvb, pkt_offset); - if ((frag_info.offset + (uint32_t) frag_len) > msg->total_len) + if (!lbmc_message_add_fragment(msg, lbmc_tvb, pkt_offset, &frag_info, pinfo->num)) { /* Indicate a malformed packet */ - expert_add_info_format(pinfo, NULL, &ei_lbmc_analysis_invalid_fragment, + expert_add_info_format(pinfo, hdr_frag_item, &ei_lbmc_analysis_invalid_fragment, "Invalid fragment for message (msglen=%" PRIu32 ", frag offset=%" PRIu32 ", frag len=%d", msg->total_len, frag_info.offset, frag_len); } else { - (void)lbmc_message_add_fragment(msg, lbmc_tvb, pkt_offset, &frag_info, pinfo->num); if (data_is_umq_cmd_resp) { msg->data_is_umq_cmd_resp = true; @@ -11459,7 +11475,6 @@ /* Store the frame number in which the message will be reassembled */ msg->reassembled_frame = pinfo->num; } - data_tvb = tvb_new_subset_remaining(lbmc_tvb, pkt_offset); msgprop_tvb = NULL; msg_reassembled = true; msg_complete = true; @@ -11472,13 +11487,13 @@ else { /* This is not the last fragment of the message. */ - data_tvb = tvb_new_subset_remaining(lbmc_tvb, pkt_offset); msgprop_tvb = NULL; msg_reassembled = true; msg_complete = false; } } } + data_tvb = tvb_new_subset_remaining(lbmc_tvb, pkt_offset); } } diff -Nru wireshark-4.4.18/epan/dissectors/packet-lorawan.c wireshark-4.4.19/epan/dissectors/packet-lorawan.c --- wireshark-4.4.18/epan/dissectors/packet-lorawan.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-lorawan.c 2026-09-23 17:33:48.000000000 +0000 @@ -580,9 +580,13 @@ g_free(rec->dev_addr_string); g_free(rec->nwkskey_string); - g_byte_array_free(rec->nwkskey, true); + if (rec->nwkskey) { + g_byte_array_free(rec->nwkskey, true); + } g_free(rec->appskey_string); - g_byte_array_free(rec->appskey, true); + if (rec->appskey) { + g_byte_array_free(rec->appskey, true); + } } UAT_CSTRING_CB_DEF(root_keys, deveui_string, root_key_t) @@ -698,10 +702,22 @@ /* length should be a multiple of 16, in should be padded to get to a multiple of 16 */ static bool -decrypt_lorawan_frame_payload(const uint8_t *in, int length, uint8_t *out, const uint8_t * key, uint8_t dir, uint32_t dev_addr, uint32_t fcnt) +decrypt_lorawan_frame_payload(wmem_allocator_t *scope, tvbuff_t *tvb, unsigned offset, uint32_t frmpayload_length, uint8_t **out, const uint8_t * key, uint8_t dir, uint32_t dev_addr, uint32_t fcnt) { + DISSECTOR_ASSERT(scope != NULL && out != NULL); + + uint32_t padded_length = LORAWAN_AES_PADDEDSIZE(frmpayload_length); + uint8_t *in = (uint8_t *)wmem_alloc0(scope, padded_length); + *out = (uint8_t *)wmem_alloc0(scope, padded_length); + if (in == NULL || *out == NULL) { + // Padding something close to UINT32_MAX yields 0 + return false; + } + tvb_memcpy(tvb, in, offset, frmpayload_length); + gcry_cipher_hd_t cipher; uint8_t iv[LORAWAN_AES_BLOCK_LENGTH] = {0x01, 0x00, 0x00, 0x00, 0x00, dir, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01}; + /* XXX - This probably doesn't work on Big Endian. */ memcpy(iv + 6, &dev_addr, 4); memcpy(iv + 10, &fcnt, 4); if (gcry_cipher_open(&cipher, GCRY_CIPHER_AES128, GCRY_CIPHER_MODE_CTR, 0)) { @@ -715,7 +731,7 @@ gcry_cipher_close(cipher); return false; } - if (gcry_cipher_encrypt(cipher, out, length, in, length)) { + if (gcry_cipher_encrypt(cipher, *out, padded_length, in, padded_length)) { gcry_cipher_close(cipher); return false; } @@ -1093,11 +1109,8 @@ session_key_t *session_key = get_session_key(dev_address); if (session_key && frmpayload_length > 0) { - uint8_t padded_length = LORAWAN_AES_PADDEDSIZE(frmpayload_length); - uint8_t *decrypted_buffer = (uint8_t *)wmem_alloc0(pinfo->pool, padded_length); - uint8_t *encrypted_buffer = (uint8_t *)wmem_alloc0(pinfo->pool, padded_length); - tvb_memcpy(tvb, encrypted_buffer, current_offset, frmpayload_length); - if (decrypt_lorawan_frame_payload(encrypted_buffer, padded_length, decrypted_buffer, (fport == 0) ? session_key->nwkskey->data : session_key->appskey->data, !uplink, dev_address, fcnt)) { + uint8_t *decrypted_buffer; + if ((!decrypt_lorawan_frame_payload(pinfo->pool, tvb, current_offset, frmpayload_length, &decrypted_buffer, (fport == 0) ? session_key->nwkskey->data : session_key->appskey->data, !uplink, dev_address, fcnt))) { tvbuff_t *next_tvb = tvb_new_child_real_data(tvb, decrypted_buffer, frmpayload_length, frmpayload_length); add_new_data_source(pinfo, next_tvb, "Decrypted payload"); proto_tree *frame_payload_decrypted_tree = proto_item_add_subtree(ti, ett_lorawan_frame_payload_decrypted); diff -Nru wireshark-4.4.18/epan/dissectors/packet-nbap.c wireshark-4.4.19/epan/dissectors/packet-nbap.c --- wireshark-4.4.18/epan/dissectors/packet-nbap.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-nbap.c 2026-09-23 17:33:48.000000000 +0000 @@ -6502,11 +6502,12 @@ { address crnc_address; uint16_t crnc_port; + /* fp_edch_channel_info_t */ int no_ddi_entries; uint8_t edch_ddi[MAX_EDCH_DDIS]; unsigned edch_macd_pdu_size[MAX_EDCH_DDIS]; - uint8_t edch_type; /* 1 means T2 */ uint8_t lchId[MAX_EDCH_DDIS]; /*Logical channel ids.*/ + uint8_t edch_type; /* 1 means T2 */ } nbap_edch_channel_info_t; @@ -18495,6 +18496,8 @@ return offset; no_ddi_entries = fp_edch_channel_info->no_ddi_entries = nbap_edch_channel_info[e_dch_macdflow_id].no_ddi_entries; + /* This should always hold because of the PER sequence constraint. */ + DISSECTOR_ASSERT_CMPINT(no_ddi_entries, <=, MAX_EDCH_DDIS); for (i = 0; i < no_ddi_entries; i++) { fp_edch_channel_info->edch_ddi[i] = nbap_edch_channel_info[e_dch_macdflow_id].edch_ddi[i]; fp_edch_channel_info->edch_macd_pdu_size[i] = nbap_edch_channel_info[e_dch_macdflow_id].edch_macd_pdu_size[i]; @@ -18786,6 +18789,8 @@ return offset; no_ddi_entries = fp_edch_channel_info->no_ddi_entries = nbap_edch_channel_info[e_dch_macdflow_id].no_ddi_entries; + /* This should always hold because of the PER sequence constraint. */ + DISSECTOR_ASSERT_CMPINT(no_ddi_entries, <=, MAX_EDCH_DDIS); for (i = 0; i < no_ddi_entries; i++) { fp_edch_channel_info->edch_ddi[i] = nbap_edch_channel_info[e_dch_macdflow_id].edch_ddi[i]; fp_edch_channel_info->edch_macd_pdu_size[i] = nbap_edch_channel_info[e_dch_macdflow_id].edch_macd_pdu_size[i]; diff -Nru wireshark-4.4.18/epan/dissectors/packet-obex.c wireshark-4.4.19/epan/dissectors/packet-obex.c --- wireshark-4.4.18/epan/dissectors/packet-obex.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-obex.c 2026-09-23 17:33:48.000000000 +0000 @@ -1032,14 +1032,14 @@ if (current_path != path_unknown && current_path != path_root) { char *i_path; - i_path = g_strrstr(current_path, "/"); + i_path = strrchr(current_path, '/'); if (!i_path) { current_path = path_unknown; } else { if (i_path == current_path) path = current_path = path_root; else - path = current_path = wmem_strndup(wmem_epan_scope(), current_path, i_path - current_path - 1); + path = current_path = wmem_strndup(wmem_epan_scope(), current_path, i_path - current_path); } } } diff -Nru wireshark-4.4.18/epan/dissectors/packet-openflow_v4.c wireshark-4.4.19/epan/dissectors/packet-openflow_v4.c --- wireshark-4.4.18/epan/dissectors/packet-openflow_v4.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-openflow_v4.c 2026-09-23 17:33:48.000000000 +0000 @@ -664,6 +664,7 @@ static expert_field ei_openflow_v4_instruction_undecoded; static expert_field ei_openflow_v4_meter_band_undecoded; static expert_field ei_openflow_v4_hello_element_undecoded; +static expert_field ei_openflow_v4_hello_element_length_bad; static expert_field ei_openflow_v4_error_undecoded; static expert_field ei_openflow_v4_experimenter_undecoded; static expert_field ei_openflow_v4_table_feature_prop_undecoded; @@ -1238,7 +1239,7 @@ }; static int -dissect_openflow_hello_element_v4(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, uint16_t length) +dissect_openflow_hello_element_v4(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, uint16_t length) { proto_tree *elem_tree; uint16_t elem_type; @@ -1254,10 +1255,16 @@ /* uint16_t length; */ elem_length = tvb_get_ntohs(tvb, offset); - pad_length = (elem_length + 7)/8*8 - elem_length; proto_tree_add_item(elem_tree, hf_openflow_v4_hello_element_length, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; + if (elem_length < 4) { + + proto_tree_add_expert_format(elem_tree, pinfo, &ei_openflow_v4_hello_element_length_bad, tvb, offset - 2, 2, "Illegal hello element length: %u (must be >= 4)", elem_length); + return length; + } + pad_length = (elem_length + 7)/8*8 - elem_length; + switch (elem_type) { case OFPHET_VERSIONBITMAP: /* bitmap */ @@ -7422,6 +7429,10 @@ { "openflow_v4.hello_element.undecoded", PI_UNDECODED, PI_NOTE, "Unknown hello element body.", EXPFILL } }, + { &ei_openflow_v4_hello_element_length_bad, + { "openflow_v4.hello_element.length_bad", PI_MALFORMED, PI_ERROR, + "Illegal hello element length (must be >= 4)", EXPFILL } + }, { &ei_openflow_v4_error_undecoded, { "openflow_v4.error.undecoded", PI_UNDECODED, PI_NOTE, "Unknown error data.", EXPFILL } diff -Nru wireshark-4.4.18/epan/dissectors/packet-openflow_v5.c wireshark-4.4.19/epan/dissectors/packet-openflow_v5.c --- wireshark-4.4.18/epan/dissectors/packet-openflow_v5.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-openflow_v5.c 2026-09-23 17:33:48.000000000 +0000 @@ -826,6 +826,7 @@ static expert_field ei_openflow_v5_port_stats_prop_undecoded; static expert_field ei_openflow_v5_meter_band_undecoded; static expert_field ei_openflow_v5_hello_element_undecoded; +static expert_field ei_openflow_v5_hello_element_length_bad; static expert_field ei_openflow_v5_error_undecoded; static expert_field ei_openflow_v5_experimenter_undecoded; static expert_field ei_openflow_v5_portmod_prop_undecoded; @@ -1432,7 +1433,7 @@ }; static int -dissect_openflow_hello_element_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, uint16_t length) +dissect_openflow_hello_element_v5(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, uint16_t length) { proto_tree *elem_tree; uint16_t elem_type; @@ -1448,15 +1449,18 @@ /* uint16_t length; */ elem_length = tvb_get_ntohs(tvb, offset); - pad_length = (elem_length + 7)/8*8 - elem_length; proto_tree_add_item(elem_tree, hf_openflow_v5_hello_element_length, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; - if (elem_length >= 4) { - elem_length -= 4; - /* Otherwise expert info? */ + if (elem_length < 4) { + proto_tree_add_expert_format(elem_tree, pinfo, &ei_openflow_v5_hello_element_length_bad, + tvb, offset - 2, 2, "Illegal hello element length: %u (must be >= 4)", elem_length); + return length; } + pad_length = (elem_length + 7)/8*8 - elem_length; + elem_length -= 4; + switch (elem_type) { case OFPHET_VERSIONBITMAP: /* bitmap */ @@ -9741,6 +9745,10 @@ { "openflow_v5.hello_element.undecoded", PI_UNDECODED, PI_NOTE, "Unknown hello element body.", EXPFILL } }, + { &ei_openflow_v5_hello_element_length_bad, + { "openflow_v5.hello_element.length_bad", PI_MALFORMED, PI_ERROR, + "Illegal hello element length", EXPFILL } + }, { &ei_openflow_v5_error_undecoded, { "openflow_v5.error.undecoded", PI_UNDECODED, PI_NOTE, "Unknown error data.", EXPFILL } diff -Nru wireshark-4.4.18/epan/dissectors/packet-openflow_v6.c wireshark-4.4.19/epan/dissectors/packet-openflow_v6.c --- wireshark-4.4.18/epan/dissectors/packet-openflow_v6.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-openflow_v6.c 2026-09-23 17:33:48.000000000 +0000 @@ -891,6 +891,7 @@ static expert_field ei_openflow_v6_port_stats_prop_undecoded; static expert_field ei_openflow_v6_meter_band_undecoded; static expert_field ei_openflow_v6_hello_element_undecoded; +static expert_field ei_openflow_v6_hello_element_length_bad; static expert_field ei_openflow_v6_error_undecoded; static expert_field ei_openflow_v6_experimenter_undecoded; static expert_field ei_openflow_v6_portmod_prop_undecoded; @@ -1659,7 +1660,7 @@ }; static int -dissect_openflow_hello_element_v6(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, uint16_t length) +dissect_openflow_hello_element_v6(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, uint16_t length) { proto_tree *elem_tree; uint32_t elem_type; @@ -1674,15 +1675,18 @@ /* uint16_t length; */ elem_length = tvb_get_ntohs(tvb, offset); - pad_length = (elem_length + 7)/8*8 - elem_length; proto_tree_add_item(elem_tree, hf_openflow_v6_hello_element_length, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; - if (elem_length >= 4) { - elem_length -= 4; - /* Otherwise expert info? */ + if (elem_length < 4) { + proto_tree_add_expert_format(elem_tree, pinfo, &ei_openflow_v6_hello_element_length_bad, + tvb, offset - 2, 2, "Illegal hello element length: %u (must be >= 4)", elem_length); + return length; } + pad_length = (elem_length + 7)/8*8 - elem_length; + elem_length -= 4; + switch (elem_type) { case OFPHET_VERSIONBITMAP: /* bitmap */ @@ -10651,6 +10655,10 @@ { "openflow_v6.hello_element.undecoded", PI_UNDECODED, PI_NOTE, "Unknown hello element body.", EXPFILL } }, + { &ei_openflow_v6_hello_element_length_bad, + { "openflow_v6.hello_element.length_bad", PI_MALFORMED, PI_ERROR, + "Illegal hello element length", EXPFILL } + }, { &ei_openflow_v6_error_undecoded, { "openflow_v6.error.undecoded", PI_UNDECODED, PI_NOTE, "Unknown error data.", EXPFILL } diff -Nru wireshark-4.4.18/epan/dissectors/packet-pkcs12.c wireshark-4.4.19/epan/dissectors/packet-pkcs12.c --- wireshark-4.4.18/epan/dissectors/packet-pkcs12.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-pkcs12.c 2026-09-23 17:33:48.000000000 +0000 @@ -158,8 +158,8 @@ gcry_md_hd_t md; gcry_mpi_t num_b1 = NULL; size_t pwlen; - char hash[20], buf_b[64], buf_i[128], *p; - char *salt_p; + uint8_t hash[20], buf_b[64], buf_i[128], *p; + uint8_t *salt_p; int salt_size; size_t cur_keylen; size_t n; @@ -168,7 +168,10 @@ cur_keylen = 0; salt_size = tvb_captured_length(salt_tvb); - salt_p = (char *)tvb_memdup(pinfo->pool, salt_tvb, 0, salt_size); + if (salt_size == 0) { + return false; + } + salt_p = (uint8_t *)tvb_memdup(pinfo->pool, salt_tvb, 0, salt_size); if (pw == NULL) pwlen = 0; @@ -303,6 +306,10 @@ } encryption_algorithm = x509af_get_last_algorithm_id(); + if (encryption_algorithm == NULL) { + proto_item_append_text(item, " [Unknown encryption algorithm]"); + return false; + } /* these are the only encryption schemes we understand for now */ if(!strcmp(encryption_algorithm, PKCS12_PBE_3DES_SHA1_OID)) { @@ -358,6 +365,12 @@ return false; } + datalen = tvb_captured_length(encrypted_tvb); + if (!datalen) { + proto_item_append_text(item, " [Zero-length input buffer]"); + return false; + } + /* allocate buffers */ key = (char *)wmem_alloc(pinfo->pool, keylen); @@ -391,7 +404,6 @@ } } - datalen = tvb_captured_length(encrypted_tvb); clear_data = (char *)wmem_alloc(pinfo->pool, datalen); err = gcry_cipher_decrypt (cipher, clear_data, datalen, (char *)tvb_memdup(pinfo->pool, encrypted_tvb, 0, datalen), datalen); diff -Nru wireshark-4.4.18/epan/dissectors/packet-rf4ce-secur.c wireshark-4.4.19/epan/dissectors/packet-rf4ce-secur.c --- wireshark-4.4.18/epan/dissectors/packet-rf4ce-secur.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-rf4ce-secur.c 2026-09-23 17:33:48.000000000 +0000 @@ -60,7 +60,9 @@ static void keypair_context_calc_key(uint8_t *nwk_key) { - for (int i = 0; i < keypair_context.nwk_key_exchange_transfer_received; i++) + /* "Divide the result of phase 1 into five 128-bit blocks and compute + * their XOR." */ + for (int i = 0; i < 4; i++) { for (int j = 0; j < KEY_LEN; j++) { @@ -124,6 +126,8 @@ /* save the current key seed to avoid retransmitts of the latest one in future */ memcpy(keypair_context.nwk_key_seed_prev, keypair_context.nwk_key_seed, RF4CE_NWK_KEY_SEED_DATA_LENGTH); + /* "Compute the XOR of the seed data fields from each of the (n + 1) + * key seed command frames." */ for (int i = 0; i < RF4CE_NWK_KEY_SEED_DATA_LENGTH; i++) { keypair_context.nwk_key_seed[i] ^= keypair_context.nwk_key_seed_latest[i]; diff -Nru wireshark-4.4.18/epan/dissectors/packet-rtps.c wireshark-4.4.19/epan/dissectors/packet-rtps.c --- wireshark-4.4.18/epan/dissectors/packet-rtps.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-rtps.c 2026-09-23 17:33:48.000000000 +0000 @@ -13499,9 +13499,9 @@ offset += 2; min_length = 4; - if ((flags2 & FLAG_SAMPLE_INFO_T) != 0) min_len += 8; - if ((flags2 & FLAG_SAMPLE_INFO_Q) != 0) min_len += 4; - if ((flags2 & FLAG_SAMPLE_INFO_O) != 0) min_len += 4; + if ((flags2 & FLAG_SAMPLE_INFO_T) != 0) min_length += 8; + if ((flags2 & FLAG_SAMPLE_INFO_Q) != 0) min_length += 4; + if ((flags2 & FLAG_SAMPLE_INFO_O) != 0) min_length += 4; /* Ensure there are enough bytes to decode */ if (sampleListOffset - offset < min_length) { diff -Nru wireshark-4.4.18/epan/dissectors/packet-sctp.c wireshark-4.4.19/epan/dissectors/packet-sctp.c --- wireshark-4.4.18/epan/dissectors/packet-sctp.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-sctp.c 2026-09-23 17:33:48.000000000 +0000 @@ -2954,6 +2954,20 @@ return fragment; } +static void +fragment_checked_memcpy(sctp_complete_msg *message, sctp_fragment *frag_i, uint32_t *offset) +{ + uint32_t copy_len = frag_i->len; + uint32_t old_offset = *offset; + if (ckd_add(offset, old_offset, copy_len) || *offset > message->len) { + copy_len = message->len - old_offset; + *offset = message->len; + } + if (copy_len && frag_i->data) { + memcpy(message->data + old_offset, frag_i->data, copy_len); + } +} + static tvbuff_t* fragment_reassembly(tvbuff_t *tvb, sctp_fragment *fragment, packet_info *pinfo, proto_tree *tree, uint16_t stream_id, @@ -2963,7 +2977,8 @@ sctp_complete_msg *message, *last_message; sctp_fragment *frag_i, *last_frag, *first_frag; sctp_frag_be *begin, *end, *beginend; - uint32_t len, offset = 0; + uint32_t offset = 0; + uint64_t len; tvbuff_t *new_tvb = NULL; proto_item *item; proto_tree *ptree; @@ -3141,24 +3156,32 @@ */ len += frag_i->len; + /* Cap the length (unsigned lengths are not fully suppported everywhere + * including some Qt display issues. See #20103.) In the unusual case len + * has already overflowed the uint64_t we won't reassemble it properly, but + * the checks below will still prevent bad memory accesses. */ + if (len > INT32_MAX) { + len = INT32_MAX; + } + message = wmem_new(wmem_file_scope(), sctp_complete_msg); message->begin = begin->fragment->tsn; message->end = end->fragment->tsn; message->reassembled_in = fragment; - message->len = len; - message->data = (unsigned char *)wmem_alloc(wmem_file_scope(), len); + message->len = (uint32_t)len; + message->data = (unsigned char *)wmem_alloc(wmem_file_scope(), message->len); message->next = NULL; /* now copy all fragments */ + /* XXX - Use the reassembly API. fragment_add_out_of_order() should allow + * adding fragment data that comes from other frames. */ if (begin->fragment->tsn > end->fragment->tsn) { /* a tsn restart has occurred */ for (frag_i = first_frag; frag_i; frag_i = frag_i->next) { - if (frag_i->len && frag_i->data) - memcpy(message->data + offset, frag_i->data, frag_i->len); - offset += frag_i->len; + fragment_checked_memcpy(message, frag_i, &offset); /* release fragment data */ g_free(frag_i->data); @@ -3169,9 +3192,7 @@ frag_i && frag_i->tsn <= end->fragment->tsn; frag_i = frag_i->next) { - if (frag_i->len && frag_i->data) - memcpy(message->data + offset, frag_i->data, frag_i->len); - offset += frag_i->len; + fragment_checked_memcpy(message, frag_i, &offset); /* release fragment data */ g_free(frag_i->data); @@ -3183,9 +3204,7 @@ frag_i && frag_i->tsn <= end->fragment->tsn; frag_i = frag_i->next) { - if (frag_i->len && frag_i->data) - memcpy(message->data + offset, frag_i->data, frag_i->len); - offset += frag_i->len; + fragment_checked_memcpy(message, frag_i, &offset); /* release fragment data */ g_free(frag_i->data); @@ -3227,7 +3246,7 @@ g_free(end); /* create data source */ - new_tvb = tvb_new_child_real_data(tvb, message->data, len, len); + new_tvb = tvb_new_child_real_data(tvb, message->data, message->len, message->len); add_new_data_source(pinfo, new_tvb, "Reassembled SCTP Message"); /* display reassembly info */ diff -Nru wireshark-4.4.18/epan/dissectors/packet-smb.c wireshark-4.4.19/epan/dissectors/packet-smb.c --- wireshark-4.4.18/epan/dissectors/packet-smb.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-smb.c 2026-09-23 17:33:48.000000000 +0000 @@ -1053,22 +1053,36 @@ free_chunk *new_free_chunk; uint64_t chunk_offset = eo_info->smb_file_offset; uint64_t chunk_length = eo_info->payload_len; - uint64_t chunk_end_offset = chunk_offset + chunk_length-1; /* Size of file in memory */ - uint64_t calculated_size = chunk_offset + chunk_length; + uint64_t chunk_end_offset, calculated_size; void * dest_memory_addr; + if (ckd_add(&calculated_size, chunk_offset, chunk_length)) { + calculated_size = UINT64_MAX; + chunk_length = calculated_size - chunk_offset; + } + + if (chunk_length == 0) { + /* There's no point in doing anything with a zero length chunk. + * eo_info->payload_data might be NULL, in which case at least + * currently means the memmove() below is UB. */ + return; + } + + chunk_end_offset = calculated_size - 1; + /* Above has to be at least 0 because chunk_length != 0 */ + /* Let's recalculate the file length and data gathered */ if ((file->data_gathered == 0) && (nfreechunks == 0)) { /* If this is the first entry for this file, we first create an initial free chunk */ new_free_chunk = g_new(free_chunk, 1); new_free_chunk->start_offset = 0; - new_free_chunk->end_offset = MAX(file->file_length, chunk_end_offset+1) - 1; + new_free_chunk->end_offset = MAX(file->file_length, calculated_size) - 1; file->free_chunk_list = NULL; file->free_chunk_list = g_slist_append(file->free_chunk_list, new_free_chunk); nfreechunks += 1; } else { - if (chunk_end_offset > file->file_length-1) { + if (calculated_size > file->file_length) { new_free_chunk = g_new(free_chunk, 1); new_free_chunk->start_offset = file->file_length; new_free_chunk->end_offset = chunk_end_offset; @@ -1076,7 +1090,7 @@ nfreechunks += 1; } } - file->file_length = MAX(file->file_length, chunk_end_offset+1); + file->file_length = MAX(file->file_length, calculated_size); /* Recalculate each free chunk according with the incoming data chunk */ for (i=0; iis_out_of_memory) { + g_free(current_entry->content_type); current_entry->content_type = ws_strdup_printf("%s (%"PRIu64"?/%"PRIu64") %s [mem!!]", aux_smb_fid_type_string, @@ -1352,6 +1367,7 @@ try_val_to_str(current_file->flag_contains, smb_eo_contains_string)); } else { percent = (float) (100*current_file->data_gathered/current_file->file_length); + g_free(current_entry->content_type); current_entry->content_type = ws_strdup_printf("%s (%"PRIu64"/%"PRIu64") %s [%5.2f%%]", aux_smb_fid_type_string, diff -Nru wireshark-4.4.18/epan/dissectors/packet-spdy.c wireshark-4.4.19/epan/dissectors/packet-spdy.c --- wireshark-4.4.18/epan/dissectors/packet-spdy.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-spdy.c 2026-09-23 17:33:48.000000000 +0000 @@ -615,7 +615,7 @@ spdy_data_frame_t *df; uint8_t *data; uint32_t datalen; - uint32_t offset; + uint32_t offset, old_offset; wmem_list_t *dflist = si->data_frames; wmem_list_frame_t *frame; if (wmem_list_count(dflist) == 0) { @@ -631,7 +631,9 @@ frame = wmem_list_frame_next(wmem_list_head(dflist)); while (frame != NULL) { df = (spdy_data_frame_t *)wmem_list_frame_data(frame); - datalen += df->length; + if (ckd_add(&datalen, datalen, df->length) || datalen > INT32_MAX) { + datalen = INT32_MAX; + } frame = wmem_list_frame_next(frame); } if (datalen != 0) { @@ -641,10 +643,20 @@ frame = wmem_list_frame_next(wmem_list_head(dflist)); while (frame != NULL) { df = (spdy_data_frame_t *)wmem_list_frame_data(frame); - memcpy(data+offset, df->data, df->length); - offset += df->length; + old_offset = offset; + if (ckd_add(&offset, old_offset, df->length) || offset > datalen) { + offset = datalen; + memcpy(data+old_offset, df->data, datalen - old_offset); + break; + } + memcpy(data+old_offset, df->data, df->length); frame = wmem_list_frame_next(frame); } + /* This leaks the 64-bytes of tvb wrapper (not the data itself, which + * is wmem_file_scope() allocated.) We could call wmem_register_callback + * appropriately, or store the data and the length and make a tvbuffer + * on demand. But in the long run we probably just want to use the + * ordinary reassembly API. */ tvb = tvb_new_real_data(data, datalen, datalen); si->assembled_data = tvb; } @@ -937,10 +949,10 @@ * Calling the default media handle if there is a content-type that * wasn't handled above. */ - call_dissector_with_data(media_handle, next_tvb, pinfo, spdy_tree, &content_info); + call_dissector_with_data(media_handle, data_tvb, pinfo, spdy_tree, &content_info); } else { /* Call the default data dissector */ - call_data_dissector(next_tvb, pinfo, spdy_tree); + call_data_dissector(data_tvb, pinfo, spdy_tree); } body_dissected: diff -Nru wireshark-4.4.18/epan/dissectors/packet-synphasor.c wireshark-4.4.19/epan/dissectors/packet-synphasor.c --- wireshark-4.4.18/epan/dissectors/packet-synphasor.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-synphasor.c 2026-09-23 17:33:48.000000000 +0000 @@ -665,7 +665,7 @@ * * use 'config_frame_free()' to free the config_frame again */ -static config_frame * config_3_frame_fast(tvbuff_t *tvb) +static config_frame * config_3_frame_fast(packet_info *pinfo, tvbuff_t *tvb) { uint16_t num_pmu; int offset; @@ -698,11 +698,8 @@ /* start of repeating blocks */ offset += 2; while ((num_pmu) && (frame_not_fragmented)) { - uint16_t format_flags; - int num_ph, - num_an, - num_dg; - int i; + uint16_t format_flags; + uint16_t i, num_ph, num_an, num_dg; uint8_t name_length; config_block block; @@ -749,7 +746,9 @@ /* grab phasor names */ if (num_ph > 0) { - pi = (phasor_info *)wmem_alloc(wmem_file_scope(), sizeof(phasor_info)*num_ph); + /* The values are copied into the block.phasors array and + * so this can be pinfo->pool scope. */ + pi = (phasor_info *)wmem_alloc(pinfo->pool, sizeof(phasor_info)*num_ph); for (i = 0; i != num_ph; i++) { /* copy the phasor name from the tvb, and add NULL byte */ @@ -766,7 +765,9 @@ /* grab analog names */ if (num_an > 0) { - ai = (analog_info *)wmem_alloc(wmem_file_scope(), sizeof(analog_info)*num_an); + /* The values are copied into the block.analog array and + * so these can be pinfo->pool scope. */ + ai = (analog_info *)wmem_alloc(pinfo->pool, sizeof(analog_info)*num_an); for (i = 0; i != num_an; i++) { /* copy the phasor name from the tvb, and add NULL byte */ @@ -802,10 +803,9 @@ pi[i].conv_cfg3 = tvb_get_ntohieee_float(tvb, offset + 4); pi[i].angle_offset_cfg3 = tvb_get_ntohieee_float(tvb, offset + 8); - wmem_array_append_one(block.phasors, pi[i]); - offset += 12; } + wmem_array_append(block.phasors, pi, num_ph); } /* get analog conversion factors */ @@ -816,10 +816,9 @@ ai[i].conv_cfg3 = tvb_get_ntohieee_float(tvb, offset); ai[i].offset_cfg3 = tvb_get_ntohieee_float(tvb, offset + 4); - wmem_array_append_one(block.analogs, ai[i]); - offset += 8; } + wmem_array_append(block.analogs, ai, num_an); } /* skip digital masks */ @@ -840,6 +839,16 @@ /* skip CFGCNT - offset ready for next PMU */ offset += 2; + /* appending the block at the end here, and adding the + * conversation data *after* this function is called in + * the outer function, means that this block is orphaned + * if there's an exception (it's file scope memory, so + * it will be cleaned eventually.) That has a benefit - + * we avoid the conversation data having a block where + * num_ph is greater than the actual size of the phasors + * array, which could lead to NULL pointer dereferences if + * not careful - but also means that we can't do partial + * dissection if the caplen is short. */ wmem_array_append_one(frame->config_blocks, block); num_pmu--; } @@ -1880,6 +1889,11 @@ /* remove data from a previous CFG-2 frame, only * the most recent configuration frame is relevant */ + /* XXX - That is not true for dissecting in random order; + * something like a wmem_tree should be used. Also, note + * that this is basically a no-op, and doesn't actually + * free the stored conversation data, only removes it + * from the conversation. */ if (conversation_get_proto_data(conversation, proto_synphasor)) conversation_delete_proto_data(conversation, proto_synphasor); @@ -1890,7 +1904,7 @@ config_frame *frame; /* fill the config_frame */ - frame = config_3_frame_fast(tvb); + frame = config_3_frame_fast(pinfo, tvb); frame->fnum = pinfo->num; /* find a conversation, create a new one if none exists */ @@ -1898,6 +1912,8 @@ /* remove data from a previous CFG-3 frame, only * the most recent configuration frame is relevant */ + /* XXX - That is not true for dissecting in random order; + * something like a wmem_tree should be used. */ if (conversation_get_proto_data(conversation, proto_synphasor)) { conversation_delete_proto_data(conversation, proto_synphasor); } diff -Nru wireshark-4.4.18/epan/dissectors/packet-umts_fp.c wireshark-4.4.19/epan/dissectors/packet-umts_fp.c --- wireshark-4.4.18/epan/dissectors/packet-umts_fp.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-umts_fp.c 2026-09-23 17:33:48.000000000 +0000 @@ -227,6 +227,7 @@ static expert_field ei_fp_no_per_frame_info; static expert_field ei_fp_no_per_conv_channel_info; static expert_field ei_fp_invalid_frame_count; +static expert_field ei_fp_invalid_ddi_count; static dissector_handle_t rlc_bcch_handle; static dissector_handle_t mac_fdd_dch_handle; @@ -2738,6 +2739,7 @@ for (i=0; i < subframes[n].number_of_mac_es_pdus; i++) { uint64_t ddi; uint64_t n_pdus; /*Size of the PDU*/ + int no_ddi_entries = MIN(p_fp_info->no_ddi_entries, MAX_EDCH_DDIS); proto_item *ddi_ti; int ddi_size = -1; @@ -2751,7 +2753,7 @@ /********************************/ /* Look up data in higher layers*/ /* Look up the size from this DDI value */ - for (p=0; p < p_fp_info->no_ddi_entries; p++) { + for (p=0; p < no_ddi_entries; p++) { if (ddi == p_fp_info->edch_ddi[p]) { ddi_size = p_fp_info->edch_macd_pdu_size[p]; @@ -2817,24 +2819,18 @@ proto_item *ti; int macd_idx; proto_tree *maces_tree = NULL; + int no_ddi_entries = MIN(p_fp_info->no_ddi_entries, MAX_EDCH_DDIS); - /** TODO: Merge these two loops? **/ - /* Look up mac-d pdu size for this ddi */ - for (m=0; m < p_fp_info->no_ddi_entries; m++) { + /* Look up mac-d pdu size and logicalchannel id for this DDI */ + for (m=0; m < no_ddi_entries; m++) { if (subframes[n].ddi[i] == p_fp_info->edch_ddi[m]) { size = p_fp_info->edch_macd_pdu_size[m]; - break; - } - } - /* Look up logicalchannel id for this DDI value */ - for (m=0; m < p_fp_info->no_ddi_entries; m++) { - if (subframes[n].ddi[i] == p_fp_info->edch_ddi[m]) { lchid = p_fp_info->edch_lchId[m]; break; } } - if (m == p_fp_info->no_ddi_entries) { + if (m == no_ddi_entries) { /* Not found. Oops */ expert_add_info(pinfo, NULL, &ei_fp_unable_to_locate_ddi_entry); return; @@ -5519,7 +5515,7 @@ } macinf = wmem_new0(wmem_file_scope(), umts_mac_info); rlcinf = wmem_new0(wmem_file_scope(), rlc_info); - fpi->no_ddi_entries = fp_edch_channel_info->no_ddi_entries; + fpi->no_ddi_entries = MIN(fp_edch_channel_info->no_ddi_entries, MAX_EDCH_DDIS); for (i=0; ino_ddi_entries; i++) { fpi->edch_ddi[i] = fp_edch_channel_info->edch_ddi[i]; /*Set the DDI value*/ fpi->edch_macd_pdu_size[i] = fp_edch_channel_info->edch_macd_pdu_size[i]; /*Set the PDU size*/ @@ -5918,6 +5914,7 @@ int n; proto_item *ddi_config_ti; proto_tree *ddi_config_tree; + int no_ddi_entries = MIN(p_fp_info->no_ddi_entries, MAX_EDCH_DDIS); ddi_config_ti = proto_tree_add_string_format(fp_tree, hf_fp_ddi_config, tvb, offset, 0, "", "DDI Config ("); @@ -5925,7 +5922,7 @@ ddi_config_tree = proto_item_add_subtree(ddi_config_ti, ett_fp_ddi_config); /* Add each entry */ - for (n=0; n < p_fp_info->no_ddi_entries; n++) { + for (n=0; n < no_ddi_entries; n++) { proto_item_append_text(ddi_config_ti, "%s%u->%ubits", (n == 0) ? "" : " ", p_fp_info->edch_ddi[n], p_fp_info->edch_macd_pdu_size[n]); @@ -5938,6 +5935,9 @@ } proto_item_append_text(ddi_config_ti, ")"); + if (p_fp_info->no_ddi_entries > MAX_EDCH_DDIS) { + expert_add_info_format(pinfo, ddi_config_ti, &ei_fp_invalid_ddi_count, "Invalid Number of E-DCH DDIs (max is %u)", MAX_EDCH_DDIS); + } } /*************************************/ @@ -7056,6 +7056,7 @@ { &ei_fp_no_per_frame_info, { "fp.no_per_frame_info", PI_UNDECODED, PI_ERROR, "Can't dissect FP frame because no per-frame info was attached!", EXPFILL }}, { &ei_fp_no_per_conv_channel_info, { "fp.no_per_conv_channel_info", PI_UNDECODED, PI_ERROR, "Can't dissect this FP stream because no per-conversation channel info was attached!", EXPFILL }}, { &ei_fp_invalid_frame_count, { "fp.invalid_frame_count", PI_MALFORMED, PI_ERROR, "Invalid frame count", EXPFILL }}, + { &ei_fp_invalid_ddi_count, { "fp.invalid_ddi_count", PI_MALFORMED, PI_ERROR, "Invalid E-DCH DDI count", EXPFILL }}, }; module_t *fp_module; diff -Nru wireshark-4.4.18/epan/dissectors/packet-umts_fp.h wireshark-4.4.19/epan/dissectors/packet-umts_fp.h --- wireshark-4.4.18/epan/dissectors/packet-umts_fp.h 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-umts_fp.h 2026-09-23 17:33:48.000000000 +0000 @@ -221,12 +221,11 @@ int chan_tf_size[MAX_FP_CHANS]; int chan_num_tbs[MAX_FP_CHANS]; + /* fp_edch_channel_info_t; */ int no_ddi_entries; uint8_t edch_ddi[MAX_EDCH_DDIS]; unsigned edch_macd_pdu_size[MAX_EDCH_DDIS]; - unsigned edch_lchId[MAX_EDCH_DDIS]; /* Logical Channel Id for E-DCH*/ - uint8_t edch_type; /* 1 means T2 */ int cur_tb; /* current transport block (required for dissecting of single TBs */ diff -Nru wireshark-4.4.18/epan/dissectors/packet-usb-hid.c wireshark-4.4.19/epan/dissectors/packet-usb-hid.c --- wireshark-4.4.18/epan/dissectors/packet-usb-hid.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-usb-hid.c 2026-09-23 17:33:48.000000000 +0000 @@ -3876,6 +3876,9 @@ usage |= usage_page << 16; } + if (wmem_array_get_count(field.usages) + 1 > MAX_REPORT_DESCRIPTOR_COUNT) { + goto err; + } wmem_array_append_one(field.usages, usage); break; @@ -3925,7 +3928,8 @@ /* min and max are inclusive */ wmem_array_grow(field.usages, usage_max - usage_min + 1); - for (uint32_t j = usage_min; j <= usage_max; j++) { + /* Ensure j doesn't overflow even if usage_max is UINT32_MAX */ + for (uint64_t j = usage_min; j <= usage_max; j++) { wmem_array_append_one(field.usages, j); } diff -Nru wireshark-4.4.18/epan/dissectors/packet-x11.c wireshark-4.4.19/epan/dissectors/packet-x11.c --- wireshark-4.4.18/epan/dissectors/packet-x11.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-x11.c 2026-09-23 17:33:48.000000000 +0000 @@ -128,8 +128,7 @@ unsigned byte_order; /* byte order of connection */ bool resync; /* resynchronization of sequence number performed */ - int *keycodemap[256]; /* keycode to keysymvalue map. */ - int keysyms_per_keycode; + wmem_array_t *keycodemap[256]; /* keycode to keysymvalue map. */ int first_keycode; int *modifiermap[array_length(modifiers)];/* modifier to keycode.*/ int keycodes_per_modifier; @@ -1087,7 +1086,7 @@ #define CARD8(name) FIELD8(name) #define CARD16(name) (FIELD16(name)) #define CARD32(name) (FIELD32(name)) -#define COLOR_FLAGS(name) colorFlags(tvb, offsetp, t) +#define COLOR_FLAGS(name) colorFlags(tvb, pinfo, offsetp, t) #define COLORMAP(name) FIELD32(name) #define CURSOR(name) FIELD32(name) #define DRAWABLE(name) FIELD32(name) @@ -1103,8 +1102,8 @@ #define KEYCODE_DECODED(name, keycode, mask) do { \ proto_tree_add_uint_format(t, hf_x11_##name, tvb, offset, 1, \ keycode, "keycode: %d (%s)", \ - keycode, keycode2keysymString(state->keycodemap, \ - state->first_keycode, state->keysyms_per_keycode, \ + keycode, keycode2keysymString(pinfo->pool, state->keycodemap, \ + state->first_keycode, \ state->modifiermap, state->keycodes_per_modifier, \ keycode, mask)); \ ++offset; \ @@ -1125,7 +1124,7 @@ val_to_str(eventcode & 0x7F, \ state->eventcode_vals, \ "")); \ - decode_x11_event(next_tvb, eventcode, sent, event_proto_tree, \ + decode_x11_event(next_tvb, pinfo, eventcode, sent, event_proto_tree, \ state, byte_order); \ offset = next_offset; \ } while (0) @@ -1137,7 +1136,7 @@ #define LISTofIPADDRESS(name, length) { listOfByte(tvb, offsetp, t, hf_x11_##name, (length), false); } #define LISTofCARD16(name, length) { listOfCard16(tvb, offsetp, t, hf_x11_##name, hf_x11_##name##_item, (length) / 2, byte_order); } #define LISTofCARD32(name, length) { listOfCard32(tvb, offsetp, t, hf_x11_##name, hf_x11_##name##_item, (length) / 4, byte_order); } -#define LISTofCOLORITEM(name, length) { listOfColorItem(tvb, offsetp, t, hf_x11_##name, (length) / 12, byte_order); } +#define LISTofCOLORITEM(name, length) { listOfColorItem(tvb, pinfo, offsetp, t, hf_x11_##name, (length) / 12, byte_order); } #define LISTofKEYCODE(map, name, length) { listOfKeycode(tvb, offsetp, t, hf_x11_##name, map, (length), byte_order); } #define LISTofKEYSYM(name, map, keycode_first, keycode_count, \ keysyms_per_keycode) {\ @@ -1147,9 +1146,9 @@ #define LISTofPIXMAPFORMAT(name, length) { listOfPixmapFormat(tvb, offsetp, t, hf_x11_##name, (length), byte_order); } #define LISTofSCREEN(name, length) { listOfScreen(tvb, offsetp, t, hf_x11_##name, (length), byte_order); } #define LISTofSEGMENT(name) { listOfSegment(tvb, offsetp, t, hf_x11_##name, (next_offset - *offsetp) / 8, byte_order); } -#define LISTofSTRING8(name, length) { listOfString8(tvb, offsetp, t, hf_x11_##name, hf_x11_##name##_string, (length), byte_order); } -#define LISTofTEXTITEM8(name) { listOfTextItem(tvb, offsetp, t, hf_x11_##name, false, next_offset, byte_order); } -#define LISTofTEXTITEM16(name) { listOfTextItem(tvb, offsetp, t, hf_x11_##name, true, next_offset, byte_order); } +#define LISTofSTRING8(name, length) { listOfString8(tvb, pinfo, offsetp, t, hf_x11_##name, hf_x11_##name##_string, (length), byte_order); } +#define LISTofTEXTITEM8(name) { listOfTextItem(tvb, pinfo, offsetp, t, hf_x11_##name, false, next_offset, byte_order); } +#define LISTofTEXTITEM16(name) { listOfTextItem(tvb, pinfo, offsetp, t, hf_x11_##name, true, next_offset, byte_order); } #define OPCODE() { \ opcode = tvb_get_uint8(tvb, *offsetp); \ proto_tree_add_uint(t, hf_x11_opcode, tvb, *offsetp, \ @@ -1165,7 +1164,7 @@ #define SETofKEYBUTMASK(name) { setOfKeyButMask(tvb, offsetp, t, byte_order, 1); } #define SETofPOINTEREVENT(name) { setOfPointerEvent(tvb, offsetp, t, byte_order); } #define STRING8(name, length) { string8(tvb, offsetp, t, hf_x11_##name, length); } -#define STRING16(name, length) { string16(tvb, offsetp, t, hf_x11_##name, hf_x11_##name##_bytes, length, byte_order); } +#define STRING16(name, length) { string16(tvb, pinfo, offsetp, t, hf_x11_##name, hf_x11_##name##_bytes, length, byte_order); } #define TIMESTAMP(name){ timestamp(tvb, offsetp, t, hf_x11_##name, byte_order); } #define UNDECODED(x) { proto_tree_add_item(t, hf_x11_undecoded, tvb, *offsetp, x, ENC_NA); *offsetp += x; } #define PAD() { if (next_offset - *offsetp > 0) proto_tree_add_item(t, hf_x11_unused, tvb, *offsetp, next_offset - *offsetp, ENC_NA); *offsetp = next_offset; } @@ -1266,7 +1265,7 @@ unsigned byte_order); static void -decode_x11_event(tvbuff_t *tvb, unsigned char eventcode, const char *sent, +decode_x11_event(tvbuff_t *tvb, packet_info* pinfo, unsigned char eventcode, const char *sent, proto_tree *t, x11_conv_data_t *state, unsigned byte_order); @@ -1312,7 +1311,7 @@ return v; } -static void colorFlags(tvbuff_t *tvb, int *offsetp, proto_tree *t) +static void colorFlags(tvbuff_t *tvb, packet_info* pinfo, int *offsetp, proto_tree *t) { unsigned do_red_green_blue = tvb_get_uint8(tvb, *offsetp); proto_item *ti; @@ -1320,7 +1319,7 @@ if (do_red_green_blue) { bool sep = false; - wmem_strbuf_t *buffer = wmem_strbuf_create(wmem_packet_scope()); + wmem_strbuf_t *buffer = wmem_strbuf_create(pinfo->pool); wmem_strbuf_append(buffer, "flags: "); if (do_red_green_blue & 0x1) { @@ -1505,7 +1504,7 @@ } } -static void listOfColorItem(tvbuff_t *tvb, int *offsetp, proto_tree *t, int hf, +static void listOfColorItem(tvbuff_t *tvb, packet_info* pinfo, int *offsetp, proto_tree *t, int hf, int length, unsigned byte_order) { proto_item *ti = proto_tree_add_item(t, hf, tvb, *offsetp, length * 8, byte_order); @@ -1518,7 +1517,7 @@ wmem_strbuf_t *buffer; const char *sep; - buffer=wmem_strbuf_create(wmem_packet_scope()); + buffer=wmem_strbuf_create(pinfo->pool); wmem_strbuf_append(buffer, "colorItem "); red = tvb_get_uint16(tvb, *offsetp + 4, byte_order); green = tvb_get_uint16(tvb, *offsetp + 6, byte_order); @@ -1547,19 +1546,12 @@ *offsetp += 2; proto_tree_add_item(ttt, hf_x11_coloritem_blue, tvb, *offsetp, 2, byte_order); *offsetp += 2; - colorFlags(tvb, offsetp, ttt); + colorFlags(tvb, pinfo, offsetp, ttt); proto_tree_add_item(ttt, hf_x11_coloritem_unused, tvb, *offsetp, 1, byte_order); *offsetp += 1; } } -#if 0 /* XXX: Use of GTree no longer needed; use value_string_ext */ -static int compareGuint32(const void *a, const void *b) -{ - return GPOINTER_TO_INT(b) - GPOINTER_TO_INT(a); -} -#endif - static void XConvertCase(register int sym, int *lower, int *upper) { @@ -1662,8 +1654,7 @@ } static const char * -keycode2keysymString(int *keycodemap[256], int first_keycode, - int keysyms_per_keycode, +keycode2keysymString(wmem_allocator_t* allocator, wmem_array_t *keycodemap[256], int first_keycode, int *modifiermap[array_length(modifiers)], int keycodes_per_modifier, uint32_t keycode, uint32_t bitmask) @@ -1673,15 +1664,19 @@ int lockmod_is_capslock = 0, lockmod_is_shiftlock = 0; int lockmod_is_nosymbol = 1; int modifier, kc, keysym; + int keysyms_per_keycode; - if ((syms = keycodemap[keycode]) == NULL) + if ((keycodemap[keycode]) == NULL) return ""; - for (kc = first_keycode, groupmodkc = numlockkc = -1; kc < 256; ++kc) + for (kc = first_keycode, groupmodkc = numlockkc = -1; kc < 256; ++kc) { + if (keycodemap[kc] == NULL) { + continue; + } + keysyms_per_keycode = wmem_array_get_count(keycodemap[kc]); + syms = wmem_array_get_raw(keycodemap[kc]); for (keysym = 0; keysym < keysyms_per_keycode; ++keysym) { - if (keycodemap[kc] == NULL) - return ""; - switch (keycodemap[kc][keysym]) { + switch (syms[keysym]) { case 0xff7e: groupmodkc = kc; break; @@ -1699,7 +1694,7 @@ break; } } - + } /* * If we have not seen the modifiermap we don't know what the @@ -1734,6 +1729,9 @@ break; } + keysyms_per_keycode = wmem_array_get_count(keycodemap[keycode]); + syms = wmem_array_get_raw(keycodemap[keycode]); + #if 0 /* * This is (how I understand) the X11v4R6 protocol description given @@ -1782,7 +1780,7 @@ #else /* _XTranslateKey() based code. */ while (keysyms_per_keycode > 2 - && keycodemap[keysyms_per_keycode - 1] == NoSymbol) + && syms[keysyms_per_keycode - 1] == NoSymbol) --keysyms_per_keycode; if (keysyms_per_keycode > 2 && (groupmod >= 0 && (modifiermask[groupmod] & bitmask))) { @@ -1837,7 +1835,7 @@ if (keysym == XK_VoidSymbol) keysym = NoSymbol; - return wmem_strdup_printf(wmem_packet_scope(), "%d, \"%s\"", keysym, keysymString(keysym)); + return wmem_strdup_printf(allocator, "%d, \"%s\"", keysym, keysymString(keysym)); #endif } @@ -1893,7 +1891,7 @@ } static void listOfKeysyms(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int hf, - int hf_item, int *keycodemap[256], + int hf_item, wmem_array_t *keycodemap[256], int keycode_first, int keycode_count, int keysyms_per_keycode, unsigned byte_order) { @@ -1901,6 +1899,7 @@ proto_tree *tt = proto_item_add_subtree(ti, ett_x11_list_of_keysyms); proto_item *tti; proto_tree *ttt; + int *syms; int i, keycode; DISSECTOR_ASSERT(keycode_first >= 0); @@ -1920,8 +1919,15 @@ ttt = proto_item_add_subtree(tti, ett_x11_keysym); tvb_ensure_bytes_exist(tvb, *offsetp, 4 * keysyms_per_keycode); + /* XXX - To be more correct, this should be a tree that stores + * the lists at different frame numbers, so that nonsequential + * dissection on later passes works before and after a + * ChangeKeyboardMapping opcode. */ + if (keycodemap[keycode]) { + wmem_destroy_array(keycodemap[keycode]); + } keycodemap[keycode] - = (int *)wmem_alloc(wmem_file_scope(), sizeof(*keycodemap[keycode]) * keysyms_per_keycode); + = wmem_array_sized_new(wmem_file_scope(), sizeof(int), keysyms_per_keycode); for(i = 0; i < keysyms_per_keycode; ++i) { /* keysymvalue = byte3 * 256 + byte4. */ @@ -1933,33 +1939,34 @@ "keysym (keycode %d): 0x%08x (%s)", keycode, v, keysymString(v)); - keycodemap[keycode][i] = v; + wmem_array_append_one(keycodemap[keycode], v); *offsetp += 4; } + syms = wmem_array_get_raw(keycodemap[keycode]); for (i = 1; i < keysyms_per_keycode; ++i) - if (keycodemap[keycode][i] != NoSymbol) + if (syms[i] != NoSymbol) break; if (i == keysyms_per_keycode) { /* all but (possibly) first were NoSymbol. */ if (keysyms_per_keycode == 4) { - keycodemap[keycode][1] = NoSymbol; - keycodemap[keycode][2] = keycodemap[keycode][0]; - keycodemap[keycode][3] = NoSymbol; + syms[1] = NoSymbol; + syms[2] = syms[0]; + syms[3] = NoSymbol; } continue; } for (i = 2; i < keysyms_per_keycode; ++i) - if (keycodemap[keycode][i] != NoSymbol) + if (syms[i] != NoSymbol) break; if (i == keysyms_per_keycode) { /* all but (possibly) first two were NoSymbol. */ if (keysyms_per_keycode == 4) { - keycodemap[keycode][2] = keycodemap[keycode][0]; - keycodemap[keycode][3] = keycodemap[keycode][1]; + syms[2] = syms[0]; + syms[3] = syms[1]; } continue; @@ -2187,7 +2194,7 @@ } } -static void listOfString8(tvbuff_t *tvb, int *offsetp, proto_tree *t, int hf, +static void listOfString8(tvbuff_t *tvb, packet_info* pinfo, int *offsetp, proto_tree *t, int hf, int hf_item, int length, unsigned byte_order) { char *s = NULL; @@ -2209,7 +2216,7 @@ while(length--) { unsigned l = tvb_get_uint8(tvb, *offsetp); - s = tvb_get_string_enc(wmem_packet_scope(), tvb, *offsetp + 1, l, ENC_ASCII); + s = tvb_get_string_enc(pinfo->pool, tvb, *offsetp + 1, l, ENC_ASCII); proto_tree_add_string_format(tt, hf_item, tvb, *offsetp, l + 1, s, "\"%s\"", s); *offsetp += l + 1; } @@ -2227,12 +2234,12 @@ /* XXX - assumes that the string encoding is ASCII; even if 0x00 through 0x7F are ASCII, 0x80 through 0xFF might not be, and even 0x00 through 0x7F aren't necessarily ASCII. */ -static char *tvb_get_ascii_string16(tvbuff_t *tvb, int offset, unsigned length) +static char *tvb_get_ascii_string16(wmem_allocator_t* scope, tvbuff_t *tvb, int offset, unsigned length) { wmem_strbuf_t *str; uint8_t ch; - str = wmem_strbuf_new_sized(wmem_packet_scope(), length + 1); + str = wmem_strbuf_new_sized(scope, length + 1); while(length--) { offset++; @@ -2246,7 +2253,7 @@ return wmem_strbuf_finalize(str); } -static void listOfTextItem(tvbuff_t *tvb, int *offsetp, proto_tree *t, int hf, +static void listOfTextItem(tvbuff_t *tvb, packet_info* pinfo, int *offsetp, proto_tree *t, int hf, int sizeIs16, int next_offset, unsigned byte_order) { char *s = NULL; @@ -2283,7 +2290,7 @@ int8_t delta = tvb_get_uint8(tvb, *offsetp + 1); if (sizeIs16) { if (stringIsActuallyAn8BitString(tvb, *offsetp + 2, l)) { - s = tvb_get_ascii_string16(tvb, *offsetp + 2, l); + s = tvb_get_ascii_string16(pinfo->pool, tvb, *offsetp + 2, l); tti = proto_tree_add_none_format(tt, hf_x11_textitem_string, tvb, *offsetp, l*2 + 2, "textitem (string): delta = %d, \"%s\"", delta, s); @@ -2295,14 +2302,14 @@ tti = proto_tree_add_none_format(tt, hf_x11_textitem_string, tvb, *offsetp, l*2 + 2, "textitem (string): delta = %d, %s", delta, - tvb_bytes_to_str(wmem_packet_scope(), tvb, *offsetp + 2, l*2)); + tvb_bytes_to_str(pinfo->pool, tvb, *offsetp + 2, l*2)); ttt = proto_item_add_subtree(tti, ett_x11_text_item); proto_tree_add_item(ttt, hf_x11_textitem_string_delta, tvb, *offsetp + 1, 1, byte_order); proto_tree_add_item(ttt, hf_x11_textitem_string_string16_bytes, tvb, *offsetp + 2, l*2, byte_order); } *offsetp += l*2 + 2; } else { - s = tvb_get_string_enc(wmem_packet_scope(), tvb, *offsetp + 2, l, ENC_ASCII); + s = tvb_get_string_enc(pinfo->pool, tvb, *offsetp + 2, l, ENC_ASCII); tti = proto_tree_add_none_format(tt, hf_x11_textitem_string, tvb, *offsetp, l + 2, "textitem (string): delta = %d, \"%s\"", delta, s); @@ -2694,14 +2701,14 @@ /* The length supplied is the length of the string in CHAR2Bs (half the number of bytes) */ -static void string16(tvbuff_t *tvb, int *offsetp, proto_tree *t, int hf, +static void string16(tvbuff_t *tvb, packet_info* pinfo, int *offsetp, proto_tree *t, int hf, int hf_bytes, unsigned length, unsigned byte_order) { unsigned l = length*2; /* byte count */ char *s; if (stringIsActuallyAn8BitString(tvb, *offsetp, length)) { - s = tvb_get_ascii_string16(tvb, *offsetp, length); + s = tvb_get_ascii_string16(pinfo->pool, tvb, *offsetp, length); proto_tree_add_string_format_value(t, hf, tvb, *offsetp, l, s, "\"%s\"", s); } else proto_tree_add_item(t, hf_bytes, tvb, *offsetp, l, byte_order); @@ -5113,7 +5120,7 @@ static x11_conv_data_t stateinit; int i; - state = wmem_new(wmem_file_scope(), x11_conv_data_t); + state = wmem_new0(wmem_file_scope(), x11_conv_data_t); *state = stateinit; /* initialise opcodes */ @@ -5631,11 +5638,11 @@ REPLYCONTENTS_COMMON(); break; - case X_GetKeyboardMapping: + case X_GetKeyboardMapping: { state->first_keycode = state->request.GetKeyboardMapping.first_keycode; REPLY(reply); - state->keysyms_per_keycode = + int keysyms_per_keycode = FIELD8(keysyms_per_keycode); SEQUENCENUMBER_REPLY(sequencenumber); length = REPLYLENGTH(replylength); @@ -5643,11 +5650,12 @@ *offsetp += 24; LISTofKEYSYM(keysyms, state->keycodemap, state->request.GetKeyboardMapping.first_keycode, - /* XXX - length / state->keysyms_per_keycode can raise a division by zero, + /* XXX - length / keysyms_per_keycode can raise a division by zero, * don't know if this is the *right* way to fix it ... */ - state->keysyms_per_keycode ? length / state->keysyms_per_keycode : 0, - state->keysyms_per_keycode); + keysyms_per_keycode ? length / keysyms_per_keycode : 0, + keysyms_per_keycode); break; + } case X_GetKeyboardControl: REPLYCONTENTS_COMMON(); @@ -5762,13 +5770,13 @@ if (tree == NULL) return; - decode_x11_event(tvb, eventcode, sent, t, state, byte_order); + decode_x11_event(tvb, pinfo, eventcode, sent, t, state, byte_order); return; } static void -decode_x11_event(tvbuff_t *tvb, unsigned char eventcode, const char *sent, +decode_x11_event(tvbuff_t *tvb, packet_info* pinfo, unsigned char eventcode, const char *sent, proto_tree *t, x11_conv_data_t *state, unsigned byte_order) { diff -Nru wireshark-4.4.18/epan/dissectors/packet-zebra.c wireshark-4.4.19/epan/dissectors/packet-zebra.c --- wireshark-4.4.18/epan/dissectors/packet-zebra.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/dissectors/packet-zebra.c 2026-09-23 17:33:48.000000000 +0000 @@ -1274,7 +1274,7 @@ offset, PSIZE(srcprefixlen), (ws_in6_addr *)srcbuffer6); } else if (family == ZEBRA_FAMILY_IPV4) { - prefix4 = 0; + srcprefix4 = 0; tvb_memcpy(tvb, (uint8_t *)&srcprefix4, offset, MIN((unsigned)PSIZE(srcprefixlen), sizeof srcprefix4)); diff -Nru wireshark-4.4.18/epan/enterprises.c wireshark-4.4.19/epan/enterprises.c --- wireshark-4.4.18/epan/enterprises.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/enterprises.c 2026-09-23 17:33:48.000000000 +0000 @@ -8,7 +8,7 @@ * SPDX-License-Identifier: GPL-2.0-or-later */ -/* (last updated 2026-08-07) */ +/* (last updated 2026-09-18) */ #include "config.h" @@ -12060,7 +12060,7 @@ "everyhost.com", // 12038 "Exalead S.A.", // 12039 "gull house", // 12040 - "HTL Braunau", // 12041 + "emicrotec", // 12041 "Infosys Corporation", // 12042 "Jasmap Inc.", // 12043 "Lakesoft Consulting & ISP", // 12044 @@ -14287,7 +14287,7 @@ "itouch", // 14265 "Bulletproff Networks", // 14266 "WrjTec", // 14267 - "Projekt Avalon", // 14268 + "JRVFONPU", // 14268 "Beijing Vanlink Communication Co. P.R.China Yu", // 14269 "Technology Hackworks, Inc.", // 14270 "Iliad", // 14271 @@ -19681,7 +19681,7 @@ "Paradigit Computers B.V.", // 19659 "CRO24 GmbH", // 19660 "Gleiss Lutz", // 19661 - "Telenor AB", // 19662 + "Telenor Sverige AB", // 19662 "Secure-Group AS", // 19663 "gr3 a/s", // 19664 "Grazer Wechselseitige Versicherung AG", // 19665 @@ -26532,7 +26532,7 @@ "Like Minded People Ltd", // 26510 "TAC Bilgisayar Hizmetleri Ic ve Dis Ticaret A.S.", // 26511 "GEEK Bilgisayar Muhendislik ve Sanayi LTD STI", // 26512 - "Hellenic Academic and Research Institutions CertificationAuthority", // 26513 + "HARICA", // 26513 "Suntel Communications", // 26514 "Tepe Teknoloji", // 26515 "Innovation Designs Ltd.", // 26516 @@ -27040,7 +27040,7 @@ "TDC Switzerland AG", // 27018 "Envision Network Technologies Pvt. Ltd.", // 27019 "Pan Asian Certificate Policy Authority Limited", // 27020 - "Pactiv Corp.", // 27021 + "Novolex Holdings, LLC", // 27021 "Instrumentation Technology Systems Corporation", // 27022 "Nexant, Inc.", // 27023 "I-Connect Inc", // 27024 @@ -30591,7 +30591,7 @@ "Globitel", // 30569 "Radiator Software Oy", // 30570 "Mesto Domazlice", // 30571 - "TDC-NetDesign A/S", // 30572 + "TDC Erhverv", // 30572 "Photon Meissener Technologies GmbH", // 30573 "Fixma S.L.", // 30574 "castLabs GmbH", // 30575 @@ -34120,7 +34120,7 @@ "farbwahl GbR", // 34098 "Palestine Polytechnic University", // 34099 "Tompkins Cortland Community College", // 34100 - "Aimetis Corp", // 34101 + "Senstar Corporation", // 34101 "inMeta.Networks", // 34102 "BV-Tech S.p.A.", // 34103 "Ceton Corp", // 34104 @@ -40600,7 +40600,7 @@ "Computing Point Limited", // 40578 "Vistula University", // 40579 "GlobalSite UK", // 40580 - "Big Dutchman ltd.", // 40581 + "Big Dutchman LLC", // 40581 "iBlocks Ltd.", // 40582 "Federal Service State Registration, Cadastre and Cartography in Moscow", // 40583 "Petersburg State University of Railways Transport", // 40584 @@ -43473,7 +43473,7 @@ "Department of Home Affairs", // 43451 "Pragtec inc.", // 43452 "Visiometrics S.L.", // 43453 - "Wiccess", // 43454 + "SPECTRONITE", // 43454 "LFT Solutions", // 43455 "KHS GmbH", // 43456 "Warp Software Ltda.", // 43457 @@ -48578,7 +48578,7 @@ "bellaflora Gartencenter GmbH", // 48556 "OOO LOYALTY PROGRAM Koshelek", // 48557 "Trinity Grammar School", // 48558 - "Rosenberger Technologies Co., Ltd.", // 48559 + "PROSE Technologies", // 48559 "Almnäs Bruk AB", // 48560 "Ahlstrom Group", // 48561 "KENDRIS AG", // 48562 @@ -50662,7 +50662,7 @@ "R2 Dermatology", // 50640 "Orthopädie-Schuhtechnik Frisch GmbH & Co. KG", // 50641 "Andreas Schufft SW Entwicklung & EDV Beratung", // 50642 - "ИП Kostakov Dmitry", // 50643 + "ИП Kostakov Dmitrii", // 50643 "Elumbus GmbH", // 50644 "Salvage Management & Disposals (Pty) Ltd.", // 50645 "Signaturit Solutions, S.L.", // 50646 @@ -56190,7 +56190,7 @@ "dotup IT solutions", // 56168 "Open Products, Networks & Software (OPNS)", // 56169 "Secure Nordic Payments", // 56170 - "Samm Technology Communications Industry and Trade Inc.", // 56171 + "SAMM Teknoloji Iletisim San. ve Ticaret A.S.", // 56171 NULL, // 56172 "A.J. Steenkist", // 56173 "Geminare Inc.", // 56174 @@ -60280,7 +60280,7 @@ "STATE ENTERPRISE “AIR TRAFFIC SERVICES AUTHORITY” (BULATSA)", // 60258 "AUTMES s.r.o.", // 60259 "Maker Systems", // 60260 - "Methinks software SL", // 60261 + "Methinks Software SL", // 60261 "Stella Freyju", // 60262 "Raiys GmbH", // 60263 "Fuzzylabs private limited", // 60264 @@ -64474,7 +64474,7 @@ "Chris Rose", // 64452 "Strand Psychiatric Associates", // 64453 "Stephon X. Jones", // 64454 - "D’Andilly Group", // 64455 + "Cooper D'Andilly", // 64455 "Jenn Tribble", // 64456 "Goose", // 64457 "OTO GK", // 64458 @@ -64682,7 +64682,7 @@ "Polish Linux Users Group - PLUG", // 64660 "Puddingify, Inc", // 64661 "Relativity Space", // 64662 - "Guangzhou Felicity Solar Technology Co., Ltd.", // 64663 + "Guangdong Felicity New Energy Co Ltd", // 64663 "Finspångs Tekniska Verk AB", // 64664 "Camkeeper, LLC", // 64665 "Skogsbränsle Småland AB", // 64666 @@ -65490,7 +65490,7 @@ "SRNE Solar Co.,Ltd", // 65468 "ArtSanEnerji", // 65469 "TriCore Engineering UG (haftungsbeschränkt)", // 65470 - "Mobi Acquisition LLC", // 65471 + "Minute Wireless LLC", // 65471 "BYD Finland Oy", // 65472 "DS Soft Olomouc, spol. s r.o.", // 65473 "CedarDB GmbH", // 65474 @@ -66497,7 +66497,431 @@ "Percivix", // 66475 "Psyray International B.V.", // 66476 "GrowVolution e.V.", // 66477 - "NextITX" // 66478 + "NextITX", // 66478 + "CompleteMSP", // 66479 + "aethercert", // 66480 + "Speedit", // 66481 + "Securepeak LLC", // 66482 + "GoFirmex", // 66483 + "Fexsign", // 66484 + "Ternstack", // 66485 + "Saturn Pathology", // 66486 + "Maven Logix Private Limited", // 66487 + "SE Service GmbH", // 66488 + "NtangledState Inc.", // 66489 + "Lyon Systems", // 66490 + "Wild Turtles", // 66491 + "VusionGroup GmbH", // 66492 + "East Lothian Council", // 66493 + "MetTel", // 66494 + "ISOLEDIN s.r.o.", // 66495 + "CXL Consortium", // 66496 + "SHIVANSHU JHA", // 66497 + "Mariusz Drozdowski", // 66498 + "Estado de Goias - Tecnologia da Informacao", // 66499 + "Kodiak AI", // 66500 + "Simple Designs Software LLC", // 66501 + "NetInTech", // 66502 + "Guilin Guangyi Intelligent Technology Co., Ltd.", // 66503 + "Moon Biotech Co., Ltd.", // 66504 + "Callray Communications Co., Ltd.", // 66505 + "PILA GROUP JOINT STOCK COMPANY", // 66506 + "Xiaomi EV Technology Co., Ltd.", // 66507 + "Creotech Quantum S.A.", // 66508 + "Maru Ná ~ Verein für Bewußtseinsentwicklung", // 66509 + "OpenWrt", // 66510 + "Micos", // 66511 + "Washington State Dept of Transportation", // 66512 + "W&H Dentalwerk Bürmoos GmbH", // 66513 + "ABBRobotics", // 66514 + "Navisys Technology Corp.", // 66515 + "Coastal Energy Solutions", // 66516 + "Bizit Global", // 66517 + "CyberDD - Cybersecurity Consulting", // 66518 + "BXB Electronics Co., Ltd.", // 66519 + "HUB IT Co., Ltd.", // 66520 + "TimeServerZero", // 66521 + "XIAMEN HANIN CO., LTD.", // 66522 + "Zhamp Limited", // 66523 + "Kynetix", // 66524 + "Cabarrus County Government", // 66525 + "VNPT-CA", // 66526 + "HyperDigital Technology Co., Ltd.", // 66527 + "Senfio Soluções Tecnológicas Ltda", // 66528 + "VINOC, S.A.P.I. de C.V.", // 66529 + "Tactical Signals Intel", // 66530 + "SPON Communications", // 66531 + "Aaron Forsythe", // 66532 + "Sergio Alejandro Murillo Olaya", // 66533 + "Shenzhen Tringo Control Co., Ltd", // 66534 + "MobileTek communication", // 66535 + "1SINQ GmbH", // 66536 + "New Wave Design and Verification, LLC, dba New Wave Design", // 66537 + "ZDN Enterprises, LLC", // 66538 + "Ahmed Atef Hamdy Ibrahim", // 66539 + "Tellus Power", // 66540 + "ESL Advanced Information Technology GmbH", // 66541 + "Options for Southern Oregon", // 66542 + "Rantec Power Systems, Inc.", // 66543 + "Neptune Technology Group Inc", // 66544 + "Noidon", // 66545 + "Astreaprtcl", // 66546 + "Network Engineering Europe S.L.", // 66547 + "Cloud and Virtual Infrastructure Systems", // 66548 + "Identix Inc", // 66549 + "Twin Cities Open Systems - Operations LLC", // 66550 + "Terabyte GmbH", // 66551 + "BoundarySevenLLC", // 66552 + "Wyatt Anderson", // 66553 + "Tremolo Security, Inc.", // 66554 + "Section 5 Labs", // 66555 + "DD Skog & Virkeshandel AB", // 66556 + "Nymbis Cloud Solutions (Pty) Ltd.", // 66557 + "3R Swiss Imaging Network SA", // 66558 + "Government Digital Service", // 66559 + "Xcobean Systems Limited", // 66560 + "FleetOS (Fleet Orchestration System)", // 66561 + "Casper Medical Imaging", // 66562 + "TOKEN2", // 66563 + "New Products Group", // 66564 + "Geeks for Business, LLC", // 66565 + "Texas Institute for Electronics", // 66566 + "ExactNet", // 66567 + "nyanet", // 66568 + "RØDL", // 66569 + "VeilNet", // 66570 + "LeoLabs", // 66571 + "Ellenby Technologies Inc.", // 66572 + "Finger Lakes Community College", // 66573 + "Alveon", // 66574 + "MTX Connect", // 66575 + "EdgeDX", // 66576 + "ViaNet", // 66577 + "Nyx Telecom", // 66578 + "河北万华电子科技有限公司 (Hebei Wanhua Electronic Technology Co., Ltd.)", // 66579 + "We Build Networks", // 66580 + "Edgar Désert", // 66581 + "Human Execution Engine", // 66582 + "BITWATT PTY LTD", // 66583 + "RDNet Rafal Domeracki", // 66584 + "BODA LIU", // 66585 + "ElaraGrid Ltd", // 66586 + "Geekdojo", // 66587 + "JIACUNTECH", // 66588 + "+STOR", // 66589 + "EntryPoint Communications, LLC", // 66590 + "Mobile Digital Imaging", // 66591 + "TrueLime B.V.", // 66592 + "CiuP", // 66593 + "Solinteg Australia", // 66594 + "Richard Taylor", // 66595 + "VEZA LLC", // 66596 + "广州明美新能源股份有限公司 (TWS Technology (Guangzhou) Limited)", // 66597 + "BeezX", // 66598 + "Latch.ai", // 66599 + "Bao Linh Connect Technology", // 66600 + "OrionM2M", // 66601 + "ACentauri Technology Limited", // 66602 + "highQ solutions GmbH", // 66603 + "FACTS Engineering, LLC", // 66604 + "StarTech.com Ltd.", // 66605 + "Kam Shing Ernest Lee (iFire)", // 66606 + "深圳妙月科技有限公司 (Shenzhen Miaoyue Technology Co., Ltd.)", // 66607 + "Hermann Sewerin GmbH", // 66608 + "ADRIAN CAPEL", // 66609 + "Kaltech Lighting Systems", // 66610 + "Safe Center Sp. z o. o.", // 66611 + "Iapethus", // 66612 + "Universidade Federal da Paraiba", // 66613 + "ALPHA Electronics", // 66614 + "CD IT Consult SRL", // 66615 + "Northwatch Technologies LLC.", // 66616 + "JP Capital GmbH", // 66617 + "Smartmation SA", // 66618 + "Dédicace Software", // 66619 + "CanTops Co., LTD.", // 66620 + "Beijing Rainstelecom Ltd.", // 66621 + "Stellicon Technology Co., Ltd.", // 66622 + "Excellent Pharma Consulting Inc", // 66623 + "Tre Innovatörer AB", // 66624 + "BCIX Management GmbH", // 66625 + "BEATQUANTUM LIMITED", // 66626 + "Sidam Srl", // 66627 + "People Serving People Foundation", // 66628 + "Litemax inc.", // 66629 + "ONVIF, Inc.", // 66630 + "Ternoxa", // 66631 + "ArmorPoint", // 66632 + "BOBi", // 66633 + "Symcon GmbH", // 66634 + "Kianpardaz", // 66635 + "Edward Laverick", // 66636 + "Holiday Robotics", // 66637 + "Christoph Rust", // 66638 + "OTPme Project", // 66639 + "AUSIGHT", // 66640 + "John Portzer", // 66641 + "Oliver Keutel", // 66642 + "Rongta R&D Center", // 66643 + "Electro-Voice Dynacord, LLC", // 66644 + "Urban Baby Beginnings", // 66645 + "J1-LED Intelligent Transport Systems Pty Ltd", // 66646 + "Sudeep D Ghate", // 66647 + "Abberior Instruments GmbH", // 66648 + "Akino Medical Pte Ltd", // 66649 + "Kenton Groombridge", // 66650 + "Zhong'an Zhixin Standard Technical Service (Shanghai) Co., Ltd.", // 66651 + "Robin Weiligmann", // 66652 + "Anapaya Systems", // 66653 + "Global Timestamp Authority", // 66654 + "Bynn Intelligence, Inc.", // 66655 + "The X ORB AB", // 66656 + "Crystal", // 66657 + "PT. Sydeco", // 66658 + "ENERGY IN THE CLOUD SL", // 66659 + "Titus d.o.o. Dekani", // 66660 + "OPENWAY TECHNOLOGIES LTD", // 66661 + "JSC INTER GROUP", // 66662 + "Hexegic Limited", // 66663 + "EU-Zahlstelle Sachsen-Anhalt", // 66664 + "RaruseReiji", // 66665 + "Packet Pilot LLC", // 66666 + NULL, // 66667 + "KS2 Corp Inc", // 66668 + "EnergyNet Task Force", // 66669 + "SunState Medical Specialists", // 66670 + "Intradel", // 66671 + "Cogniflow", // 66672 + "Maicon Pereira da Silva", // 66673 + "HopeTrek Innovations Co.,Ltd.", // 66674 + "Leasing České spořitelny, a.s.", // 66675 + "Corbotics", // 66676 + "Caneline Limited", // 66677 + "Wang Hailong", // 66678 + "成都智联兴明科技有限公司 (Chengdu Zhilian Xingming Technology Co., Ltd.)", // 66679 + "Jagornet Technologies", // 66680 + "SIGNIADIGITAL S.A.", // 66681 + "Woxel Sp. z o.o.", // 66682 + "DNP Users Group", // 66683 + "Anamul Haque", // 66684 + "AI Forward Inc.", // 66685 + "ChengDu Gala Digital Intelligence Technology Co.,Ltd.", // 66686 + "LaptopChips", // 66687 + "Distribute Media LTD", // 66688 + "Guangdong InnoLead Technology Co., Ltd", // 66689 + "NEUTRON AUTOMATION PRIVATE LIMITED", // 66690 + "PRICEWIN NETWORKS SL", // 66691 + "NetSage LLC", // 66692 + "Efsystem", // 66693 + "Immunovant", // 66694 + "Linkware GmbH", // 66695 + "Chukyo Univ. Terminal", // 66696 + "Vitalcore Technology Co., Ltd.", // 66697 + "Zhu Xiaolong", // 66698 + "Abbottics AI LLC", // 66699 + "M&H Technology Solutions LLC", // 66700 + "Genedum Belgium BV", // 66701 + "Stone Ridge Technology, Inc.", // 66702 + "SHENZHEN IP-COM Networks Co., Ltd.", // 66703 + "Security Solutions Institute Ltd.", // 66704 + "Xiamen Yuanchou Intelligent Computing Technology Co., Ltd.", // 66705 + "Blackmagic Design", // 66706 + "Työllisyysrahasto", // 66707 + "MEDSENDX ITALIA SRL", // 66708 + "on-geo GmbH", // 66709 + "Telentra Networks", // 66710 + "IDS Vida GmbH & Co. KG", // 66711 + "SEGNETICS", // 66712 + "Veriskop Bilişim ve Danışmanlık Hiz. A.Ş.", // 66713 + "Vogl Meredith Burke & Streza, LLP", // 66714 + "The Office of Charles F. Bloszies, Ltd.", // 66715 + "STUDIOS Architecture", // 66716 + "GUNIQ", // 66717 + "Scott Horn", // 66718 + "Novaled GmbH", // 66719 + "BKS GmbH", // 66720 + "DAC Limited", // 66721 + "Badger Media Ltd", // 66722 + "Scandinavian Wood Supply AB", // 66723 + "SiQcure Inc.", // 66724 + "Dusk Energy Pty Ltd", // 66725 + "IBC Labs LLC", // 66726 + "Mammoth Freighters, LLC", // 66727 + "Mixlayer Labs Inc", // 66728 + "Shandong Jereh Agile Power Energy Co., Ltd.", // 66729 + "Gottfried Schultz Automobilhandels SE", // 66730 + "Topgrip Instruments Company", // 66731 + "MG Industrieelektronik GmbH", // 66732 + "elken.tech Sp. z o.o.", // 66733 + "CHU de Bordeaux", // 66734 + "Kiruna kommun", // 66735 + "LegalTechsolution S.A.", // 66736 + "Tessellation Software LLC", // 66737 + "Jining KeLi Photoelectronic Industrial Co., Ltd.", // 66738 + "Certynx, Inc.", // 66739 + "Archer Aviation", // 66740 + "Colk-tech", // 66741 + "syscom", // 66742 + "PT RUANG INOVASI MAJU BERSAMA", // 66743 + "James Lambert", // 66744 + "Mitologie LLC", // 66745 + "Hydro Tasmania", // 66746 + "GTWAVE CO.,LTD.", // 66747 + "TRUONG SON SOLUTIONS & CONTRUCTIONS CO.,LTD", // 66748 + "Energofora", // 66749 + "MACOMO LLC", // 66750 + "Rocketdyne, Inc", // 66751 + "Quantum Iryx Systems Inc.", // 66752 + "Zeng Alexandre Qizhi", // 66753 + "Xopero Software S.A.", // 66754 + "Darabotics", // 66755 + "G5 Digital", // 66756 + "Strength of the Ox, LLC", // 66757 + "Ximena Rodriguez", // 66758 + "Technical University of Sofia", // 66759 + "Atlastech Solution", // 66760 + "Infamous Endeavors", // 66761 + "Jaime Sanders", // 66762 + "MioElettronics", // 66763 + "DAHMANI", // 66764 + "Spéciales Gillardeau", // 66765 + "ARF Technologies", // 66766 + "Authologic Sp. z o.o.", // 66767 + "Plyfa Plywood AB", // 66768 + "Ytek", // 66769 + "Mao Haoji", // 66770 + "DYNACOM s.r.l.", // 66771 + "AODFETE NOSIDDA IRREVOCABLE LIVING TRUST", // 66772 + "Emen Hesar Pouya", // 66773 + "FomentaGov", // 66774 + "Kapital México Grupo Financiero, S.A. de C.V.", // 66775 + "Electronics Boutique Australia Pty. Ltd.", // 66776 + "Jebsen & Jessen Group", // 66777 + "Creatotronik Ltd", // 66778 + "Associazione Italiana Professionisti dell'Intelligenza Artificiale", // 66779 + "forenova", // 66780 + "Empyrean Medical Systems, Inc.", // 66781 + "Diakonissenkrankenhaus Dresden", // 66782 + "Prästlönetillgångarna i Härnösands stift", // 66783 + "Keyanna Technology Private Limited", // 66784 + "Alomere Health", // 66785 + "Rumen Doynov", // 66786 + "CoreWeave, Inc", // 66787 + "Bill Justesen", // 66788 + "Modernizing Medicine Inc.", // 66789 + "杜健 (Du Jian)", // 66790 + "Initials INK", // 66791 + "Extrixa Inc.", // 66792 + "Ultimate Linux Solutions (Pty) Ltd", // 66793 + "Nivtrix Inc", // 66794 + "Rosendahl Studiotechnik GmbH", // 66795 + "Ophir RF, Inc.", // 66796 + "Shenzhen Juneng Innovation Technology Co., Ltd.", // 66797 + "Andreas Jansson", // 66798 + "Cryptlex LLP", // 66799 + "ROBOTICSWARE PTE. LTD.", // 66800 + "Crawford Media Group", // 66801 + "Palior UG (haftungsbeschränkt)", // 66802 + "Beyond EV Pty Ltd", // 66803 + "UIB Holdings Pte Ltd", // 66804 + "Mesurons", // 66805 + "MSPOperations", // 66806 + "SPC EOH", // 66807 + "XR Trading LLC", // 66808 + "Arisa Data Saina", // 66809 + "EonoSpace Ltd", // 66810 + "Rayan Nivand", // 66811 + "AstropotaMedia LLC", // 66812 + "GoBright", // 66813 + "Lanstar Germany", // 66814 + "WiSP Services", // 66815 + "Pinch A Penny, LLC", // 66816 + "National Health Investors, Inc.", // 66817 + "深圳云豹智能股份有限公司 (Shenzhen Yunbao Microsystems Co., Ltd.)", // 66818 + "Benny", // 66819 + "Goldenfields Water County Council", // 66820 + "Talbot County Technical Services", // 66821 + "C&P Capeletti & Perl Gesellschaft für Datentechnik mbH", // 66822 + "Image Owl, Inc.", // 66823 + "IRTDA doo", // 66824 + "dynamic acoustics e.U.", // 66825 + "EP Apps OOD", // 66826 + "Safari Technologies, Inc.", // 66827 + "Morris Systems, Inc", // 66828 + "Psychiatrische Universitätsklink Zürich", // 66829 + "四川省华存智谷科技有限责任公司 (Sichuan Huacun Zhigu Technology Co., Ltd.)", // 66830 + "New Telecom", // 66831 + "Agency EMB, LLC", // 66832 + "ISO-IMAGING", // 66833 + "Xian Tianqi Intelligent Technology Co.Ltd", // 66834 + "Olib AI", // 66835 + "Olib AI LLC", // 66836 + "TelcoTalkies Systems DWC-LLC", // 66837 + "QAX Jowto", // 66838 + "Northern Territory Government", // 66839 + "iMAR Navigation GmbH", // 66840 + "KAKEHASHI Inc.", // 66841 + "Adidi SL", // 66842 + "Unizar Students Network Management", // 66843 + "Soft Space Sdn. Bhd.", // 66844 + "American Association of Motor Vehicle Adminstrators", // 66845 + "Renvio", // 66846 + "Vortex Imaging Inc.", // 66847 + "City of Concord", // 66848 + "Suncast Corporation", // 66849 + "GeekFeed Co.,Ltd.", // 66850 + "Charles Taylor", // 66851 + "Pratik Mali", // 66852 + "Anthony Joseph Saab", // 66853 + "Antti Olavi Kautiainen", // 66854 + "SISSAN SRL", // 66855 + "PT. Jayadi Media Teknologi", // 66856 + "SPEAKIE HEALTH TECHNOLOGIES SL", // 66857 + "Vivek M L", // 66858 + "Ralf Blaesen", // 66859 + "Post-Quantum", // 66860 + "Myungjin Itech Co., Ltd.", // 66861 + "Klaus Ott", // 66862 + "Troo Corporation", // 66863 + "Jack Bacon", // 66864 + "LT – EC SUP ARTS APPLIQUES TEXTILE", // 66865 + "GANATECHWIN", // 66866 + "Stemp AS", // 66867 + "enjoyelec B.V.", // 66868 + "Lars Morren", // 66869 + "TAK Fusion Inc.", // 66870 + "Hapi Systems (Pty) Ltd", // 66871 + "Unstructured Technologies, Inc.", // 66872 + "astrastudio broadcast solutions", // 66873 + "Dilenex LLC", // 66874 + "Anivive Lifesciences Inc", // 66875 + "OLVIA", // 66876 + "HW Solution s.r.o", // 66877 + "The Cloud Rental", // 66878 + "Datasoft Srl", // 66879 + "Halyard", // 66880 + "METODO SCIENTIFICO DIGITALE TOLA (MSDT)", // 66881 + "Phil Summers", // 66882 + "BLACKFISHID SL", // 66883 + "Digital Control, Inc.", // 66884 + "OZ1 Corporation", // 66885 + "Toyota & Lexus Centrum Wrocław Sp. z o.o", // 66886 + "Aretiico Ltd", // 66887 + "Linkdata Technology (Tianjin) Co., LTD", // 66888 + "Wuxi Stars Microsystem Technology Co., Ltd", // 66889 + "Pro AV Solutions QLD", // 66890 + "2provide GmbH", // 66891 + "Oct Systems Inc.", // 66892 + "OrbitSRV", // 66893 + "Devalex LLC", // 66894 + "Dcim-France", // 66895 + "SONOTRACK SISTEMAS S.A.", // 66896 + "Binário.net", // 66897 + "Mujahiddin Janapi", // 66898 + "Quantidia LLC", // 66899 + "Melbourne Automation", // 66900 + "Alnet Systems Sp. z o.o.", // 66901 + "ITSpine" // 66902 }; const char* global_enterprises_lookup(uint32_t value) diff -Nru wireshark-4.4.18/epan/manuf-data.c wireshark-4.4.19/epan/manuf-data.c --- wireshark-4.4.18/epan/manuf-data.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/manuf-data.c 2026-09-23 17:33:48.000000000 +0000 @@ -28,6 +28,7 @@ { { 0x04, 0xC3, 0xE6 }, MA_M }, { { 0x04, 0xC9, 0x8B }, MA_M }, { { 0x04, 0xD1, 0x6E }, MA_M }, + { { 0x04, 0xEC, 0xA9 }, MA_M }, { { 0x04, 0xEE, 0xE8 }, MA_M }, { { 0x08, 0x25, 0x32 }, MA_M }, { { 0x08, 0x26, 0xAE }, MA_M }, @@ -109,6 +110,7 @@ { { 0x30, 0x3D, 0x51 }, MA_M }, { { 0x30, 0x43, 0xD7 }, MA_M }, { { 0x30, 0x49, 0x50 }, MA_M }, + { { 0x30, 0xBB, 0x28 }, MA_M }, { { 0x34, 0x00, 0x8A }, MA_M }, { { 0x34, 0x04, 0x9E }, MA_M }, { { 0x34, 0x29, 0x8F }, MA_M }, @@ -374,6 +376,7 @@ { { 0xCC, 0x22, 0x37 }, MA_M }, { { 0xCC, 0x39, 0x53 }, MA_M }, { { 0xCC, 0x4F, 0x5C }, MA_M }, + { { 0xCC, 0x82, 0x7B }, MA_M }, { { 0xCC, 0xC2, 0x61 }, MA_M }, { { 0xCC, 0xD3, 0x1E }, MA_M }, { { 0xCC, 0xD3, 0x9D }, MA_M }, @@ -423,6 +426,7 @@ { { 0xEC, 0x9A, 0x0C }, MA_M }, { { 0xEC, 0x9F, 0x0D }, MA_M }, { { 0xEC, 0xA7, 0xB1 }, MA_M }, + { { 0xEC, 0xBA, 0x34 }, MA_M }, { { 0xF0, 0x12, 0x04 }, MA_M }, { { 0xF0, 0x22, 0x1D }, MA_M }, { { 0xF0, 0x23, 0xB9 }, MA_M }, @@ -5052,7 +5056,7 @@ { { 0x00, 0x12, 0x0C }, "CEInfosysPte", "CE-Infosys Pte Ltd" }, { { 0x00, 0x12, 0x0D }, "AdvancedTele", "Advanced Telecommunication Technologies, Inc." }, { { 0x00, 0x12, 0x0E }, "AboCom", "AboCom" }, - { { 0x00, 0x12, 0x0F }, "Ieee8023", "Ieee 802.3" }, + { { 0x00, 0x12, 0x0F }, "IEEE8023Work", "IEEE 802.3 Working Group" }, { { 0x00, 0x12, 0x10 }, "WideRay", "WideRay Corp" }, { { 0x00, 0x12, 0x11 }, "ProtechnaHer", "Protechna Herbst GmbH & Co. KG" }, { { 0x00, 0x12, 0x12 }, "PLUS", "PLUS Corporation" }, @@ -10756,6 +10760,7 @@ { { 0x00, 0x3D, 0xE1 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x00, 0x3D, 0xE8 }, "LGElectronic", "LG Electronics (Mobile Communications)" }, { { 0x00, 0x3E, 0x73 }, "Mist", "Mist Systems, Inc." }, + { { 0x00, 0x3E, 0xC4 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x00, 0x3E, 0xE1 }, "Apple", "Apple, Inc." }, { { 0x00, 0x3F, 0x10 }, "GainStrongTe", "Shenzhen GainStrong Technology Co., Ltd." }, { { 0x00, 0x40, 0x00 }, "PciComponent", "Pci Componentes Da Amzonia Ltd" }, @@ -11604,6 +11609,7 @@ { { 0x00, 0x71, 0xC2 }, "Pegatron", "Pegatron Corporation" }, { { 0x00, 0x71, 0xCC }, "HonHaiPrecis", "Hon Hai Precision Ind. Co.,Ltd." }, { { 0x00, 0x72, 0x04 }, "SamsungElect", "Samsung Electronics Co., Ltd. ARTIK" }, + { { 0x00, 0x72, 0x30 }, "NordicSemico", "Nordic Semiconductor ASA" }, { { 0x00, 0x72, 0x63 }, "NetisTechnol", "Netis Technology Co., Ltd." }, { { 0x00, 0x72, 0x78 }, "Cisco", "Cisco Systems, Inc" }, { { 0x00, 0x72, 0xEE }, "Intel", "Intel Corporate" }, @@ -11915,6 +11921,7 @@ { { 0x00, 0x8C, 0xFA }, "Inventec", "Inventec Corporation" }, { { 0x00, 0x8D, 0x4E }, "CjscNiiStt", "Cjsc Nii Stt" }, { { 0x00, 0x8D, 0xDA }, "LinkOne", "Link One Co., Ltd." }, + { { 0x00, 0x8E, 0x16 }, "MilwaukeeToo", "Milwaukee Tool" }, { { 0x00, 0x8E, 0x73 }, "Cisco", "Cisco Systems, Inc" }, { { 0x00, 0x8E, 0xF2 }, "Netgear", "Netgear" }, { { 0x00, 0x90, 0x00 }, "DiamondMulti", "Diamond Multimedia" }, @@ -12008,7 +12015,7 @@ { { 0x00, 0x90, 0x58 }, "UltraElectro", "Ultra Electronics Command & Control Systems" }, { { 0x00, 0x90, 0x59 }, "TelecomDevic", "Telecom Device K.K." }, { { 0x00, 0x90, 0x5A }, "DearbornGrou", "Dearborn Group, Inc." }, - { { 0x00, 0x90, 0x5B }, "RaymondAndLa", "Raymond And Lae Engineering" }, + { { 0x00, 0x90, 0x5B }, "Parameter", "Parameter LLC" }, { { 0x00, 0x90, 0x5C }, "Edmi", "Edmi" }, { { 0x00, 0x90, 0x5D }, "NetcomSicher", "Netcom Sicherheitstechnik Gmbh" }, { { 0x00, 0x90, 0x5E }, "RaulandBorg", "Rauland-Borg Corporation" }, @@ -12540,6 +12547,7 @@ { { 0x00, 0xB4, 0x63 }, "Ring", "Ring LLC" }, { { 0x00, 0xB4, 0xF5 }, "DongGuanSiyo", "DongGuan Siyoto Electronics Co., Ltd" }, { { 0x00, 0xB5, 0x6D }, "DavidElectro", "David Electronics Co., LTD." }, + { { 0x00, 0xB5, 0xC7 }, "VusionGroup", "VusionGroup" }, { { 0x00, 0xB5, 0xD0 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x00, 0xB5, 0xD6 }, "Omnibit", "Omnibit Inc." }, { { 0x00, 0xB6, 0x00 }, "VOIM", "VOIM Co., Ltd." }, @@ -13126,6 +13134,7 @@ { { 0x00, 0xD0, 0xFE }, "AstralPoint", "Astral Point" }, { { 0x00, 0xD0, 0xFF }, "Cisco", "Cisco Systems, Inc" }, { { 0x00, 0xD1, 0x1C }, "Acetel", "Acetel" }, + { { 0x00, 0xD1, 0x8C }, "GuangzhouXra", "Guang zhou Xradio Technology Co., Ltd" }, { { 0x00, 0xD2, 0x79 }, "VingroupJoin", "Vingroup Joint Stock Company" }, { { 0x00, 0xD2, 0xB1 }, "TPVDisplayTe", "TPV Display Technology (Xiamen) Co.,Ltd." }, { { 0x00, 0xD3, 0x18 }, "SPGControls", "SPG Controls" }, @@ -13140,6 +13149,7 @@ { { 0x00, 0xD7, 0x8F }, "Cisco", "Cisco Systems, Inc" }, { { 0x00, 0xD8, 0x61 }, "MicroStarINT", "Micro-Star INTL CO., LTD." }, { { 0x00, 0xD8, 0xA2 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, + { { 0x00, 0xD9, 0x8B }, "HuachengNetw", "Hangzhou Huacheng Network Technology Co.,Ltd" }, { { 0x00, 0xD9, 0xD1 }, "SonyInteract", "Sony Interactive Entertainment Inc." }, { { 0x00, 0xDA, 0x27 }, "PaloAltoNetw", "Palo Alto Networks" }, { { 0x00, 0xDA, 0x55 }, "Cisco", "Cisco Systems, Inc" }, @@ -13478,6 +13488,7 @@ { { 0x00, 0xFA, 0x3B }, "CloosElectro", "Cloos Electronic Gmbh" }, { { 0x00, 0xFA, 0xB6 }, "KontaktMicro", "Kontakt Micro-Location Sp z o.o." }, { { 0x00, 0xFA, 0xDE }, "MotorolaMobi", "Motorola Mobility LLC, a Lenovo Company" }, + { { 0x00, 0xFB, 0x4A }, "Espressif", "Espressif Inc." }, { { 0x00, 0xFB, 0xF9 }, "Axiado", "Axiado Corporation" }, { { 0x00, 0xFC, 0x58 }, "WebSilicon", "WebSilicon Ltd." }, { { 0x00, 0xFC, 0x70 }, "IntrepidCont", "Intrepid Control Systems, Inc." }, @@ -13716,6 +13727,7 @@ { { 0x04, 0x88, 0x5F }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x04, 0x88, 0x8C }, "EifelwerkBut", "Eifelwerk Butler Systeme GmbH" }, { { 0x04, 0x88, 0xE2 }, "BeatsElectro", "Beats Electronics LLC" }, + { { 0x04, 0x89, 0x6D }, "NewH3CTechno", "New H3C Technologies Co., Ltd" }, { { 0x04, 0x8A, 0x15 }, "Avaya", "Avaya Inc" }, { { 0x04, 0x8A, 0xE1 }, "FlextronicsM", "Flextronics Manufacturing(Zhuhai)Co.,Ltd." }, { { 0x04, 0x8B, 0x42 }, "SkspruceTech", "Skspruce Technologies" }, @@ -13850,6 +13862,7 @@ { { 0x04, 0xD4, 0xC4 }, "ASUSTekCOMPU", "ASUSTek COMPUTER INC." }, { { 0x04, 0xD5, 0x90 }, "Fortinet", "Fortinet, Inc." }, { { 0x04, 0xD6, 0x0E }, "FunaiElectri", "Funai Electric Co., Ltd." }, + { { 0x04, 0xD6, 0x34 }, "NanjingRISCV", "Nanjing RISC-V Institute Co., Ltd." }, { { 0x04, 0xD6, 0x88 }, "CigShanghai", "Cig Shanghai Co Ltd" }, { { 0x04, 0xD6, 0xAA }, "SamsungElect", "Samsung Electro-Mechanics(Thailand)" }, { { 0x04, 0xD6, 0xF4 }, "GDMideaAirCo", "GD Midea Air-Conditioning Equipment Co.,Ltd." }, @@ -14315,6 +14328,7 @@ { { 0x08, 0x97, 0x34 }, "HewlettPacka", "Hewlett Packard Enterprise" }, { { 0x08, 0x97, 0x58 }, "StrongRising", "Shenzhen Strong Rising Electronics Co.,Ltd DongGuan Subsidiary" }, { { 0x08, 0x97, 0x98 }, "CompalInform", "Compal Information (Kunshan) Co., Ltd." }, + { { 0x08, 0x98, 0xEF }, "TaichiTechno", "Shenzhen Taichi Technology Limited" }, { { 0x08, 0x99, 0xE8 }, "KEMAS", "KEMAS GmbH" }, { { 0x08, 0x9A, 0xC7 }, "zte", "zte corporation" }, { { 0x08, 0x9B, 0x27 }, "GsdVietNamTe", "Gsd Viet Nam Technology Company Limited" }, @@ -14768,6 +14782,7 @@ { { 0x0C, 0xB7, 0x87 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x0C, 0xB7, 0x89 }, "HonorDevice", "Honor Device Co., Ltd." }, { { 0x0C, 0xB7, 0x8E }, "HuaweiDevice", "Huawei Device Co., Ltd." }, + { { 0x0C, 0xB7, 0xEC }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x0C, 0xB8, 0x15 }, "Espressif", "Espressif Inc." }, { { 0x0C, 0xB8, 0xE8 }, "RenesasElect", "Renesas Electronics (Penang) Sdn. Bhd." }, { { 0x0C, 0xB9, 0x12 }, "JMDATA", "JM-DATA GmbH" }, @@ -14855,6 +14870,7 @@ { { 0x0C, 0xE9, 0x36 }, "ELIMOS", "ELIMOS srl" }, { { 0x0C, 0xE9, 0x9A }, "AtlsAltec", "Atls Altec" }, { { 0x0C, 0xEA, 0x14 }, "Ubiquiti", "Ubiquiti Inc" }, + { { 0x0C, 0xEA, 0xBF }, "MellanoxTech", "Mellanox Technologies, Inc." }, { { 0x0C, 0xEA, 0xC9 }, "Commscope", "Commscope" }, { { 0x0C, 0xEB, 0x25 }, "PowerPlusCom", "Power Plus Communications AG" }, { { 0x0C, 0xEC, 0x80 }, "TexasInstrum", "Texas Instruments" }, @@ -15113,6 +15129,7 @@ { { 0x10, 0x7C, 0x61 }, "ASUSTekCOMPU", "ASUSTek COMPUTER INC." }, { { 0x10, 0x7D, 0x1A }, "Dell", "Dell Inc." }, { { 0x10, 0x7D, 0xC8 }, "Apple", "Apple, Inc." }, + { { 0x10, 0x7E, 0x59 }, "Calix", "Calix Inc." }, { { 0x10, 0x81, 0xB4 }, "HunanGreatwa", "Hunan Greatwall Galaxy Science and Technology Co.,Ltd." }, { { 0x10, 0x82, 0x3D }, "RuijieNetwor", "Ruijie Networks Co.,LTD" }, { { 0x10, 0x82, 0x86 }, "LuxsharePrec", "Luxshare Precision Industry Co.,Ltd" }, @@ -15158,6 +15175,7 @@ { { 0x10, 0x98, 0x36 }, "Dell", "Dell Inc." }, { { 0x10, 0x98, 0x5F }, "InventusPowe", "Inventus Power Eletronica do Brasil LTDA" }, { { 0x10, 0x98, 0xC3 }, "MurataManufa", "Murata Manufacturing Co., Ltd." }, + { { 0x10, 0x9A, 0x93 }, "TelinkMicro", "Telink Micro LLC" }, { { 0x10, 0x9A, 0xB9 }, "Tosibox", "Tosibox Oy" }, { { 0x10, 0x9A, 0xBA }, "Intel", "Intel Corporate" }, { { 0x10, 0x9A, 0xDD }, "Apple", "Apple, Inc." }, @@ -15186,6 +15204,7 @@ { { 0x10, 0xA5, 0x62 }, "ItonTechnolo", "Iton Technology Corp." }, { { 0x10, 0xA5, 0xD0 }, "MurataManufa", "Murata Manufacturing Co., Ltd." }, { { 0x10, 0xA6, 0x59 }, "MobileCreate", "Mobile Create Co.,Ltd." }, + { { 0x10, 0xA7, 0x1A }, "NanjingQinhe", "Nanjing Qinheng Microelectronics Co., Ltd." }, { { 0x10, 0xA7, 0x43 }, "SKMtek", "SK Mtek Limited" }, { { 0x10, 0xA7, 0x93 }, "VantivaUSA", "Vantiva USA LLC" }, { { 0x10, 0xA8, 0x29 }, "Cisco", "Cisco Systems, Inc" }, @@ -15234,6 +15253,7 @@ { { 0x10, 0xC1, 0x97 }, "XiaomiCommun", "Xiaomi Communications Co Ltd" }, { { 0x10, 0xC2, 0x2F }, "ChinaEntropy", "China Entropy Co., Ltd." }, { { 0x10, 0xC2, 0x5A }, "VantivaUSA", "Vantiva USA LLC" }, + { { 0x10, 0xC2, 0x83 }, "SuzhouPairli", "Suzhou Pairlink Network Technology" }, { { 0x10, 0xC2, 0xBA }, "UTT", "UTT Co., Ltd." }, { { 0x10, 0xC3, 0x4D }, "WaterWorld", "Shenzhen Water World Co.,Ltd." }, { { 0x10, 0xC3, 0x7B }, "ASUSTekCOMPU", "ASUSTek COMPUTER INC." }, @@ -15280,6 +15300,7 @@ { { 0x10, 0xDA, 0x43 }, "Netgear", "Netgear" }, { { 0x10, 0xDA, 0x49 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x10, 0xDA, 0x63 }, "Apple", "Apple, Inc." }, + { { 0x10, 0xDB, 0xA2 }, "TexasInstrum", "Texas Instruments" }, { { 0x10, 0xDC, 0x4A }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" }, { { 0x10, 0xDD, 0xB1 }, "Apple", "Apple, Inc." }, { { 0x10, 0xDD, 0xF4 }, "MaxwayElectr", "Maxway Electronics CO.,LTD" }, @@ -15406,6 +15427,7 @@ { { 0x14, 0x23, 0xF2 }, "Broadcom", "Broadcom Limited" }, { { 0x14, 0x23, 0xF3 }, "Broadcom", "Broadcom Limited" }, { { 0x14, 0x24, 0x75 }, "4DReplay", "4DReplay, Inc" }, + { { 0x14, 0x27, 0x20 }, "BoschRexroth", "Bosch Rexroth (Changzhou) Co. Ltd." }, { { 0x14, 0x28, 0x76 }, "Apple", "Apple, Inc." }, { { 0x14, 0x28, 0x82 }, "MidicomElect", "Midicom Electronics Co.Ltd" }, { { 0x14, 0x29, 0x71 }, "NemoaElectro", "Nemoa Electronics (Hk) Co. Ltd" }, @@ -15572,6 +15594,7 @@ { { 0x14, 0x90, 0x90 }, "KongTopindus", "KongTop industrial(shen zhen)CO.,LTD" }, { { 0x14, 0x91, 0x38 }, "AmazonTechno", "Amazon Technologies Inc." }, { { 0x14, 0x91, 0x82 }, "BelkinIntern", "Belkin International Inc." }, + { { 0x14, 0x92, 0xAA }, "EardaTechnol", "Earda Technologies co Ltd" }, { { 0x14, 0x92, 0xF9 }, "SichuanAILin", "Sichuan AI-Link Technology Co., Ltd." }, { { 0x14, 0x93, 0x46 }, "PNIsensor", "PNI sensor corporation" }, { { 0x14, 0x94, 0x2F }, "Usys", "Usys Co.,Ltd." }, @@ -15593,6 +15616,7 @@ { { 0x14, 0x9C, 0xEF }, "TexasInstrum", "Texas Instruments" }, { { 0x14, 0x9D, 0x09 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x14, 0x9D, 0x99 }, "Apple", "Apple, Inc." }, + { { 0x14, 0x9D, 0xB0 }, "CloudNetwork", "Cloud Network Technology Singapore Pte. Ltd." }, { { 0x14, 0x9E, 0x5D }, "JSCIBReform", "JSC \"IB Reform\"" }, { { 0x14, 0x9E, 0xCF }, "Dell", "Dell Inc." }, { { 0x14, 0x9F, 0x3C }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, @@ -15610,6 +15634,7 @@ { { 0x14, 0xA4, 0x54 }, "Mist", "Mist Systems, Inc." }, { { 0x14, 0xA5, 0x1A }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x14, 0xA6, 0x2C }, "SMDezac", "S.M. Dezac S.A." }, + { { 0x14, 0xA6, 0xB9 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x14, 0xA7, 0x2B }, "currentoptro", "currentoptronics Pvt.Ltd" }, { { 0x14, 0xA7, 0x8B }, "ZhejiangDahu", "Zhejiang Dahua Technology Co., Ltd." }, { { 0x14, 0xA8, 0x6B }, "TelacomScien", "ShenZhen Telacom Science&Technology Co., Ltd" }, @@ -15640,8 +15665,11 @@ { { 0x14, 0xB8, 0x37 }, "YOUHUATechno", "Shenzhen YOUHUA Technology Co., Ltd" }, { { 0x14, 0xB9, 0x03 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x14, 0xB9, 0x68 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, + { { 0x14, 0xBA, 0x88 }, "ZhejiangUniv", "Zhejiang Uniview Technologies Co.,Ltd." }, + { { 0x14, 0xBA, 0xA2 }, "ExtremeNetwo", "Extreme Networks, Inc." }, { { 0x14, 0xBA, 0xAF }, "BKS", "BKS GmbH" }, { { 0x14, 0xBB, 0x6E }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, + { { 0x14, 0xBB, 0xCC }, "TexasInstrum", "Texas Instruments" }, { { 0x14, 0xBC, 0x68 }, "Cisco", "Cisco Systems, Inc" }, { { 0x14, 0xBD, 0x61 }, "Apple", "Apple, Inc." }, { { 0x14, 0xBE, 0xFC }, "NanjingJiaha", "Nanjing Jiahao Technology Co., Ltd." }, @@ -15768,6 +15796,7 @@ { { 0x18, 0x14, 0x56 }, "Nokia", "Nokia Corporation" }, { { 0x18, 0x14, 0x6C }, "ZhejiangTmal", "Zhejiang Tmall Technology Co., Ltd." }, { { 0x18, 0x14, 0xAE }, "Nokia", "Nokia" }, + { { 0x18, 0x14, 0xF4 }, "TexasInstrum", "Texas Instruments" }, { { 0x18, 0x16, 0x28 }, "SharkNinjaOp", "SharkNinja Operating LLC" }, { { 0x18, 0x16, 0xC9 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x18, 0x16, 0xE8 }, "SiliconwareP", "Siliconware Precision Industries Co., Ltd." }, @@ -16127,6 +16156,7 @@ { { 0x18, 0xEF, 0x3A }, "SichuanAILin", "Sichuan AI-Link Technology Co., Ltd." }, { { 0x18, 0xEF, 0x63 }, "Cisco", "Cisco Systems, Inc" }, { { 0x18, 0xEF, 0xC0 }, "SercommJapan", "Sercomm Japan Corporation" }, + { { 0x18, 0xF0, 0x55 }, "NanjingQinhe", "Nanjing Qinheng Microelectronics Co., Ltd." }, { { 0x18, 0xF0, 0xE4 }, "XiaomiCommun", "Xiaomi Communications Co Ltd" }, { { 0x18, 0xF1, 0x45 }, "NetCommWirel", "NetComm Wireless Limited" }, { { 0x18, 0xF1, 0x8E }, "ChipERTechno", "ChipER Technology co. ltd" }, @@ -16235,6 +16265,7 @@ { { 0x1C, 0x34, 0x77 }, "InnovationWi", "Innovation Wireless" }, { { 0x1C, 0x34, 0xDA }, "MellanoxTech", "Mellanox Technologies, Inc." }, { { 0x1C, 0x34, 0xF1 }, "SiliconLabor", "Silicon Laboratories" }, + { { 0x1C, 0x35, 0x76 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x1C, 0x35, 0xF1 }, "NEWLiftNeueE", "NEW Lift Neue Elektronische Wege Steuerungsbau GmbH" }, { { 0x1C, 0x36, 0xBB }, "Apple", "Apple, Inc." }, { { 0x1C, 0x37, 0xBF }, "Cloudium", "Cloudium Systems Ltd." }, @@ -16259,6 +16290,7 @@ { { 0x1C, 0x41, 0x76 }, "ChinaMobileG", "China Mobile Group Device Co.,Ltd." }, { { 0x1C, 0x41, 0x90 }, "UniversalEle", "Universal Electronics, Inc." }, { { 0x1C, 0x42, 0x7D }, "OppoMobileTe", "Guangdong Oppo Mobile Telecommunications Corp.,Ltd" }, + { { 0x1C, 0x42, 0xB8 }, "TaicangT&WEl", "Taicang T&W Electronics" }, { { 0x1C, 0x42, 0xC2 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x1C, 0x43, 0x63 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x1C, 0x43, 0xEC }, "JapanCircuit", "Japan Circuit Co.,Ltd" }, @@ -16388,6 +16420,7 @@ { { 0x1C, 0x87, 0xE3 }, "TecnoMobile", "Tecno Mobile Limited" }, { { 0x1C, 0x88, 0x0C }, "SkyworthDigi", "Shenzhen Skyworth Digital Technology CO., Ltd" }, { { 0x1C, 0x8B, 0x76 }, "Calix", "Calix Inc." }, + { { 0x1C, 0x8B, 0x84 }, "EspressifPte", "Espressif Systems (Singapore) Pte. Ltd" }, { { 0x1C, 0x8B, 0xEF }, "XiaomiElectr", "Beijing Xiaomi Electronics Co.,Ltd" }, { { 0x1C, 0x8C, 0x6E }, "AristaNetwor", "Arista Networks" }, { { 0x1C, 0x8E, 0x2A }, "Apple", "Apple, Inc." }, @@ -16471,6 +16504,7 @@ { { 0x1C, 0xC1, 0x1A }, "Wavetronix", "Wavetronix" }, { { 0x1C, 0xC1, 0xBC }, "YichipMicroe", "Yichip Microelectronics (Hangzhou) Co.,Ltd" }, { { 0x1C, 0xC1, 0xDE }, "HewlettPacka", "Hewlett Packard" }, + { { 0x1C, 0xC2, 0x12 }, "Fortinet", "Fortinet, Inc." }, { { 0x1C, 0xC3, 0x16 }, "XiamenMilesi", "Xiamen Milesight IoT Co., Ltd." }, { { 0x1C, 0xC3, 0xAB }, "Espressif", "Espressif Inc." }, { { 0x1C, 0xC3, 0xEB }, "OppoMobileTe", "Guangdong Oppo Mobile Telecommunications Corp.,Ltd" }, @@ -16507,6 +16541,7 @@ { { 0x1C, 0xE1, 0x92 }, "Qisda", "Qisda Corporation" }, { { 0x1C, 0xE2, 0x09 }, "Apple", "Apple, Inc." }, { { 0x1C, 0xE2, 0xCC }, "TexasInstrum", "Texas Instruments" }, + { { 0x1C, 0xE4, 0xCB }, "EspressifPte", "Espressif Systems (Singapore) Pte. Ltd" }, { { 0x1C, 0xE4, 0xDD }, "TechnicolorT", "Technicolor (China) Technology Co., Ltd." }, { { 0x1C, 0xE5, 0x04 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x1C, 0xE5, 0x7F }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, @@ -16617,6 +16652,7 @@ { { 0x20, 0x25, 0x98 }, "Teleview", "Teleview" }, { { 0x20, 0x25, 0xCC }, "XiaomiCommun", "Xiaomi Communications Co Ltd" }, { { 0x20, 0x25, 0xD2 }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" }, + { { 0x20, 0x26, 0x80 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x20, 0x26, 0x81 }, "TecnoMobile", "Tecno Mobile Limited" }, { { 0x20, 0x28, 0x3E }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x20, 0x28, 0xBC }, "Visionscape", "Visionscape Co,. Ltd." }, @@ -16751,6 +16787,7 @@ { { 0x20, 0x73, 0x55 }, "Commscope", "Commscope" }, { { 0x20, 0x74, 0x54 }, "vivoMobileCo", "vivo Mobile Communication Co., Ltd." }, { { 0x20, 0x74, 0xCF }, "Voxtech", "Shenzhen Voxtech Co.,Ltd" }, + { { 0x20, 0x74, 0xDD }, "eero", "eero inc." }, { { 0x20, 0x76, 0x00 }, "ActiontecEle", "Actiontec Electronics, Inc" }, { { 0x20, 0x76, 0x8F }, "Apple", "Apple, Inc." }, { { 0x20, 0x76, 0x93 }, "Lenovo", "Lenovo (Beijing) Limited." }, @@ -16870,6 +16907,7 @@ { { 0x20, 0xC9, 0xD0 }, "Apple", "Apple, Inc." }, { { 0x20, 0xCB, 0xCC }, "GridVisibili", "GridVisibility, inc." }, { { 0x20, 0xCC, 0x27 }, "Cisco", "Cisco Systems, Inc" }, + { { 0x20, 0xCC, 0x73 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x20, 0xCD, 0x39 }, "TexasInstrum", "Texas Instruments" }, { { 0x20, 0xCD, 0x6E }, "RealmeChongq", "Realme Chongqing Mobile Telecommunications Corp.,Ltd." }, { { 0x20, 0xCE, 0xC4 }, "PerasoTechno", "Peraso Technologies" }, @@ -16947,6 +16985,7 @@ { { 0x20, 0xFE, 0x00 }, "AmazonTechno", "Amazon Technologies Inc." }, { { 0x20, 0xFE, 0xCD }, "SystemInFron", "System In Frontier Inc." }, { { 0x20, 0xFE, 0xDB }, "M2MSolutionS", "M2M Solution S.A.S." }, + { { 0x20, 0xFF, 0x0C }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x20, 0xFF, 0x36 }, "Iflytek", "Iflytek Co.,Ltd." }, { { 0x24, 0x00, 0xBA }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x24, 0x00, 0xFA }, "ChinaMobileI", "China Mobile (Hangzhou) Information Technology Co., Ltd" }, @@ -17005,6 +17044,7 @@ { { 0x24, 0x1E, 0x2B }, "ZhejiangCain", "Zhejiang Cainiao Supply Chain Management Co., Ltd" }, { { 0x24, 0x1E, 0xEB }, "Apple", "Apple, Inc." }, { { 0x24, 0x1F, 0x2C }, "Calsys", "Calsys, Inc." }, + { { 0x24, 0x1F, 0x3A }, "SiliconLabor", "Silicon Laboratories" }, { { 0x24, 0x1F, 0x49 }, "NXPSemicondu", "NXP Semiconductors Taiwan Ltd." }, { { 0x24, 0x1F, 0xA0 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x24, 0x1F, 0xBD }, "ExtremeNetwo", "Extreme Networks, Inc." }, @@ -17149,6 +17189,7 @@ { { 0x24, 0x76, 0x56 }, "NetMilesFibe", "Shanghai Net Miles Fiber Optics Technology Co., LTD." }, { { 0x24, 0x76, 0x7D }, "CiscoSPVTG", "Cisco SPVTG" }, { { 0x24, 0x77, 0x03 }, "Intel", "Intel Corporate" }, + { { 0x24, 0x77, 0x55 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x24, 0x78, 0x23 }, "PanasonicEnt", "Panasonic Entertainment & Communication Co., Ltd." }, { { 0x24, 0x78, 0xEF }, "Nokia", "Nokia" }, { { 0x24, 0x79, 0x2A }, "RuckusWirele", "Ruckus Wireless" }, @@ -17328,6 +17369,7 @@ { { 0x24, 0xE9, 0xB3 }, "Cisco", "Cisco Systems, Inc" }, { { 0x24, 0xE9, 0xCA }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x24, 0xEA, 0x40 }, "Helmholz", "Helmholz GmbH & Co. KG" }, + { { 0x24, 0xEA, 0x9B }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x24, 0xEB, 0x16 }, "Intel", "Intel Corporate" }, { { 0x24, 0xEB, 0x65 }, "SAETIS", "SAET I.S. S.r.l." }, { { 0x24, 0xEB, 0xED }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, @@ -17375,6 +17417,7 @@ { { 0x28, 0x02, 0x44 }, "Apple", "Apple, Inc." }, { { 0x28, 0x02, 0x45 }, "KonzeSystemT", "Konze System Technology Co.,Ltd." }, { { 0x28, 0x02, 0xD8 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, + { { 0x28, 0x03, 0xE6 }, "Nokia", "Nokia" }, { { 0x28, 0x04, 0x7A }, "WNC", "WNC Corporation" }, { { 0x28, 0x04, 0xC6 }, "WananHongshe", "Wanan Hongsheng Electronic Co.Ltd" }, { { 0x28, 0x04, 0xE0 }, "FermaxElectr", "Fermax Electronica S.A.U." }, @@ -17626,6 +17669,7 @@ { { 0x28, 0xA6, 0xAC }, "seca", "seca gmbh & co. kg" }, { { 0x28, 0xA6, 0xDB }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x28, 0xA9, 0x15 }, "ServercomPri", "Servercom (India) Private Limited" }, + { { 0x28, 0xA9, 0xAE }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x28, 0xAC, 0x67 }, "MachPowerRap", "Mach Power, Rappresentanze Internazionali s.r.l." }, { { 0x28, 0xAC, 0x9E }, "Cisco", "Cisco Systems, Inc" }, { { 0x28, 0xAD, 0x18 }, "HuiZhouGaosh", "Hui Zhou Gaoshengda Technology Co.,LTD" }, @@ -17717,6 +17761,7 @@ { { 0x28, 0xD3, 0xEA }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x28, 0xD4, 0x1E }, "BarrotTechno", "Barrot Technology Co.,Ltd." }, { { 0x28, 0xD4, 0x36 }, "Jiangsudewos", "Jiangsu dewosi electric co., LTD" }, + { { 0x28, 0xD5, 0x55 }, "vivoMobileCo", "vivo Mobile Communication Co., Ltd." }, { { 0x28, 0xD5, 0x76 }, "PremierWirel", "Premier Wireless, Inc." }, { { 0x28, 0xD5, 0xB1 }, "Apple", "Apple, Inc." }, { { 0x28, 0xD6, 0xEC }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, @@ -17749,6 +17794,7 @@ { { 0x28, 0xE7, 0x1D }, "AristaNetwor", "Arista Networks" }, { { 0x28, 0xE7, 0x94 }, "MicrotimeCom", "Microtime Computer Inc." }, { { 0x28, 0xE7, 0xCF }, "Apple", "Apple, Inc." }, + { { 0x28, 0xE8, 0x88 }, "LingbanTechn", "Lingban Technology (Hangzhou) Co., Ltd" }, { { 0x28, 0xE9, 0x71 }, "EMMicroelect", "EM Microelectronic" }, { { 0x28, 0xE9, 0x8E }, "MitsubishiEl", "Mitsubishi Electric Corporation" }, { { 0x28, 0xEA, 0x0B }, "Microsoft", "Microsoft Corporation" }, @@ -17851,6 +17897,7 @@ { { 0x2C, 0x1A, 0x05 }, "Cisco", "Cisco Systems, Inc" }, { { 0x2C, 0x1A, 0x31 }, "Electronics", "Electronics Company Limited" }, { { 0x2C, 0x1B, 0x3A }, "HuiZhouGaosh", "Hui Zhou Gaoshengda Technology Co.,LTD" }, + { { 0x2C, 0x1B, 0x8E }, "BYDSemicondu", "BYD Semiconductor Co,Ltd" }, { { 0x2C, 0x1B, 0xC8 }, "HunanTopview", "Hunan Topview Network System CO.,LTD" }, { { 0x2C, 0x1C, 0xF6 }, "AlienGreen", "Alien Green LLC" }, { { 0x2C, 0x1C, 0xF7 }, "Apple", "Apple, Inc." }, @@ -18066,6 +18113,7 @@ { { 0x2C, 0xA1, 0x57 }, "acromate", "acromate, Inc." }, { { 0x2C, 0xA1, 0x7D }, "Commscope", "Commscope" }, { { 0x2C, 0xA2, 0xB4 }, "FortifyTechn", "Fortify Technologies, LLC" }, + { { 0x2C, 0xA2, 0xE5 }, "Cisco", "Cisco Systems, Inc" }, { { 0x2C, 0xA3, 0x0E }, "PowerDragonD", "Power Dragon Development Limited" }, { { 0x2C, 0xA3, 0x27 }, "OraimoTechno", "Oraimo Technology Limited" }, { { 0x2C, 0xA5, 0x39 }, "ParallelWire", "Parallel Wireless, Inc" }, @@ -18318,6 +18366,7 @@ { { 0x30, 0x3F, 0x7B }, "YOUHUATechno", "Shenzhen YOUHUA Technology Co., Ltd" }, { { 0x30, 0x3F, 0xBB }, "HewlettPacka", "Hewlett Packard Enterprise" }, { { 0x30, 0x40, 0x74 }, "zte", "zte corporation" }, + { { 0x30, 0x40, 0xFA }, "EMMicroelect", "EM Microelectronic" }, { { 0x30, 0x41, 0x74 }, "AltecLansing", "Altec Lansing Llc" }, { { 0x30, 0x41, 0xDB }, "vivoMobileCo", "vivo Mobile Communication Co., Ltd." }, { { 0x30, 0x42, 0x25 }, "BurgWächter", "Burg-Wächter Kg" }, @@ -18384,6 +18433,7 @@ { { 0x30, 0x68, 0x8C }, "ReachTechnol", "Reach Technology Inc." }, { { 0x30, 0x68, 0x93 }, "TPLink", "TP-Link Systems Inc." }, { { 0x30, 0x69, 0x4B }, "Rim", "Rim" }, + { { 0x30, 0x6A, 0x4F }, "Roku", "Roku, Inc" }, { { 0x30, 0x6A, 0x85 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x30, 0x6C, 0xBE }, "SkymotionTec", "Skymotion Technology (HK) Limited" }, { { 0x30, 0x6D, 0x34 }, "WuQiTechnolo", "Wu Qi Technologies,Inc." }, @@ -18453,6 +18503,7 @@ { { 0x30, 0x95, 0xE3 }, "Simcom", "Shanghai Simcom Limited" }, { { 0x30, 0x96, 0x10 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x30, 0x96, 0x3B }, "HuaweiDevice", "Huawei Device Co., Ltd." }, + { { 0x30, 0x96, 0x4C }, "EgymSe", "Egym Se" }, { { 0x30, 0x96, 0xFB }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x30, 0x99, 0x35 }, "zte", "zte corporation" }, { { 0x30, 0x9B, 0xAD }, "BbkEducation", "Bbk Educational Electronics Corp.,Ltd." }, @@ -18518,6 +18569,7 @@ { { 0x30, 0xC5, 0x07 }, "ECITelecom", "ECI Telecom Ltd." }, { { 0x30, 0xC5, 0x0F }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x30, 0xC5, 0x99 }, "ASUSTekCOMPU", "ASUSTek COMPUTER INC." }, + { { 0x30, 0xC6, 0x95 }, "Overview", "Overview Corporation" }, { { 0x30, 0xC6, 0xAB }, "zte", "zte corporation" }, { { 0x30, 0xC6, 0xD7 }, "NewH3CTechno", "New H3C Technologies Co., Ltd" }, { { 0x30, 0xC6, 0xF7 }, "Espressif", "Espressif Inc." }, @@ -18557,6 +18609,7 @@ { { 0x30, 0xDC, 0xE7 }, "zte", "zte corporation" }, { { 0x30, 0xDD, 0xAA }, "ZhejiangDahu", "Zhejiang Dahua Technologyco.,Ltd" }, { { 0x30, 0xDE, 0x4B }, "TPLink", "TP-Link Systems Inc" }, + { { 0x30, 0xDE, 0x52 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x30, 0xDE, 0x86 }, "CedacSoftwar", "Cedac Software S.r.l." }, { { 0x30, 0xDF, 0x17 }, "Alpsalpine", "Alpsalpine Co,.Ltd" }, { { 0x30, 0xDF, 0x8D }, "GongjinElect", "Shenzhen Gongjin Electronics Co.,Lt" }, @@ -18582,7 +18635,7 @@ { { 0x30, 0xEB, 0x15 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x30, 0xEB, 0x1F }, "SkylabM&CTec", "Skylab M&C Technology Co.,Ltd" }, { { 0x30, 0xEB, 0x25 }, "IntekDigital", "Intek Digital" }, - { { 0x30, 0xEB, 0x5A }, "LandisGyr", "Landis+Gyr S.A." }, + { { 0x30, 0xEB, 0x5A }, "EYKONSolutio", "EYKON Solutions S.A." }, { { 0x30, 0xEC, 0x7C }, "AlongElectro", "Shenzhen Along Electronics Co., Ltd" }, { { 0x30, 0xEC, 0xA3 }, "AlfatronElec", "Alfatron Electronics INC" }, { { 0x30, 0xED, 0x96 }, "LSMecapion", "LS Mecapion" }, @@ -18630,6 +18683,7 @@ { { 0x34, 0x02, 0x86 }, "Intel", "Intel Corporate" }, { { 0x34, 0x02, 0x9B }, "PlexonicsTec", "Plexonics Technologies LImited" }, { { 0x34, 0x02, 0x9C }, "DLink", "D-Link Corporation" }, + { { 0x34, 0x03, 0x3D }, "HP", "HP Inc." }, { { 0x34, 0x03, 0xDE }, "TexasInstrum", "Texas Instruments" }, { { 0x34, 0x05, 0x57 }, "vivoMobileCo", "vivo Mobile Communication Co., Ltd." }, { { 0x34, 0x07, 0x4F }, "AccelStor", "AccelStor, Inc." }, @@ -18707,6 +18761,7 @@ { { 0x34, 0x2C, 0x8E }, "Ufispace", "Ufispace Co., LTD." }, { { 0x34, 0x2C, 0xC4 }, "CompalBroadb", "Compal Broadband Networks, Inc." }, { { 0x34, 0x2D, 0x0D }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, + { { 0x34, 0x2D, 0x0F }, "zte", "zte corporation" }, { { 0x34, 0x2D, 0xA3 }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" }, { { 0x34, 0x2E, 0xB6 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x34, 0x2E, 0xB7 }, "Intel", "Intel Corporate" }, @@ -18843,6 +18898,7 @@ { { 0x34, 0x7E, 0x39 }, "NokiaDanmark", "Nokia Danmark A/S" }, { { 0x34, 0x7E, 0x5C }, "Sonos", "Sonos, Inc." }, { { 0x34, 0x7E, 0xCA }, "Nextwill", "Nextwill" }, + { { 0x34, 0x7F, 0x63 }, "ConceptProSu", "Concept Pro Surveillance" }, { { 0x34, 0x80, 0x0D }, "Cavium", "Cavium Inc" }, { { 0x34, 0x80, 0xB3 }, "XiaomiCommun", "Xiaomi Communications Co Ltd" }, { { 0x34, 0x81, 0x37 }, "Unicard", "Unicard Sa" }, @@ -18961,6 +19017,7 @@ { { 0x34, 0xC0, 0xF9 }, "RockwellAuto", "Rockwell Automation" }, { { 0x34, 0xC1, 0x03 }, "HuamuTechnol", "Hangzhou Huamu Technology Co.,Ltd." }, { { 0x34, 0xC1, 0xE9 }, "UlakCommunic", "Ulak Communications Inc." }, + { { 0x34, 0xC2, 0x29 }, "Calix", "Calix Inc." }, { { 0x34, 0xC2, 0x32 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x34, 0xC3, 0x86 }, "Apple", "Apple, Inc." }, { { 0x34, 0xC3, 0xAC }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, @@ -19063,6 +19120,7 @@ { { 0x34, 0xF6, 0xD2 }, "PanasonicTai", "Panasonic Taiwan Co.,Ltd." }, { { 0x34, 0xF7, 0x16 }, "TpLinkTechno", "Tp-Link Technologies Co.,Ltd." }, { { 0x34, 0xF8, 0x6E }, "ParkerHannif", "Parker Hannifin Corporation" }, + { { 0x34, 0xF8, 0x90 }, "NanjingRISCV", "Nanjing RISC-V Institute Co., Ltd." }, { { 0x34, 0xF8, 0xDD }, "Apple", "Apple, Inc." }, { { 0x34, 0xF8, 0xE7 }, "Cisco", "Cisco Systems, Inc" }, { { 0x34, 0xF9, 0x68 }, "ATEKProducts", "ATEK Products, LLC" }, @@ -19289,6 +19347,7 @@ { { 0x38, 0x83, 0x45 }, "TpLinkTechno", "Tp-Link Technologies Co.,Ltd." }, { { 0x38, 0x83, 0x9A }, "RfLinkTechno", "Shenzhen Rf-Link Technology Co.,Ltd." }, { { 0x38, 0x84, 0x79 }, "CiscoMeraki", "Cisco Meraki" }, + { { 0x38, 0x85, 0xBB }, "CommodoreInt", "Commodore International Corporation" }, { { 0x38, 0x86, 0x02 }, "Flexoptix", "Flexoptix GmbH" }, { { 0x38, 0x86, 0xF7 }, "Google", "Google, Inc." }, { { 0x38, 0x87, 0x9C }, "EiElectronic", "Ei Electronics" }, @@ -19312,6 +19371,7 @@ { { 0x38, 0x90, 0x52 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x38, 0x90, 0xA5 }, "Cisco", "Cisco Systems, Inc" }, { { 0x38, 0x90, 0xAF }, "zte", "zte corporation" }, + { { 0x38, 0x90, 0xFE }, "NewH3CTechno", "New H3C Technologies Co., Ltd" }, { { 0x38, 0x91, 0x48 }, "zte", "zte corporation" }, { { 0x38, 0x91, 0xB7 }, "Cisco", "Cisco Systems, Inc" }, { { 0x38, 0x91, 0xD5 }, "H3CTechnolog", "Hangzhou H3C Technologies Co., Limited" }, @@ -19392,10 +19452,12 @@ { { 0x38, 0xBF, 0x33 }, "NECCASIOMobi", "NEC CASIO Mobile Communications" }, { { 0x38, 0xC0, 0x96 }, "Alpsalpine", "Alpsalpine Co,.Ltd" }, { { 0x38, 0xC0, 0xEA }, "Fortinet", "Fortinet, Inc." }, + { { 0x38, 0xC1, 0xED }, "XiaomiCommun", "Xiaomi Communications Co Ltd" }, { { 0x38, 0xC2, 0x2D }, "MellanoxTech", "Mellanox Technologies, Inc." }, { { 0x38, 0xC2, 0xBA }, "CctvNeotech", "Cctv Neotech" }, { { 0x38, 0xC4, 0x3A }, "Apple", "Apple, Inc." }, { { 0x38, 0xC4, 0xE8 }, "NSSSp", "NSS Sp. z o.o." }, + { { 0x38, 0xC6, 0x12 }, "PhytiumTechn", "Phytium Technology Co.,Ltd." }, { { 0x38, 0xC6, 0xBD }, "XiaomiCommun", "Xiaomi Communications Co Ltd" }, { { 0x38, 0xC6, 0xCE }, "Nintendo", "Nintendo Co.,Ltd" }, { { 0x38, 0xC7, 0x0A }, "WiFiSong", "WiFiSong" }, @@ -19448,6 +19510,7 @@ { { 0x38, 0xE8, 0xEE }, "NanjingYouku", "Nanjing Youkuo Electric Technology Co., Ltd" }, { { 0x38, 0xE9, 0x8C }, "Reco", "Reco S.p.A." }, { { 0x38, 0xEA, 0xA7 }, "HewlettPacka", "Hewlett Packard" }, + { { 0x38, 0xEA, 0xDD }, "JuniperNetwo", "Juniper Networks" }, { { 0x38, 0xEB, 0x47 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x38, 0xEC, 0x07 }, "MotorolaMobi", "Motorola Mobility LLC, a Lenovo Company" }, { { 0x38, 0xEC, 0x0D }, "Apple", "Apple, Inc." }, @@ -19464,6 +19527,7 @@ { { 0x38, 0xF1, 0x95 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x38, 0xF2, 0x0D }, "JuniperNetwo", "Juniper Networks" }, { { 0x38, 0xF2, 0x3E }, "MicrosoftMob", "Microsoft Mobile Oy" }, + { { 0x38, 0xF2, 0x5D }, "EzvizSoftwar", "Hangzhou Ezviz Software Co.,Ltd." }, { { 0x38, 0xF3, 0x2E }, "Skullcandy", "Skullcandy" }, { { 0x38, 0xF3, 0x3F }, "Tatsuno", "Tatsuno Corporation" }, { { 0x38, 0xF3, 0xAB }, "LCFCElectron", "LCFC(Hefei) Electronics Technology co., ltd" }, @@ -19540,6 +19604,7 @@ { { 0x3C, 0x0C, 0x48 }, "Servergy", "Servergy, Inc." }, { { 0x3C, 0x0C, 0x7D }, "TinyMeshAS", "Tiny Mesh AS" }, { { 0x3C, 0x0C, 0xDB }, "UnionManTech", "Union Man Technology Co.,Ltd" }, + { { 0x3C, 0x0D, 0x0D }, "EspressifPte", "Espressif Systems (Singapore) Pte. Ltd" }, { { 0x3C, 0x0D, 0x2C }, "LiquidMarket", "Liquid-Markets GmbH" }, { { 0x3C, 0x0E, 0x23 }, "Cisco", "Cisco Systems, Inc" }, { { 0x3C, 0x0F, 0x02 }, "Espressif", "Espressif Inc." }, @@ -19550,6 +19615,7 @@ { { 0x3C, 0x10, 0xE6 }, "PHAZR", "PHAZR Inc." }, { { 0x3C, 0x11, 0xB2 }, "FraunhoferFI", "Fraunhofer FIT" }, { { 0x3C, 0x13, 0x5A }, "XiaomiCommun", "Xiaomi Communications Co Ltd" }, + { { 0x3C, 0x13, 0x67 }, "CxTEKInnovat", "CxTEK Innovations India Pvt Ltd" }, { { 0x3C, 0x13, 0xBB }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x3C, 0x13, 0xCC }, "Cisco", "Cisco Systems, Inc" }, { { 0x3C, 0x15, 0x12 }, "HuanhuTechno", "Shenzhen Huanhu Technology Co.,Ltd" }, @@ -19576,11 +19642,13 @@ { { 0x3C, 0x1E, 0x04 }, "DLinkInterna", "D-Link International" }, { { 0x3C, 0x1E, 0x13 }, "SunriseTechn", "Hangzhou Sunrise Technology Co., Ltd" }, { { 0x3C, 0x1E, 0xB5 }, "Apple", "Apple, Inc." }, + { { 0x3C, 0x1F, 0x52 }, "eero", "eero inc." }, { { 0x3C, 0x20, 0x93 }, "GDMideaAirCo", "GD Midea Air-Conditioning Equipment Co.,Ltd." }, { { 0x3C, 0x20, 0xF6 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x3C, 0x21, 0x9C }, "Intel", "Intel Corporate" }, { { 0x3C, 0x22, 0x7F }, "QuectelWirel", "Quectel Wireless Solutions Co.,Ltd." }, { { 0x3C, 0x22, 0xFB }, "Apple", "Apple, Inc." }, + { { 0x3C, 0x23, 0x19 }, "final", "final Inc." }, { { 0x3C, 0x24, 0x0A }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x3C, 0x25, 0xD7 }, "Nokia", "Nokia Corporation" }, { { 0x3C, 0x25, 0xF8 }, "Dell", "Dell Inc." }, @@ -19739,6 +19807,7 @@ { { 0x3C, 0x86, 0x9A }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x3C, 0x86, 0xA8 }, "Sangshinelec", "Sangshin elecom.co,, LTD" }, { { 0x3C, 0x86, 0xD1 }, "vivoMobileCo", "vivo Mobile Communication Co., Ltd." }, + { { 0x3C, 0x87, 0xCF }, "QuantaComput", "Quanta Computer Inc." }, { { 0x3C, 0x89, 0x4D }, "DrInghcFPors", "Dr. Ing. h.c. F. Porsche AG" }, { { 0x3C, 0x89, 0x70 }, "Neosfar", "Neosfar" }, { { 0x3C, 0x89, 0x94 }, "SkyUk", "Sky Uk Limited" }, @@ -19940,6 +20009,7 @@ { { 0x3C, 0xFD, 0xFE }, "Intel", "Intel Corporate" }, { { 0x3C, 0xFE, 0xAC }, "Cisco", "Cisco Systems, Inc" }, { { 0x3C, 0xFF, 0xD8 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, + { { 0x3C, 0xFF, 0xE4 }, "Siemens", "Siemens AG" }, { { 0x40, 0x00, 0xE0 }, "DerekLimited", "Derek(Shaoguan)Limited" }, { { 0x40, 0x01, 0x07 }, "Arista", "Arista Corp" }, { { 0x40, 0x01, 0x7A }, "Cisco", "Cisco Systems, Inc" }, @@ -20061,6 +20131,7 @@ { { 0x40, 0x50, 0xE0 }, "MiltonSecuri", "Milton Security Group LLC" }, { { 0x40, 0x51, 0x6C }, "GrandexInter", "Grandex International Corporation" }, { { 0x40, 0x52, 0x0D }, "PicoTechnolo", "Pico Technology" }, + { { 0x40, 0x53, 0x8C }, "LGElectronic", "LG Electronics" }, { { 0x40, 0x54, 0x93 }, "zte", "zte corporation" }, { { 0x40, 0x54, 0xE4 }, "WearsafeLabs", "Wearsafe Labs Inc" }, { { 0x40, 0x55, 0x39 }, "Cisco", "Cisco Systems, Inc" }, @@ -20097,6 +20168,7 @@ { { 0x40, 0x65, 0xA3 }, "SagemcomBroa", "Sagemcom Broadband SAS" }, { { 0x40, 0x66, 0x7A }, "mediolaconne", "mediola - connected living AG" }, { { 0x40, 0x67, 0x68 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, + { { 0x40, 0x67, 0x92 }, "Cisco", "Cisco Systems, Inc" }, { { 0x40, 0x67, 0x9B }, "SkyworthDigi", "Shenzhen Skyworth Digital Technology CO., Ltd" }, { { 0x40, 0x68, 0x26 }, "ThalesUK", "Thales UK Limited" }, { { 0x40, 0x68, 0xF9 }, "SuperElectro", "Shenzhen SuperElectron Technology Co.,Ltd." }, @@ -20172,6 +20244,7 @@ { { 0x40, 0x98, 0x4E }, "TexasInstrum", "Texas Instruments" }, { { 0x40, 0x98, 0x7B }, "Aisino", "Aisino Corporation" }, { { 0x40, 0x98, 0xAD }, "Apple", "Apple, Inc." }, + { { 0x40, 0x98, 0xE1 }, "VusionGroup", "VusionGroup" }, { { 0x40, 0x99, 0x22 }, "AzureWaveTec", "AzureWave Technology Inc." }, { { 0x40, 0x99, 0xE3 }, "GuangzhouMud", "Guangzhou Mudi Information Technology Co., Ltd" }, { { 0x40, 0x99, 0xF6 }, "TelinkSemico", "Telink Semiconductor(Shanghai) Co.,Ltd" }, @@ -20300,9 +20373,11 @@ { { 0x40, 0xE2, 0x30 }, "AzureWaveTec", "AzureWave Technology Inc." }, { { 0x40, 0xE3, 0x17 }, "ExtremeNetwo", "Extreme Networks, Inc." }, { { 0x40, 0xE3, 0xD6 }, "HewlettPacka", "Hewlett Packard Enterprise" }, + { { 0x40, 0xE4, 0xC6 }, "Nokia", "Nokia" }, { { 0x40, 0xE6, 0x4B }, "Apple", "Apple, Inc." }, { { 0x40, 0xE7, 0x30 }, "DEYStorage", "DEY Storage Systems, Inc." }, { { 0x40, 0xE7, 0x62 }, "Calix", "Calix Inc." }, + { { 0x40, 0xE7, 0x67 }, "ExtremeNetwo", "Extreme Networks, Inc." }, { { 0x40, 0xE7, 0x93 }, "SivitonTechn", "Shenzhen Siviton Technology Co.,Ltd" }, { { 0x40, 0xE9, 0x9B }, "SamsungElect", "Samsung Electro-Mechanics(Thailand)" }, { { 0x40, 0xEA, 0xCE }, "FounderBroad", "Founder Broadband Network Service Co.,Ltd" }, @@ -20314,6 +20389,7 @@ { { 0x40, 0xED, 0x7B }, "Zscaler", "Zscaler" }, { { 0x40, 0xED, 0xCF }, "Apple", "Apple, Inc." }, { { 0x40, 0xEE, 0x15 }, "ZioncomElect", "Zioncom Electronics (Shenzhen) Ltd." }, + { { 0x40, 0xEE, 0x6D }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x40, 0xEE, 0xBE }, "NXPSemicondu", "NXP Semiconductor (Tianjin) LTD." }, { { 0x40, 0xEE, 0xDD }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x40, 0xEF, 0x4C }, "Fihonestcomm", "Fihonest communication co.,Ltd" }, @@ -20373,11 +20449,13 @@ { { 0x44, 0x12, 0x44 }, "HewlettPacka", "Hewlett Packard Enterprise" }, { { 0x44, 0x13, 0x19 }, "WkkTechnolog", "Wkk Technology Ltd." }, { { 0x44, 0x13, 0xD0 }, "zte", "zte corporation" }, + { { 0x44, 0x14, 0x04 }, "eero", "eero inc." }, { { 0x44, 0x14, 0x41 }, "AudioControl", "AudioControl Inc." }, { { 0x44, 0x15, 0x24 }, "SagemcomBroa", "Sagemcom Broadband SAS" }, { { 0x44, 0x16, 0x22 }, "Microsoft", "Microsoft Corporation" }, { { 0x44, 0x16, 0x90 }, "WuxiRankeTec", "Wuxi Ranke Technology Co., Ltd." }, { { 0x44, 0x16, 0xFA }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, + { { 0x44, 0x17, 0x7A }, "IZTCloud", "IZT Cloud, Inc." }, { { 0x44, 0x17, 0x93 }, "Espressif", "Espressif Inc." }, { { 0x44, 0x18, 0x47 }, "HunanScrownE", "Hunan Scrown Electronic Information Tech.Co.,Ltd" }, { { 0x44, 0x18, 0x4F }, "Fitview", "Fitview" }, @@ -20402,6 +20480,7 @@ { { 0x44, 0x20, 0x63 }, "AUMOVIOGerma", "AUMOVIO Germany GmbH" }, { { 0x44, 0x22, 0x7C }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x44, 0x22, 0x95 }, "ChinaMobileI", "China Mobile Iot Limited company" }, + { { 0x44, 0x22, 0xBE }, "rescuetrack", "rescuetrack GmbH" }, { { 0x44, 0x22, 0xF1 }, "SFac", "S.Fac, Inc" }, { { 0x44, 0x23, 0x7C }, "XiaomiMobile", "Beijing Xiaomi Mobile Software Co., Ltd" }, { { 0x44, 0x23, 0xAA }, "Farmage", "Farmage Co., Ltd." }, @@ -20551,6 +20630,7 @@ { { 0x44, 0x76, 0xE7 }, "TecnoMobile", "Tecno Mobile Limited" }, { { 0x44, 0x78, 0x31 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x44, 0x78, 0x3E }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, + { { 0x44, 0x7B, 0x30 }, "Espressif", "Espressif Inc." }, { { 0x44, 0x7B, 0x45 }, "AmazonTechno", "Amazon Technologies Inc." }, { { 0x44, 0x7B, 0xBB }, "YOUHUATechno", "Shenzhen YOUHUA Technology Co., Ltd" }, { { 0x44, 0x7B, 0xC4 }, "DualShineTec", "DualShine Technology(SZ)Co.,Ltd" }, @@ -20581,6 +20661,7 @@ { { 0x44, 0x8C, 0x00 }, "RealmeChongq", "Realme Chongqing Mobile Telecommunications Corp.,Ltd." }, { { 0x44, 0x8C, 0x52 }, "KTIS", "KTIS CO., Ltd" }, { { 0x44, 0x8C, 0xAB }, "FlitlinkVien", "Beijing Flitlink Vientiane Technology Co., LTD" }, + { { 0x44, 0x8C, 0xEC }, "AnhuiSunchip", "Anhui Sunchip semiconductor technology Co;Ltd" }, { { 0x44, 0x8D, 0xBF }, "RhinoMobilit", "Rhino Mobility LLC" }, { { 0x44, 0x8D, 0xD5 }, "Cisco", "Cisco Systems, Inc" }, { { 0x44, 0x8E, 0x12 }, "DTResearch", "DT Research, Inc." }, @@ -20662,10 +20743,12 @@ { { 0x44, 0xBD, 0xC8 }, "XiaomiCommun", "Xiaomi Communications Co Ltd" }, { { 0x44, 0xBD, 0xDE }, "BHTC", "BHTC GmbH" }, { { 0x44, 0xBE, 0x0B }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, + { { 0x44, 0xBE, 0x23 }, "Pegatron", "Pegatron Corporation" }, { { 0x44, 0xBF, 0xE3 }, "LongtechElec", "Shenzhen Longtech Electronics Co.,Ltd" }, { { 0x44, 0xC1, 0x5C }, "TexasInstrum", "Texas Instruments" }, { { 0x44, 0xC2, 0x0C }, "Cisco", "Cisco Systems, Inc" }, { { 0x44, 0xC2, 0x33 }, "GuangzhouCom", "Guangzhou Comet Technology Development Co.Ltd" }, + { { 0x44, 0xC2, 0x77 }, "KingspecElec", "Shenzhen Kingspec Electronics Technology Co., Ltd." }, { { 0x44, 0xC3, 0x06 }, "SIFROM", "SIFROM Inc." }, { { 0x44, 0xC3, 0x46 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x44, 0xC3, 0x9B }, "OooRubezhNpo", "Ooo Rubezh Npo" }, @@ -20817,7 +20900,9 @@ { { 0x48, 0x1F, 0x66 }, "ChinaMobileG", "China Mobile Group Device Co.,Ltd." }, { { 0x48, 0x21, 0x0B }, "Pegatron", "Pegatron Corporation" }, { { 0x48, 0x21, 0x6C }, "ChinaMobileI", "China Mobile IOT Company Limited" }, + { { 0x48, 0x21, 0xB8 }, "GuangzhouVSo", "Guangzhou V-Solution Telecommunication Technology Co.,Ltd." }, { { 0x48, 0x22, 0x18 }, "YipingfangNe", "Shenzhen Yipingfang Network Technology Co., Ltd." }, + { { 0x48, 0x22, 0x1D }, "Bose", "Bose Corporation" }, { { 0x48, 0x22, 0x54 }, "TPLink", "TP-Link Systems Inc" }, { { 0x48, 0x23, 0x35 }, "DialogSemico", "Dialog Semiconductor Hellas SA" }, { { 0x48, 0x25, 0x67 }, "Poly", "Poly" }, @@ -20944,6 +21029,7 @@ { { 0x48, 0x6F, 0xD2 }, "StorSimple", "StorSimple Inc" }, { { 0x48, 0x70, 0x1E }, "TexasInstrum", "Texas Instruments" }, { { 0x48, 0x70, 0x6F }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, + { { 0x48, 0x70, 0xD4 }, "CiscoMeraki", "Cisco Meraki" }, { { 0x48, 0x71, 0x19 }, "SgbGroup", "Sgb Group Ltd." }, { { 0x48, 0x73, 0x10 }, "JuniperNetwo", "Juniper Networks" }, { { 0x48, 0x73, 0x97 }, "NewH3CTechno", "New H3C Technologies Co., Ltd" }, @@ -21027,6 +21113,7 @@ { { 0x48, 0x9E, 0xCB }, "HewlettPacka", "Hewlett Packard Enterprise" }, { { 0x48, 0xA0, 0xF8 }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" }, { { 0x48, 0xA1, 0x70 }, "Cisco", "Cisco Systems, Inc" }, + { { 0x48, 0xA1, 0x7A }, "EMMicroelect", "EM Microelectronic" }, { { 0x48, 0xA1, 0x95 }, "Apple", "Apple, Inc." }, { { 0x48, 0xA2, 0x2D }, "HuaxuchangTe", "Shenzhen Huaxuchang Telecom Technology Co.,Ltd" }, { { 0x48, 0xA2, 0xB7 }, "Kodofon", "Kodofon JSC" }, @@ -21167,6 +21254,7 @@ { { 0x48, 0xF3, 0xF3 }, "BaiduOnlineN", "Baidu Online Network Technology (Beijing) Co., Ltd" }, { { 0x48, 0xF4, 0x7D }, "TechVisionIn", "TechVision Holding Internation Limited" }, { { 0x48, 0xF6, 0xEE }, "Espressif", "Espressif Inc." }, + { { 0x48, 0xF7, 0x3C }, "Elecom", "Elecom Co.,Ltd" }, { { 0x48, 0xF7, 0xBC }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x48, 0xF7, 0xC0 }, "VantivaUSA", "Vantiva USA LLC" }, { { 0x48, 0xF7, 0xF1 }, "Nokia", "Nokia" }, @@ -21356,6 +21444,7 @@ { { 0x4C, 0x62, 0x7B }, "SmartCowAITe", "SmartCow AI Technologies Taiwan Ltd." }, { { 0x4C, 0x62, 0xCD }, "Nokia", "Nokia" }, { { 0x4C, 0x62, 0xDF }, "HikvisionDig", "Hangzhou Hikvision Digital Technology Co.,Ltd." }, + { { 0x4C, 0x63, 0x1B }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x4C, 0x63, 0x71 }, "XiaomiCommun", "Xiaomi Communications Co Ltd" }, { { 0x4C, 0x63, 0xAD }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x4C, 0x63, 0xEB }, "ApplicationS", "Application Solutions (Electronics and Vision) Ltd" }, @@ -21424,6 +21513,7 @@ { { 0x4C, 0x8E, 0x19 }, "XiaomiCommun", "Xiaomi Communications Co Ltd" }, { { 0x4C, 0x8E, 0xCC }, "Silkan", "Silkan Sa" }, { { 0x4C, 0x8F, 0xA5 }, "Jastec", "Jastec" }, + { { 0x4C, 0x90, 0x2D }, "FujianStarNe", "Fujian Star-Net Communication Co.,Ltd" }, { { 0x4C, 0x90, 0xDB }, "JLAudio", "JL Audio" }, { { 0x4C, 0x91, 0x0C }, "LanixInterna", "Lanix Internacional, S.A. de C.V." }, { { 0x4C, 0x91, 0x57 }, "FujianLANDIC", "Fujian LANDI Commercial Equipment Co.,Ltd" }, @@ -21522,6 +21612,7 @@ { { 0x4C, 0xC9, 0x5E }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x4C, 0xCA, 0x53 }, "Skyera", "Skyera, Inc." }, { { 0x4C, 0xCA, 0x95 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, + { { 0x4C, 0xCB, 0xEA }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x4C, 0xCB, 0xF5 }, "zte", "zte corporation" }, { { 0x4C, 0xCC, 0x34 }, "MotorolaSolu", "Motorola Solutions Inc." }, { { 0x4C, 0xCC, 0x6A }, "MicroStarINT", "Micro-Star INTL CO., LTD." }, @@ -21572,6 +21663,7 @@ { { 0x4C, 0xE7, 0x05 }, "SiemensIndus", "Siemens Industrial Automation Products Ltd., Chengdu" }, { { 0x4C, 0xE9, 0x33 }, "RailComm", "RailComm, LLC" }, { { 0x4C, 0xE9, 0xE4 }, "NewH3CTechno", "New H3C Technologies Co., Ltd" }, + { { 0x4C, 0xEA, 0x27 }, "SkyworthDigi", "Shenzhen Skyworth Digital Technology CO., Ltd" }, { { 0x4C, 0xEA, 0xAE }, "OppoMobileTe", "Guangdong Oppo Mobile Telecommunications Corp.,Ltd" }, { { 0x4C, 0xEB, 0x42 }, "Intel", "Intel Corporate" }, { { 0x4C, 0xEB, 0x76 }, "Murrelektron", "Murrelektronik GmbH" }, @@ -21675,6 +21767,7 @@ { { 0x50, 0x26, 0xEF }, "MurataManufa", "Murata Manufacturing Co., Ltd." }, { { 0x50, 0x27, 0xA9 }, "eero", "eero inc." }, { { 0x50, 0x27, 0xC7 }, "TECHNART", "TECHNART Co.,Ltd" }, + { { 0x50, 0x27, 0xE4 }, "MarvellSemic", "Marvell Semiconductors" }, { { 0x50, 0x28, 0x4A }, "Intel", "Intel Corporate" }, { { 0x50, 0x28, 0x73 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x50, 0x29, 0x4D }, "NanjingIotSe", "Nanjing Iot Sensor Technology Co,Ltd" }, @@ -21738,7 +21831,9 @@ { { 0x50, 0x42, 0x89 }, "zte", "zte corporation" }, { { 0x50, 0x43, 0x48 }, "ThingsMatrix", "ThingsMatrix Inc." }, { { 0x50, 0x43, 0xB9 }, "OktoInformRU", "OktoInform RUS" }, + { { 0x50, 0x44, 0x72 }, "MotorolaMobi", "Motorola Mobility LLC, a Lenovo Company" }, { { 0x50, 0x45, 0x94 }, "Radisys", "Radisys" }, + { { 0x50, 0x45, 0xD7 }, "AristaNetwor", "Arista Networks" }, { { 0x50, 0x45, 0xF7 }, "LiuheIntelli", "Liuhe Intelligence Technology Ltd." }, { { 0x50, 0x46, 0x4A }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x50, 0x46, 0x5D }, "ASUSTekCOMPU", "ASUSTek COMPUTER INC." }, @@ -21789,6 +21884,7 @@ { { 0x50, 0x5E, 0x5C }, "SunitecTechn", "Sunitec Technology Co.,Limited" }, { { 0x50, 0x5F, 0xB5 }, "AskeyCompute", "Askey Computer Corp" }, { { 0x50, 0x60, 0x28 }, "Xirrus", "Xirrus Inc." }, + { { 0x50, 0x61, 0x3C }, "XinZhongXinT", "ShenZhen XinZhongXin Technology Co., Ltd" }, { { 0x50, 0x61, 0x3F }, "eero", "eero inc." }, { { 0x50, 0x61, 0x7E }, "MiaoMingInte", "Shenzhen MiaoMing Intelligent Technology Co.,Ltd" }, { { 0x50, 0x61, 0x84 }, "Avaya", "Avaya Inc" }, @@ -21935,6 +22031,7 @@ { { 0x50, 0xB8, 0x88 }, "wi2beTecnolo", "wi2be Tecnologia S/A" }, { { 0x50, 0xB8, 0xA2 }, "ImTechTechno", "ImTech Technologies LLC," }, { { 0x50, 0xBA, 0x02 }, "QingdaoIntel", "Qingdao Intelligent&Precise Electronics Co.,Ltd." }, + { { 0x50, 0xBA, 0x84 }, "Cisco", "Cisco Systems, Inc" }, { { 0x50, 0xBB, 0x9F }, "VantivaUSA", "Vantiva USA LLC" }, { { 0x50, 0xBB, 0xB5 }, "AzureWaveTec", "AzureWave Technology Inc." }, { { 0x50, 0xBC, 0x96 }, "Apple", "Apple, Inc." }, @@ -21985,6 +22082,7 @@ { { 0x50, 0xDC, 0xE7 }, "AmazonTechno", "Amazon Technologies Inc." }, { { 0x50, 0xDC, 0xFC }, "Ecocom", "Ecocom" }, { { 0x50, 0xDD, 0x4F }, "AutomationCo", "Automation Components, Inc" }, + { { 0x50, 0xDD, 0xAB }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x50, 0xDE, 0x06 }, "Apple", "Apple, Inc." }, { { 0x50, 0xDE, 0x92 }, "worldeliteel", "shenzhen worldelite electronics co., LTD" }, { { 0x50, 0xDF, 0x95 }, "Lytx", "Lytx" }, @@ -22019,6 +22117,7 @@ { { 0x50, 0xEE, 0x32 }, "HonHaiPrecis", "Hon Hai Precision Industry Co.,LTD" }, { { 0x50, 0xEE, 0x87 }, "Hpro", "Hpro" }, { { 0x50, 0xEE, 0x9B }, "AltoBeam", "AltoBeam Inc." }, + { { 0x50, 0xEE, 0xB5 }, "TexasInstrum", "Texas Instruments" }, { { 0x50, 0xF0, 0x03 }, "OpenStack", "Open Stack, Inc." }, { { 0x50, 0xF0, 0xD3 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x50, 0xF1, 0x4A }, "TexasInstrum", "Texas Instruments" }, @@ -22057,6 +22156,7 @@ { { 0x54, 0x04, 0x96 }, "Gigawave", "Gigawave LTD" }, { { 0x54, 0x04, 0xA6 }, "ASUSTekCOMPU", "ASUSTek COMPUTER INC." }, { { 0x54, 0x05, 0x36 }, "Vivago", "Vivago Oy" }, + { { 0x54, 0x05, 0x46 }, "Spintly", "Spintly Inc" }, { { 0x54, 0x05, 0x5F }, "AlcatelLucen", "Alcatel Lucent" }, { { 0x54, 0x05, 0x83 }, "ItelMobile", "Itel Mobile Limited" }, { { 0x54, 0x05, 0x93 }, "WOORIELEC", "WOORI ELEC Co.,Ltd" }, @@ -22066,6 +22166,7 @@ { { 0x54, 0x07, 0x7D }, "Netgear", "Netgear" }, { { 0x54, 0x08, 0x53 }, "QingdaoHaier", "Qingdao Haier Technology Co.,Ltd" }, { { 0x54, 0x08, 0xD3 }, "TianyiTeleco", "Tianyi Telecom Terminals Company Limited" }, + { { 0x54, 0x08, 0xF1 }, "Shenzhenling", "Shenzhenlingdechuangtechnology Co.,Ltd" }, { { 0x54, 0x09, 0x10 }, "Apple", "Apple, Inc." }, { { 0x54, 0x09, 0x29 }, "InventusPowe", "Inventus Power Eletronica do Brasil LTDA" }, { { 0x54, 0x09, 0x55 }, "zte", "zte corporation" }, @@ -22099,6 +22200,7 @@ { { 0x54, 0x14, 0xFD }, "Orbbec3DTech", "Orbbec 3D Technology International" }, { { 0x54, 0x15, 0x89 }, "MCSLogic", "MCS Logic Inc." }, { { 0x54, 0x16, 0x51 }, "RuijieNetwor", "Ruijie Networks Co.,LTD" }, + { { 0x54, 0x16, 0xA5 }, "EspressifPte", "Espressif Systems (Singapore) Pte. Ltd" }, { { 0x54, 0x19, 0xC8 }, "vivoMobileCo", "vivo Mobile Communication Co., Ltd." }, { { 0x54, 0x1B, 0x5D }, "TechnoInnov", "Techno-Innov" }, { { 0x54, 0x1D, 0x61 }, "YEESTORMicro", "YEESTOR Microelectronics Co., Ltd" }, @@ -22116,6 +22218,8 @@ { { 0x54, 0x22, 0x59 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x54, 0x22, 0xE0 }, "Adtran", "Adtran Inc" }, { { 0x54, 0x22, 0xF8 }, "zte", "zte corporation" }, + { { 0x54, 0x23, 0x69 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, + { { 0x54, 0x23, 0xE3 }, "RuijieNetwor", "Ruijie Networks Co.,LTD" }, { { 0x54, 0x25, 0xEA }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x54, 0x26, 0x18 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x54, 0x26, 0x3D }, "Sony", "Sony Corporation" }, @@ -22174,6 +22278,7 @@ { { 0x54, 0x46, 0x17 }, "zte", "zte corporation" }, { { 0x54, 0x46, 0x6B }, "CZTICElectro", "Shenzhen CZTIC Electronic Technology Co., Ltd" }, { { 0x54, 0x47, 0x41 }, "Xcheng", "Xcheng Holding" }, + { { 0x54, 0x47, 0x81 }, "QuectelWirel", "Quectel Wireless Solutions Co.,Ltd." }, { { 0x54, 0x47, 0xCC }, "SagemcomBroa", "Sagemcom Broadband SAS" }, { { 0x54, 0x47, 0xD3 }, "TsatAs", "Tsat As" }, { { 0x54, 0x47, 0xE8 }, "SyrotechNetw", "Syrotech Networks. Ltd." }, @@ -22201,6 +22306,7 @@ { { 0x54, 0x55, 0xD5 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x54, 0x56, 0x18 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x54, 0x59, 0x25 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, + { { 0x54, 0x59, 0xA8 }, "JingchenInte", "Wuhan Jingchen Intelligent Identification Technology Co.,Ltd" }, { { 0x54, 0x5A, 0xA6 }, "Espressif", "Espressif Inc." }, { { 0x54, 0x5B, 0x86 }, "PanasonicAut", "Panasonic Automotive Systems Co.,Ltd" }, { { 0x54, 0x5D, 0xD9 }, "Edistec", "Edistec" }, @@ -22233,6 +22339,7 @@ { { 0x54, 0x6D, 0x52 }, "TopviewOptro", "Topview Optronics Corp." }, { { 0x54, 0x6F, 0x71 }, "uAvionix", "uAvionix Corporation" }, { { 0x54, 0x70, 0x68 }, "VTechCommuni", "VTech Communications Limited" }, + { { 0x54, 0x70, 0xAB }, "ChinaMobileG", "China Mobile Group Device Co.,Ltd." }, { { 0x54, 0x71, 0xDD }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x54, 0x72, 0x4F }, "Apple", "Apple, Inc." }, { { 0x54, 0x72, 0x5E }, "UnionManTech", "Union Man Technology Co.,Ltd" }, @@ -22298,7 +22405,9 @@ { { 0x54, 0x9B, 0x49 }, "NECPlatforms", "NEC Platforms, Ltd." }, { { 0x54, 0x9B, 0x72 }, "Ericsson", "Ericsson AB" }, { { 0x54, 0x9C, 0x27 }, "PlasmaCloud", "Plasma Cloud Limited" }, + { { 0x54, 0x9C, 0x6A }, "BilianElectr", "Shenzhen Bilian Electronic Co.,Ltd" }, { { 0x54, 0x9D, 0x85 }, "EnerAccess", "EnerAccess inc" }, + { { 0x54, 0x9D, 0xEA }, "Espressif", "Espressif Inc." }, { { 0x54, 0x9F, 0x06 }, "NokiaShangha", "Nokia Shanghai Bell Co., Ltd." }, { { 0x54, 0x9F, 0x13 }, "Apple", "Apple, Inc." }, { { 0x54, 0x9F, 0x35 }, "Dell", "Dell Inc." }, @@ -22350,6 +22459,7 @@ { { 0x54, 0xBD, 0x79 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x54, 0xBE, 0x53 }, "zte", "zte corporation" }, { { 0x54, 0xBE, 0xF7 }, "Pegatron", "Pegatron Corporation" }, + { { 0x54, 0xBF, 0x55 }, "JuniperNetwo", "Juniper Networks" }, { { 0x54, 0xBF, 0x64 }, "Dell", "Dell Inc." }, { { 0x54, 0xC0, 0x78 }, "Infinixmobil", "Infinix mobility limited" }, { { 0x54, 0xC1, 0xD3 }, "GuangzhouTRI", "Guangzhou TR Intelligent Manufacturing Technology Co., Ltd" }, @@ -22376,6 +22486,7 @@ { { 0x54, 0xD1, 0x7D }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x54, 0xD1, 0xB0 }, "UniversalLas", "Universal Laser Systems, Inc" }, { { 0x54, 0xD2, 0x72 }, "NukiHomeSolu", "Nuki Home Solutions GmbH" }, + { { 0x54, 0xD2, 0x99 }, "TPLink", "TP-Link Systems Inc." }, { { 0x54, 0xD4, 0x6F }, "CiscoSPVTG", "Cisco SPVTG" }, { { 0x54, 0xD6, 0x0D }, "EzvizSoftwar", "Hangzhou Ezviz Software Co.,Ltd." }, { { 0x54, 0xD7, 0x51 }, "Proximus", "Proximus" }, @@ -22472,6 +22583,7 @@ { { 0x58, 0x0A, 0xD4 }, "Apple", "Apple, Inc." }, { { 0x58, 0x0D, 0x0D }, "GreeElectric", "Gree Electric Appliances, Inc. Of Zhuhai" }, { { 0x58, 0x0E, 0x85 }, "SagemcomBroa", "Sagemcom Broadband SAS" }, + { { 0x58, 0x0E, 0xE6 }, "MellanoxTech", "Mellanox Technologies, Inc." }, { { 0x58, 0x0F, 0xA5 }, "Apple", "Apple, Inc." }, { { 0x58, 0x10, 0x31 }, "HonHaiPrecis", "Hon Hai Precision IND.CO.,LTD" }, { { 0x58, 0x10, 0x8C }, "Intelbras", "Intelbras" }, @@ -22530,6 +22642,7 @@ { { 0x58, 0x35, 0x6B }, "TecnoMobile", "Tecno Mobile Limited" }, { { 0x58, 0x35, 0xD9 }, "Cisco", "Cisco Systems, Inc" }, { { 0x58, 0x36, 0x53 }, "Apple", "Apple, Inc." }, + { { 0x58, 0x36, 0xDE }, "HZCSkyverseM", "HZC Skyverse(Chongqing)Microelectronics Co., Ltd" }, { { 0x58, 0x38, 0x79 }, "Ricoh", "Ricoh Company, Ltd." }, { { 0x58, 0x3B, 0xC2 }, "SiliconLabor", "Silicon Laboratories" }, { { 0x58, 0x3B, 0xD9 }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" }, @@ -22687,6 +22800,7 @@ { { 0x58, 0xA8, 0x39 }, "Intel", "Intel Corporate" }, { { 0x58, 0xA8, 0x7B }, "Fitbit", "Fitbit, Inc." }, { { 0x58, 0xA8, 0xE8 }, "AmazonTechno", "Amazon Technologies Inc." }, + { { 0x58, 0xAB, 0xFB }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x58, 0xAC, 0x78 }, "Cisco", "Cisco Systems, Inc" }, { { 0x58, 0xAD, 0x12 }, "Apple", "Apple, Inc." }, { { 0x58, 0xAE, 0x2B }, "HuaweiDevice", "Huawei Device Co., Ltd." }, @@ -23075,6 +23189,7 @@ { { 0x5C, 0xA1, 0x76 }, "SichuanTiany", "Sichuan Tianyi Comheart Telecom Co.,LTD" }, { { 0x5C, 0xA1, 0x78 }, "TableTopMedi", "TableTop Media (dba Ziosk)" }, { { 0x5C, 0xA1, 0xE0 }, "EmbedWayTech", "EmbedWay Technologies" }, + { { 0x5C, 0xA2, 0xA2 }, "TexasInstrum", "Texas Instruments" }, { { 0x5C, 0xA3, 0x9D }, "SamsungElect", "Samsung Electro Mechanics Co., Ltd." }, { { 0x5C, 0xA3, 0xEB }, "SKODADIGITAL", "SKODA DIGITAL s.r.o." }, { { 0x5C, 0xA4, 0x36 }, "GworldTechno", "Shenzhen G-world Technology Incorporated Company" }, @@ -23161,6 +23276,7 @@ { { 0x5C, 0xCF, 0x7F }, "Espressif", "Espressif Inc." }, { { 0x5C, 0xD0, 0x6E }, "XiaomiCommun", "Xiaomi Communications Co Ltd" }, { { 0x5C, 0xD1, 0x35 }, "XtremePower", "Xtreme Power Systems" }, + { { 0x5C, 0xD1, 0x9C }, "FantasiaTrad", "Fantasia Trading LLC" }, { { 0x5C, 0xD2, 0x0B }, "Yytek", "Yytek Co., Ltd." }, { { 0x5C, 0xD2, 0xE4 }, "Intel", "Intel Corporate" }, { { 0x5C, 0xD3, 0x3D }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, @@ -23357,6 +23473,7 @@ { { 0x60, 0x45, 0xE8 }, "Arcadyan", "Arcadyan Corporation" }, { { 0x60, 0x46, 0x16 }, "XiamenVannIn", "Xiamen Vann Intelligent Co., Ltd" }, { { 0x60, 0x46, 0x4C }, "LigentTech", "Ligent Tech,Inc" }, + { { 0x60, 0x46, 0xD4 }, "TexasInstrum", "Texas Instruments" }, { { 0x60, 0x47, 0x0A }, "ZenithIntell", "Shenzhen Zenith Intelligent Technology Co., Ltd." }, { { 0x60, 0x47, 0x62 }, "SensoroTechn", "Beijing Sensoro Technology Co.,Ltd." }, { { 0x60, 0x47, 0xD4 }, "FORICSElectr", "FORICS Electronic Technology Co., Ltd." }, @@ -23463,6 +23580,7 @@ { { 0x60, 0x83, 0xF8 }, "SichuanHuaku", "Sichuan Huakun Zhenyu Intelligent Technology Co.,Ltd" }, { { 0x60, 0x84, 0x3B }, "Soladigm", "Soladigm, Inc." }, { { 0x60, 0x84, 0xBD }, "Buffalo", "Buffalo.Inc" }, + { { 0x60, 0x86, 0x25 }, "FNLINKTECHNO", "FN-LINK TECHNOLOGY Ltd." }, { { 0x60, 0x86, 0x45 }, "AveryWeighTr", "Avery Weigh-Tronix, LLC" }, { { 0x60, 0x89, 0x3C }, "ThermoFisher", "Thermo Fisher Scientific P.O.A." }, { { 0x60, 0x89, 0xB1 }, "KeyDigital", "Key Digital Systems" }, @@ -23546,6 +23664,7 @@ { { 0x60, 0xB9, 0xC0 }, "Cisco", "Cisco Systems, Inc" }, { { 0x60, 0xBA, 0x18 }, "nextLAP", "nextLAP GmbH" }, { { 0x60, 0xBB, 0x0C }, "HuaqinWorldT", "Beijing HuaqinWorld Technology Co,Ltd" }, + { { 0x60, 0xBB, 0xEB }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x60, 0xBC, 0x4C }, "EWMHightecWe", "EWM Hightec Welding GmbH" }, { { 0x60, 0xBD, 0x2C }, "TaicangT&WEl", "Taicang T&W Electronics" }, { { 0x60, 0xBD, 0x83 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, @@ -23581,6 +23700,7 @@ { { 0x60, 0xD0, 0x2C }, "RuckusWirele", "Ruckus Wireless" }, { { 0x60, 0xD0, 0x39 }, "Apple", "Apple, Inc." }, { { 0x60, 0xD0, 0xA9 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, + { { 0x60, 0xD1, 0x5F }, "FuturepathTe", "Futurepath Technology(Shenzhen)Co.,Ltd." }, { { 0x60, 0xD1, 0x78 }, "Cisco", "Cisco Systems, Inc" }, { { 0x60, 0xD1, 0xAA }, "VishalTeleco", "Vishal Telecommunications Pvt Ltd" }, { { 0x60, 0xD1, 0xD8 }, "SiliconLabor", "Silicon Laboratories" }, @@ -23770,6 +23890,7 @@ { { 0x64, 0x3E, 0x8C }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x64, 0x3F, 0x5F }, "Exablaze", "Exablaze" }, { { 0x64, 0x41, 0xE6 }, "Apple", "Apple, Inc." }, + { { 0x64, 0x41, 0xFF }, "WolfTechnolo", "Shenzhen Wolf Technology Co., Ltd." }, { { 0x64, 0x42, 0x12 }, "WaterWorldIn", "Shenzhen Water World Information Co.,Ltd." }, { { 0x64, 0x42, 0x14 }, "SwisscomEner", "Swisscom Energy Solutions AG" }, { { 0x64, 0x42, 0xC2 }, "MellanoxTech", "Mellanox Technologies, Inc." }, @@ -23891,9 +24012,11 @@ { { 0x64, 0x84, 0x34 }, "BEMERInt", "BEMER Int. AG" }, { { 0x64, 0x85, 0x05 }, "zte", "zte corporation" }, { { 0x64, 0x86, 0x24 }, "GlobalSafety", "Beijing Global Safety Technology Co., LTD." }, + { { 0x64, 0x87, 0x6C }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x64, 0x87, 0x88 }, "JuniperNetwo", "Juniper Networks" }, { { 0x64, 0x87, 0xD7 }, "ADBBroadband", "ADB Broadband Italia" }, { { 0x64, 0x88, 0xFF }, "SichuanChang", "Sichuan Changhong Electric Ltd." }, + { { 0x64, 0x89, 0x14 }, "Espressif", "Espressif Inc." }, { { 0x64, 0x89, 0x9A }, "LGElectronic", "LG Electronics (Mobile Communications)" }, { { 0x64, 0x89, 0xF1 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x64, 0x8B, 0x9B }, "AlwaysOnTech", "Always On Tech Pte.Ltd." }, @@ -23923,6 +24046,7 @@ { { 0x64, 0x9D, 0x99 }, "FsCom", "Fs Com Inc" }, { { 0x64, 0x9E, 0x31 }, "XiaomiMobile", "Beijing Xiaomi Mobile Software Co., Ltd" }, { { 0x64, 0x9E, 0x58 }, "MMDevices", "MM Devices Pty. Ltd." }, + { { 0x64, 0x9E, 0xF1 }, "TexasInstrum", "Texas Instruments" }, { { 0x64, 0x9E, 0xF3 }, "Cisco", "Cisco Systems, Inc" }, { { 0x64, 0x9F, 0xF7 }, "Kone", "Kone OYj" }, { { 0x64, 0xA0, 0xAC }, "Adtran", "Adtran Inc" }, @@ -23944,6 +24068,7 @@ { { 0x64, 0xA7, 0x69 }, "HTC", "HTC Corporation" }, { { 0x64, 0xA7, 0xDD }, "Avaya", "Avaya Inc" }, { { 0x64, 0xA8, 0x37 }, "JuniKorea", "Juni Korea Co., Ltd" }, + { { 0x64, 0xA9, 0x63 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x64, 0xA9, 0x65 }, "Linkflow", "Linkflow Co., Ltd." }, { { 0x64, 0xAC, 0x2B }, "JuniperNetwo", "Juniper Networks" }, { { 0x64, 0xAC, 0xE0 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, @@ -23989,6 +24114,7 @@ { { 0x64, 0xC4, 0x03 }, "QuectelWirel", "Quectel Wireless Solutions Co.,Ltd." }, { { 0x64, 0xC5, 0x82 }, "ChinaMobileG", "China Mobile Group Device Co.,Ltd." }, { { 0x64, 0xC5, 0xAA }, "SouthAfrican", "South African Broadcasting Corporation" }, + { { 0x64, 0xC5, 0xF9 }, "TecnoTechnol", "Shenzhen Tecno Technology" }, { { 0x64, 0xC6, 0x67 }, "Barnes&Noble", "Barnes&Noble" }, { { 0x64, 0xC6, 0xAF }, "AXERRANetwor", "AXERRA Networks Ltd" }, { { 0x64, 0xC6, 0xD2 }, "SeikoEpson", "Seiko Epson Corporation" }, @@ -24096,6 +24222,7 @@ { { 0x64, 0xFB, 0x01 }, "ZhongshanCam", "Zhongshan Camry Electronic Company Limited" }, { { 0x64, 0xFB, 0x50 }, "RoomReadyZdi", "RoomReady/Zdi, Inc." }, { { 0x64, 0xFB, 0x92 }, "PPCBroadband", "PPC Broadband Inc." }, + { { 0x64, 0xFB, 0xCE }, "AmplitechGro", "Amplitech Group, Inc." }, { { 0x64, 0xFC, 0x8C }, "Zonar", "Zonar Systems" }, { { 0x64, 0xFD, 0x29 }, "ZhejiangDahu", "Zhejiang Dahua Technology Co., Ltd." }, { { 0x64, 0xFD, 0x96 }, "SagemcomBroa", "Sagemcom Broadband SAS" }, @@ -24151,6 +24278,7 @@ { { 0x68, 0x23, 0xB0 }, "TexasInstrum", "Texas Instruments" }, { { 0x68, 0x23, 0xF4 }, "JinlangxinTe", "Shenzhen Jinlangxin Technology Co., Ltd" }, { { 0x68, 0x24, 0x99 }, "QuectelWirel", "Quectel Wireless Solutions Co.,Ltd." }, + { { 0x68, 0x24, 0xF9 }, "VioletAudioP", "Violet Audio Pte. Ltd." }, { { 0x68, 0x25, 0xDD }, "Espressif", "Espressif Inc." }, { { 0x68, 0x26, 0x24 }, "Ergatta", "Ergatta" }, { { 0x68, 0x26, 0x2A }, "SichuanTiany", "Sichuan Tianyi Comheart Telecom Co.,LTD" }, @@ -24276,6 +24404,7 @@ { { 0x68, 0x72, 0x51 }, "Ubiquiti", "Ubiquiti Inc" }, { { 0x68, 0x72, 0xC3 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x68, 0x72, 0xDC }, "CETORYTV", "CETORY.TV Company Limited" }, + { { 0x68, 0x73, 0x1E }, "MegaMultimed", "Mega Multimedia AI Inc" }, { { 0x68, 0x76, 0x27 }, "ZhuhaiDingzh", "Zhuhai Dingzhi Electronic Technology Co., Ltd" }, { { 0x68, 0x76, 0x4F }, "Sony", "Sony Corporation" }, { { 0x68, 0x77, 0x24 }, "TpLinkTechno", "Tp-Link Technologies Co.,Ltd." }, @@ -24289,10 +24418,12 @@ { { 0x68, 0x79, 0xDD }, "OmniplessMan", "Omnipless Manufacturing (PTY) Ltd" }, { { 0x68, 0x79, 0xED }, "SHARP", "SHARP Corporation" }, { { 0x68, 0x7A, 0x64 }, "Intel", "Intel Corporate" }, + { { 0x68, 0x7B, 0xDC }, "JuniperNetwo", "Juniper Networks" }, { { 0x68, 0x7C, 0xC8 }, "MeasurementS", "Measurement Systems S. de R.L." }, { { 0x68, 0x7C, 0xD5 }, "YSoft", "Y Soft Corporation, a.s." }, { { 0x68, 0x7D, 0x00 }, "YOUHUATechno", "Shenzhen YOUHUA Technology Co., Ltd" }, { { 0x68, 0x7D, 0x6B }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, + { { 0x68, 0x7D, 0xAC }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x68, 0x7D, 0xB4 }, "Cisco", "Cisco Systems, Inc" }, { { 0x68, 0x7F, 0x74 }, "CiscoLinksys", "Cisco-Linksys, LLC" }, { { 0x68, 0x7F, 0xF0 }, "TPLink", "TP-Link Systems Inc" }, @@ -24454,6 +24585,7 @@ { { 0x68, 0xE4, 0x78 }, "QingdaoHaier", "Qingdao Haier Technology Co.,Ltd" }, { { 0x68, 0xE5, 0x80 }, "Apple", "Apple, Inc." }, { { 0x68, 0xE5, 0x9E }, "Cisco", "Cisco Systems, Inc" }, + { { 0x68, 0xE5, 0xD9 }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" }, { { 0x68, 0xE6, 0xD4 }, "Furuno", "Furuno Systems Co.,Ltd." }, { { 0x68, 0xE7, 0x4A }, "TexasInstrum", "Texas Instruments" }, { { 0x68, 0xE7, 0xC2 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, @@ -24518,6 +24650,7 @@ { { 0x6A, 0xE7, 0x32 }, "UNISWDCStora", "UNIS-WDC Storage Co.,Ltd" }, { { 0x6C, 0x00, 0x6B }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x6C, 0x02, 0x73 }, "JinYunVideoE", "Shenzhen Jin Yun Video Equipment Co., Ltd." }, + { { 0x6C, 0x02, 0x8C }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x6C, 0x02, 0xE0 }, "HP", "HP Inc." }, { { 0x6C, 0x03, 0x09 }, "Cisco", "Cisco Systems, Inc" }, { { 0x6C, 0x03, 0x70 }, "ExtremeNetwo", "Extreme Networks, Inc." }, @@ -24526,6 +24659,7 @@ { { 0x6C, 0x04, 0x7A }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x6C, 0x05, 0xD3 }, "ChinaDragonT", "China Dragon Technology Limited" }, { { 0x6C, 0x05, 0xD5 }, "Ethertronics", "Ethertronics Inc" }, + { { 0x6C, 0x06, 0x99 }, "XiaomiMobile", "Beijing Xiaomi Mobile Software Co., Ltd" }, { { 0x6C, 0x06, 0xD6 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x6C, 0x08, 0x31 }, "Analog", "Analog Systems" }, { { 0x6C, 0x09, 0x0A }, "Gematica", "Gematica Srl" }, @@ -24704,7 +24838,7 @@ { { 0x6C, 0x6E, 0x07 }, "CeLink", "Ce Link Limited" }, { { 0x6C, 0x6E, 0xFE }, "CoreLogic", "Core Logic Inc." }, { { 0x6C, 0x6F, 0x18 }, "Stereotaxis", "Stereotaxis, Inc." }, - { { 0x6C, 0x70, 0x28 }, "LandisGyr", "Landis+Gyr S.A." }, + { { 0x6C, 0x70, 0x28 }, "EYKONSolutio", "EYKON Solutions S.A." }, { { 0x6C, 0x70, 0x39 }, "Novar", "Novar GmbH" }, { { 0x6C, 0x70, 0x9F }, "Apple", "Apple, Inc." }, { { 0x6C, 0x70, 0xCB }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, @@ -25116,6 +25250,7 @@ { { 0x70, 0x68, 0x71 }, "FNLINKTECHNO", "FN-LINK TECHNOLOGY Ltd." }, { { 0x70, 0x68, 0x79 }, "SaijoDenkiIn", "Saijo Denki International Co., Ltd." }, { { 0x70, 0x69, 0x5A }, "Cisco", "Cisco Systems, Inc" }, + { { 0x70, 0x6A, 0x25 }, "NingboSanxin", "Ningbo Sanxing Smart Electric Co.,Ltd" }, { { 0x70, 0x6A, 0xC9 }, "zte", "zte corporation" }, { { 0x70, 0x6B, 0xB9 }, "Cisco", "Cisco Systems, Inc" }, { { 0x70, 0x6D, 0x15 }, "Cisco", "Cisco Systems, Inc" }, @@ -25380,10 +25515,12 @@ { { 0x74, 0x0A, 0xE1 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x74, 0x0B, 0x12 }, "SiliconLabor", "Silicon Laboratories" }, { { 0x74, 0x0B, 0xB0 }, "HirschmannAu", "Hirschmann Automation and Control GmbH" }, + { { 0x74, 0x0C, 0x2E }, "Cisco", "Cisco Systems, Inc" }, { { 0x74, 0x0C, 0xEE }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x74, 0x0E, 0xA4 }, "Apple", "Apple, Inc." }, { { 0x74, 0x0E, 0xDB }, "Optowiz", "Optowiz Co., Ltd" }, { { 0x74, 0x10, 0xE0 }, "Broadcom", "Broadcom Limited" }, + { { 0x74, 0x11, 0xA0 }, "Nokia", "Nokia" }, { { 0x74, 0x11, 0xB2 }, "Cisco", "Cisco Systems, Inc" }, { { 0x74, 0x12, 0x13 }, "LinksysUSA", "Linksys USA, Inc" }, { { 0x74, 0x12, 0xB3 }, "ChongqingFug", "Chongqing Fugui Electronics Co.,Ltd." }, @@ -25398,6 +25535,7 @@ { { 0x74, 0x15, 0xF5 }, "Apple", "Apple, Inc." }, { { 0x74, 0x18, 0x65 }, "DareGlobalTe", "Shanghai DareGlobal Technologies Co.,Ltd" }, { { 0x74, 0x19, 0x0A }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, + { { 0x74, 0x1B, 0x13 }, "NewH3CTechno", "New H3C Technologies Co., Ltd" }, { { 0x74, 0x1B, 0x39 }, "ConveyIndiaP", "Convey India Private Limited" }, { { 0x74, 0x1B, 0xB2 }, "Apple", "Apple, Inc." }, { { 0x74, 0x1C, 0x27 }, "ItelMobile", "Itel Mobile Limited" }, @@ -25453,6 +25591,7 @@ { { 0x74, 0x34, 0x91 }, "KingsIoT", "Shenzhen Kings IoT Co., Ltd" }, { { 0x74, 0x34, 0xAE }, "thisisengine", "this is engineering Inc." }, { { 0x74, 0x36, 0x6D }, "VodafoneItal", "Vodafone Italia S.p.A." }, + { { 0x74, 0x36, 0x75 }, "JuniperNetwo", "Juniper Networks" }, { { 0x74, 0x37, 0x2F }, "TongfangShen", "Tongfang Shenzhen Cloudcomputing Technology Co.,Ltd" }, { { 0x74, 0x37, 0x3B }, "UNINET", "UNINET Co.,Ltd." }, { { 0x74, 0x37, 0x5F }, "SercommPhili", "Sercomm Philippines Inc" }, @@ -25496,6 +25635,7 @@ { { 0x74, 0x4F, 0x80 }, "AmosElectron", "shenzhen Amos Electronics Co.,Ltd" }, { { 0x74, 0x50, 0x4E }, "NewH3CTechno", "New H3C Technologies Co., Ltd" }, { { 0x74, 0x50, 0xCD }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, + { { 0x74, 0x51, 0x8F }, "JiangsuHetai", "Jiangsu Hetai Intelligent Control Technology Co., Ltd" }, { { 0x74, 0x51, 0xBA }, "XiaomiCommun", "Xiaomi Communications Co Ltd" }, { { 0x74, 0x52, 0xCE }, "HengtaiIntel", "Hengtai Intelligent Technology (Zhongshan) Co., LTD" }, { { 0x74, 0x53, 0x27 }, "Commsen", "Commsen Co., Limited" }, @@ -25511,6 +25651,7 @@ { { 0x74, 0x59, 0x09 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x74, 0x59, 0x33 }, "DanalEnterta", "Danal Entertainment" }, { { 0x74, 0x5A, 0xAA }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, + { { 0x74, 0x5C, 0x2E }, "HonorDevice", "Honor Device Co., Ltd." }, { { 0x74, 0x5C, 0x4B }, "GNAudio", "GN Audio A/S" }, { { 0x74, 0x5C, 0x9F }, "TCTmobile", "TCT mobile ltd" }, { { 0x74, 0x5C, 0xFA }, "ShunruiGaoji", "Shenzhen Shunrui Gaojie Technology Co., Ltd." }, @@ -25518,6 +25659,7 @@ { { 0x74, 0x5D, 0x43 }, "BSHHausgerät", "BSH Hausgeräte GmbH" }, { { 0x74, 0x5D, 0x68 }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" }, { { 0x74, 0x5E, 0x1C }, "Pioneer", "Pioneer Corporation" }, + { { 0x74, 0x5E, 0xA5 }, "trolinkTechn", "shenzhen trolink Technology Co.,Ltd" }, { { 0x74, 0x5E, 0xB4 }, "Yokowo", "Yokowo Co., Ltd." }, { { 0x74, 0x5F, 0x00 }, "SamsungSemic", "Samsung Semiconductor Inc." }, { { 0x74, 0x5F, 0x90 }, "LAMTechnolog", "LAM Technologies" }, @@ -25560,6 +25702,7 @@ { { 0x74, 0x73, 0xE2 }, "HillstoneNet", "Hillstone Networks Corp." }, { { 0x74, 0x74, 0x46 }, "Google", "Google, Inc." }, { { 0x74, 0x75, 0x48 }, "AmazonTechno", "Amazon Technologies Inc." }, + { { 0x74, 0x75, 0x63 }, "DukeManufact", "Duke Manufacturing" }, { { 0x74, 0x75, 0xDF }, "Teclink", "Teclink" }, { { 0x74, 0x76, 0x1F }, "Microsoft", "Microsoft Corporation" }, { { 0x74, 0x76, 0x5B }, "QuectelWirel", "Quectel Wireless Solutions Co.,Ltd." }, @@ -25842,6 +25985,7 @@ { { 0x78, 0x0C, 0x71 }, "InseegoWirel", "Inseego Wireless, Inc" }, { { 0x78, 0x0C, 0xB8 }, "Intel", "Intel Corporate" }, { { 0x78, 0x0C, 0xF0 }, "Cisco", "Cisco Systems, Inc" }, + { { 0x78, 0x0E, 0x3E }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x78, 0x0E, 0xD1 }, "TRUMPFWerkze", "TRUMPF Werkzeugmaschinen GmbH+Co.KG" }, { { 0x78, 0x0F, 0x77 }, "GubeiElectro", "HangZhou Gubei Electronics Technology Co.,Ltd" }, { { 0x78, 0x0F, 0x81 }, "CiscoMeraki", "Cisco Meraki" }, @@ -25862,6 +26006,7 @@ { { 0x78, 0x18, 0xEC }, "Fortinet", "Fortinet, Inc." }, { { 0x78, 0x19, 0x2E }, "NASCENTTechn", "NASCENT Technology" }, { { 0x78, 0x19, 0xF7 }, "JuniperNetwo", "Juniper Networks" }, + { { 0x78, 0x1A, 0x32 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x78, 0x1C, 0x1E }, "ChongqingYip", "Chongqing Yipingfang Technology Co., Ltd." }, { { 0x78, 0x1C, 0x3C }, "Espressif", "Espressif Inc." }, { { 0x78, 0x1C, 0x5A }, "SHARP", "SHARP Corporation" }, @@ -26137,6 +26282,7 @@ { { 0x78, 0xAC, 0x44 }, "Dell", "Dell Inc." }, { { 0x78, 0xAC, 0xBF }, "Igneous", "Igneous Systems" }, { { 0x78, 0xAC, 0xC0 }, "HewlettPacka", "Hewlett Packard" }, + { { 0x78, 0xAD, 0xDA }, "SonovaConsum", "Sonova Consumer Hearing GmbH" }, { { 0x78, 0xAE, 0x0C }, "FarSouthNetw", "Far South Networks" }, { { 0x78, 0xAF, 0x08 }, "Intel", "Intel Corporate" }, { { 0x78, 0xAF, 0x58 }, "Gimasi", "Gimasi Sa" }, @@ -26167,6 +26313,7 @@ { { 0x78, 0xBE, 0x81 }, "FNLINKTECHNO", "FN-LINK TECHNOLOGY Ltd." }, { { 0x78, 0xBE, 0xB6 }, "EnhancedVisi", "Enhanced Vision" }, { { 0x78, 0xBE, 0xBD }, "STULZ", "STULZ GmbH" }, + { { 0x78, 0xC0, 0x5A }, "TPLink", "TP-Link Systems Inc." }, { { 0x78, 0xC1, 0x1D }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x78, 0xC1, 0xA7 }, "zte", "zte corporation" }, { { 0x78, 0xC1, 0xAE }, "EzvizSoftwar", "Hangzhou Ezviz Software Co.,Ltd." }, @@ -26256,6 +26403,7 @@ { { 0x78, 0xEE, 0x4C }, "Espressif", "Espressif Inc." }, { { 0x78, 0xEF, 0x4C }, "Unetconverge", "Unetconvergence Co., Ltd." }, { { 0x78, 0xF0, 0x9B }, "HuaweiDevice", "Huawei Device Co., Ltd." }, + { { 0x78, 0xF1, 0x3B }, "AltoBeam", "AltoBeam Inc." }, { { 0x78, 0xF1, 0xC6 }, "Cisco", "Cisco Systems, Inc" }, { { 0x78, 0xF2, 0x35 }, "SichuanAILin", "Sichuan AI-Link Technology Co., Ltd." }, { { 0x78, 0xF2, 0x38 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, @@ -26316,6 +26464,7 @@ { { 0x7C, 0x0B, 0xC6 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x7C, 0x0C, 0x5F }, "Espressif", "Espressif Inc." }, { { 0x7C, 0x0C, 0x92 }, "SuzhouMobyda", "Suzhou Mobydata Smart System Co.,Ltd." }, + { { 0x7C, 0x0C, 0xF1 }, "XiaomiMobile", "Beijing Xiaomi Mobile Software Co., Ltd" }, { { 0x7C, 0x0C, 0xF6 }, "HuiweiHighte", "Guangdong Huiwei High-tech Co., Ltd." }, { { 0x7C, 0x0C, 0xFA }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x7C, 0x0E, 0xCE }, "Cisco", "Cisco Systems, Inc" }, @@ -26331,7 +26480,9 @@ { { 0x7C, 0x16, 0x2A }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x7C, 0x16, 0x89 }, "SagemcomBroa", "Sagemcom Broadband SAS" }, { { 0x7C, 0x17, 0x79 }, "EMMicroelect", "EM Microelectronic" }, + { { 0x7C, 0x17, 0x95 }, "NewH3CTechno", "New H3C Technologies Co., Ltd" }, { { 0x7C, 0x18, 0xCD }, "ETRON", "E-TRON Co.,Ltd." }, + { { 0x7C, 0x19, 0x60 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x7C, 0x19, 0xE3 }, "Google", "Google, Inc." }, { { 0x7C, 0x1A, 0x03 }, "8Locations", "8Locations Co., Ltd." }, { { 0x7C, 0x1A, 0xC0 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, @@ -26357,6 +26508,7 @@ { { 0x7C, 0x24, 0x99 }, "Apple", "Apple, Inc." }, { { 0x7C, 0x25, 0x86 }, "JuniperNetwo", "Juniper Networks" }, { { 0x7C, 0x25, 0x87 }, "chaowificom", "chaowifi.com" }, + { { 0x7C, 0x25, 0xA3 }, "Fortinet", "Fortinet, Inc." }, { { 0x7C, 0x25, 0xDA }, "FnLinkTechno", "Fn-Link Technology Limited" }, { { 0x7C, 0x26, 0x34 }, "Commscope", "Commscope" }, { { 0x7C, 0x26, 0x64 }, "SagemcomBroa", "Sagemcom Broadband SAS" }, @@ -26491,6 +26643,7 @@ { { 0x7C, 0x77, 0x16 }, "ZyxelCommuni", "Zyxel Communications Corporation" }, { { 0x7C, 0x78, 0x7E }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x7C, 0x78, 0xB2 }, "WyzeLabs", "Wyze Labs Inc" }, + { { 0x7C, 0x79, 0xD4 }, "NetworkOptix", "Network Optix, Inc." }, { { 0x7C, 0x79, 0xE8 }, "PayRange", "PayRange Inc." }, { { 0x7C, 0x7A, 0x3C }, "NewH3CTechno", "New H3C Technologies Co., Ltd" }, { { 0x7C, 0x7A, 0x53 }, "PhytrexTechn", "Phytrex Technology Corp." }, @@ -26510,6 +26663,7 @@ { { 0x7C, 0x84, 0x37 }, "ChinaPostCom", "China Post Communications Equipment Co., Ltd." }, { { 0x7C, 0x85, 0x2F }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x7C, 0x85, 0x30 }, "Nokia", "Nokia" }, + { { 0x7C, 0x86, 0x57 }, "Gtwave", "Gtwave" }, { { 0x7C, 0x87, 0x67 }, "Cisco", "Cisco Systems, Inc" }, { { 0x7C, 0x87, 0xCE }, "Espressif", "Espressif Inc." }, { { 0x7C, 0x88, 0x99 }, "FNLINKTECHNO", "FN-LINK TECHNOLOGY Ltd." }, @@ -26533,6 +26687,7 @@ { { 0x7C, 0x94, 0xB2 }, "PhilipsHealt", "Philips Healthcare PCCI" }, { { 0x7C, 0x95, 0xB1 }, "ExtremeNetwo", "Extreme Networks, Inc." }, { { 0x7C, 0x95, 0xF3 }, "Cisco", "Cisco Systems, Inc" }, + { { 0x7C, 0x96, 0xA0 }, "NingboShunyu", "Ningbo Shunyun Electronics Co.,Ltd." }, { { 0x7C, 0x96, 0xD2 }, "Fihonestcomm", "Fihonest communication co.,Ltd" }, { { 0x7C, 0x97, 0x63 }, "Openmaticssr", "Openmatics s.r.o." }, { { 0x7C, 0x97, 0xE1 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, @@ -26795,6 +26950,7 @@ { { 0x80, 0x27, 0x6C }, "Cisco", "Cisco Systems, Inc" }, { { 0x80, 0x28, 0x3C }, "Sonova", "Sonova AG" }, { { 0x80, 0x29, 0x94 }, "VantivaUSA", "Vantiva USA LLC" }, + { { 0x80, 0x2A, 0x13 }, "RealmeChongq", "Realme Chongqing Mobile Telecommunications Corp.,Ltd." }, { { 0x80, 0x2A, 0xA8 }, "Ubiquiti", "Ubiquiti Inc" }, { { 0x80, 0x2A, 0xF6 }, "HonorDevice", "Honor Device Co., Ltd." }, { { 0x80, 0x2A, 0xFA }, "Germaneers", "Germaneers GmbH" }, @@ -27542,6 +27698,7 @@ { { 0x84, 0xEB, 0x3E }, "VivintSmartH", "Vivint Smart Home" }, { { 0x84, 0xEB, 0x3F }, "Vivint", "Vivint Inc" }, { { 0x84, 0xEB, 0xEF }, "Cisco", "Cisco Systems, Inc" }, + { { 0x84, 0xEC, 0x14 }, "QingdaoGoert", "Qingdao Goertek Horizons Technology Co.,LTD" }, { { 0x84, 0xED, 0x33 }, "BBMC", "BBMC Co.,Ltd" }, { { 0x84, 0xEE, 0x7F }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x84, 0xEE, 0xE4 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, @@ -27685,6 +27842,7 @@ { { 0x88, 0x40, 0x3B }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x88, 0x40, 0x67 }, "infomark", "infomark" }, { { 0x88, 0x41, 0x57 }, "AtsmartTechn", "Shenzhen Atsmart Technology Co.,Ltd." }, + { { 0x88, 0x41, 0x5F }, "MitraStarTec", "MitraStar Technology Corp." }, { { 0x88, 0x41, 0xC1 }, "OrbisatDaAma", "Orbisat Da Amazonia Ind E Aerol Sa" }, { { 0x88, 0x41, 0xFC }, "AirTiesWirel", "AirTies Wireless Networks" }, { { 0x88, 0x42, 0xD0 }, "EardaTechnol", "Earda Technologies co Ltd" }, @@ -27738,6 +27896,7 @@ { { 0x88, 0x63, 0xC5 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x88, 0x63, 0xDF }, "Apple", "Apple, Inc." }, { { 0x88, 0x64, 0x40 }, "Apple", "Apple, Inc." }, + { { 0x88, 0x64, 0xA8 }, "TeraNXTGloba", "TeraNXT Global India Pvt Ltd." }, { { 0x88, 0x65, 0x9F }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" }, { { 0x88, 0x66, 0x39 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x88, 0x66, 0x5A }, "Apple", "Apple, Inc." }, @@ -28487,6 +28646,7 @@ { { 0x90, 0x1B, 0x0E }, "FujitsuTechn", "Fujitsu Technology Solutions GmbH" }, { { 0x90, 0x1C, 0x9E }, "AlcatelLucen", "Alcatel-Lucent Enterprise" }, { { 0x90, 0x1D, 0x27 }, "zte", "zte corporation" }, + { { 0x90, 0x1D, 0xFF }, "ZOWEETECHNOL", "ZOWEE TECHNOLOGY(HEYUAN)Co.,Ltd" }, { { 0x90, 0x1E, 0xDD }, "GreatCompute", "Great Computer Corporation" }, { { 0x90, 0x1F, 0x09 }, "SiliconLabor", "Silicon Laboratories" }, { { 0x90, 0x1F, 0x94 }, "TPLink", "TP-Link Systems Inc." }, @@ -28615,6 +28775,7 @@ { { 0x90, 0x67, 0xF3 }, "AlcatelLucen", "Alcatel Lucent" }, { { 0x90, 0x68, 0xC3 }, "MotorolaMobi", "Motorola Mobility LLC, a Lenovo Company" }, { { 0x90, 0x69, 0x76 }, "Withrobot", "Withrobot Inc." }, + { { 0x90, 0x69, 0x89 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x90, 0x6A, 0x94 }, "huachengnetw", "hangzhou huacheng network technology co., ltd" }, { { 0x90, 0x6A, 0xEB }, "Microsoft", "Microsoft Corporation" }, { { 0x90, 0x6C, 0x4B }, "AdvanceSecur", "Advance Security Electronics" }, @@ -28818,6 +28979,7 @@ { { 0x90, 0xDD, 0x5D }, "Apple", "Apple, Inc." }, { { 0x90, 0xDE, 0x80 }, "CenturyXinya", "Shenzhen Century Xinyang Technology Co., Ltd" }, { { 0x90, 0xDF, 0x06 }, "Ciena", "Ciena Corporation" }, + { { 0x90, 0xDF, 0x46 }, "TosunTechnol", "Shanghai Tosun Technology Ltd" }, { { 0x90, 0xDF, 0x7D }, "RealmeChongq", "Realme Chongqing Mobile Telecommunications Corp.,Ltd." }, { { 0x90, 0xDF, 0xB7 }, "smssmartmicr", "s.m.s smart microwave sensors GmbH" }, { { 0x90, 0xDF, 0xFB }, "Homerider", "Homerider Systems" }, @@ -28955,6 +29117,7 @@ { { 0x94, 0x29, 0x8D }, "AdaptCommTec", "Shanghai AdaptComm Technology Co., Ltd." }, { { 0x94, 0x2A, 0x3F }, "Diversey", "Diversey Inc" }, { { 0x94, 0x2A, 0x6F }, "Ubiquiti", "Ubiquiti Inc" }, + { { 0x94, 0x2A, 0xD6 }, "TexasInstrum", "Texas Instruments" }, { { 0x94, 0x2B, 0x68 }, "Apple", "Apple, Inc." }, { { 0x94, 0x2C, 0xB3 }, "HUMAX", "HUMAX Co., Ltd." }, { { 0x94, 0x2D, 0x3A }, "PrizorViztec", "Prizor Viztech Limited" }, @@ -28971,6 +29134,7 @@ { { 0x94, 0x34, 0x69 }, "SiliconLabor", "Silicon Laboratories" }, { { 0x94, 0x35, 0x0A }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x94, 0x35, 0x89 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, + { { 0x94, 0x36, 0x8B }, "GDMideaAirCo", "GD Midea Air-Conditioning Equipment Co.,Ltd." }, { { 0x94, 0x36, 0xE0 }, "SichuanBihon", "Sichuan Bihong Broadcast & Television New Technologies Co.,Ltd" }, { { 0x94, 0x37, 0xF7 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x94, 0x38, 0xAA }, "TechnologyIn", "Technology Innovation Institute" }, @@ -28979,6 +29143,7 @@ { { 0x94, 0x3A, 0x91 }, "AmazonTechno", "Amazon Technologies Inc." }, { { 0x94, 0x3A, 0xF0 }, "Nokia", "Nokia Corporation" }, { { 0x94, 0x3B, 0x22 }, "Netgear", "Netgear" }, + { { 0x94, 0x3B, 0x31 }, "AristaNetwor", "Arista Networks" }, { { 0x94, 0x3B, 0xB0 }, "NewH3CTechno", "New H3C Technologies Co., Ltd" }, { { 0x94, 0x3B, 0xB1 }, "KaonGroup", "Kaon Group Co., Ltd." }, { { 0x94, 0x3C, 0x96 }, "SagemcomBroa", "Sagemcom Broadband SAS" }, @@ -29001,6 +29166,7 @@ { { 0x94, 0x46, 0x96 }, "BaudTec", "BaudTec Corporation" }, { { 0x94, 0x47, 0x88 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x94, 0x47, 0xB0 }, "EswinComputi", "Beijing Eswin Computing Technology Co., Ltd" }, + { { 0x94, 0x47, 0xEE }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" }, { { 0x94, 0x49, 0x96 }, "WiSilica", "WiSilica Inc" }, { { 0x94, 0x49, 0xF6 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x94, 0x4A, 0x09 }, "BitWiseContr", "BitWise Controls" }, @@ -29062,6 +29228,7 @@ { { 0x94, 0x74, 0x2E }, "MercusysTech", "Mercusys Technologies Co., Ltd." }, { { 0x94, 0x75, 0x6E }, "QinetiQNorth", "QinetiQ North America" }, { { 0x94, 0x76, 0xB7 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, + { { 0x94, 0x76, 0xC3 }, "FRITZ!Techno", "FRITZ! Technology GmbH" }, { { 0x94, 0x77, 0x2B }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x94, 0x78, 0x06 }, "NingboSunvot", "Ningbo Sunvot Technology Co.,Ltd" }, { { 0x94, 0x79, 0x18 }, "ItelMobile", "Itel Mobile Limited" }, @@ -29163,7 +29330,9 @@ { { 0x94, 0xB3, 0x4F }, "RuckusWirele", "Ruckus Wireless" }, { { 0x94, 0xB3, 0xF7 }, "HuiZhouGaosh", "Hui Zhou Gaoshengda Technology Co.,LTD" }, { { 0x94, 0xB4, 0x0F }, "HewlettPacka", "Hewlett Packard Enterprise" }, + { { 0x94, 0xB4, 0x3A }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x94, 0xB5, 0x55 }, "Espressif", "Espressif Inc." }, + { { 0x94, 0xB5, 0xAD }, "ERMElectroni", "ERM Electronic Systems LTD" }, { { 0x94, 0xB6, 0x09 }, "Intel", "Intel Corporate" }, { { 0x94, 0xB8, 0x19 }, "Nokia", "Nokia" }, { { 0x94, 0xB8, 0x6D }, "Intel", "Intel Corporate" }, @@ -29201,6 +29370,7 @@ { { 0x94, 0xC7, 0xAF }, "RayliosTechn", "Raylios Technology" }, { { 0x94, 0xC9, 0x60 }, "ZhongshanB&T", "Zhongshan B&T technology.co.,ltd" }, { { 0x94, 0xC9, 0x62 }, "Teseq", "Teseq AG" }, + { { 0x94, 0xC9, 0xF3 }, "BouffaloLab", "Bouffalo Lab (Nanjing) Co., Ltd." }, { { 0x94, 0xCA, 0x0F }, "HoneywellAna", "Honeywell Analytics" }, { { 0x94, 0xCA, 0x9A }, "PaulVahle", "Paul Vahle GmbH & Co. KG" }, { { 0x94, 0xCB, 0xCD }, "zte", "zte corporation" }, @@ -29453,6 +29623,7 @@ { { 0x98, 0x4F, 0xEE }, "Intel", "Intel Corporate" }, { { 0x98, 0x50, 0x2E }, "Apple", "Apple, Inc." }, { { 0x98, 0x50, 0xA3 }, "Signaltek", "Signaltek Jsc" }, + { { 0x98, 0x51, 0xFC }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x98, 0x52, 0x07 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x98, 0x52, 0x3D }, "SunitecEnter", "Sunitec Enterprise Co.,Ltd" }, { { 0x98, 0x52, 0x4A }, "VantivaUSA", "Vantiva USA LLC" }, @@ -29522,6 +29693,7 @@ { { 0x98, 0x87, 0x44 }, "WuxiHongdaSc", "Wuxi Hongda Science and Technology Co.,LTD" }, { { 0x98, 0x87, 0x4C }, "ServercomPri", "Servercom (India) Private Limited" }, { { 0x98, 0x87, 0x6C }, "HuaweiDevice", "Huawei Device Co., Ltd." }, + { { 0x98, 0x87, 0xCC }, "AltoBeam", "AltoBeam Inc." }, { { 0x98, 0x88, 0x6C }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x98, 0x88, 0xE0 }, "Espressif", "Espressif Inc." }, { { 0x98, 0x89, 0x24 }, "TexasInstrum", "Texas Instruments" }, @@ -29561,6 +29733,7 @@ { { 0x98, 0xA1, 0x4A }, "QuectelWirel", "Quectel Wireless Solutions Co.,Ltd." }, { { 0x98, 0xA2, 0xC0 }, "Cisco", "Cisco Systems, Inc" }, { { 0x98, 0xA3, 0x16 }, "Espressif", "Espressif Inc." }, + { { 0x98, 0xA3, 0x3C }, "CultraviewDi", "Shenzhen Cultraview Digital Technology Co., Ltd" }, { { 0x98, 0xA3, 0x75 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x98, 0xA4, 0x04 }, "Ericsson", "Ericsson AB" }, { { 0x98, 0xA4, 0x0E }, "Snap", "Snap, Inc." }, @@ -29581,7 +29754,7 @@ { { 0x98, 0xAF, 0x65 }, "Intel", "Intel Corporate" }, { { 0x98, 0xB0, 0x39 }, "Nokia", "Nokia" }, { { 0x98, 0xB0, 0x8B }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, - { { 0x98, 0xB1, 0x77 }, "LandisGyr", "Landis+Gyr S.A." }, + { { 0x98, 0xB1, 0x77 }, "EYKONSolutio", "EYKON Solutions S.A." }, { { 0x98, 0xB3, 0x79 }, "Apple", "Apple, Inc." }, { { 0x98, 0xB3, 0xEF }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x98, 0xB6, 0xE9 }, "Nintendo", "Nintendo Co.,Ltd" }, @@ -29682,6 +29855,7 @@ { { 0x98, 0xF1, 0xAE }, "Senaisc", "Senaisc" }, { { 0x98, 0xF2, 0x17 }, "CastlenetTec", "Castlenet Technology Inc." }, { { 0x98, 0xF2, 0xB3 }, "HewlettPacka", "Hewlett Packard Enterprise" }, + { { 0x98, 0xF3, 0x64 }, "YantaiDongfa", "Yantai Dongfang Wisdom Elrctic Co.,Ltd." }, { { 0x98, 0xF3, 0xF6 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x98, 0xF4, 0x28 }, "zte", "zte corporation" }, { { 0x98, 0xF4, 0x87 }, "TexasInstrum", "Texas Instruments" }, @@ -29720,6 +29894,7 @@ { { 0x9A, 0xD2, 0x63 }, "FirmTek", "FirmTek, LLC" }, { { 0x9C, 0x00, 0xD3 }, "IKWORLDTechn", "SHENZHEN IK WORLD Technology Co., Ltd" }, { { 0x9C, 0x01, 0x11 }, "NewabelElect", "Shenzhen Newabel Electronic Co., Ltd." }, + { { 0x9C, 0x02, 0x13 }, "NXPSemicondu", "NXP Semiconductors Germany GmbH" }, { { 0x9C, 0x02, 0x98 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x9C, 0x03, 0x51 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0x9C, 0x03, 0x9E }, "WinchannelSo", "Beijing Winchannel Software Technology Co., Ltd" }, @@ -29735,6 +29910,7 @@ { { 0x9C, 0x09, 0x71 }, "NewH3CTechno", "New H3C Technologies Co., Ltd" }, { { 0x9C, 0x09, 0x8B }, "Cisco", "Cisco Systems, Inc" }, { { 0x9C, 0x09, 0xCA }, "HuaweiDevice", "Huawei Device Co., Ltd." }, + { { 0x9C, 0x0A, 0xB3 }, "VantivaUSA", "Vantiva USA LLC" }, { { 0x9C, 0x0B, 0x05 }, "eero", "eero inc." }, { { 0x9C, 0x0C, 0x35 }, "ShenzhenshiX", "Shenzhenshi Xinzhongxin Technology Co.Ltd" }, { { 0x9C, 0x0C, 0xDF }, "OppoMobileTe", "Guangdong Oppo Mobile Telecommunications Corp.,Ltd" }, @@ -29881,6 +30057,7 @@ { { 0x9C, 0x63, 0xED }, "zte", "zte corporation" }, { { 0x9C, 0x64, 0x5E }, "HarmanConsum", "Harman Consumer Group" }, { { 0x9C, 0x64, 0x8B }, "Apple", "Apple, Inc." }, + { { 0x9C, 0x64, 0xA1 }, "SiliconLabor", "Silicon Laboratories" }, { { 0x9C, 0x65, 0xB0 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0x9C, 0x65, 0xEB }, "Intel", "Intel Corporate" }, { { 0x9C, 0x65, 0xEE }, "ZhoneTechnol", "Zhone Technologies, Inc." }, @@ -29967,6 +30144,7 @@ { { 0x9C, 0x95, 0xF8 }, "SmartDoor", "SmartDoor Systems, LLC" }, { { 0x9C, 0x96, 0x13 }, "LenovoFuture", "Lenovo Future Communication Technology (Chongqing) Company Limited" }, { { 0x9C, 0x96, 0x1B }, "IFTERJerzyTa", "IFTER Jerzy Taczalski" }, + { { 0x9C, 0x96, 0xD5 }, "EspressifPte", "Espressif Systems (Singapore) Pte. Ltd" }, { { 0x9C, 0x97, 0x1B }, "Intel", "Intel Corporate" }, { { 0x9C, 0x97, 0x26 }, "VantivaTechn", "Vantiva Technologies Belgium" }, { { 0x9C, 0x97, 0x74 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, @@ -29987,6 +30165,7 @@ { { 0x9C, 0x9E, 0x71 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x9C, 0x9E, 0xD5 }, "XiaomiCommun", "Xiaomi Communications Co Ltd" }, { { 0x9C, 0xA1, 0x0A }, "ScleSfe", "Scle Sfe" }, + { { 0x9C, 0xA1, 0x18 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0x9C, 0xA1, 0x34 }, "Nike", "Nike, Inc." }, { { 0x9C, 0xA2, 0xF4 }, "TPLink", "TP-Link Systems Inc" }, { { 0x9C, 0xA3, 0x89 }, "Nokia", "Nokia" }, @@ -30330,6 +30509,7 @@ { { 0xA0, 0x78, 0x17 }, "Apple", "Apple, Inc." }, { { 0xA0, 0x78, 0x2D }, "Apple", "Apple, Inc." }, { { 0xA0, 0x78, 0xBA }, "Pantech", "Pantech Co., Ltd." }, + { { 0xA0, 0x7D, 0x42 }, "CompalInform", "Compal Information (Kunshan) Co., Ltd." }, { { 0xA0, 0x7D, 0x9C }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0xA0, 0x7E, 0x16 }, "EMMicroelect", "EM Microelectronic" }, { { 0xA0, 0x7F, 0x8A }, "SagemcomBroa", "Sagemcom Broadband SAS" }, @@ -30458,6 +30638,7 @@ { { 0xA0, 0xC5, 0x89 }, "Intel", "Intel Corporate" }, { { 0xA0, 0xC6, 0xA5 }, "LierdaScienc", "Lierda Science & Technology Group Co., Ltd" }, { { 0xA0, 0xC6, 0xEC }, "ANYKTechnolo", "ShenZhen ANYK Technology Co.,LTD" }, + { { 0xA0, 0xC7, 0x73 }, "ChipseaTechn", "Chipsea Technologies (Shenzhen) Corp." }, { { 0xA0, 0xC7, 0xD2 }, "Cisco", "Cisco Systems, Inc" }, { { 0xA0, 0xC9, 0x26 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0xA0, 0xC9, 0x8B }, "NokiaSolutio", "Nokia Solutions and Networks GmbH & Co. KG" }, @@ -30512,6 +30693,7 @@ { { 0xA0, 0xE6, 0xF8 }, "TexasInstrum", "Texas Instruments" }, { { 0xA0, 0xE7, 0x0B }, "Intel", "Intel Corporate" }, { { 0xA0, 0xE7, 0xAE }, "Commscope", "Commscope" }, + { { 0xA0, 0xE9, 0x22 }, "OptiemusElec", "Optiemus Electronics Limited" }, { { 0xA0, 0xE9, 0xDB }, "NingboFreeWi", "Ningbo FreeWings Technologies Co.,Ltd" }, { { 0xA0, 0xEB, 0x76 }, "AirCUVE", "AirCUVE Inc." }, { { 0xA0, 0xEC, 0x80 }, "zte", "zte corporation" }, @@ -30630,6 +30812,7 @@ { { 0xA4, 0x2B, 0x8C }, "Netgear", "Netgear" }, { { 0xA4, 0x2B, 0xB0 }, "TpLinkTechno", "Tp-Link Technologies Co.,Ltd." }, { { 0xA4, 0x2C, 0x08 }, "MasterworkAu", "Masterwork Automodules" }, + { { 0xA4, 0x2D, 0xF1 }, "MotorolaMobi", "Motorola Mobility LLC, a Lenovo Company" }, { { 0xA4, 0x30, 0x7A }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0xA4, 0x31, 0x11 }, "Ziv", "Ziv" }, { { 0xA4, 0x31, 0x35 }, "Apple", "Apple, Inc." }, @@ -30643,6 +30826,7 @@ { { 0xA4, 0x36, 0xC7 }, "LGInnotek", "LG Innotek" }, { { 0xA4, 0x37, 0x3E }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0xA4, 0x37, 0xE6 }, "MurataManufa", "Murata Manufacturing Co., Ltd." }, + { { 0xA4, 0x38, 0x28 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0xA4, 0x38, 0x31 }, "RFelementssr", "RF elements s.r.o." }, { { 0xA4, 0x38, 0xCC }, "Nintendo", "Nintendo Co.,Ltd" }, { { 0xA4, 0x38, 0xFC }, "PlasticLogic", "Plastic Logic" }, @@ -30952,6 +31136,7 @@ { { 0xA4, 0xEB, 0xD3 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0xA4, 0xED, 0x4E }, "Commscope", "Commscope" }, { { 0xA4, 0xEE, 0x57 }, "SeikoEpson", "Seiko Epson Corporation" }, + { { 0xA4, 0xEF, 0x0C }, "MellanoxTech", "Mellanox Technologies, Inc." }, { { 0xA4, 0xEF, 0x15 }, "AltoBeam", "AltoBeam Inc." }, { { 0xA4, 0xEF, 0x52 }, "Telewave", "Telewave Co., Ltd." }, { { 0xA4, 0xF0, 0x0F }, "Espressif", "Espressif Inc." }, @@ -31017,6 +31202,7 @@ { { 0xA8, 0x1B, 0x5A }, "OppoMobileTe", "Guangdong Oppo Mobile Telecommunications Corp.,Ltd" }, { { 0xA8, 0x1B, 0x5D }, "FoxtelManage", "Foxtel Management Pty Ltd" }, { { 0xA8, 0x1B, 0x6A }, "TexasInstrum", "Texas Instruments" }, + { { 0xA8, 0x1C, 0x36 }, "SmartSensTec", "SmartSens Technology (Shanghai) Co., Ltd." }, { { 0xA8, 0x1D, 0x16 }, "AzureWaveTec", "AzureWave Technology Inc." }, { { 0xA8, 0x1E, 0x84 }, "QuantaComput", "Quanta Computer Inc." }, { { 0xA8, 0x1F, 0x79 }, "YinglingInno", "Yingling Innovations Pte. Ltd." }, @@ -31063,6 +31249,7 @@ { { 0xA8, 0x3E, 0x0E }, "HMDGlobal", "HMD Global Oy" }, { { 0xA8, 0x3E, 0xD3 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0xA8, 0x40, 0x0B }, "Visteon", "Visteon Corporation" }, + { { 0xA8, 0x40, 0x21 }, "zte", "zte corporation" }, { { 0xA8, 0x40, 0x25 }, "OxideCompute", "Oxide Computer Company" }, { { 0xA8, 0x40, 0x41 }, "DraginoTechn", "Dragino Technology Co., Limited" }, { { 0xA8, 0x40, 0x7D }, "GDMideaAirCo", "GD Midea Air-Conditioning Equipment Co.,Ltd." }, @@ -31313,6 +31500,7 @@ { { 0xA8, 0xDB, 0x03 }, "SamsungElect", "Samsung Electro-Mechanics(Thailand)" }, { { 0xA8, 0xDC, 0x5A }, "DigitalWatch", "Digital Watchdog" }, { { 0xA8, 0xDD, 0x9F }, "QuectelWirel", "Quectel Wireless Solutions Co.,Ltd." }, + { { 0xA8, 0xDD, 0xBC }, "TuyaSmart", "Tuya Smart Inc." }, { { 0xA8, 0xDD, 0xEC }, "BroadLinkTec", "Hangzhou BroadLink Technology Co., Ltd" }, { { 0xA8, 0xDE, 0x68 }, "WideTechnolo", "Beijing Wide Technology Co.,Ltd" }, { { 0xA8, 0xE0, 0x18 }, "Nokia", "Nokia Corporation" }, @@ -31359,6 +31547,7 @@ { { 0xA8, 0xFB, 0x40 }, "NokiaSolutio", "Nokia Solutions and Networks GmbH & Co. KG" }, { { 0xA8, 0xFB, 0x70 }, "WiseSecLtd", "WiseSec L.t.d" }, { { 0xA8, 0xFC, 0xB7 }, "Consolidated", "Consolidated Resource Imaging" }, + { { 0xA8, 0xFD, 0x07 }, "Espressif", "Espressif Inc." }, { { 0xA8, 0xFE, 0x9D }, "Apple", "Apple, Inc." }, { { 0xA8, 0xFE, 0xCE }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" }, { { 0xA8, 0xFF, 0xBA }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, @@ -31385,6 +31574,7 @@ { { 0xAC, 0x02, 0xCF }, "RWTecnologia", "RW Tecnologia Industria e Comercio Ltda" }, { { 0xAC, 0x02, 0xEF }, "Comsis", "Comsis" }, { { 0xAC, 0x04, 0x0B }, "PelotonInter", "Peloton Interactive, Inc" }, + { { 0xAC, 0x04, 0x16 }, "zte", "zte corporation" }, { { 0xAC, 0x04, 0x25 }, "ballb", "ball-b GmbH Co KG" }, { { 0xAC, 0x04, 0x81 }, "JiangsuHuaxi", "Jiangsu Huaxing Electronics Co., Ltd." }, { { 0xAC, 0x04, 0xAA }, "GoPro", "GoPro" }, @@ -31650,6 +31840,7 @@ { { 0xAC, 0x97, 0x6C }, "Greenliant", "Greenliant" }, { { 0xAC, 0x99, 0x29 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0xAC, 0x9A, 0x22 }, "NXPSemicondu", "NXP Semiconductors" }, + { { 0xAC, 0x9A, 0x3F }, "TexasInstrum", "Texas Instruments" }, { { 0xAC, 0x9A, 0x96 }, "Maxlinear", "Maxlinear, Inc" }, { { 0xAC, 0x9B, 0x0A }, "Sony", "Sony Corporation" }, { { 0xAC, 0x9B, 0x84 }, "SmakTecnolog", "Smak Tecnologia e Automacao" }, @@ -31660,6 +31851,7 @@ { { 0xAC, 0xA0, 0x9D }, "JuniperNetwo", "Juniper Networks" }, { { 0xAC, 0xA2, 0x13 }, "BilianElectr", "Shenzhen Bilian Electronic Co.,Ltd" }, { { 0xAC, 0xA2, 0x2C }, "BaycityTechn", "Baycity Technologies Ltd" }, + { { 0xAC, 0xA2, 0x6A }, "EspressifPte", "Espressif Systems (Singapore) Pte. Ltd" }, { { 0xAC, 0xA3, 0x1E }, "HewlettPacka", "Hewlett Packard Enterprise" }, { { 0xAC, 0xA3, 0x2F }, "SolidigmTech", "Solidigm Technology" }, { { 0xAC, 0xA4, 0x30 }, "PeerlessAV", "Peerless AV" }, @@ -31811,6 +32003,7 @@ { { 0xAC, 0xF7, 0x0D }, "ChinaMobileG", "China Mobile Group Device Co.,Ltd." }, { { 0xAC, 0xF7, 0xF3 }, "XiaomiCommun", "Xiaomi Communications Co Ltd" }, { { 0xAC, 0xF8, 0x5C }, "HigonIntegra", "Chengdu Higon Integrated Circuit Design Co,. Ltd." }, + { { 0xAC, 0xF8, 0x78 }, "TuyaSmart", "Tuya Smart Inc." }, { { 0xAC, 0xF8, 0x96 }, "eero", "eero inc." }, { { 0xAC, 0xF8, 0xCC }, "Commscope", "Commscope" }, { { 0xAC, 0xF9, 0x32 }, "NXPSemicondu", "NXP Semiconductor (Tianjin) LTD." }, @@ -31878,6 +32071,7 @@ { { 0xB0, 0x2B, 0x64 }, "Cisco", "Cisco Systems, Inc" }, { { 0xB0, 0x2E, 0xBA }, "EardaTechnol", "Earda Technologies co Ltd" }, { { 0xB0, 0x2E, 0xE0 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, + { { 0xB0, 0x2F, 0x20 }, "VIMtechnolog", "VIM technology CO., LTD." }, { { 0xB0, 0x30, 0x55 }, "ChinaMobileI", "China Mobile IOT Company Limited" }, { { 0xB0, 0x30, 0xC8 }, "TealDrones", "Teal Drones, Inc." }, { { 0xB0, 0x32, 0x26 }, "KehengInform", "Keheng Information Industry Co., Ltd." }, @@ -31940,6 +32134,7 @@ { { 0xB0, 0x50, 0xBC }, "BasicomElect", "Shenzhen Basicom Electronic Co.,Ltd." }, { { 0xB0, 0x51, 0x8E }, "Holltechnolo", "Holl technology CO.Ltd." }, { { 0xB0, 0x52, 0x16 }, "HonHaiPrecis", "Hon Hai Precision Ind. Co.,Ltd." }, + { { 0xB0, 0x52, 0x1F }, "Dyson", "Dyson Limited" }, { { 0xB0, 0x52, 0x46 }, "NXPSemicondu", "NXP Semiconductor (Tianjin) LTD." }, { { 0xB0, 0x53, 0x65 }, "ChinaMobileI", "China Mobile IOT Company Limited" }, { { 0xB0, 0x54, 0x76 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, @@ -32068,6 +32263,7 @@ { { 0xB0, 0xA4, 0x54 }, "Tripwire", "Tripwire Inc." }, { { 0xB0, 0xA4, 0x60 }, "Intel", "Intel Corporate" }, { { 0xB0, 0xA4, 0xF0 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, + { { 0xB0, 0xA5, 0xB3 }, "HewlettPacka", "Hewlett Packard Enterprise" }, { { 0xB0, 0xA6, 0x04 }, "Espressif", "Espressif Inc." }, { { 0xB0, 0xA6, 0x51 }, "Cisco", "Cisco Systems, Inc" }, { { 0xB0, 0xA6, 0xF5 }, "Xaptum", "Xaptum, Inc." }, @@ -32086,6 +32282,7 @@ { { 0xB0, 0xAD, 0xAA }, "Avaya", "Avaya Inc" }, { { 0xB0, 0xAE, 0x25 }, "Varikorea", "Varikorea" }, { { 0xB0, 0xAF, 0xF7 }, "YipingfangNe", "Shenzhen Yipingfang Network Technology Co., Ltd." }, + { { 0xB0, 0xB0, 0xA1 }, "HonHaiPrecis", "Hon Hai Precision Industry Co.,LTD" }, { { 0xB0, 0xB1, 0x13 }, "TexasInstrum", "Texas Instruments" }, { { 0xB0, 0xB1, 0x94 }, "zte", "zte corporation" }, { { 0xB0, 0xB2, 0x1C }, "Espressif", "Espressif Inc." }, @@ -32149,6 +32346,7 @@ { { 0xB0, 0xD4, 0x1F }, "Mobititecabs", "Mobititecabsolut S.A." }, { { 0xB0, 0xD5, 0x68 }, "CultraviewDi", "Shenzhen Cultraview Digital Technology Co., Ltd" }, { { 0xB0, 0xD5, 0x76 }, "Apple", "Apple, Inc." }, + { { 0xB0, 0xD5, 0x87 }, "silextechnol", "silex technology, Inc." }, { { 0xB0, 0xD5, 0x9D }, "ZoweeTechnol", "Shenzhen Zowee Technology Co., Ltd" }, { { 0xB0, 0xD5, 0xCC }, "TexasInstrum", "Texas Instruments" }, { { 0xB0, 0xD5, 0xFB }, "Google", "Google, Inc." }, @@ -32379,6 +32577,7 @@ { { 0xB4, 0x64, 0x15 }, "GuangzhouVSo", "Guangzhou V-Solution Telecommunication Technology Co.,Ltd." }, { { 0xB4, 0x65, 0xDC }, "ChinaDragonT", "China Dragon Technology Limited" }, { { 0xB4, 0x66, 0x98 }, "Zealabs", "Zealabs srl" }, + { { 0xB4, 0x67, 0x3F }, "Shokz", "Shenzhen Shokz Co., Ltd." }, { { 0xB4, 0x67, 0xE9 }, "QingdaoGoerT", "Qingdao GoerTek Technology Co., Ltd." }, { { 0xB4, 0x69, 0x21 }, "Intel", "Intel Corporate" }, { { 0xB4, 0x69, 0x5F }, "TCTmobile", "TCT mobile ltd" }, @@ -32511,6 +32710,7 @@ { { 0xB4, 0xBA, 0x6A }, "TecnoMobile", "Tecno Mobile Limited" }, { { 0xB4, 0xBA, 0x9D }, "SkyUk", "Sky Uk Limited" }, { { 0xB4, 0xBC, 0x7C }, "TexasInstrum", "Texas Instruments" }, + { { 0xB4, 0xBE, 0x56 }, "CamnexInnova", "Camnex Innovations Private Limited" }, { { 0xB4, 0xBF, 0xE9 }, "Espressif", "Espressif Inc." }, { { 0xB4, 0xBF, 0xF6 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0xB4, 0xC0, 0xC3 }, "TPLink", "TP-Link Systems Inc." }, @@ -32673,6 +32873,7 @@ { { 0xB8, 0x20, 0xE7 }, "GuangzhouHor", "Guangzhou Horizontal Information & Network Integration Co. Ltd" }, { { 0xB8, 0x21, 0x1C }, "Apple", "Apple, Inc." }, { { 0xB8, 0x22, 0x0C }, "Apple", "Apple, Inc." }, + { { 0xB8, 0x22, 0x27 }, "TexasInstrum", "Texas Instruments" }, { { 0xB8, 0x22, 0x4F }, "SichuanTiany", "Sichuan Tianyi Comheart Telecom Co.,LTD" }, { { 0xB8, 0x24, 0x10 }, "MagnetiMarel", "Magneti Marelli Slovakia s.r.o." }, { { 0xB8, 0x24, 0x1A }, "SwedaInforma", "Sweda Informatica Ltda" }, @@ -32696,6 +32897,7 @@ { { 0xB8, 0x30, 0xA8 }, "RoadTrackTel", "Road-Track Telematics Development" }, { { 0xB8, 0x31, 0xB5 }, "Microsoft", "Microsoft Corporation" }, { { 0xB8, 0x32, 0x41 }, "TianyuInform", "Wuhan Tianyu Information Industry Co., Ltd." }, + { { 0xB8, 0x32, 0x50 }, "SuzhouComayI", "Suzhou Comay Information Technology Co., LTD" }, { { 0xB8, 0x32, 0x8F }, "eero", "eero inc." }, { { 0xB8, 0x34, 0x46 }, "MotorolaMobi", "Motorola Mobility LLC, a Lenovo Company" }, { { 0xB8, 0x36, 0xD8 }, "Videoswitch", "Videoswitch" }, @@ -33090,6 +33292,7 @@ { { 0xBC, 0x10, 0x2F }, "SJIIndustry", "SJI Industry Company" }, { { 0xBC, 0x10, 0x7B }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0xBC, 0x12, 0x1F }, "AcctonTechno", "Accton Technology Corporation" }, + { { 0xBC, 0x12, 0x2F }, "LCFCElectron", "LCFC(Hefei) Electronics Technology co., ltd" }, { { 0xBC, 0x12, 0x5E }, "WisVideo", "Beijing WisVideo INC." }, { { 0xBC, 0x13, 0xA8 }, "YOUHUATechno", "Shenzhen YOUHUA Technology Co., Ltd" }, { { 0xBC, 0x14, 0x01 }, "HitronTechno", "Hitron Technologies. Inc" }, @@ -33104,6 +33307,7 @@ { { 0xBC, 0x16, 0xF5 }, "Cisco", "Cisco Systems, Inc" }, { { 0xBC, 0x17, 0xB8 }, "Intel", "Intel Corporate" }, { { 0xBC, 0x18, 0x96 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, + { { 0xBC, 0x19, 0x2F }, "TexasInstrum", "Texas Instruments" }, { { 0xBC, 0x1A, 0x67 }, "YFTechnology", "YF Technology Co., Ltd" }, { { 0xBC, 0x1A, 0xE4 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0xBC, 0x1C, 0x81 }, "SichuaniLink", "Sichuan iLink Technology Co., Ltd." }, @@ -33158,6 +33362,7 @@ { { 0xBC, 0x34, 0xD6 }, "ExtremeNetwo", "Extreme Networks, Inc." }, { { 0xBC, 0x35, 0x1E }, "TuyaSmart", "Tuya Smart Inc." }, { { 0xBC, 0x35, 0xE5 }, "Hydro", "Hydro Systems Company" }, + { { 0xBC, 0x36, 0xF7 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0xBC, 0x37, 0xD3 }, "Apple", "Apple, Inc." }, { { 0xBC, 0x38, 0x65 }, "Jwcnetworks", "Jwcnetworks" }, { { 0xBC, 0x38, 0x98 }, "Intel", "Intel Corporate" }, @@ -33200,6 +33405,7 @@ { { 0xBC, 0x4E, 0x5D }, "ZhongMiaoTec", "ZhongMiao Technology Co., Ltd." }, { { 0xBC, 0x4F, 0x2D }, "Apple", "Apple, Inc." }, { { 0xBC, 0x51, 0x5F }, "NokiaSolutio", "Nokia Solutions and Networks India Private Limited" }, + { { 0xBC, 0x51, 0x6C }, "TiandyTechno", "Tiandy Technologies Co.,LTD" }, { { 0xBC, 0x51, 0xFE }, "Swanncommuni", "Swann communications Pty Ltd" }, { { 0xBC, 0x52, 0x74 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0xBC, 0x52, 0xB4 }, "Nokia", "Nokia" }, @@ -33246,6 +33452,7 @@ { { 0xBC, 0x6B, 0x4D }, "Nokia", "Nokia" }, { { 0xBC, 0x6B, 0xFF }, "GuangzhouShi", "Guangzhou Shiyuan Electronic Technology Company Limited" }, { { 0xBC, 0x6C, 0x21 }, "Apple", "Apple, Inc." }, + { { 0xBC, 0x6C, 0x96 }, "ShenZhenTend", "Shen Zhen Tenda Technology Co.,Ltd" }, { { 0xBC, 0x6D, 0x05 }, "DusunElectro", "Dusun Electron Co.,Ltd." }, { { 0xBC, 0x6E, 0x64 }, "Sony", "Sony Corporation" }, { { 0xBC, 0x6E, 0x6D }, "EMMicroelect", "EM Microelectronic" }, @@ -33308,6 +33515,7 @@ { { 0xBC, 0x93, 0x07 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0xBC, 0x93, 0x25 }, "NingboJoyson", "Ningbo Joyson Preh Car Connect Co.,Ltd." }, { { 0xBC, 0x93, 0x2A }, "SiliconLabor", "Silicon Laboratories" }, + { { 0xBC, 0x93, 0x88 }, "NokiaSolutio", "Nokia Solutions (Shanghai) Co.,Ltd." }, { { 0xBC, 0x94, 0x24 }, "TCTmobile", "TCT mobile ltd" }, { { 0xBC, 0x96, 0x80 }, "GongjinElect", "Shenzhen Gongjin Electronics Co.,Lt" }, { { 0xBC, 0x96, 0xE5 }, "SercommPhili", "Sercomm Philippines Inc" }, @@ -33445,6 +33653,7 @@ { { 0xBC, 0xEA, 0x9C }, "ItelMobile", "Itel Mobile Limited" }, { { 0xBC, 0xEA, 0xFA }, "HewlettPacka", "Hewlett Packard" }, { { 0xBC, 0xEB, 0x5F }, "FujianBeifen", "Fujian Beifeng Telecom Technology Co., Ltd." }, + { { 0xBC, 0xEB, 0xE8 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0xBC, 0xEC, 0x23 }, "ChuangweiRgb", "Shenzhen Chuangwei-Rgb Electronics Co.,Ltd" }, { { 0xBC, 0xEC, 0x5D }, "Apple", "Apple, Inc." }, { { 0xBC, 0xEC, 0xA0 }, "CompalInform", "Compal Information (Kunshan) Co., Ltd." }, @@ -33480,6 +33689,7 @@ { { 0xBC, 0xFF, 0x54 }, "zte", "zte corporation" }, { { 0xBC, 0xFF, 0xAC }, "Topcon", "Topcon Corporation" }, { { 0xBC, 0xFF, 0xEB }, "MotorolaMobi", "Motorola Mobility LLC, a Lenovo Company" }, + { { 0xC0, 0x01, 0x95 }, "AmazonTechno", "Amazon Technologies Inc." }, { { 0xC0, 0x02, 0x8D }, "WINSTARDispl", "WINSTAR Display CO.,Ltd" }, { { 0xC0, 0x03, 0x80 }, "JuniperNetwo", "Juniper Networks" }, { { 0xC0, 0x05, 0xC2 }, "Commscope", "Commscope" }, @@ -33752,6 +33962,7 @@ { { 0xC0, 0xB5, 0x50 }, "Broadcom", "Broadcom Limited" }, { { 0xC0, 0xB5, 0xCD }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0xC0, 0xB5, 0xD7 }, "ChongqingFug", "Chongqing Fugui Electronics Co.,Ltd." }, + { { 0xC0, 0xB5, 0xDD }, "SiliconLabor", "Silicon Laboratories" }, { { 0xC0, 0xB6, 0x58 }, "Apple", "Apple, Inc." }, { { 0xC0, 0xB6, 0xF9 }, "Intel", "Intel Corporate" }, { { 0xC0, 0xB7, 0x13 }, "XiaoyuerTech", "Beijing Xiaoyuer Technology Co. Ltd." }, @@ -33834,6 +34045,7 @@ { { 0xC0, 0xE5, 0xDA }, "QingdaoIntel", "Qingdao Intelligent&Precise Electronics Co.,Ltd." }, { { 0xC0, 0xE7, 0xBF }, "SichuanAILin", "Sichuan AI-Link Technology Co., Ltd." }, { { 0xC0, 0xE8, 0x62 }, "Apple", "Apple, Inc." }, + { { 0xC0, 0xE8, 0xEA }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" }, { { 0xC0, 0xE9, 0x11 }, "RealNetworks", "RealNetworks" }, { { 0xC0, 0xEA, 0xE4 }, "Sonicwall", "Sonicwall" }, { { 0xC0, 0xED, 0xE5 }, "OppoMobileTe", "Guangdong Oppo Mobile Telecommunications Corp.,Ltd" }, @@ -33889,6 +34101,7 @@ { { 0xC4, 0x0B, 0xCB }, "XiaomiCommun", "Xiaomi Communications Co Ltd" }, { { 0xC4, 0x0D, 0x96 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0xC4, 0x0E, 0x45 }, "ACKNetworks", "ACK Networks,Inc." }, + { { 0xC4, 0x0E, 0xB7 }, "IoTronixTech", "IoTronix Technologies Sdn. Bhd." }, { { 0xC4, 0x0F, 0x08 }, "Intel", "Intel Corporate" }, { { 0xC4, 0x0F, 0x09 }, "Hermeselectr", "Hermes electronic GmbH" }, { { 0xC4, 0x0F, 0xA6 }, "SernetTechno", "Sernet (Suzhou) Technologies Corporation" }, @@ -33918,12 +34131,14 @@ { { 0xC4, 0x1C, 0x9C }, "JiQiDao", "JiQiDao" }, { { 0xC4, 0x1C, 0xFF }, "Vizio", "Vizio, Inc" }, { { 0xC4, 0x1E, 0xCE }, "HMISources", "HMI Sources Ltd." }, + { { 0xC4, 0x21, 0x55 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0xC4, 0x21, 0xB9 }, "zte", "zte corporation" }, { { 0xC4, 0x21, 0xC8 }, "Kyocera", "Kyocera Corporation" }, { { 0xC4, 0x22, 0x4E }, "TelinkMicro", "Telink Micro LLC" }, { { 0xC4, 0x23, 0x60 }, "Intel", "Intel Corporate" }, { { 0xC4, 0x23, 0x7A }, "WhizNets", "WhizNets Inc." }, { { 0xC4, 0x23, 0xA2 }, "PTEmsonicInd", "PT. Emsonic Indonesia" }, + { { 0xC4, 0x23, 0xE2 }, "WNC", "WNC Corporation" }, { { 0xC4, 0x24, 0x2E }, "GalvanicAppl", "Galvanic Applied Sciences Inc" }, { { 0xC4, 0x24, 0x56 }, "PaloAltoNetw", "Palo Alto Networks" }, { { 0xC4, 0x26, 0x28 }, "AiroWireless", "Airo Wireless" }, @@ -33987,10 +34202,12 @@ { { 0xC4, 0x49, 0x3E }, "MotorolaMobi", "Motorola Mobility LLC, a Lenovo Company" }, { { 0xC4, 0x49, 0xBB }, "MitsumiElect", "Mitsumi Electric Co.,Ltd." }, { { 0xC4, 0x4A, 0xD0 }, "Fireflies", "Fireflies Systems" }, + { { 0xC4, 0x4B, 0x31 }, "Cisco", "Cisco Systems, Inc" }, { { 0xC4, 0x4B, 0x44 }, "Omniprint", "Omniprint Inc." }, { { 0xC4, 0x4B, 0xD1 }, "WallysCommun", "Wallys Communications Teachnologies Co.,Ltd." }, { { 0xC4, 0x4D, 0x84 }, "Cisco", "Cisco Systems, Inc" }, { { 0xC4, 0x4E, 0x1F }, "BlueN", "BlueN" }, + { { 0xC4, 0x4E, 0x5D }, "TexasInstrum", "Texas Instruments" }, { { 0xC4, 0x4E, 0xAC }, "Shiningworth", "Shenzhen Shiningworth Technology Co., Ltd." }, { { 0xC4, 0x4F, 0x33 }, "Espressif", "Espressif Inc." }, { { 0xC4, 0x4F, 0x5F }, "HuaweiDevice", "Huawei Device Co., Ltd." }, @@ -34002,6 +34219,7 @@ { { 0xC4, 0x52, 0x4F }, "Apple", "Apple, Inc." }, { { 0xC4, 0x53, 0x79 }, "MicronviewLi", "Micronview Limited Liability Company" }, { { 0xC4, 0x54, 0x44 }, "QuantaComput", "Quanta Computer Inc." }, + { { 0xC4, 0x55, 0x0D }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0xC4, 0x55, 0xA6 }, "CadacHolding", "Cadac Holdings Ltd" }, { { 0xC4, 0x55, 0xC2 }, "BachSimpson", "Bach-Simpson" }, { { 0xC4, 0x56, 0x00 }, "GalleonEmbed", "Galleon Embedded Computing" }, @@ -34011,6 +34229,7 @@ { { 0xC4, 0x57, 0x6E }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0xC4, 0x57, 0x81 }, "WingtechGrou", "Wingtech Group (HongKong) Limited" }, { { 0xC4, 0x57, 0xCD }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, + { { 0xC4, 0x58, 0x78 }, "AltoBeam", "AltoBeam Inc." }, { { 0xC4, 0x58, 0xC2 }, "TATFOOKTechn", "Shenzhen TATFOOK Technology Co., Ltd." }, { { 0xC4, 0x59, 0x76 }, "FugooCoorpor", "Fugoo Coorporation" }, { { 0xC4, 0x5A, 0x86 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, @@ -34025,6 +34244,7 @@ { { 0xC4, 0x60, 0x26 }, "SkyUk", "Sky Uk Limited" }, { { 0xC4, 0x60, 0x44 }, "EverexElectr", "Everex Electronics Limited" }, { { 0xC4, 0x61, 0x8B }, "Apple", "Apple, Inc." }, + { { 0xC4, 0x61, 0x9A }, "TexasInstrum", "Texas Instruments" }, { { 0xC4, 0x61, 0xC7 }, "Microsoft", "Microsoft Corporation" }, { { 0xC4, 0x62, 0x37 }, "sunweitindus", "sunweit industrial limited" }, { { 0xC4, 0x62, 0x6B }, "ZPTVigantice", "ZPT Vigantice" }, @@ -34140,6 +34360,7 @@ { { 0xC4, 0xA1, 0x51 }, "SichuanTiany", "Sichuan Tianyi Comheart Telecom Co.,LTD" }, { { 0xC4, 0xA1, 0xAE }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0xC4, 0xA3, 0x66 }, "zte", "zte corporation" }, + { { 0xC4, 0xA3, 0xEF }, "UEIElectroni", "UEI Electronics Private Ltd." }, { { 0xC4, 0xA4, 0x02 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0xC4, 0xA4, 0x51 }, "TecnoMobile", "Tecno Mobile Limited" }, { { 0xC4, 0xA6, 0x4E }, "QuectelWirel", "Quectel Wireless Solutions Co.,Ltd." }, @@ -34330,6 +34551,7 @@ { { 0xC8, 0x16, 0xDA }, "RealmeChongq", "Realme Chongqing Mobile Telecommunications Corp.,Ltd." }, { { 0xC8, 0x17, 0x39 }, "ItelMobile", "Itel Mobile Limited" }, { { 0xC8, 0x17, 0xF5 }, "NanjingQinhe", "Nanjing Qinheng Microelectronics Co., Ltd." }, + { { 0xC8, 0x19, 0xD8 }, "BlinkbyAmazo", "Blink by Amazon" }, { { 0xC8, 0x19, 0xF7 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0xC8, 0x1A, 0xFE }, "DLOGIC", "DLOGIC GmbH" }, { { 0xC8, 0x1B, 0x5C }, "BCTech", "BCTech" }, @@ -34564,6 +34786,7 @@ { { 0xC8, 0xAF, 0x40 }, "marcoSystema", "marco Systemanalyse und Entwicklung GmbH" }, { { 0xC8, 0xAF, 0xE3 }, "HefeiRadioCo", "Hefei Radio Communication Technology Co., Ltd" }, { { 0xC8, 0xAF, 0xF0 }, "CDVIWireless", "CDVI Wireless SpA" }, + { { 0xC8, 0xB0, 0xB2 }, "zte", "zte corporation" }, { { 0xC8, 0xB1, 0xCD }, "Apple", "Apple, Inc." }, { { 0xC8, 0xB1, 0xEE }, "Qorvo", "Qorvo" }, { { 0xC8, 0xB2, 0x1E }, "ChipseaTechn", "Chipsea Technologies (Shenzhen) Corp." }, @@ -34607,6 +34830,7 @@ { { 0xC8, 0xC8, 0x73 }, "Chipsen", "Chipsen Inc." }, { { 0xC8, 0xC9, 0x92 }, "RoborockTech", "Beijing Roborock Technology Co., Ltd." }, { { 0xC8, 0xC9, 0xA3 }, "Espressif", "Espressif Inc." }, + { { 0xC8, 0xC9, 0xB2 }, "AmazonTechno", "Amazon Technologies Inc." }, { { 0xC8, 0xCA, 0x63 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0xC8, 0xCA, 0x79 }, "Ciena", "Ciena Corporation" }, { { 0xC8, 0xCB, 0x9E }, "Intel", "Intel Corporate" }, @@ -34715,6 +34939,7 @@ { { 0xCA, 0x44, 0x6C }, "CypressCompu", "Cypress Computer Systems, Inc." }, { { 0xCA, 0x7D, 0xDD }, "EmOne", "EmOne (Thailand) Co.,Ltd." }, { { 0xCA, 0x8F, 0xA5 }, "AdvancedTSMi", "Advanced TS Migrations, Co" }, + { { 0xCA, 0xA5, 0x27 }, "Bobi", "Bobi" }, { { 0xCA, 0xC2, 0x76 }, "SaabSeaeye", "Saab Seaeye Ltd" }, { { 0xCA, 0xC8, 0x7E }, "AllenOrgan", "Allen Organ Company" }, { { 0xCA, 0xE5, 0x05 }, "Mobilitie", "Mobilitie" }, @@ -34807,6 +35032,7 @@ { { 0xCC, 0x35, 0xD9 }, "Ubiquiti", "Ubiquiti Inc" }, { { 0xCC, 0x36, 0xBB }, "SiliconLabor", "Silicon Laboratories" }, { { 0xCC, 0x36, 0xCF }, "Cisco", "Cisco Systems, Inc" }, + { { 0xCC, 0x37, 0xA9 }, "AskeyCompute", "Askey Computer Corp" }, { { 0xCC, 0x37, 0xAB }, "EdgecoreNetw", "Edgecore Networks Corporation" }, { { 0xCC, 0x38, 0xD0 }, "PaloAltoNetw", "Palo Alto Networks" }, { { 0xCC, 0x38, 0xE1 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, @@ -35002,6 +35228,7 @@ { { 0xCC, 0xA4, 0xAF }, "SowellTechno", "Shenzhen Sowell Technology Co., LTD" }, { { 0xCC, 0xA6, 0x14 }, "AifaTechnolo", "Aifa Technology Corp." }, { { 0xCC, 0xA7, 0xC1 }, "Google", "Google, Inc." }, + { { 0xCC, 0xA8, 0x23 }, "SiliconLabor", "Silicon Laboratories" }, { { 0xCC, 0xAA, 0x00 }, "Microsoft", "Microsoft Corporation" }, { { 0xCC, 0xAB, 0x2C }, "HUMAX", "HUMAX Co., Ltd." }, { { 0xCC, 0xAC, 0xFE }, "TelinkSemico", "Telink Semiconductor (Shanghai) Co., Ltd." }, @@ -35842,6 +36069,7 @@ { { 0xD4, 0xAA, 0xFF }, "MicroWorld", "Micro World" }, { { 0xD4, 0xAB, 0x61 }, "Intel", "Intel Corporate" }, { { 0xD4, 0xAB, 0x82 }, "Commscope", "Commscope" }, + { { 0xD4, 0xAB, 0x9F }, "Vizio", "Vizio, Inc" }, { { 0xD4, 0xAB, 0xCD }, "HuiZhouGaosh", "Hui Zhou Gaoshengda Technology Co.,LTD" }, { { 0xD4, 0xAC, 0x4E }, "BODirS", "BODi rS, LLC" }, { { 0xD4, 0xAD, 0x20 }, "JinanUSRIOTT", "Jinan USR IOT Technology Limited" }, @@ -36020,6 +36248,7 @@ { { 0xD8, 0x19, 0x7A }, "Nuheara", "Nuheara Ltd" }, { { 0xD8, 0x19, 0xCE }, "Telesquare", "Telesquare" }, { { 0xD8, 0x1B, 0xB5 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, + { { 0xD8, 0x1B, 0xF4 }, "TexasInstrum", "Texas Instruments" }, { { 0xD8, 0x1B, 0xFE }, "Twinlinx", "Twinlinx Corporation" }, { { 0xD8, 0x1C, 0x14 }, "CompactaInte", "Compacta International, Ltd." }, { { 0xD8, 0x1C, 0x79 }, "Apple", "Apple, Inc." }, @@ -36029,6 +36258,7 @@ { { 0xD8, 0x1E, 0xDE }, "B&WGroup", "B&W Group Ltd" }, { { 0xD8, 0x1F, 0x12 }, "TuyaSmart", "Tuya Smart Inc." }, { { 0xD8, 0x1F, 0x65 }, "Private", "Private" }, + { { 0xD8, 0x1F, 0x99 }, "HitronTechno", "Hitron Technologies. Inc" }, { { 0xD8, 0x1F, 0xCC }, "BrocadeCommu", "Brocade Communications Systems LLC" }, { { 0xD8, 0x20, 0x9F }, "CubroAcronet", "Cubro Acronet GesmbH" }, { { 0xD8, 0x20, 0xA2 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, @@ -36221,6 +36451,7 @@ { { 0xD8, 0x91, 0x1D }, "JiangsuYuwel", "Jiangsu Yuwell POCTech Biotechnology Co.,Ltd" }, { { 0xD8, 0x91, 0x2A }, "ZyxelCommuni", "Zyxel Communications Corporation" }, { { 0xD8, 0x91, 0x36 }, "DoverFueling", "Dover Fueling Solutions" }, + { { 0xD8, 0x93, 0x33 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0xD8, 0x93, 0x41 }, "GeneralElect", "General Electric Global Research" }, { { 0xD8, 0x93, 0xD4 }, "XiaomiCommun", "Xiaomi Communications Co Ltd" }, { { 0xD8, 0x94, 0x03 }, "HewlettPacka", "Hewlett Packard Enterprise" }, @@ -36242,6 +36473,7 @@ { { 0xD8, 0x9B, 0x3B }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0xD8, 0x9C, 0x67 }, "HonHaiPrecis", "Hon Hai Precision Ind. Co.,Ltd." }, { { 0xD8, 0x9C, 0x8E }, "ComcastCable", "Comcast Cable Corporation" }, + { { 0xD8, 0x9D, 0x13 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0xD8, 0x9D, 0x67 }, "HewlettPacka", "Hewlett Packard" }, { { 0xD8, 0x9D, 0xB9 }, "eMegatechInt", "eMegatech International Corp." }, { { 0xD8, 0x9E, 0x3F }, "Apple", "Apple, Inc." }, @@ -36384,6 +36616,7 @@ { { 0xD8, 0xEE, 0x78 }, "MoogProtokra", "Moog Protokraft" }, { { 0xD8, 0xEF, 0x42 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0xD8, 0xEF, 0xCD }, "NokiaSolutio", "Nokia Solutions and Networks GmbH & Co. KG" }, + { { 0xD8, 0xF0, 0x2F }, "TexasInstrum", "Texas Instruments" }, { { 0xD8, 0xF0, 0xF2 }, "Zeebo", "Zeebo Inc" }, { { 0xD8, 0xF1, 0x2E }, "TPLink", "TP-Link Systems Inc." }, { { 0xD8, 0xF1, 0x5B }, "Espressif", "Espressif Inc." }, @@ -36495,6 +36728,7 @@ { { 0xDC, 0x2E, 0x97 }, "QuectelWirel", "Quectel Wireless Solutions Co.,Ltd." }, { { 0xDC, 0x2F, 0x03 }, "StepforwardG", "Step forward Group Co., Ltd." }, { { 0xDC, 0x2F, 0xFA }, "GELighting", "GE Lighting" }, + { { 0xDC, 0x30, 0x52 }, "zte", "zte corporation" }, { { 0xDC, 0x30, 0x9C }, "Heyrex", "Heyrex Limited" }, { { 0xDC, 0x31, 0x30 }, "3onedataTech", "3onedata Technology Co. Ltd." }, { { 0xDC, 0x31, 0xD1 }, "vivoMobileCo", "vivo Mobile Communication Co., Ltd." }, @@ -36552,6 +36786,7 @@ { { 0xDC, 0x54, 0xAD }, "RunZhouFiber", "Hangzhou RunZhou Fiber Technologies Co.,Ltd" }, { { 0xDC, 0x54, 0xD7 }, "AmazonTechno", "Amazon Technologies Inc." }, { { 0xDC, 0x55, 0x83 }, "OppoMobileTe", "Guangdong Oppo Mobile Telecommunications Corp.,Ltd" }, + { { 0xDC, 0x55, 0xB1 }, "Espressif", "Espressif Inc." }, { { 0xDC, 0x56, 0x7B }, "CloudNetwork", "Cloud Network Technology Singapore Pte. Ltd." }, { { 0xDC, 0x56, 0xE6 }, "BococomTechn", "Shenzhen Bococom Technology Co.,LTD" }, { { 0xDC, 0x56, 0xE7 }, "Apple", "Apple, Inc." }, @@ -36559,6 +36794,7 @@ { { 0xDC, 0x57, 0x5C }, "PRElectronic", "PR Electronics A/S" }, { { 0xDC, 0x58, 0xBC }, "ThomasKrenn", "Thomas-Krenn.AG" }, { { 0xDC, 0x5D, 0x31 }, "ItelMobile", "Itel Mobile Limited" }, + { { 0xDC, 0x5D, 0x89 }, "Cisco", "Cisco Systems, Inc" }, { { 0xDC, 0x5E, 0x36 }, "PatersonTech", "Paterson Technology" }, { { 0xDC, 0x60, 0xA1 }, "TeledyneDALS", "Teledyne DALSA Professional Imaging" }, { { 0xDC, 0x61, 0x80 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, @@ -36659,6 +36895,7 @@ { { 0xDC, 0x9D, 0xED }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0xDC, 0x9E, 0x8F }, "Apple", "Apple, Inc." }, { { 0xDC, 0x9E, 0xAB }, "ChongqingYip", "Chongqing Yipingfang Technology Co., Ltd." }, + { { 0xDC, 0x9F, 0x1F }, "Asekospolsro", "Aseko, spol. s r.o." }, { { 0xDC, 0x9F, 0xA4 }, "Nokia", "Nokia Corporation" }, { { 0xDC, 0x9F, 0xDB }, "Ubiquiti", "Ubiquiti Inc" }, { { 0xDC, 0xA0, 0xD0 }, "AmazonTechno", "Amazon Technologies Inc." }, @@ -36707,6 +36944,7 @@ { { 0xDC, 0xB8, 0x7D }, "HewlettPacka", "Hewlett Packard Enterprise" }, { { 0xDC, 0xBB, 0x3D }, "ExtremeNetwo", "Extreme Networks, Inc." }, { { 0xDC, 0xBB, 0x96 }, "FullSolution", "Full Solution Telecom" }, + { { 0xDC, 0xBB, 0xFA }, "CiscoMeraki", "Cisco Meraki" }, { { 0xDC, 0xBD, 0x7A }, "GuangzhouShi", "Guangzhou Shiyuan Electronic Technology Company Limited" }, { { 0xDC, 0xBD, 0xCC }, "QuectelWirel", "Quectel Wireless Solutions Co.,Ltd." }, { { 0xDC, 0xBE, 0x04 }, "TexasInstrum", "Texas Instruments" }, @@ -36851,6 +37089,7 @@ { { 0xE0, 0x13, 0x33 }, "GeneralMotor", "General Motors" }, { { 0xE0, 0x13, 0xB5 }, "vivoMobileCo", "vivo Mobile Communication Co., Ltd." }, { { 0xE0, 0x14, 0x3E }, "Modoosis", "Modoosis Inc." }, + { { 0xE0, 0x15, 0x0B }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0xE0, 0x16, 0xB1 }, "AdvancedDesi", "Advanced Design Technology co.,ltd." }, { { 0xE0, 0x18, 0x77 }, "Fujitsu", "Fujitsu Limited" }, { { 0xE0, 0x18, 0x9F }, "EMMicroelect", "EM Microelectronic" }, @@ -37046,6 +37285,7 @@ { { 0xE0, 0x94, 0x67 }, "Intel", "Intel Corporate" }, { { 0xE0, 0x95, 0x59 }, "Arcadyan", "Arcadyan Corporation" }, { { 0xE0, 0x95, 0x79 }, "ORTHOsoftdba", "ORTHOsoft inc, d/b/a Zimmer CAS" }, + { { 0xE0, 0x95, 0xB3 }, "TexasInstrum", "Texas Instruments" }, { { 0xE0, 0x95, 0xFF }, "Infinixmobil", "Infinix mobility limited" }, { { 0xE0, 0x96, 0xE8 }, "FiberhomeTel", "Fiberhome Telecommunication Technologies Co.,LTD" }, { { 0xE0, 0x97, 0x96 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, @@ -37062,6 +37302,7 @@ { { 0xE0, 0x9D, 0x73 }, "MellanoxTech", "Mellanox Technologies, Inc." }, { { 0xE0, 0x9D, 0xB8 }, "PlanexCommun", "Planex Communications Inc." }, { { 0xE0, 0x9D, 0xFA }, "WananHongshe", "Wanan Hongsheng Electronic Co.Ltd" }, + { { 0xE0, 0x9E, 0x2D }, "Nokia", "Nokia" }, { { 0xE0, 0x9E, 0xC1 }, "SiliconInnov", "Silicon Innovation Microelectronics Co.,Ltd." }, { { 0xE0, 0x9F, 0x2A }, "ItonTechnolo", "Iton Technology Corp." }, { { 0xE0, 0xA1, 0x29 }, "ExtremeNetwo", "Extreme Networks, Inc." }, @@ -37082,6 +37323,7 @@ { { 0xE0, 0xAA, 0x96 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0xE0, 0xAA, 0xB0 }, "SuntailiEnte", "Suntaili Enterprise Co. Ltd," }, { { 0xE0, 0xAA, 0xDB }, "NanjingPANEN", "Nanjing PANENG Technology Development Co.,Ltd" }, + { { 0xE0, 0xAB, 0xC3 }, "MellanoxTech", "Mellanox Technologies, Inc." }, { { 0xE0, 0xAB, 0xFE }, "OrbNetworks", "Orb Networks, Inc." }, { { 0xE0, 0xAC, 0xCB }, "Apple", "Apple, Inc." }, { { 0xE0, 0xAC, 0xF1 }, "Cisco", "Cisco Systems, Inc" }, @@ -37238,6 +37480,7 @@ { { 0xE4, 0x06, 0xBF }, "SiliconLabor", "Silicon Laboratories" }, { { 0xE4, 0x06, 0xE0 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0xE4, 0x07, 0x2B }, "HuaweiDevice", "Huawei Device Co., Ltd." }, + { { 0xE4, 0x07, 0xB4 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0xE4, 0x08, 0xE7 }, "QuectelWirel", "Quectel Wireless Solutions Co.,Ltd." }, { { 0xE4, 0x0A, 0x16 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0xE4, 0x0A, 0x75 }, "SiliconLabor", "Silicon Laboratories" }, @@ -37555,6 +37798,7 @@ { { 0xE4, 0xD1, 0x24 }, "MojoNetworks", "Mojo Networks, Inc." }, { { 0xE4, 0xD3, 0x32 }, "TpLinkTechno", "Tp-Link Technologies Co.,Ltd." }, { { 0xE4, 0xD3, 0x73 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, + { { 0xE4, 0xD3, 0x98 }, "XiaomiCommun", "Xiaomi Communications Co Ltd" }, { { 0xE4, 0xD3, 0xAA }, "Fcnt", "Fcnt Llc" }, { { 0xE4, 0xD3, 0xF1 }, "Cisco", "Cisco Systems, Inc" }, { { 0xE4, 0xD4, 0x36 }, "NokiaSolutio", "Nokia Solutions and Networks India Private Limited" }, @@ -37618,6 +37862,7 @@ { { 0xE4, 0xFD, 0x8C }, "ExtremeNetwo", "Extreme Networks, Inc." }, { { 0xE4, 0xFD, 0xA1 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0xE4, 0xFE, 0x43 }, "XiaomiMobile", "Beijing Xiaomi Mobile Software Co., Ltd" }, + { { 0xE4, 0xFE, 0xD4 }, "Microsoft", "Microsoft Corporation" }, { { 0xE4, 0xFE, 0xD9 }, "EDMIEurope", "EDMI Europe Ltd" }, { { 0xE4, 0xFE, 0xE4 }, "Ciena", "Ciena Corporation" }, { { 0xE4, 0xFF, 0x69 }, "HolidayRobot", "Holiday Robotics" }, @@ -37752,6 +37997,7 @@ { { 0xE8, 0x55, 0x40 }, "WuxiFunideDi", "Wuxi Funide Digital Co.,Ltd" }, { { 0xE8, 0x55, 0xB4 }, "SAITechnolog", "SAI Technology Inc." }, { { 0xE8, 0x56, 0x59 }, "AdvancedConn", "Advanced-Connectek Inc." }, + { { 0xE8, 0x56, 0x7A }, "zte", "zte corporation" }, { { 0xE8, 0x56, 0xD6 }, "NCTech", "NCTech Ltd" }, { { 0xE8, 0x5A, 0x8B }, "XiaomiCommun", "Xiaomi Communications Co Ltd" }, { { 0xE8, 0x5A, 0xA7 }, "LLCEmzior", "LLC Emzior" }, @@ -37907,6 +38153,7 @@ { { 0xE8, 0xB7, 0x22 }, "GreenTrolAut", "GreenTrol Automation" }, { { 0xE8, 0xB7, 0x23 }, "VatilonElect", "Shenzhen Vatilon Electronics Co.,Ltd" }, { { 0xE8, 0xB7, 0x48 }, "Cisco", "Cisco Systems, Inc" }, + { { 0xE8, 0xB7, 0xF0 }, "NocTel", "NocTel" }, { { 0xE8, 0xB8, 0x53 }, "GsdVietNamTe", "Gsd Viet Nam Technology Company Limited" }, { { 0xE8, 0xBA, 0x17 }, "XiaomiMobile", "Beijing Xiaomi Mobile Software Co., Ltd" }, { { 0xE8, 0xBA, 0x70 }, "Cisco", "Cisco Systems, Inc" }, @@ -37962,6 +38209,7 @@ { { 0xE8, 0xD7, 0x65 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0xE8, 0xD7, 0x75 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0xE8, 0xD8, 0x19 }, "AzureWaveTec", "AzureWave Technology Inc." }, + { { 0xE8, 0xD8, 0x1C }, "QuectelWirel", "Quectel Wireless Solutions Co.,Ltd." }, { { 0xE8, 0xD8, 0x7E }, "AmazonTechno", "Amazon Technologies Inc." }, { { 0xE8, 0xD8, 0xD1 }, "HP", "HP Inc." }, { { 0xE8, 0xDA, 0x00 }, "KivoTechnolo", "Kivo Technology, Inc." }, @@ -38087,6 +38335,7 @@ { { 0xEC, 0x13, 0xDB }, "JuniperNetwo", "Juniper Networks" }, { { 0xEC, 0x14, 0xF6 }, "BioControlAS", "BioControl AS" }, { { 0xEC, 0x15, 0x3D }, "YaxunhongdaT", "Beijing Yaxunhongda Technology Co., Ltd." }, + { { 0xEC, 0x15, 0xFE }, "HikstorageTe", "Hangzhou Hikstorage Technology Co.,Ltd." }, { { 0xEC, 0x17, 0x2F }, "TpLinkTechno", "Tp-Link Technologies Co.,Ltd." }, { { 0xEC, 0x17, 0x66 }, "ResearchCent", "Research Centre Module" }, { { 0xEC, 0x19, 0x2E }, "Cisco", "Cisco Systems, Inc" }, @@ -38261,6 +38510,7 @@ { { 0xEC, 0x81, 0x93 }, "Logitech", "Logitech, Inc" }, { { 0xEC, 0x81, 0x9C }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0xEC, 0x82, 0x63 }, "zte", "zte corporation" }, + { { 0xEC, 0x83, 0x06 }, "GooWiWireles", "GooWi Wireless Technology Co., Limited" }, { { 0xEC, 0x83, 0x50 }, "Microsoft", "Microsoft Corporation" }, { { 0xEC, 0x83, 0x6C }, "RMTech", "RM Tech Co., Ltd." }, { { 0xEC, 0x83, 0xB7 }, "PuwellCloudT", "Puwell Cloud Tech Limited" }, @@ -38391,6 +38641,7 @@ { { 0xEC, 0xD0, 0x9F }, "XiaomiCommun", "Xiaomi Communications Co Ltd" }, { { 0xEC, 0xD1, 0x9A }, "ZhuhaiLiming", "Zhuhai Liming Industries Co., Ltd" }, { { 0xEC, 0xD5, 0x08 }, "Apple", "Apple, Inc." }, + { { 0xEC, 0xD6, 0x1B }, "Espressif", "Espressif Inc." }, { { 0xEC, 0xD6, 0x8A }, "JMicronIntel", "Shenzhen JMicron Intelligent Technology Developmen" }, { { 0xEC, 0xD9, 0x09 }, "Alpsalpine", "Alpsalpine Co,.Ltd" }, { { 0xEC, 0xD9, 0x25 }, "Rami", "Rami" }, @@ -38571,6 +38822,7 @@ { { 0xF0, 0x4C, 0xD5 }, "Maxlinear", "Maxlinear, Inc" }, { { 0xF0, 0x4D, 0xA2 }, "Dell", "Dell Inc." }, { { 0xF0, 0x4D, 0xD4 }, "SagemcomBroa", "Sagemcom Broadband SAS" }, + { { 0xF0, 0x4E, 0x35 }, "Pica8Softwar", "Pica8 Software Inc" }, { { 0xF0, 0x4E, 0xA4 }, "HP", "HP Inc." }, { { 0xF0, 0x4F, 0x7C }, "AmazonTechno", "Amazon Technologies Inc." }, { { 0xF0, 0x4F, 0xE0 }, "Vizio", "Vizio, Inc" }, @@ -38588,6 +38840,7 @@ { { 0xF0, 0x5C, 0x19 }, "HewlettPacka", "Hewlett Packard Enterprise" }, { { 0xF0, 0x5C, 0x77 }, "Google", "Google, Inc." }, { { 0xF0, 0x5C, 0xD5 }, "Apple", "Apple, Inc." }, + { { 0xF0, 0x5D, 0x88 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0xF0, 0x5D, 0x89 }, "Dycon", "Dycon Limited" }, { { 0xF0, 0x5D, 0xC8 }, "DuracellPowe", "Duracell Powermat" }, { { 0xF0, 0x5E, 0xCD }, "TexasInstrum", "Texas Instruments" }, @@ -38795,6 +39048,7 @@ { { 0xF0, 0xDE, 0xB9 }, "Y&YElectroni", "ShangHai Y&Y Electronics Co., Ltd" }, { { 0xF0, 0xDE, 0xF1 }, "WistronInfoc", "Wistron Infocomm (Zhongshan) Corporation" }, { { 0xF0, 0xE3, 0xDC }, "TeconMT", "Tecon MT, LLC" }, + { { 0xF0, 0xE4, 0x26 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0xF0, 0xE4, 0xA2 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0xF0, 0xE5, 0xC3 }, "DrägerwerkaA", "Drägerwerk AG & Co. KG aA" }, { { 0xF0, 0xE7, 0x52 }, "HuajuxinSemi", "Shenzhen Huajuxin Semiconductor Co.,ltd" }, @@ -38982,6 +39236,7 @@ { { 0xF4, 0x4D, 0x5C }, "ZyxelCommuni", "Zyxel Communications Corporation" }, { { 0xF4, 0x4D, 0xAD }, "CableMatters", "Cable Matters Inc." }, { { 0xF4, 0x4E, 0x05 }, "Cisco", "Cisco Systems, Inc" }, + { { 0xF4, 0x4E, 0x35 }, "MetaPlatform", "Meta Platforms, Inc." }, { { 0xF4, 0x4E, 0x38 }, "Olibra", "Olibra LLC" }, { { 0xF4, 0x4E, 0xB4 }, "CloudNetwork", "Cloud Network Technology Singapore Pte. Ltd." }, { { 0xF4, 0x4E, 0xE3 }, "Intel", "Intel Corporate" }, @@ -39076,6 +39331,7 @@ { { 0xF4, 0x87, 0x71 }, "Infoblox", "Infoblox" }, { { 0xF4, 0x87, 0xC5 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0xF4, 0x89, 0x18 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, + { { 0xF4, 0x89, 0x74 }, "Cisco", "Cisco Systems, Inc" }, { { 0xF4, 0x8B, 0x32 }, "XiaomiCommun", "Xiaomi Communications Co Ltd" }, { { 0xF4, 0x8C, 0x50 }, "Intel", "Intel Corporate" }, { { 0xF4, 0x8C, 0xEB }, "DLinkInterna", "D-Link International" }, @@ -39118,6 +39374,7 @@ { { 0xF4, 0xA7, 0x39 }, "JuniperNetwo", "Juniper Networks" }, { { 0xF4, 0xA8, 0x0D }, "WistronInfoC", "Wistron InfoComm(Kunshan)Co.,Ltd." }, { { 0xF4, 0xA9, 0x97 }, "Canon", "Canon Inc." }, + { { 0xF4, 0xA9, 0xA7 }, "HonorDevice", "Honor Device Co., Ltd." }, { { 0xF4, 0xAA, 0xD0 }, "Ohsung", "Ohsung" }, { { 0xF4, 0xAB, 0x5C }, "QuectelWirel", "Quectel Wireless Solutions Co.,Ltd." }, { { 0xF4, 0xAC, 0xC1 }, "Cisco", "Cisco Systems, Inc" }, @@ -39336,6 +39593,7 @@ { { 0xF8, 0x27, 0x93 }, "Apple", "Apple, Inc." }, { { 0xF8, 0x28, 0x19 }, "LiteonTechno", "Liteon Technology Corporation" }, { { 0xF8, 0x28, 0xC9 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, + { { 0xF8, 0x29, 0x3A }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0xF8, 0x29, 0x80 }, "DongguanRuil", "Dongguan Ruilian Xiangtong Technology Co., Ltd" }, { { 0xF8, 0x29, 0xC0 }, "Availink", "Availink, Inc." }, { { 0xF8, 0x2A, 0x53 }, "GDMideaAirCo", "GD Midea Air-Conditioning Equipment Co.,Ltd." }, @@ -39365,6 +39623,7 @@ { { 0xF8, 0x34, 0x41 }, "Intel", "Intel Corporate" }, { { 0xF8, 0x34, 0x51 }, "Comcast", "Comcast-SRL" }, { { 0xF8, 0x34, 0x5A }, "HitronTechno", "Hitron Technologies. Inc" }, + { { 0xF8, 0x34, 0xE5 }, "vivoMobileCo", "vivo Mobile Communication Co., Ltd." }, { { 0xF8, 0x35, 0x53 }, "MagentaResea", "Magenta Research Ltd." }, { { 0xF8, 0x35, 0xDD }, "GemtekTechno", "Gemtek Technology Co., Ltd." }, { { 0xF8, 0x36, 0x9B }, "TexasInstrum", "Texas Instruments" }, @@ -39386,6 +39645,7 @@ { { 0xF8, 0x40, 0x68 }, "SZDJIRoninTe", "SZ DJI Ronin Technology Co., Ltd." }, { { 0xF8, 0x42, 0x88 }, "Apple", "Apple, Inc." }, { { 0xF8, 0x42, 0xFB }, "YasudaJoho", "Yasuda Joho Co.,ltd." }, + { { 0xF8, 0x43, 0xEE }, "Espressif", "Espressif Inc." }, { { 0xF8, 0x43, 0xEF }, "XiaomiCommun", "Xiaomi Communications Co Ltd" }, { { 0xF8, 0x44, 0x77 }, "SiliconLabor", "Silicon Laboratories" }, { { 0xF8, 0x44, 0xE3 }, "TaicangT&WEl", "Taicang T&W Electronics" }, @@ -39566,6 +39826,7 @@ { { 0xF8, 0xA7, 0x63 }, "ZhejiangTmal", "Zhejiang Tmall Technology Co., Ltd." }, { { 0xF8, 0xA9, 0x1F }, "ZVISIONTechn", "ZVISION Technologies Co., Ltd" }, { { 0xF8, 0xA9, 0x63 }, "CompalInform", "Compal Information (Kunshan) Co., Ltd." }, + { { 0xF8, 0xA9, 0x86 }, "Microsoft", "Microsoft Corporation" }, { { 0xF8, 0xA9, 0xD0 }, "LGElectronic", "LG Electronics (Mobile Communications)" }, { { 0xF8, 0xA9, 0xDE }, "PuissancePlu", "Puissance Plus" }, { { 0xF8, 0xAA, 0x3F }, "DWnetTechnol", "DWnet Technologies(Suzhou) Corporation" }, @@ -39758,6 +40019,7 @@ { { 0xFC, 0x06, 0xED }, "M2MotiveTech", "M2Motive Technology Inc." }, { { 0xFC, 0x07, 0x36 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0xFC, 0x07, 0xA0 }, "LREMedical", "LRE Medical GmbH" }, + { { 0xFC, 0x07, 0xCD }, "RealmeChongq", "Realme Chongqing Mobile Telecommunications Corp.,Ltd." }, { { 0xFC, 0x08, 0x4A }, "Fujitsu", "Fujitsu Limited" }, { { 0xFC, 0x08, 0x77 }, "PrentkeRomic", "Prentke Romich Company" }, { { 0xFC, 0x09, 0xD8 }, "ACTEONGroup", "ACTEON Group" }, @@ -39795,6 +40057,7 @@ { { 0xFC, 0x1B, 0xD1 }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0xFC, 0x1B, 0xFF }, "VZug", "V-Zug Ag" }, { { 0xFC, 0x1C, 0xA1 }, "Nokia", "Nokia" }, + { { 0xFC, 0x1C, 0xE6 }, "PSGGermany", "PSG Germany GmbH" }, { { 0xFC, 0x1D, 0x2A }, "vivoMobileCo", "vivo Mobile Communication Co., Ltd." }, { { 0xFC, 0x1D, 0x3A }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, { { 0xFC, 0x1D, 0x43 }, "Apple", "Apple, Inc." }, @@ -39803,6 +40066,7 @@ { { 0xFC, 0x1E, 0x16 }, "IPEVO", "IPEVO corp" }, { { 0xFC, 0x1F, 0x19 }, "SamsungElect", "Samsung Electro Mechanics Co., Ltd." }, { { 0xFC, 0x1F, 0xC0 }, "Eurecam", "Eurecam" }, + { { 0xFC, 0x21, 0x20 }, "Cisco", "Cisco Systems, Inc" }, { { 0xFC, 0x22, 0x1C }, "XunmanTechno", "Shenzhen Xunman Technology Co., Ltd" }, { { 0xFC, 0x22, 0x9C }, "HanKyungINet", "Han Kyung I Net Co.,Ltd." }, { { 0xFC, 0x22, 0xD3 }, "Fdsys", "Fdsys" }, @@ -40073,14 +40337,17 @@ { { 0xFC, 0xBD, 0x67 }, "AristaNetwor", "Arista Networks" }, { { 0xFC, 0xBE, 0x7B }, "vivoMobileCo", "vivo Mobile Communication Co., Ltd." }, { { 0xFC, 0xC0, 0xCC }, "YunkeChinaIn", "Yunke China Information Technology Limited" }, + { { 0xFC, 0xC1, 0x7D }, "XiaomiCommun", "Xiaomi Communications Co Ltd" }, { { 0xFC, 0xC2, 0x33 }, "ASUSTekCOMPU", "ASUSTek COMPUTER INC." }, { { 0xFC, 0xC2, 0x3D }, "Atmel", "Atmel Corporation" }, { { 0xFC, 0xC2, 0xDE }, "MurataManufa", "Murata Manufacturing Co., Ltd." }, { { 0xFC, 0xC2, 0xE5 }, "HolowitsTech", "Holowits Technologies Co.,Ltd" }, { { 0xFC, 0xC7, 0x34 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, { { 0xFC, 0xC7, 0x37 }, "ShaanxiGangs", "Shaanxi Gangsion Electronic Technology Co., Ltd" }, + { { 0xFC, 0xC7, 0x66 }, "HuaweiDevice", "Huawei Device Co., Ltd." }, { { 0xFC, 0xC8, 0x97 }, "zte", "zte corporation" }, { { 0xFC, 0xCA, 0x10 }, "MercusysTech", "Mercusys Technologies Co., Ltd." }, + { { 0xFC, 0xCA, 0x40 }, "SonyInteract", "Sony Interactive Entertainment Inc." }, { { 0xFC, 0xCA, 0xC4 }, "LifeHealth", "LifeHealth, LLC" }, { { 0xFC, 0xCC, 0xE4 }, "Ascon", "Ascon Ltd." }, { { 0xFC, 0xCF, 0x43 }, "HuizhouCityH", "Huizhou City Huiyang District Meisiqi Industry Development Co,.Ltd" }, @@ -40117,6 +40384,7 @@ { { 0xFC, 0xE2, 0x3F }, "ClayPaky", "Clay Paky Spa" }, { { 0xFC, 0xE2, 0x6C }, "Apple", "Apple, Inc." }, { { 0xFC, 0xE3, 0x3C }, "HuaweiTechno", "Huawei Technologies Co.,Ltd" }, + { { 0xFC, 0xE3, 0x3D }, "CloudNetwork", "Cloud Network Technology Singapore Pte. Ltd." }, { { 0xFC, 0xE4, 0x21 }, "zhejiangDusu", "zhejiang Dusun Electron Co.,Ltd" }, { { 0xFC, 0xE5, 0x57 }, "Nokia", "Nokia Corporation" }, { { 0xFC, 0xE5, 0xF0 }, "SamsungElect", "Samsung Electronics Co.,Ltd" }, @@ -40322,6 +40590,21 @@ { { 0x04, 0xD1, 0x6E, 0xC0 }, "PacPort", "PacPort Corporation" }, { { 0x04, 0xD1, 0x6E, 0xD0 }, "ElotecFische", "Elotec Fischer Elektronik GmbH" }, { { 0x04, 0xD1, 0x6E, 0xE0 }, "EvolutePriva", "Evolute Systems Private Limited" }, + { { 0x04, 0xEC, 0xA9, 0x00 }, "MoultrieMobi", "Moultrie Mobile" }, + { { 0x04, 0xEC, 0xA9, 0x10 }, "StuddsAccess", "Studds Accessories LTD" }, + { { 0x04, 0xEC, 0xA9, 0x20 }, "XiamenCamThi", "Xiamen CamThink Technology Co., Ltd" }, + { { 0x04, 0xEC, 0xA9, 0x30 }, "HunanZetianZ", "Hunan Zetian Zhihang Electronic Technology Co., Ltd." }, + { { 0x04, 0xEC, 0xA9, 0x40 }, "VicLabIntell", "Shanghai Vic Lab Intelligent Technology Co.,Ltd." }, + { { 0x04, 0xEC, 0xA9, 0x50 }, "CCHTechnolog", "CCH Technology & intelligence Co., Ltd." }, + { { 0x04, 0xEC, 0xA9, 0x60 }, "ChenzhuInstr", "Shanghai Chenzhu Instrument Co., Ltd." }, + { { 0x04, 0xEC, 0xA9, 0x70 }, "CORETEC", "CORETEC Inc." }, + { { 0x04, 0xEC, 0xA9, 0x80 }, "GuangzhouXin", "Guangzhou Xinhong Communication Technology Co.,Ltd" }, + { { 0x04, 0xEC, 0xA9, 0x90 }, "Private", "Private" }, + { { 0x04, 0xEC, 0xA9, 0xA0 }, "LeegiotIntel", "Leegiot Intelligent Technology Co., Ltd." }, + { { 0x04, 0xEC, 0xA9, 0xB0 }, "MapleJet", "Maple Jet Limited" }, + { { 0x04, 0xEC, 0xA9, 0xC0 }, "Broadcom", "Broadcom Corporation" }, + { { 0x04, 0xEC, 0xA9, 0xD0 }, "Spectronite", "Spectronite" }, + { { 0x04, 0xEC, 0xA9, 0xE0 }, "HeartcareMed", "Shanghai Heartcare Medical Technology Co.,Ltd." }, { { 0x04, 0xEE, 0xE8, 0x00 }, "ZoomlionHuan", "Zoomlion Huanuo(Beijing)Technology Co.,Ltd" }, { { 0x04, 0xEE, 0xE8, 0x10 }, "ZLANInformat", "Shanghai ZLAN Information Technology Co.,Ltd" }, { { 0x04, 0xEE, 0xE8, 0x20 }, "HengkeTechno", "Hengke Technology Industry Co., Ltd." }, @@ -41545,6 +41828,21 @@ { { 0x30, 0x49, 0x50, 0xC0 }, "Anacove", "Anacove LLC" }, { { 0x30, 0x49, 0x50, 0xD0 }, "MerlynMind", "Merlyn Mind, Inc." }, { { 0x30, 0x49, 0x50, 0xE0 }, "IoTmaxx", "IoTmaxx GmbH" }, + { { 0x30, 0xBB, 0x28, 0x00 }, "DigitalReach", "Digital Reach Pvt Ltd" }, + { { 0x30, 0xBB, 0x28, 0x10 }, "FairPhone", "FairPhone B.V." }, + { { 0x30, 0xBB, 0x28, 0x20 }, "Roomio", "Roomio Limited" }, + { { 0x30, 0xBB, 0x28, 0x30 }, "CellslinkInt", "Cellslink Intelligence Technology Co,Ltd" }, + { { 0x30, 0xBB, 0x28, 0x40 }, "HuizhouHengd", "Huizhou Hengdu Electronics Co.,Ltd." }, + { { 0x30, 0xBB, 0x28, 0x50 }, "GloryRoadPre", "WuHan Glory Road Precision Technology Co.,Ltd" }, + { { 0x30, 0xBB, 0x28, 0x60 }, "SunwodaMobil", "Sunwoda Mobility Energy Technology Co., Ltd." }, + { { 0x30, 0xBB, 0x28, 0x70 }, "MsgqTechnolo", "Msgq Technologies Services Private Limited" }, + { { 0x30, 0xBB, 0x28, 0x80 }, "KahfSoftware", "Kahf Software Limited" }, + { { 0x30, 0xBB, 0x28, 0x90 }, "ShuangyunheT", "Shenzhen Shuangyunhe Technology Co.,Ltd." }, + { { 0x30, 0xBB, 0x28, 0xA0 }, "BullCreekTec", "Bull Creek Technologies" }, + { { 0x30, 0xBB, 0x28, 0xB0 }, "JiangSuShenz", "JiangSu Shenzhou Semiconductor Technology Co.,Ltd" }, + { { 0x30, 0xBB, 0x28, 0xC0 }, "TAIRA", "TAIRA(Lasersan Advanced Teknoloji Sistemleri A.Ş.)" }, + { { 0x30, 0xBB, 0x28, 0xD0 }, "IndiaVPSemic", "IndiaVP Semiconductor Pvt Ltd" }, + { { 0x30, 0xBB, 0x28, 0xE0 }, "StarTopEraIn", "StarTop Era (Shanghai ) Intelligent Technology Co., Ltd." }, { { 0x34, 0x00, 0x8A, 0x00 }, "AngeeTechnol", "Angee Technologies Ltd." }, { { 0x34, 0x00, 0x8A, 0x10 }, "ZQAMCommunic", "ZQAM Communications" }, { { 0x34, 0x00, 0x8A, 0x20 }, "RPEMonitor", "RPE \"Monitor\"" }, @@ -45485,6 +45783,20 @@ { { 0xCC, 0x4F, 0x5C, 0xC0 }, "CotytechTech", "Beijing Cotytech Technology Co.,LTD." }, { { 0xCC, 0x4F, 0x5C, 0xD0 }, "NeutronTechn", "Beijing Neutron Technology CO.,LTD." }, { { 0xCC, 0x4F, 0x5C, 0xE0 }, "TechaoWeijia", "Beijing Techao Weijia Technology Limited" }, + { { 0xCC, 0x82, 0x7B, 0x00 }, "TedeeSp", "Tedee Sp. z o.o." }, + { { 0xCC, 0x82, 0x7B, 0x10 }, "CronAI", "Cron AI" }, + { { 0xCC, 0x82, 0x7B, 0x20 }, "ACSMotionCon", "ACS Motion Control" }, + { { 0xCC, 0x82, 0x7B, 0x30 }, "Fengruixiang", "Shenzhen Fengruixiang Intelligent Technology Co., Ltd." }, + { { 0xCC, 0x82, 0x7B, 0x40 }, "Mistlabs", "Mistlabs Limited" }, + { { 0xCC, 0x82, 0x7B, 0x50 }, "TalentprosSy", "Talentpros System Innovation Co., Ltd." }, + { { 0xCC, 0x82, 0x7B, 0x60 }, "UniworldVisi", "Uniworld Vision Pvt Ltd" }, + { { 0xCC, 0x82, 0x7B, 0x70 }, "OpsysTech", "Opsys Tech Inc" }, + { { 0xCC, 0x82, 0x7B, 0x80 }, "UNILEAPTechn", "UNILEAP Technology Inc." }, + { { 0xCC, 0x82, 0x7B, 0x90 }, "Ecotron", "Ecotron Corporation" }, + { { 0xCC, 0x82, 0x7B, 0xA0 }, "Converging", "Converging Systems Inc." }, + { { 0xCC, 0x82, 0x7B, 0xB0 }, "iGentAICompu", "iGentAI Computing Technology(Shenzhen) Co., Ltd." }, + { { 0xCC, 0x82, 0x7B, 0xC0 }, "RNLTechnolog", "RNL Technology(Shenzhen) Co., Ltd" }, + { { 0xCC, 0x82, 0x7B, 0xD0 }, "GoodTrendTec", "Good Trend Technology Co.Ltd.(Shanghai)." }, { { 0xCC, 0xC2, 0x61, 0x00 }, "EbiologicTec", "Ebiologic Technology Co., Ltd." }, { { 0xCC, 0xC2, 0x61, 0x10 }, "NWL", "NWL Inc." }, { { 0xCC, 0xC2, 0x61, 0x20 }, "Tecnoideal", "Tecnoideal Srl" }, @@ -45755,6 +46067,7 @@ { { 0xD0, 0xDA, 0x24, 0xB0 }, "Cjms", "Cjms Llc" }, { { 0xD0, 0xDA, 0x24, 0xC0 }, "AlloopLimite", "Alloop(Hong kong)Limited" }, { { 0xD0, 0xDA, 0x24, 0xD0 }, "AmenTech", "AmenTech Inc." }, + { { 0xD0, 0xDA, 0x24, 0xE0 }, "SecurityPoin", "Security Point LLP" }, { { 0xD4, 0x20, 0x00, 0x00 }, "Wattsense", "Wattsense" }, { { 0xD4, 0x20, 0x00, 0x10 }, "ZelusTechnol", "Zelus(HuangZhou) Technology Ltd." }, { { 0xD4, 0x20, 0x00, 0x20 }, "AIDevelopMan", "Shenzhen AI Develop & Manufacture Co.,LTD." }, @@ -46222,6 +46535,21 @@ { { 0xEC, 0xA7, 0xB1, 0xC0 }, "Hiromokuten", "Hiromokuten Co.,Ltd." }, { { 0xEC, 0xA7, 0xB1, 0xD0 }, "UsuTelecomIn", "Usu Telecom India Private Limited" }, { { 0xEC, 0xA7, 0xB1, 0xE0 }, "Artisight", "Artisight, Inc." }, + { { 0xEC, 0xBA, 0x34, 0x00 }, "femrice", "femrice" }, + { { 0xEC, 0xBA, 0x34, 0x10 }, "HeizomatGerä", "Heizomat Gerätebau GmbH" }, + { { 0xEC, 0xBA, 0x34, 0x20 }, "Safetyelectr", "Safety electronic technology(huizhou) Co.,Ltd" }, + { { 0xEC, 0xBA, 0x34, 0x30 }, "SterliteTech", "Sterlite Technologies Limited" }, + { { 0xEC, 0xBA, 0x34, 0x40 }, "CitizenTIC", "Citizen T.I.C. Co., Ltd." }, + { { 0xEC, 0xBA, 0x34, 0x50 }, "AeonSuperAi", "Aeon Super Ai Inc." }, + { { 0xEC, 0xBA, 0x34, 0x60 }, "ZhejiangWany", "Zhejiang Wanyou Intelligent Technology Co.,Ltd." }, + { { 0xEC, 0xBA, 0x34, 0x70 }, "MevaAvi̇yoni", "Meva Avi̇yoni̇k Si̇stemler Teknoloji̇ Sanayi̇ Ve Ti̇caret A.Ş." }, + { { 0xEC, 0xBA, 0x34, 0x80 }, "DongguanNeit", "Dongguan Neith Electronic Industry Co., LTD" }, + { { 0xEC, 0xBA, 0x34, 0x90 }, "DigitusBiome", "Digitus Biometrics, Inc." }, + { { 0xEC, 0xBA, 0x34, 0xA0 }, "YidaoIntelli", "Shenzhen Yidao Intelligent Technology Co.,Ltd." }, + { { 0xEC, 0xBA, 0x34, 0xB0 }, "QaskyTechnol", "Qasky Technology Co.,Ltd." }, + { { 0xEC, 0xBA, 0x34, 0xC0 }, "NewtechSyner", "Newtech Synergy Systems Pvt Ltd" }, + { { 0xEC, 0xBA, 0x34, 0xD0 }, "ScenarioAuto", "Scenario Automation" }, + { { 0xEC, 0xBA, 0x34, 0xE0 }, "GreenACSSp", "Green ACS Sp. z o.o." }, { { 0xF0, 0x12, 0x04, 0x00 }, "Annapurnalab", "Annapurna labs" }, { { 0xF0, 0x12, 0x04, 0x10 }, "MetaX", "MetaX" }, { { 0xF0, 0x12, 0x04, 0x20 }, "WiSigNetwork", "WiSig Networks Private Limited" }, @@ -46454,7 +46782,7 @@ { { 0xF4, 0x97, 0x9D, 0x30 }, "EquinoxPower", "Equinox Power" }, { { 0xF4, 0x97, 0x9D, 0x40 }, "MerryElectro", "Merry Electronics Co., Ltd." }, { { 0xF4, 0x97, 0x9D, 0x50 }, "WarnerTechno", "Warner Technology Corp" }, - { { 0xF4, 0x97, 0x9D, 0x60 }, "camnexinnova", "camnex innovation pvt ltd" }, + { { 0xF4, 0x97, 0x9D, 0x60 }, "CamnexInnova", "Camnex Innovations Private Limited" }, { { 0xF4, 0x97, 0x9D, 0x70 }, "LuxshareIct", "Luxshare - Ict(Nghe An) Limited" }, { { 0xF4, 0x97, 0x9D, 0x80 }, "SmartAccessD", "Smart Access Designs, LLC" }, { { 0xF4, 0x97, 0x9D, 0x90 }, "JiaxinTechno", "Beijing Jiaxin Technology Co., Ltd" }, @@ -53844,7 +54172,7 @@ { { 0x70, 0xB3, 0xD5, 0x94, 0x90 }, "NationalRadi", "National Radio & Telecommunication Corporation - NRTC" }, { { 0x70, 0xB3, 0xD5, 0x94, 0xA0 }, "WisewingInte", "Shenzhen Wisewing Internet Technology Co.,Ltd" }, { { 0x70, 0xB3, 0xD5, 0x94, 0xB0 }, "RFCode", "RF Code" }, - { { 0x70, 0xB3, 0xD5, 0x94, 0xC0 }, "HoneywellInt", "Honeywell/Intelligrated" }, + { { 0x70, 0xB3, 0xD5, 0x94, 0xC0 }, "Intelligrate", "Intelligrated System LLC" }, { { 0x70, 0xB3, 0xD5, 0x94, 0xD0 }, "SeasonDesign", "Season Design Technology" }, { { 0x70, 0xB3, 0xD5, 0x94, 0xE0 }, "BPLubricants", "BP Lubricants USA, Inc." }, { { 0x70, 0xB3, 0xD5, 0x94, 0xF0 }, "MartNetworkS", "Mart Network Solutions Ltd" }, @@ -55623,11 +55951,13 @@ { { 0x8C, 0x1F, 0x64, 0x05, 0x80 }, "Mect", "Mect Srl" }, { { 0x8C, 0x1F, 0x64, 0x05, 0x90 }, "MBconnectlin", "MB connect line GmbH Fernwartungssysteme" }, { { 0x8C, 0x1F, 0x64, 0x05, 0xC0 }, "tickIoT", "tickIoT Inc." }, + { { 0x8C, 0x1F, 0x64, 0x05, 0xE0 }, "Pramac", "Pramac GmbH" }, { { 0x8C, 0x1F, 0x64, 0x05, 0xF0 }, "ESCADAUTOMAT", "ESCAD AUTOMATION GmbH" }, { { 0x8C, 0x1F, 0x64, 0x06, 0x00 }, "ZadarLabs", "Zadar Labs Inc" }, { { 0x8C, 0x1F, 0x64, 0x06, 0x10 }, "Micron", "Micron Systems" }, { { 0x8C, 0x1F, 0x64, 0x06, 0x20 }, "AtonGreenSto", "Aton Green Storage Spa" }, { { 0x8C, 0x1F, 0x64, 0x06, 0x30 }, "Efftronics", "Efftronics Systems (P) Ltd" }, + { { 0x8C, 0x1F, 0x64, 0x06, 0x40 }, "CubeTelecom", "Cube Telecom Pvt Ltd" }, { { 0x8C, 0x1F, 0x64, 0x06, 0x60 }, "SiemensEnerg", "Siemens Energy Global GmbH & Co. KG" }, { { 0x8C, 0x1F, 0x64, 0x06, 0x70 }, "GeniusVision", "Genius Vision Digital Private Limited" }, { { 0x8C, 0x1F, 0x64, 0x06, 0x80 }, "ROLSTONETech", "Shenzhen ROLSTONE Technology Co., Ltd" }, @@ -55654,6 +55984,7 @@ { { 0x8C, 0x1F, 0x64, 0x08, 0x40 }, "KSTtechnolog", "KST technology" }, { { 0x8C, 0x1F, 0x64, 0x08, 0x50 }, "SorbEngineer", "Sorb Engineering Llc" }, { { 0x8C, 0x1F, 0x64, 0x08, 0x60 }, "WEPTECHelekt", "WEPTECH elektronik GmbH" }, + { { 0x8C, 0x1F, 0x64, 0x08, 0x70 }, "BenchmarkEle", "Benchmark Electronics BV" }, { { 0x8C, 0x1F, 0x64, 0x08, 0x90 }, "AnserNet", "Anser-Net Co., Ltd" }, { { 0x8C, 0x1F, 0x64, 0x08, 0xB0 }, "ShenxuTechno", "Shanghai Shenxu Technology Co., Ltd" }, { { 0x8C, 0x1F, 0x64, 0x08, 0xC0 }, "eviateg", "eviateg GmbH" }, @@ -55676,6 +56007,7 @@ { { 0x8C, 0x1F, 0x64, 0x09, 0xE0 }, "IWSGlobal", "IWS Global Pty Ltd" }, { { 0x8C, 0x1F, 0x64, 0x09, 0xF0 }, "MBconnectlin", "MB connect line GmbH Fernwartungssysteme" }, { { 0x8C, 0x1F, 0x64, 0x0A, 0x00 }, "Techniwave", "Techniwave" }, + { { 0x8C, 0x1F, 0x64, 0x0A, 0x10 }, "TelevicRail", "Televic Rail GmbH" }, { { 0x8C, 0x1F, 0x64, 0x0A, 0x20 }, "Best", "Best" }, { { 0x8C, 0x1F, 0x64, 0x0A, 0x30 }, "FischerConne", "Fischer & Connectors SA" }, { { 0x8C, 0x1F, 0x64, 0x0A, 0x40 }, "DynamicResea", "Dynamic Research, Inc." }, @@ -55723,6 +56055,7 @@ { { 0x8C, 0x1F, 0x64, 0x0E, 0x10 }, "Riverloop", "Riverloop Co., Ltd." }, { { 0x8C, 0x1F, 0x64, 0x0E, 0x20 }, "CardinalScal", "Cardinal Scales Manufacturing Co" }, { { 0x8C, 0x1F, 0x64, 0x0E, 0x30 }, "JISEONGENG", "JISEONGENG Co,.LTD" }, + { { 0x8C, 0x1F, 0x64, 0x0E, 0x40 }, "ModernServer", "Modern Server Solutions LLP" }, { { 0x8C, 0x1F, 0x64, 0x0E, 0x50 }, "RuggedScienc", "Rugged Science" }, { { 0x8C, 0x1F, 0x64, 0x0E, 0x60 }, "CleanwattsDi", "Cleanwatts Digital, S.A." }, { { 0x8C, 0x1F, 0x64, 0x0E, 0xA0 }, "SmartSkyNetw", "SmartSky Networks LLC" }, @@ -55776,6 +56109,7 @@ { { 0x8C, 0x1F, 0x64, 0x12, 0xD0 }, "YUYAMAMFG", "YUYAMA MFG Co.,Ltd" }, { { 0x8C, 0x1F, 0x64, 0x12, 0xE0 }, "inomatic", "inomatic GmbH" }, { { 0x8C, 0x1F, 0x64, 0x12, 0xF0 }, "MBconnectlin", "MB connect line GmbH" }, + { { 0x8C, 0x1F, 0x64, 0x13, 0x00 }, "VigorElectri", "Vigor Electric Corp." }, { { 0x8C, 0x1F, 0x64, 0x13, 0x30 }, "Vtron", "Vtron Pty Ltd" }, { { 0x8C, 0x1F, 0x64, 0x13, 0x40 }, "LyconSys", "LyconSys GmbH & Co.KG" }, { { 0x8C, 0x1F, 0x64, 0x13, 0x50 }, "YuvalFichman", "Yuval Fichman" }, @@ -55936,6 +56270,7 @@ { { 0x8C, 0x1F, 0x64, 0x21, 0xC0 }, "LLCEMSExpert", "LLC \"EMS-Expert\"" }, { { 0x8C, 0x1F, 0x64, 0x21, 0xE0 }, "Bionetics", "The Bionetics Corporation" }, { { 0x8C, 0x1F, 0x64, 0x22, 0x10 }, "YuansiangOpt", "Yuansiang Optoelectronics Co.,Ltd." }, + { { 0x8C, 0x1F, 0x64, 0x22, 0x30 }, "LoonsonTechn", "Loonson Technology Corporation Limited" }, { { 0x8C, 0x1F, 0x64, 0x22, 0x40 }, "PHBEletronic", "PHB Eletronica Ltda." }, { { 0x8C, 0x1F, 0x64, 0x22, 0x60 }, "ColossusComp", "Colossus Computing, Inc." }, { { 0x8C, 0x1F, 0x64, 0x22, 0x70 }, "Digilens", "Digilens" }, @@ -55957,6 +56292,7 @@ { { 0x8C, 0x1F, 0x64, 0x24, 0x70 }, "DadhwalWeigh", "Dadhwal Weighing Instrument Repairing Works" }, { { 0x8C, 0x1F, 0x64, 0x24, 0x80 }, "Terragene", "Terragene" }, { { 0x8C, 0x1F, 0x64, 0x24, 0x90 }, "TexComputer", "Tex Computer Srl" }, + { { 0x8C, 0x1F, 0x64, 0x24, 0xA0 }, "SuzhouNihone", "Suzhou Nihone Electronic Technology Co.,Ltd." }, { { 0x8C, 0x1F, 0x64, 0x24, 0xC0 }, "LinkAllTechn", "Shenzhen Link-All Technolgy Co., Ltd" }, { { 0x8C, 0x1F, 0x64, 0x24, 0xD0 }, "XiAnJiaodaKa", "Xi'An Jiaoda Kaida New Technology Co.Ltd" }, { { 0x8C, 0x1F, 0x64, 0x24, 0xE0 }, "YUYAMAMFG", "YUYAMA MFG Co.,Ltd" }, @@ -56038,6 +56374,7 @@ { { 0x8C, 0x1F, 0x64, 0x2A, 0xD0 }, "SugiharaSoft", "Sugihara Software and Electron Industry" }, { { 0x8C, 0x1F, 0x64, 0x2A, 0xF0 }, "ABestLid", "A-Best Co.,Lid." }, { { 0x8C, 0x1F, 0x64, 0x2B, 0x10 }, "UMeiDahIntLE", "U -Mei-Dah Int'L Enterprise Co.,Ltd." }, + { { 0x8C, 0x1F, 0x64, 0x2B, 0x20 }, "InfosoftDigi", "Infosoft Digital Design and Services P L" }, { { 0x8C, 0x1F, 0x64, 0x2B, 0x40 }, "Sonel", "Sonel S.A." }, { { 0x8C, 0x1F, 0x64, 0x2B, 0x60 }, "StercomPower", "Stercom Power Solutions GmbH" }, { { 0x8C, 0x1F, 0x64, 0x2B, 0x80 }, "Veinland", "Veinland GmbH" }, @@ -56168,6 +56505,7 @@ { { 0x8C, 0x1F, 0x64, 0x37, 0x00 }, "WOLFAdvanced", "WOLF Advanced Technology" }, { { 0x8C, 0x1F, 0x64, 0x37, 0x10 }, "Limab", "Limab Ab" }, { { 0x8C, 0x1F, 0x64, 0x37, 0x20 }, "WINKStreamin", "WINK Streaming" }, + { { 0x8C, 0x1F, 0x64, 0x37, 0x30 }, "PinKuanTechn", "Pin Kuan Technology Co., Ltd." }, { { 0x8C, 0x1F, 0x64, 0x37, 0x40 }, "AccordCommun", "Accord Communications Ltd" }, { { 0x8C, 0x1F, 0x64, 0x37, 0x50 }, "Duevi", "Duevi Srl" }, { { 0x8C, 0x1F, 0x64, 0x37, 0x60 }, "DIASInfrared", "DIAS Infrared GmbH" }, @@ -56182,6 +56520,7 @@ { { 0x8C, 0x1F, 0x64, 0x38, 0x00 }, "Yslab", "Yslab" }, { { 0x8C, 0x1F, 0x64, 0x38, 0x10 }, "TimeMachines", "TimeMachines Inc." }, { { 0x8C, 0x1F, 0x64, 0x38, 0x20 }, "ROLSTONETech", "Shenzhen ROLSTONE Technology Co., Ltd" }, + { { 0x8C, 0x1F, 0x64, 0x38, 0x30 }, "UrbidermisSL", "Urbidermis, S.L. (VAT ESB66435017)" }, { { 0x8C, 0x1F, 0x64, 0x38, 0x40 }, "TangoTango", "Tango Tango" }, { { 0x8C, 0x1F, 0x64, 0x38, 0x50 }, "Multilane", "Multilane Inc" }, { { 0x8C, 0x1F, 0x64, 0x38, 0x70 }, "Omnivision", "Omnivision" }, @@ -56205,6 +56544,7 @@ { { 0x8C, 0x1F, 0x64, 0x39, 0xB0 }, "DeviceworxTe", "Deviceworx Technologies Inc." }, { { 0x8C, 0x1F, 0x64, 0x39, 0xE0 }, "AbbottDiagno", "Abbott Diagnostics Technologies AS" }, { { 0x8C, 0x1F, 0x64, 0x39, 0xF0 }, "GuangzhouBei", "Guangzhou Beizeng Information Technology Co.,Ltd" }, + { { 0x8C, 0x1F, 0x64, 0x3A, 0x00 }, "Faraday4T", "Faraday4T" }, { { 0x8C, 0x1F, 0x64, 0x3A, 0x20 }, "KronMedidore", "Kron Medidores" }, { { 0x8C, 0x1F, 0x64, 0x3A, 0x30 }, "Lumentum", "Lumentum" }, { { 0x8C, 0x1F, 0x64, 0x3A, 0x40 }, "QLMTechnolog", "QLM Technology Ltd" }, @@ -56223,6 +56563,7 @@ { { 0x8C, 0x1F, 0x64, 0x3B, 0xA0 }, "MitsubishiEl", "Mitsubishi Electric India Pvt. Ltd." }, { { 0x8C, 0x1F, 0x64, 0x3B, 0xB0 }, "ClausalCompu", "Clausal Computing Oy" }, { { 0x8C, 0x1F, 0x64, 0x3B, 0xD0 }, "Oriux", "Oriux" }, + { { 0x8C, 0x1F, 0x64, 0x3B, 0xE0 }, "AditInnovati", "Adit Innovation Private Limited" }, { { 0x8C, 0x1F, 0x64, 0x3C, 0x00 }, "Snek", "Snek" }, { { 0x8C, 0x1F, 0x64, 0x3C, 0x10 }, "SuzhouLiansh", "Suzhou Lianshichuangzhi Technology Co., Ltd" }, { { 0x8C, 0x1F, 0x64, 0x3C, 0x20 }, "SamuelCosgro", "Samuel Cosgrove" }, @@ -56274,9 +56615,11 @@ { { 0x8C, 0x1F, 0x64, 0x40, 0x70 }, "broadtek", "broadtek" }, { { 0x8C, 0x1F, 0x64, 0x40, 0x80 }, "techonesyste", "techone system" }, { { 0x8C, 0x1F, 0x64, 0x40, 0xA0 }, "EnkiMultimed", "Enki Multimedia" }, + { { 0x8C, 0x1F, 0x64, 0x40, 0xB0 }, "WHOIAComms", "WHOI-AComms" }, { { 0x8C, 0x1F, 0x64, 0x40, 0xC0 }, "SichuanAiyij", "Sichuan Aiyijan Technology Company Ltd." }, { { 0x8C, 0x1F, 0x64, 0x40, 0xD0 }, "PROFITT", "PROFITT Ltd" }, { { 0x8C, 0x1F, 0x64, 0x40, 0xE0 }, "BakerHughesE", "Baker Hughes EMEA" }, + { { 0x8C, 0x1F, 0x64, 0x40, 0xF0 }, "FuzhouTucsen", "Fuzhou Tucsen Photonics Co.,Ltd" }, { { 0x8C, 0x1F, 0x64, 0x41, 0x00 }, "Roboteq", "Roboteq" }, { { 0x8C, 0x1F, 0x64, 0x41, 0x10 }, "PioneerCentu", "Pioneer Century Infocomm Pte Ltd" }, { { 0x8C, 0x1F, 0x64, 0x41, 0x20 }, "ComercialEle", "Comercial Electronica Studio-2 s.l." }, @@ -56320,10 +56663,12 @@ { { 0x8C, 0x1F, 0x64, 0x44, 0x70 }, "MarvausTechn", "Marvaus Technologies Private Limited" }, { { 0x8C, 0x1F, 0x64, 0x44, 0x80 }, "FörsterTechn", "Förster-Technik GmbH" }, { { 0x8C, 0x1F, 0x64, 0x44, 0xA0 }, "Onbitel", "Onbitel" }, + { { 0x8C, 0x1F, 0x64, 0x44, 0xC0 }, "RadiInternat", "Radi International CO., LTD." }, { { 0x8C, 0x1F, 0x64, 0x44, 0xD0 }, "DesignandMan", "Design and Manufacturing Vista Electronics Pvt.Ltd." }, { { 0x8C, 0x1F, 0x64, 0x44, 0xE0 }, "GVALighting", "GVA Lighting, Inc." }, { { 0x8C, 0x1F, 0x64, 0x44, 0xF0 }, "RealD", "RealD, Inc." }, { { 0x8C, 0x1F, 0x64, 0x45, 0x10 }, "GuanShowTech", "Guan Show Technologe Co., Ltd." }, + { { 0x8C, 0x1F, 0x64, 0x45, 0x20 }, "YonganXinton", "Beijing Yong'an Xintong Technology Co.,LTD" }, { { 0x8C, 0x1F, 0x64, 0x45, 0x40 }, "KJKlimatekni", "KJ Klimateknik A/S" }, { { 0x8C, 0x1F, 0x64, 0x45, 0x50 }, "Weigl", "Weigl GmbH & Co KG" }, { { 0x8C, 0x1F, 0x64, 0x45, 0x70 }, "AngweiInform", "Shanghai Angwei Information Technology Co.,Ltd." }, @@ -56484,6 +56829,7 @@ { { 0x8C, 0x1F, 0x64, 0x53, 0x40 }, "SuryaElectro", "Surya Electronics" }, { { 0x8C, 0x1F, 0x64, 0x53, 0x50 }, "ColumbusMcKi", "Columbus McKinnon" }, { { 0x8C, 0x1F, 0x64, 0x53, 0x60 }, "LxtvTechnolo", "Beijing Lxtv Technology Co.,Ltd" }, + { { 0x8C, 0x1F, 0x64, 0x53, 0x80 }, "InstruVU", "InstruVU" }, { { 0x8C, 0x1F, 0x64, 0x53, 0xA0 }, "TPVisionEuro", "TPVision Europe B.V" }, { { 0x8C, 0x1F, 0x64, 0x53, 0xB0 }, "REFUStorageS", "REFU Storage System GmbH" }, { { 0x8C, 0x1F, 0x64, 0x53, 0xC0 }, "FilgisElektr", "Filgis Elektronik" }, @@ -56522,6 +56868,7 @@ { { 0x8C, 0x1F, 0x64, 0x56, 0xD0 }, "Acod", "Acod" }, { { 0x8C, 0x1F, 0x64, 0x56, 0xE0 }, "Euklis", "Euklis srl" }, { { 0x8C, 0x1F, 0x64, 0x56, 0xF0 }, "AdetecSas", "Adetec Sas" }, + { { 0x8C, 0x1F, 0x64, 0x57, 0x00 }, "ACDElektroni", "ACD Elektronik GmbH" }, { { 0x8C, 0x1F, 0x64, 0x57, 0x20 }, "ZmbiziApp", "Zmbizi App Llc" }, { { 0x8C, 0x1F, 0x64, 0x57, 0x30 }, "IngeniousTec", "Ingenious Technology LLC" }, { { 0x8C, 0x1F, 0x64, 0x57, 0x40 }, "FlockAudio", "Flock Audio Inc." }, @@ -56583,6 +56930,7 @@ { { 0x8C, 0x1F, 0x64, 0x5C, 0x40 }, "Cooltera", "Cooltera Limited" }, { { 0x8C, 0x1F, 0x64, 0x5C, 0x50 }, "ActiveResear", "Active Research Limited" }, { { 0x8C, 0x1F, 0x64, 0x5C, 0x60 }, "SystemsWithI", "Systems With Intelligence Inc." }, + { { 0x8C, 0x1F, 0x64, 0x5C, 0x80 }, "WOTA", "WOTA Corp." }, { { 0x8C, 0x1F, 0x64, 0x5C, 0x90 }, "AbbottDiagno", "Abbott Diagnostics Technologies AS" }, { { 0x8C, 0x1F, 0x64, 0x5C, 0xA0 }, "Vitaltrace", "Vitaltrace PTY LTD" }, { { 0x8C, 0x1F, 0x64, 0x5C, 0xB0 }, "dinosys", "dinosys" }, @@ -56600,6 +56948,7 @@ { { 0x8C, 0x1F, 0x64, 0x5D, 0xB0 }, "GlobalInvaco", "GlobalInvacom" }, { { 0x8C, 0x1F, 0x64, 0x5D, 0xE0 }, "SekureTrakdb", "SekureTrak Inc. dba TraknProtect" }, { { 0x8C, 0x1F, 0x64, 0x5D, 0xF0 }, "RoeschWalter", "Roesch Walter Industrie-Elektronik GmbH" }, + { { 0x8C, 0x1F, 0x64, 0x5E, 0x00 }, "EverestAudio", "Everest Audio Labs" }, { { 0x8C, 0x1F, 0x64, 0x5E, 0x10 }, "PowerElectro", "Power Electronics Espana, S.L." }, { { 0x8C, 0x1F, 0x64, 0x5E, 0x30 }, "Nixer", "Nixer Ltd" }, { { 0x8C, 0x1F, 0x64, 0x5E, 0x40 }, "WuxiZetaiMic", "Wuxi Zetai Microelectronics Co., LTD" }, @@ -56627,6 +56976,7 @@ { { 0x8C, 0x1F, 0x64, 0x60, 0x10 }, "Camius", "Camius" }, { { 0x8C, 0x1F, 0x64, 0x60, 0x20 }, "PowerElectro", "Power Electronics Espana, S.L." }, { { 0x8C, 0x1F, 0x64, 0x60, 0x30 }, "FukuEnergyTe", "Fuku Energy Technology Co., Ltd." }, + { { 0x8C, 0x1F, 0x64, 0x60, 0x40 }, "LeafLabs", "LeafLabs, LLC" }, { { 0x8C, 0x1F, 0x64, 0x60, 0x50 }, "Xacti", "Xacti Corporation" }, { { 0x8C, 0x1F, 0x64, 0x60, 0x60 }, "NodOnSAS", "NodOn SAS" }, { { 0x8C, 0x1F, 0x64, 0x60, 0x70 }, "NanjingAoton", "Nanjing Aotong Intelligent Technology Co.,Ltd" }, @@ -56663,6 +57013,7 @@ { { 0x8C, 0x1F, 0x64, 0x63, 0x30 }, "GyrosProtein", "Gyros Protein Technologies AB" }, { { 0x8C, 0x1F, 0x64, 0x63, 0x40 }, "Aml", "Aml" }, { { 0x8C, 0x1F, 0x64, 0x63, 0x60 }, "EuropeTrade", "Europe Trade" }, + { { 0x8C, 0x1F, 0x64, 0x63, 0x70 }, "HwaCom", "HwaCom Systems Inc." }, { { 0x8C, 0x1F, 0x64, 0x63, 0x80 }, "ThunderDataT", "Thunder Data Taiwan Co., Ltd." }, { { 0x8C, 0x1F, 0x64, 0x63, 0x90 }, "TRDPte", "TRD Systems Pte Ltd" }, { { 0x8C, 0x1F, 0x64, 0x63, 0xB0 }, "Tiama", "Tiama" }, @@ -56715,6 +57066,7 @@ { { 0x8C, 0x1F, 0x64, 0x67, 0xF0 }, "HamamatsuPho", "Hamamatsu Photonics K.K." }, { { 0x8C, 0x1F, 0x64, 0x68, 0x00 }, "Mitrol", "Mitrol S.R.L." }, { { 0x8C, 0x1F, 0x64, 0x68, 0x10 }, "wayfiwireles", "wayfiwireless.com" }, + { { 0x8C, 0x1F, 0x64, 0x68, 0x20 }, "MBconnectlin", "MB connect line GmbH" }, { { 0x8C, 0x1F, 0x64, 0x68, 0x30 }, "Slat", "Slat" }, { { 0x8C, 0x1F, 0x64, 0x68, 0x40 }, "PotterElectr", "Potter Electric Signal Co. LLC" }, { { 0x8C, 0x1F, 0x64, 0x68, 0x50 }, "SancharWirel", "Sanchar Wireless Communications Ltd" }, @@ -56738,6 +57090,7 @@ { { 0x8C, 0x1F, 0x64, 0x69, 0xF0 }, "Insightec", "Insightec" }, { { 0x8C, 0x1F, 0x64, 0x6A, 0x00 }, "Avionica", "Avionica" }, { { 0x8C, 0x1F, 0x64, 0x6A, 0x10 }, "Ocarina", "Ocarina" }, + { { 0x8C, 0x1F, 0x64, 0x6A, 0x20 }, "ExatronServe", "Exatron Servers Manufacturing Pvt Ltd" }, { { 0x8C, 0x1F, 0x64, 0x6A, 0x30 }, "BectonDickin", "Becton Dickinson" }, { { 0x8C, 0x1F, 0x64, 0x6A, 0x40 }, "Automata", "Automata Spa" }, { { 0x8C, 0x1F, 0x64, 0x6A, 0x60 }, "Q", "Q (Cue), Inc." }, @@ -56801,6 +57154,7 @@ { { 0x8C, 0x1F, 0x64, 0x6F, 0x70 }, "EddyWorks", "EddyWorks Co.,Ltd" }, { { 0x8C, 0x1F, 0x64, 0x6F, 0x80 }, "ProikerTechn", "Proiker Technology Sl" }, { { 0x8C, 0x1F, 0x64, 0x6F, 0x90 }, "Anddoro", "Anddoro Llc" }, + { { 0x8C, 0x1F, 0x64, 0x6F, 0xA0 }, "IdneoTechnol", "Idneo Technologies,S.A.U." }, { { 0x8C, 0x1F, 0x64, 0x6F, 0xB0 }, "ExatronServe", "Exatron Servers Manufacturing Pvt Ltd" }, { { 0x8C, 0x1F, 0x64, 0x6F, 0xC0 }, "HM", "HM Systems A/S" }, { { 0x8C, 0x1F, 0x64, 0x70, 0x00 }, "Quantaflow", "Quantaflow" }, @@ -56940,6 +57294,7 @@ { { 0x8C, 0x1F, 0x64, 0x7B, 0xB0 }, "KotsuDengyos", "Kotsu Dengyosha Co., Ltd." }, { { 0x8C, 0x1F, 0x64, 0x7B, 0xC0 }, "GOdevelopmen", "GO development GmbH" }, { { 0x8C, 0x1F, 0x64, 0x7B, 0xE0 }, "inomatic", "inomatic GmbH" }, + { { 0x8C, 0x1F, 0x64, 0x7B, 0xF0 }, "DrsRADATechn", "Drs RADA Technologies" }, { { 0x8C, 0x1F, 0x64, 0x7C, 0x10 }, "RailTelemati", "Rail Telematics Corp" }, { { 0x8C, 0x1F, 0x64, 0x7C, 0x20 }, "CTIIntlSolut", "CTI Intl Solutions" }, { { 0x8C, 0x1F, 0x64, 0x7C, 0x30 }, "BlueBoxBiome", "The Blue Box Biomedical Solutions, SL" }, @@ -56969,6 +57324,7 @@ { { 0x8C, 0x1F, 0x64, 0x7E, 0x10 }, "Heitec", "Heitec Ag" }, { { 0x8C, 0x1F, 0x64, 0x7E, 0x20 }, "AaronnElectr", "Aaronn Electronic GmbH" }, { { 0x8C, 0x1F, 0x64, 0x7E, 0x30 }, "Une", "Une Srl" }, + { { 0x8C, 0x1F, 0x64, 0x7E, 0x40 }, "PeterHuberKa", "Peter Huber Kaeltemaschinenbau SE" }, { { 0x8C, 0x1F, 0x64, 0x7E, 0x70 }, "robertjuliat", "robert juliat" }, { { 0x8C, 0x1F, 0x64, 0x7E, 0x80 }, "EAElektroAut", "EA Elektro-Automatik GmbH" }, { { 0x8C, 0x1F, 0x64, 0x7E, 0xA0 }, "AbbottDiagno", "Abbott Diagnostics Technologies AS" }, @@ -56988,6 +57344,7 @@ { { 0x8C, 0x1F, 0x64, 0x7F, 0xC0 }, "MitsubishiEl", "Mitsubishi Electric Klimat Transportation Systems S.p.A." }, { { 0x8C, 0x1F, 0x64, 0x7F, 0xD0 }, "SECUREAAi", "SECUREAAi" }, { { 0x8C, 0x1F, 0x64, 0x7F, 0xE0 }, "KonvisonTech", "Shenzhen Konvison Technology Co.,Ltd." }, + { { 0x8C, 0x1F, 0x64, 0x7F, 0xF0 }, "PotterElectr", "Potter Electric Signal Company" }, { { 0x8C, 0x1F, 0x64, 0x80, 0x00 }, "SDGTelecomEq", "Shenzhen SDG Telecom Equipment Co.,Ltd." }, { { 0x8C, 0x1F, 0x64, 0x80, 0x10 }, "ZhejiangLaol", "Zhejiang Laolan Information Technology Co., Ltd" }, { { 0x8C, 0x1F, 0x64, 0x80, 0x20 }, "DaiichiElect", "Daiichi Electric Industry Co., Ltd" }, @@ -56996,6 +57353,7 @@ { { 0x8C, 0x1F, 0x64, 0x80, 0x50 }, "ATALsro", "ATAL s.r.o." }, { { 0x8C, 0x1F, 0x64, 0x80, 0x60 }, "Matrixspace", "Matrixspace" }, { { 0x8C, 0x1F, 0x64, 0x80, 0x70 }, "GiordanoCont", "Giordano Controls Spa" }, + { { 0x8C, 0x1F, 0x64, 0x80, 0xB0 }, "SUNTAC", "SUNTAC Co., Ltd." }, { { 0x8C, 0x1F, 0x64, 0x80, 0xC0 }, "ThermifyHold", "Thermify Holdings Ltd" }, { { 0x8C, 0x1F, 0x64, 0x80, 0xD0 }, "jooyonelectr", "jooyon electronics Service co.LTD" }, { { 0x8C, 0x1F, 0x64, 0x80, 0xE0 }, "TxWireless", "TxWireless Limited" }, @@ -57046,6 +57404,7 @@ { { 0x8C, 0x1F, 0x64, 0x84, 0xC0 }, "AvMapsrlu", "AvMap srlu" }, { { 0x8C, 0x1F, 0x64, 0x84, 0xD0 }, "Dave", "Dave Srl" }, { { 0x8C, 0x1F, 0x64, 0x84, 0xE0 }, "WestPharmace", "West Pharmaceutical Services, Inc." }, + { { 0x8C, 0x1F, 0x64, 0x85, 0x00 }, "TokyoDenkiGi", "Tokyo Denki Gijutsu Kogyo" }, { { 0x8C, 0x1F, 0x64, 0x85, 0x20 }, "Abb", "Abb" }, { { 0x8C, 0x1F, 0x64, 0x85, 0x50 }, "ekundenservi", "e.kundenservice Netz GmbH" }, { { 0x8C, 0x1F, 0x64, 0x85, 0x60 }, "GartenAutoma", "Garten Automation" }, @@ -57122,6 +57481,7 @@ { { 0x8C, 0x1F, 0x64, 0x8C, 0x20 }, "Cirrus", "Cirrus Systems, Inc." }, { { 0x8C, 0x1F, 0x64, 0x8C, 0x40 }, "HermesNetwor", "Hermes Network Inc" }, { { 0x8C, 0x1F, 0x64, 0x8C, 0x50 }, "NextTMicrowa", "NextT Microwave Inc" }, + { { 0x8C, 0x1F, 0x64, 0x8C, 0x70 }, "MakitaIndust", "Makita Industrial Tools Corporation" }, { { 0x8C, 0x1F, 0x64, 0x8C, 0x80 }, "PotterElectr", "Potter Electric Signal Co. LLC" }, { { 0x8C, 0x1F, 0x64, 0x8C, 0x90 }, "RoboCoreTecn", "RoboCore Tecnologia" }, { { 0x8C, 0x1F, 0x64, 0x8C, 0xA0 }, "YUYAMAMFG", "YUYAMA MFG Co.,Ltd" }, @@ -57163,6 +57523,7 @@ { { 0x8C, 0x1F, 0x64, 0x8F, 0xB0 }, "TelevicRail", "Televic Rail GmbH" }, { { 0x8C, 0x1F, 0x64, 0x8F, 0xE0 }, "PotterElectr", "Potter Electric Signal Co. LLC" }, { { 0x8C, 0x1F, 0x64, 0x8F, 0xF0 }, "KrugerDBSeri", "Kruger DB Series Indústria Eletrônica ltda" }, + { { 0x8C, 0x1F, 0x64, 0x90, 0x00 }, "AutaComunica", "Auta Comunicaciones Sl" }, { { 0x8C, 0x1F, 0x64, 0x90, 0x10 }, "Comrex", "Comrex" }, { { 0x8C, 0x1F, 0x64, 0x90, 0x20 }, "TimeMachines", "TimeMachines Inc." }, { { 0x8C, 0x1F, 0x64, 0x90, 0x30 }, "PortraitDisp", "Portrait Displays, Inc." }, @@ -57197,6 +57558,7 @@ { { 0x8C, 0x1F, 0x64, 0x92, 0xD0 }, "IVORIntellig", "IVOR Intelligent Electrical Appliance Co., Ltd" }, { { 0x8C, 0x1F, 0x64, 0x93, 0x00 }, "HYAIEVTechno", "Wuhan HYAIEV (华异) Technology Co., Ltd" }, { { 0x8C, 0x1F, 0x64, 0x93, 0x10 }, "Noptel", "Noptel Oy" }, + { { 0x8C, 0x1F, 0x64, 0x93, 0x40 }, "eumigindustr", "eumig industrie-TV GmbH." }, { { 0x8C, 0x1F, 0x64, 0x93, 0x50 }, "BreasMedical", "Breas Medical AB" }, { { 0x8C, 0x1F, 0x64, 0x93, 0x60 }, "JiangsuEmanE", "Jiangsu Eman Electronic Technology Co., Ltd" }, { { 0x8C, 0x1F, 0x64, 0x93, 0x70 }, "H2OkInnovati", "H2Ok Innovations" }, @@ -57215,6 +57577,8 @@ { { 0x8C, 0x1F, 0x64, 0x94, 0xC0 }, "Bcmtech", "Bcmtech" }, { { 0x8C, 0x1F, 0x64, 0x94, 0xE0 }, "Monnit", "Monnit Corporation" }, { { 0x8C, 0x1F, 0x64, 0x94, 0xF0 }, "FörsterTechn", "Förster Technik GmbH" }, + { { 0x8C, 0x1F, 0x64, 0x95, 0x00 }, "BreasMedical", "Breas Medical AB" }, + { { 0x8C, 0x1F, 0x64, 0x95, 0x10 }, "MitsubishiEl", "Mitsubishi Electric India Pvt. Ltd." }, { { 0x8C, 0x1F, 0x64, 0x95, 0x30 }, "VAFInstrumen", "VAF Instruments BV" }, { { 0x8C, 0x1F, 0x64, 0x95, 0x50 }, "TalleresdeEs", "Talleres de Escoriaza SAU" }, { { 0x8C, 0x1F, 0x64, 0x95, 0x60 }, "PaulmannLich", "Paulmann Licht GmbH" }, @@ -57260,6 +57624,7 @@ { { 0x8C, 0x1F, 0x64, 0x98, 0xD0 }, "Akselsp", "Aksel sp. z o.o." }, { { 0x8C, 0x1F, 0x64, 0x98, 0xE0 }, "RationalProd", "Rational Production srl Unipersonale" }, { { 0x8C, 0x1F, 0x64, 0x98, 0xF0 }, "BreasMedical", "Breas Medical AB" }, + { { 0x8C, 0x1F, 0x64, 0x99, 0x00 }, "TraxaraRobot", "Traxara Robotics" }, { { 0x8C, 0x1F, 0x64, 0x99, 0x10 }, "DBSystel", "DB Systel GmbH" }, { { 0x8C, 0x1F, 0x64, 0x99, 0x30 }, "AppliedElect", "Applied Electro Magnetics Pvt. Ltd." }, { { 0x8C, 0x1F, 0x64, 0x99, 0x40 }, "uHaveControl", "uHave Control, Inc" }, @@ -57282,6 +57647,7 @@ { { 0x8C, 0x1F, 0x64, 0x9A, 0xB0 }, "Dave", "Dave Srl" }, { { 0x8C, 0x1F, 0x64, 0x9A, 0xC0 }, "JingtangComm", "Hangzhou Jingtang Communication Technology Co.,Ltd." }, { { 0x8C, 0x1F, 0x64, 0x9A, 0xD0 }, "PotterElectr", "Potter Electric Signal Co. LLC" }, + { { 0x8C, 0x1F, 0x64, 0x9A, 0xF0 }, "AdvancedMech", "Advanced Mechatronics GmbH" }, { { 0x8C, 0x1F, 0x64, 0x9B, 0x20 }, "EmersonRosem", "Emerson Rosemount Analytical" }, { { 0x8C, 0x1F, 0x64, 0x9B, 0x30 }, "Böckelt", "Böckelt GmbH" }, { { 0x8C, 0x1F, 0x64, 0x9B, 0x50 }, "BerkeleyNucl", "Berkeley Nucleonics Corp" }, @@ -57313,6 +57679,7 @@ { { 0x8C, 0x1F, 0x64, 0x9D, 0xF0 }, "astTECSCommu", "astTECS Communications Private Limited" }, { { 0x8C, 0x1F, 0x64, 0x9E, 0x00 }, "Druck", "Druck Ltd." }, { { 0x8C, 0x1F, 0x64, 0x9E, 0x20 }, "Technologyfo", "Technology for Energy Corp" }, + { { 0x8C, 0x1F, 0x64, 0x9E, 0x30 }, "EGlobaledge", "E-Globaledge Corporation" }, { { 0x8C, 0x1F, 0x64, 0x9E, 0x40 }, "RMDSinnovati", "RMDS innovation inc." }, { { 0x8C, 0x1F, 0x64, 0x9E, 0x50 }, "SchunkSonosy", "Schunk Sonosystems GmbH" }, { { 0x8C, 0x1F, 0x64, 0x9E, 0x60 }, "MBconnectlin", "MB connect line GmbH Fernwartungssysteme" }, @@ -57327,6 +57694,7 @@ { { 0x8C, 0x1F, 0x64, 0x9F, 0x40 }, "Grossenbache", "Grossenbacher Systeme AG" }, { { 0x8C, 0x1F, 0x64, 0x9F, 0x50 }, "YUYAMAMFG", "YUYAMA MFG Co.,Ltd" }, { { 0x8C, 0x1F, 0x64, 0x9F, 0x60 }, "VisionSafety", "Vision Systems Safety Tech" }, + { { 0x8C, 0x1F, 0x64, 0x9F, 0x70 }, "WuxiTongyuan", "Wuxi Tongyuan Electrical Technology Co., Ltd." }, { { 0x8C, 0x1F, 0x64, 0x9F, 0x80 }, "ExypnosCreat", "Exypnos - Creative Solutions LTD" }, { { 0x8C, 0x1F, 0x64, 0x9F, 0xA0 }, "METRONAUnion", "METRONA-Union GmbH" }, { { 0x8C, 0x1F, 0x64, 0x9F, 0xB0 }, "CiIsrael", "Ci Systems Israel Ltd" }, @@ -57387,6 +57755,7 @@ { { 0x8C, 0x1F, 0x64, 0xA4, 0x90 }, "Integerpl", "Integer.pl S.A." }, { { 0x8C, 0x1F, 0x64, 0xA4, 0xA0 }, "YUYAMAMFG", "YUYAMA MFG Co.,Ltd" }, { { 0x8C, 0x1F, 0x64, 0xA4, 0xC0 }, "FlextronicsI", "Flextronics International Kft" }, + { { 0x8C, 0x1F, 0x64, 0xA4, 0xD0 }, "DEUTAWERKE", "DEUTA-WERKE GmbH" }, { { 0x8C, 0x1F, 0x64, 0xA4, 0xE0 }, "SyscomInstru", "Syscom Instruments SA" }, { { 0x8C, 0x1F, 0x64, 0xA4, 0xF0 }, "AsconTecnolo", "Ascon Tecnologic S.r.l." }, { { 0x8C, 0x1F, 0x64, 0xA5, 0x10 }, "Babtel", "Babtel" }, @@ -57426,8 +57795,10 @@ { { 0x8C, 0x1F, 0x64, 0xA8, 0x40 }, "WenriseTechn", "Beijing Wenrise Technology Co., Ltd." }, { { 0x8C, 0x1F, 0x64, 0xA8, 0x60 }, "GlobalDesign", "Global Design Tech(ZS) Co.,Ltd" }, { { 0x8C, 0x1F, 0x64, 0xA8, 0x70 }, "MorgenTechno", "Morgen Technology" }, + { { 0x8C, 0x1F, 0x64, 0xA8, 0x80 }, "ResIOTUBLSOF", "ResIOT UBLSOFTWARE SRL" }, { { 0x8C, 0x1F, 0x64, 0xA8, 0x90 }, "MitsubishiEl", "Mitsubishi Electric India Pvt. Ltd." }, { { 0x8C, 0x1F, 0x64, 0xA8, 0xC0 }, "ElektronikAr", "Elektronik Art" }, + { { 0x8C, 0x1F, 0x64, 0xA8, 0xD0 }, "Brightxcom", "Brightxcom" }, { { 0x8C, 0x1F, 0x64, 0xA9, 0x00 }, "DSGioGlobalP", "DSGio Global Pte Ltd" }, { { 0x8C, 0x1F, 0x64, 0xA9, 0x10 }, "InfinitiveGr", "Infinitive Group Limited" }, { { 0x8C, 0x1F, 0x64, 0xA9, 0x20 }, "AgrologyPBC", "Agrology, PBC" }, @@ -57443,6 +57814,7 @@ { { 0x8C, 0x1F, 0x64, 0xA9, 0xF0 }, "DadhwalAiPri", "Dadhwal Ai Private Limited" }, { { 0x8C, 0x1F, 0x64, 0xAA, 0x00 }, "FlextronicsI", "Flextronics International Kft" }, { { 0x8C, 0x1F, 0x64, 0xAA, 0x10 }, "TechFasssro", "Tech Fass s.r.o." }, + { { 0x8C, 0x1F, 0x64, 0xAA, 0x20 }, "PotterElectr", "Potter Electric Signal Company" }, { { 0x8C, 0x1F, 0x64, 0xAA, 0x30 }, "PeterHuberKa", "Peter Huber Kaeltemaschinenbau SE" }, { { 0x8C, 0x1F, 0x64, 0xAA, 0x40 }, "HEINENELEKTR", "HEINEN ELEKTRONIK GmbH" }, { { 0x8C, 0x1F, 0x64, 0xAA, 0x60 }, "DataConversi", "Data Conversion Systems Ltd" }, @@ -57519,6 +57891,7 @@ { { 0x8C, 0x1F, 0x64, 0xB0, 0xE0 }, "WatthourEngi", "Watthour Engineering Co., Inc." }, { { 0x8C, 0x1F, 0x64, 0xB0, 0xF0 }, "HKCSecurity", "HKC Security Ltd." }, { { 0x8C, 0x1F, 0x64, 0xB1, 0x00 }, "MTUAeroEngin", "MTU Aero Engines AG" }, + { { 0x8C, 0x1F, 0x64, 0xB1, 0x20 }, "HongtaiIntel", "Hongtai Intelligent Technology" }, { { 0x8C, 0x1F, 0x64, 0xB1, 0x30 }, "Abode", "Abode Systems Inc" }, { { 0x8C, 0x1F, 0x64, 0xB1, 0x40 }, "MurataManufa", "Murata Manufacturing CO., Ltd." }, { { 0x8C, 0x1F, 0x64, 0xB1, 0x50 }, "Pneumax", "Pneumax Spa" }, @@ -57560,6 +57933,7 @@ { { 0x8C, 0x1F, 0x64, 0xB4, 0x60 }, "PhygitallSol", "Phygitall Soluções Em Internet Das Coisas" }, { { 0x8C, 0x1F, 0x64, 0xB4, 0x70 }, "LineagePower", "Lineage Power Pvt Ltd.," }, { { 0x8C, 0x1F, 0x64, 0xB4, 0xC0 }, "PicocomTechn", "Picocom Technology Ltd" }, + { { 0x8C, 0x1F, 0x64, 0xB4, 0xE0 }, "Aditec", "Aditec GmbH" }, { { 0x8C, 0x1F, 0x64, 0xB4, 0xF0 }, "VaunixTechno", "Vaunix Technology Corporation" }, { { 0x8C, 0x1F, 0x64, 0xB5, 0x00 }, "Kinemetrics", "Kinemetrics, Inc." }, { { 0x8C, 0x1F, 0x64, 0xB5, 0x10 }, "VojenskyTech", "Vojensky Technicky Ustav, s.p." }, @@ -57584,10 +57958,12 @@ { { 0x8C, 0x1F, 0x64, 0xB6, 0xD0 }, "AndyL", "Andy-L Ltd" }, { { 0x8C, 0x1F, 0x64, 0xB6, 0xE0 }, "LoopTechnolo", "Loop Technologies" }, { { 0x8C, 0x1F, 0x64, 0xB6, 0xF0 }, "ProsecureFzc", "Prosecure Fzco" }, + { { 0x8C, 0x1F, 0x64, 0xB7, 0x00 }, "TeslaSubsea", "Tesla Subsea Inc." }, { { 0x8C, 0x1F, 0x64, 0xB7, 0x10 }, "SichuanYouke", "Sichuan Youke Communication Technology Co., Ltd" }, { { 0x8C, 0x1F, 0x64, 0xB7, 0x30 }, "Commence", "Comm-ence, Inc." }, { { 0x8C, 0x1F, 0x64, 0xB7, 0x60 }, "BavariaDigit", "Bavaria Digital Technik GmbH" }, { { 0x8C, 0x1F, 0x64, 0xB7, 0x70 }, "CarestreamDe", "Carestream Dental LLC" }, + { { 0x8C, 0x1F, 0x64, 0xB7, 0x80 }, "PowerElectro", "Power Electronics Espana, S.L." }, { { 0x8C, 0x1F, 0x64, 0xB7, 0x90 }, "AddSecureSma", "AddSecure Smart Grids" }, { { 0x8C, 0x1F, 0x64, 0xB7, 0xA0 }, "MG", "MG s.r.l." }, { { 0x8C, 0x1F, 0x64, 0xB7, 0xB0 }, "GateviewTech", "Gateview Technologies" }, @@ -57602,6 +57978,7 @@ { { 0x8C, 0x1F, 0x64, 0xB8, 0x50 }, "CandelaTechn", "Candela Technologies Inc" }, { { 0x8C, 0x1F, 0x64, 0xB8, 0x60 }, "ElektronikMo", "Elektronik & Modellprodukter Gävle AB" }, { { 0x8C, 0x1F, 0x64, 0xB8, 0x80 }, "INTRONIK", "INTRONIK GmbH" }, + { { 0x8C, 0x1F, 0x64, 0xB8, 0x90 }, "Aineas", "Aineas" }, { { 0x8C, 0x1F, 0x64, 0xB8, 0xB0 }, "DogWatch", "DogWatch Inc" }, { { 0x8C, 0x1F, 0x64, 0xB8, 0xC0 }, "ChipsetCommu", "Chipset Communication Co.,Ltd." }, { { 0x8C, 0x1F, 0x64, 0xB8, 0xD0 }, "Tongyelnnova", "Tongye lnnovation Science and Technology (Shenzhen) Co.,Ltd" }, @@ -57692,6 +58069,7 @@ { { 0x8C, 0x1F, 0x64, 0xBF, 0x60 }, "PanoramicPow", "Panoramic Power" }, { { 0x8C, 0x1F, 0x64, 0xBF, 0x70 }, "IntelliconPr", "Intellicon Private Limited" }, { { 0x8C, 0x1F, 0x64, 0xBF, 0x80 }, "Cdsi", "Cdsi" }, + { { 0x8C, 0x1F, 0x64, 0xBF, 0x90 }, "Hitachienerg", "Hitachi energy India ltd" }, { { 0x8C, 0x1F, 0x64, 0xBF, 0xB0 }, "TechArgos", "TechArgos" }, { { 0x8C, 0x1F, 0x64, 0xBF, 0xC0 }, "ASiSTechnolo", "ASiS Technologies Pte Ltd" }, { { 0x8C, 0x1F, 0x64, 0xBF, 0xD0 }, "InnosTechnol", "Innos Technologies" }, @@ -57720,6 +58098,7 @@ { { 0x8C, 0x1F, 0x64, 0xC1, 0xC0 }, "VektrexElect", "Vektrex Electronics Systems, Inc." }, { { 0x8C, 0x1F, 0x64, 0xC1, 0xE0 }, "VaSyd", "Va Syd" }, { { 0x8C, 0x1F, 0x64, 0xC1, 0xF0 }, "Esys", "Esys Srl" }, + { { 0x8C, 0x1F, 0x64, 0xC2, 0x10 }, "SPECIMSpectr", "SPECIM, Spectral Imaging Oy Ltd" }, { { 0x8C, 0x1F, 0x64, 0xC2, 0x20 }, "Pulcroio", "Pulcro.io LLC" }, { { 0x8C, 0x1F, 0x64, 0xC2, 0x40 }, "Alifax", "Alifax S.r.l." }, { { 0x8C, 0x1F, 0x64, 0xC2, 0x60 }, "IronwoodElec", "Ironwood Electronics" }, @@ -57730,6 +58109,7 @@ { { 0x8C, 0x1F, 0x64, 0xC2, 0xD0 }, "iENSO", "iENSO Inc." }, { { 0x8C, 0x1F, 0x64, 0xC2, 0xE0 }, "IcsSolutions", "Ics Solutions Inc." }, { { 0x8C, 0x1F, 0x64, 0xC2, 0xF0 }, "PowerElectro", "Power Electronics Espana, S.L." }, + { { 0x8C, 0x1F, 0x64, 0xC3, 0x00 }, "MarcoRNapole", "Marco R. Napoleone" }, { { 0x8C, 0x1F, 0x64, 0xC3, 0x10 }, "Ambarella", "Ambarella Inc." }, { { 0x8C, 0x1F, 0x64, 0xC3, 0x40 }, "XinyuandiTec", "Chengdu Xinyuandi Technology Co., Ltd." }, { { 0x8C, 0x1F, 0x64, 0xC3, 0x50 }, "PeterHuberKa", "Peter Huber Kaeltemaschinenbau SE" }, @@ -57813,6 +58193,7 @@ { { 0x8C, 0x1F, 0x64, 0xCA, 0x70 }, "eumigindustr", "eumig industrie-TV GmbH." }, { { 0x8C, 0x1F, 0x64, 0xCA, 0x80 }, "OptiemusElec", "Optiemus Electronics Limited" }, { { 0x8C, 0x1F, 0x64, 0xCA, 0x90 }, "AvantTechnol", "Avant Technologies" }, + { { 0x8C, 0x1F, 0x64, 0xCA, 0xA0 }, "EnergomElect", "Energom Electronic Kft." }, { { 0x8C, 0x1F, 0x64, 0xCA, 0xB0 }, "SpyderContro", "Spyder Controls Corp." }, { { 0x8C, 0x1F, 0x64, 0xCA, 0xD0 }, "GeneralMotor", "General Motors" }, { { 0x8C, 0x1F, 0x64, 0xCA, 0xE0 }, "OphirManufac", "Ophir Manufacturing Solutions Pte Ltd" }, @@ -57842,6 +58223,7 @@ { { 0x8C, 0x1F, 0x64, 0xCD, 0x10 }, "FlextronicsI", "Flextronics International Kft" }, { { 0x8C, 0x1F, 0x64, 0xCD, 0x30 }, "Pionierkraft", "Pionierkraft GmbH" }, { { 0x8C, 0x1F, 0x64, 0xCD, 0x40 }, "ShengliTechn", "Shengli Technologies" }, + { { 0x8C, 0x1F, 0x64, 0xCD, 0x50 }, "DynamicIntel", "Dynamic Intelligences Co., Ltd." }, { { 0x8C, 0x1F, 0x64, 0xCD, 0x60 }, "USM", "USM Pty Ltd" }, { { 0x8C, 0x1F, 0x64, 0xCD, 0x70 }, "EmbeddedDesi", "Embedded Designs Services India Pvt Ltd" }, { { 0x8C, 0x1F, 0x64, 0xCD, 0x80 }, "GogoBusiness", "Gogo Business Aviation" }, @@ -57875,6 +58257,7 @@ { { 0x8C, 0x1F, 0x64, 0xCF, 0xD0 }, "SmartVOD", "Smart-VOD Pty Ltd" }, { { 0x8C, 0x1F, 0x64, 0xCF, 0xE0 }, "InstrumentDe", "Instrument Development Group (IDG) at Johns Hopkins University" }, { { 0x8C, 0x1F, 0x64, 0xD0, 0x00 }, "POLAKCZsro", "POLAK CZ s.r.o." }, + { { 0x8C, 0x1F, 0x64, 0xD0, 0x10 }, "EmersonRosem", "Emerson Rosemount Analytical" }, { { 0x8C, 0x1F, 0x64, 0xD0, 0x20 }, "FlextronicsI", "Flextronics International Kft" }, { { 0x8C, 0x1F, 0x64, 0xD0, 0x70 }, "TalleresdeEs", "Talleres de Escoriaza SAU" }, { { 0x8C, 0x1F, 0x64, 0xD0, 0x80 }, "PowerElectro", "Power Electronics Espana, S.L." }, @@ -57955,6 +58338,7 @@ { { 0x8C, 0x1F, 0x64, 0xD7, 0x10 }, "ComputechInt", "Computech International" }, { { 0x8C, 0x1F, 0x64, 0xD7, 0x30 }, "BRSSistemasE", "BRS Sistemas Eletrônicos" }, { { 0x8C, 0x1F, 0x64, 0xD7, 0x40 }, "TexComputer", "Tex Computer Srl" }, + { { 0x8C, 0x1F, 0x64, 0xD7, 0x50 }, "FallingEdgeT", "Falling Edge Technology Ltd" }, { { 0x8C, 0x1F, 0x64, 0xD7, 0x70 }, "Private", "Private" }, { { 0x8C, 0x1F, 0x64, 0xD7, 0x80 }, "HunanOushiEl", "Hunan Oushi Electronic Technology Co.,Ltd" }, { { 0x8C, 0x1F, 0x64, 0xD7, 0xB0 }, "GlobalDesign", "Global Design Solutions Korea" }, @@ -57988,6 +58372,7 @@ { { 0x8C, 0x1F, 0x64, 0xD9, 0xE0 }, "WagnerGroup", "Wagner Group GmbH" }, { { 0x8C, 0x1F, 0x64, 0xDA, 0x00 }, "SensataTechn", "Sensata Technologies Inc." }, { { 0x8C, 0x1F, 0x64, 0xDA, 0x10 }, "HangtengTech", "Hangteng (HK) Technology Co., Limited" }, + { { 0x8C, 0x1F, 0x64, 0xDA, 0x20 }, "AsconTecnolo", "Ascon Tecnologic S.r.l." }, { { 0x8C, 0x1F, 0x64, 0xDA, 0x40 }, "FoenixCoding", "Foenix Coding Ltd" }, { { 0x8C, 0x1F, 0x64, 0xDA, 0x50 }, "Daom", "Daom" }, { { 0x8C, 0x1F, 0x64, 0xDA, 0x60 }, "PowerElectro", "Power Electronics Espana, S.L." }, @@ -58112,6 +58497,7 @@ { { 0x8C, 0x1F, 0x64, 0xE5, 0xC0 }, "ScientificLi", "Scientific Lightning Solutions" }, { { 0x8C, 0x1F, 0x64, 0xE5, 0xD0 }, "JinYuanInter", "JinYuan International Corporation" }, { { 0x8C, 0x1F, 0x64, 0xE5, 0xE0 }, "BRICKMAKERS", "BRICKMAKERS GmbH" }, + { { 0x8C, 0x1F, 0x64, 0xE5, 0xF0 }, "INVENTIASp", "INVENTIA Sp. z o.o." }, { { 0x8C, 0x1F, 0x64, 0xE6, 0x10 }, "StangeElektr", "Stange Elektronik GmbH" }, { { 0x8C, 0x1F, 0x64, 0xE6, 0x20 }, "Axcend", "Axcend" }, { { 0x8C, 0x1F, 0x64, 0xE6, 0x30 }, "InfosoftDigi", "Infosoft Digital Design and Services P L" }, @@ -58216,8 +58602,10 @@ { { 0x8C, 0x1F, 0x64, 0xEF, 0x50 }, "SigmaDefense", "Sigma Defense Systems LLC" }, { { 0x8C, 0x1F, 0x64, 0xEF, 0x80 }, "NorthwestCen", "Northwest Central Indiana Community Partnerships Inc dba Wabash Heartland Innovation Network (WHIN)" }, { { 0x8C, 0x1F, 0x64, 0xEF, 0xB0 }, "Warecube", "Warecube,Inc" }, + { { 0x8C, 0x1F, 0x64, 0xEF, 0xC0 }, "LonTenTechno", "LonTen Technology(BeiJing)Co.,LTD." }, { { 0x8C, 0x1F, 0x64, 0xEF, 0xD0 }, "NovateraTech", "Novatera(Shenzhen)Technologies Co.,Ltd." }, { { 0x8C, 0x1F, 0x64, 0xEF, 0xF0 }, "Automata", "Automata GmbH & Co. KG" }, + { { 0x8C, 0x1F, 0x64, 0xF0, 0x10 }, "OmniBuds", "OmniBuds Ltd" }, { { 0x8C, 0x1F, 0x64, 0xF0, 0x30 }, "FaustApS", "Faust ApS" }, { { 0x8C, 0x1F, 0x64, 0xF0, 0x40 }, "IoTSecure", "IoTSecure, LLC" }, { { 0x8C, 0x1F, 0x64, 0xF0, 0x50 }, "PrestonIndus", "Preston Industries dba PolyScience" }, @@ -58237,6 +58625,7 @@ { { 0x8C, 0x1F, 0x64, 0xF1, 0xC0 }, "RigelEnginee", "Rigel Engineering, LLC" }, { { 0x8C, 0x1F, 0x64, 0xF1, 0xD0 }, "MBconnectlin", "MB connect line GmbH Fernwartungssysteme" }, { { 0x8C, 0x1F, 0x64, 0xF1, 0xE0 }, "EngageTechno", "Engage Technologies" }, + { { 0x8C, 0x1F, 0x64, 0xF1, 0xF0 }, "AretaAI", "Areta AI Inc." }, { { 0x8C, 0x1F, 0x64, 0xF2, 0x00 }, "Thermaco", "Thermaco Incorporated" }, { { 0x8C, 0x1F, 0x64, 0xF2, 0x10 }, "nanoTRONIXCo", "nanoTRONIX Computing Inc." }, { { 0x8C, 0x1F, 0x64, 0xF2, 0x20 }, "VoyageAudio", "Voyage Audio LLC" }, @@ -58278,6 +58667,7 @@ { { 0x8C, 0x1F, 0x64, 0xF5, 0x40 }, "RowanToolsOf", "Rowan Tools Office" }, { { 0x8C, 0x1F, 0x64, 0xF5, 0x60 }, "KC5Internati", "KC5 International Sdn Bhd" }, { { 0x8C, 0x1F, 0x64, 0xF5, 0x70 }, "EAElektroAut", "EA Elektro-Automatik GmbH" }, + { { 0x8C, 0x1F, 0x64, 0xF5, 0x80 }, "MegaEndustri", "Mega Endustri Kontrol Sis.Tic.San.A.S" }, { { 0x8C, 0x1F, 0x64, 0xF5, 0x90 }, "Inovonics", "Inovonics Inc." }, { { 0x8C, 0x1F, 0x64, 0xF5, 0xA0 }, "TelcoAntenna", "Telco Antennas Pty Ltd" }, { { 0x8C, 0x1F, 0x64, 0xF5, 0xB0 }, "SemaConnect", "SemaConnect, Inc" }, @@ -58303,6 +58693,7 @@ { { 0x8C, 0x1F, 0x64, 0xF7, 0xB0 }, "XpsEletronic", "Xps Eletronica Ltda" }, { { 0x8C, 0x1F, 0x64, 0xF7, 0xC0 }, "GeneralDynam", "General Dynamics IT" }, { { 0x8C, 0x1F, 0x64, 0xF7, 0xD0 }, "RpgInformati", "Rpg Informatica, S.A." }, + { { 0x8C, 0x1F, 0x64, 0xF7, 0xE0 }, "SuzhouDeyiAu", "Suzhou Deyi Automotive Electronics Co., Ltd." }, { { 0x8C, 0x1F, 0x64, 0xF7, 0xF0 }, "VisionSafety", "Vision Systems Safety Tech" }, { { 0x8C, 0x1F, 0x64, 0xF8, 0x00 }, "VinfastTradi", "Vinfast Trading and Production JSC" }, { { 0x8C, 0x1F, 0x64, 0xF8, 0x20 }, "SeorimTechno", "Seorim Technology" }, @@ -58311,8 +58702,10 @@ { { 0x8C, 0x1F, 0x64, 0xF8, 0x60 }, "INFOSTECH", "INFOSTECH Co., Ltd." }, { { 0x8C, 0x1F, 0x64, 0xF8, 0x70 }, "FlyElectroni", "Fly Electronic (Shang Hai) Technology Co.,Ltd" }, { { 0x8C, 0x1F, 0x64, 0xF8, 0x80 }, "LAMTECMessun", "LAMTEC Mess- und Regeltechnik für Feuerungen GmbH & Co. KG" }, + { { 0x8C, 0x1F, 0x64, 0xF8, 0x90 }, "Digitalwan", "Digitalwan" }, { { 0x8C, 0x1F, 0x64, 0xF8, 0xC0 }, "BkLab", "Bk Lab" }, { { 0x8C, 0x1F, 0x64, 0xF8, 0xE0 }, "ApluxIntelig", "Chengdu Aplux Inteligence Technology Ltd." }, + { { 0x8C, 0x1F, 0x64, 0xF8, 0xF0 }, "DovideqMedic", "Dovideq Medical Systems BV" }, { { 0x8C, 0x1F, 0x64, 0xF9, 0x00 }, "Enfabrica", "Enfabrica" }, { { 0x8C, 0x1F, 0x64, 0xF9, 0x10 }, "Consonance", "Consonance" }, { { 0x8C, 0x1F, 0x64, 0xF9, 0x20 }, "VisionSafety", "Vision Systems Safety Tech" }, @@ -58326,6 +58719,7 @@ { { 0x8C, 0x1F, 0x64, 0xF9, 0xC0 }, "TongCybsecTe", "Beijing Tong Cybsec Technology Co.,LTD" }, { { 0x8C, 0x1F, 0x64, 0xF9, 0xE0 }, "DREAMSWELLTe", "DREAMSWELL Technology CO.,Ltd" }, { { 0x8C, 0x1F, 0x64, 0xFA, 0x00 }, "Pneumax", "Pneumax Spa" }, + { { 0x8C, 0x1F, 0x64, 0xFA, 0x10 }, "MSMilindRama", "M/S Milind Ramachandra Rajwade" }, { { 0x8C, 0x1F, 0x64, 0xFA, 0x20 }, "AZDPrahasroZ", "AZD Praha s.r.o., ZOZ Olomouc" }, { { 0x8C, 0x1F, 0x64, 0xFA, 0x40 }, "ChinaInforma", "China Information Technology Designing &Consulting Institute Co.,Ltd." }, { { 0x8C, 0x1F, 0x64, 0xFA, 0x50 }, "FrazerNashCo", "Frazer-Nash Consultancy" }, @@ -58335,6 +58729,7 @@ { { 0x8C, 0x1F, 0x64, 0xFA, 0xA0 }, "MassarNetwor", "Massar Networks" }, { { 0x8C, 0x1F, 0x64, 0xFA, 0xB0 }, "LIAN", "LIAN Corporation" }, { { 0x8C, 0x1F, 0x64, 0xFA, 0xC0 }, "ShowaElectri", "Showa Electric Laboratory co.,ltd." }, + { { 0x8C, 0x1F, 0x64, 0xFA, 0xF0 }, "GoodtechWorl", "Goodtech Worldwide LTD ,,mobitel''" }, { { 0x8C, 0x1F, 0x64, 0xFB, 0x00 }, "MARIAN", "MARIAN GmbH" }, { { 0x8C, 0x1F, 0x64, 0xFB, 0x10 }, "Abb", "Abb" }, { { 0x8C, 0x1F, 0x64, 0xFB, 0x30 }, "Camius", "Camius" }, @@ -58342,6 +58737,7 @@ { { 0x8C, 0x1F, 0x64, 0xFB, 0x50 }, "BavariaDigit", "Bavaria Digital Technik GmbH" }, { { 0x8C, 0x1F, 0x64, 0xFB, 0x60 }, "Racelogic", "Racelogic Ltd" }, { { 0x8C, 0x1F, 0x64, 0xFB, 0x70 }, "GraceDesignL", "Grace Design/Lunatec LLC" }, + { { 0x8C, 0x1F, 0x64, 0xFB, 0x80 }, "AbbottDiagno", "Abbott Diagnostics Technologies AS" }, { { 0x8C, 0x1F, 0x64, 0xFB, 0x90 }, "IWSGlobal", "IWS Global Pty Ltd" }, { { 0x8C, 0x1F, 0x64, 0xFB, 0xA0 }, "OntoInnovati", "Onto Innovation" }, { { 0x8C, 0x1F, 0x64, 0xFB, 0xB0 }, "Telica", "Telica" }, @@ -58382,6 +58778,7 @@ { { 0x8C, 0x1F, 0x64, 0xFE, 0xC0 }, "Newtec", "Newtec A/S" }, { { 0x8C, 0x1F, 0x64, 0xFE, 0xD0 }, "TelevicRail", "Televic Rail GmbH" }, { { 0x8C, 0x1F, 0x64, 0xFE, 0xE0 }, "LeapInfo", "Leap Info Systems Pvt. Ltd." }, + { { 0x8C, 0x1F, 0x64, 0xFE, 0xF0 }, "Kible", "Kible" }, { { 0x8C, 0x1F, 0x64, 0xFF, 0x20 }, "MitsubishiEl", "Mitsubishi Electric India Pvt. Ltd." }, { { 0x8C, 0x1F, 0x64, 0xFF, 0x30 }, "FuzhouTucsen", "Fuzhou Tucsen Photonics Co.,Ltd" }, { { 0x8C, 0x1F, 0x64, 0xFF, 0x40 }, "SMSgroup", "SMS group GmbH" }, diff -Nru wireshark-4.4.18/epan/proto.c wireshark-4.4.19/epan/proto.c --- wireshark-4.4.18/epan/proto.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/proto.c 2026-09-23 17:33:48.000000000 +0000 @@ -13698,7 +13698,7 @@ DISSECTOR_ASSERT_FIELD_TYPE(hfinfo, FT_STRING); - byte_length = (((no_of_chars + 1) * 7) + (bit_offset & 0x07)) >> 3; + byte_length = (int)(((((int64_t)no_of_chars + 1) * 7) + (bit_offset & 0x07)) >> 3); byte_offset = bit_offset >> 3; string = tvb_get_ts_23_038_7bits_string_packed(PNODE_POOL(tree), tvb, bit_offset, no_of_chars); @@ -13726,7 +13726,7 @@ DISSECTOR_ASSERT_FIELD_TYPE(hfinfo, FT_STRING); - byte_length = (((no_of_chars + 1) * 7) + (bit_offset & 0x07)) >> 3; + byte_length = (int)(((((int64_t)no_of_chars + 1) * 7) + (bit_offset & 0x07)) >> 3); byte_offset = bit_offset >> 3; string = tvb_get_ascii_7bits_string(PNODE_POOL(tree), tvb, bit_offset, no_of_chars); diff -Nru wireshark-4.4.18/epan/services-data.c wireshark-4.4.19/epan/services-data.c --- wireshark-4.4.18/epan/services-data.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/services-data.c 2026-09-23 17:33:48.000000000 +0000 @@ -5537,7 +5537,7 @@ { 5473, "apsolab-tags", "The Apsolab company's secure dynamic tag protocol" }, { 5475, "apsolab-data", "The Apsolab company's data retrieval protocol" }, { 5507, "psl-management", "PowerSysLab Electrical Management" }, - { 5543, "qftest-licserve", "QF-Test License Server" }, + { 5543, "qftest-lic-mcp", "QF-Test License Server / QF-Test MCP Server" }, { 5550, "cbus", "Model Railway control using the CBUS message protocol" }, { 5557, "farenet", "Sandlab FARENET" }, { 5565, "dp-bura", "Data Protector BURA" }, diff -Nru wireshark-4.4.18/epan/tvbuff.c wireshark-4.4.19/epan/tvbuff.c --- wireshark-4.4.18/epan/tvbuff.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/epan/tvbuff.c 2026-09-23 17:33:48.000000000 +0000 @@ -3002,7 +3002,7 @@ const int bit_offset, int no_of_chars) { int in_offset = bit_offset >> 3; /* Current pointer to the input buffer */ - int length = ((no_of_chars + 1) * 7 + (bit_offset & 0x07)) >> 3; + int length = (int)((((int64_t)no_of_chars + 1) * 7 + (bit_offset & 0x07)) >> 3); const uint8_t *ptr; DISSECTOR_ASSERT(tvb && tvb->initialized); @@ -3040,7 +3040,7 @@ const int bit_offset, int no_of_chars) { int in_offset = bit_offset >> 3; /* Current pointer to the input buffer */ - int length = ((no_of_chars + 1) * 7 + (bit_offset & 0x07)) >> 3; + int length = (int)((((int64_t)no_of_chars + 1) * 7 + (bit_offset & 0x07)) >> 3); const uint8_t *ptr; DISSECTOR_ASSERT(tvb && tvb->initialized); diff -Nru wireshark-4.4.18/extcap/etl.c wireshark-4.4.19/extcap/etl.c --- wireshark-4.4.18/extcap/etl.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/extcap/etl.c 2026-09-23 17:33:48.000000000 +0000 @@ -22,6 +22,7 @@ #include "wsutil/ws_getopt.h" #include "wsutil/strtoi.h" #include "etw_message.h" +#include "etw_ndiscap.h" #include #include @@ -80,14 +81,12 @@ static BOOL g_is_live_session; static void WINAPI event_callback(PEVENT_RECORD ev); -void etw_dump_write_opn_event(PEVENT_RECORD ev, ULARGE_INTEGER timestamp); -void etw_dump_write_ndiscap_event(PEVENT_RECORD ev, ULARGE_INTEGER timestamp); -void etw_dump_write_general_event(PEVENT_RECORD ev, ULARGE_INTEGER timestamp); -void etw_dump_write_event_head_only(PEVENT_RECORD ev, ULARGE_INTEGER timestamp); -void wtap_etl_rec_dump(char* etl_record, ULONG total_packet_length, ULONG original_packet_length, unsigned int interface_id, BOOLEAN is_inbound, ULARGE_INTEGER timestamp, int pkt_encap, char* comment, unsigned short comment_length); -wtap_dumper* etw_dump_open(const char* pcapng_filename, int* err, char** err_info); +static void etw_dump_write_opn_event(PEVENT_RECORD ev, ULARGE_INTEGER timestamp); +static void etw_dump_write_general_event(PEVENT_RECORD ev, ULARGE_INTEGER timestamp); +static void etw_dump_write_event_head_only(PEVENT_RECORD ev, ULARGE_INTEGER timestamp); +static wtap_dumper* etw_dump_open(const char* pcapng_filename, int* err, char** err_info); -DWORD GetPropertyValue(WCHAR* ProviderId, EVT_PUBLISHER_METADATA_PROPERTY_ID PropertyId, PEVT_VARIANT* Value) +static DWORD GetPropertyValue(WCHAR* ProviderId, EVT_PUBLISHER_METADATA_PROPERTY_ID PropertyId, PEVT_VARIANT* Value) { BOOL bRet; DWORD err = ERROR_SUCCESS; @@ -406,7 +405,7 @@ return returnVal; } -BOOL is_event_filtered_out(PEVENT_RECORD ev) +static BOOL is_event_filtered_out(PEVENT_RECORD ev) { if (g_is_live_session) { @@ -465,7 +464,7 @@ } } -wtap_dumper* etw_dump_open(const char* pcapng_filename, int* err, char** err_info) +static wtap_dumper* etw_dump_open(const char* pcapng_filename, int* err, char** err_info) { wtap_dump_params params = { 0 }; GArray* shb_hdrs = NULL; @@ -518,7 +517,7 @@ return pdh; } -ULONG wtap_etl_record_buffer_init(WTAP_ETL_RECORD** out_etl_record, PEVENT_RECORD ev, BOOLEAN include_user_data, WCHAR* message, WCHAR* provider_name) +static ULONG wtap_etl_record_buffer_init(WTAP_ETL_RECORD** out_etl_record, PEVENT_RECORD ev, BOOLEAN include_user_data, WCHAR* message, WCHAR* provider_name) { ULONG total_packet_length = sizeof(WTAP_ETL_RECORD); WTAP_ETL_RECORD* etl_record = NULL; @@ -642,7 +641,7 @@ wtap_rec_cleanup(&rec); } -void etw_dump_write_opn_event(PEVENT_RECORD ev, ULARGE_INTEGER timestamp) +static void etw_dump_write_opn_event(PEVENT_RECORD ev, ULARGE_INTEGER timestamp) { WTAP_ETL_RECORD* etl_record = NULL; ULONG total_packet_length = 0; @@ -654,7 +653,7 @@ g_free(etl_record); } -void etw_dump_write_event_head_only(PEVENT_RECORD ev, ULARGE_INTEGER timestamp) +static void etw_dump_write_event_head_only(PEVENT_RECORD ev, ULARGE_INTEGER timestamp) { WTAP_ETL_RECORD* etl_record = NULL; ULONG total_packet_length = 0; @@ -663,7 +662,7 @@ g_free(etl_record); } -void etw_dump_write_general_event(PEVENT_RECORD ev, ULARGE_INTEGER timestamp) +static void etw_dump_write_general_event(PEVENT_RECORD ev, ULARGE_INTEGER timestamp) { PTRACE_EVENT_INFO pInfo = NULL; PBYTE pUserData = NULL; diff -Nru wireshark-4.4.18/extcap/etl.h wireshark-4.4.19/extcap/etl.h --- wireshark-4.4.18/extcap/etl.h 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/extcap/etl.h 2026-09-23 17:33:48.000000000 +0000 @@ -29,7 +29,11 @@ char padding[64]; } SUPER_EVENT_TRACE_PROPERTIES; -wtap_open_return_val etw_dump(const char* etl_filename, const char* pcapng_filename, const char* params, int* err, char** err_info); +extern wtap_open_return_val etw_dump(const char* etl_filename, const char* pcapng_filename, const char* params, int* err, char** err_info); + +extern void wtap_etl_add_interface(int pkt_encap, char* interface_name, unsigned short interface_name_length, char* interface_desc, unsigned short interface_desc_length); + +extern void wtap_etl_rec_dump(char* etl_record, ULONG total_packet_length, ULONG original_packet_length, unsigned int interface_id, BOOLEAN is_inbound, ULARGE_INTEGER timestamp, int pkt_encap, char* comment, unsigned short comment_length); #endif diff -Nru wireshark-4.4.18/extcap/etw_message.c wireshark-4.4.19/extcap/etw_message.c --- wireshark-4.4.18/extcap/etw_message.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/extcap/etw_message.c 2026-09-23 17:33:48.000000000 +0000 @@ -86,7 +86,7 @@ * length attribute, the size is inferred from the data type. The length will be zero for variable * length, null-terminated strings and structures. */ -DWORD GetPropertyLength(PEVENT_RECORD pEvent, PTRACE_EVENT_INFO pInfo, USHORT i, PUSHORT PropertyLength) +static DWORD GetPropertyLength(PEVENT_RECORD pEvent, PTRACE_EVENT_INFO pInfo, USHORT i, PUSHORT PropertyLength) { DWORD status = ERROR_SUCCESS; PROPERTY_DATA_DESCRIPTOR DataDescriptor = { 0 }; @@ -99,11 +99,22 @@ */ if ((pInfo->EventPropertyInfoArray[i].Flags & PropertyParamLength) == PropertyParamLength) { - DWORD Length = 0; // Expects the length to be defined by a UINT16 or UINT32 + /* Expects the length to be defined by a UINT16 or UINT32 */ + DWORD Length = 0; DWORD j = pInfo->EventPropertyInfoArray[i].lengthPropertyIndex; + + if (j >= pInfo->PropertyCount) + return ERROR_EVT_INVALID_EVENT_DATA; + DataDescriptor.PropertyName = ((ULONGLONG)(pInfo)+(ULONGLONG)pInfo->EventPropertyInfoArray[j].NameOffset); DataDescriptor.ArrayIndex = ULONG_MAX; status = TdhGetPropertySize(pEvent, 0, NULL, 1, &DataDescriptor, &PropertySize); + if (status != ERROR_SUCCESS) + return status; + + if (PropertySize != sizeof(USHORT) && PropertySize != sizeof(DWORD)) + return ERROR_EVT_INVALID_EVENT_DATA; + status = TdhGetProperty(pEvent, 0, NULL, 1, &DataDescriptor, PropertySize, (PBYTE)&Length); *PropertyLength = (USHORT)Length; } @@ -147,7 +158,7 @@ return status; } -DWORD GetArraySize(PEVENT_RECORD pEvent, PTRACE_EVENT_INFO pInfo, USHORT i, PUSHORT ArraySize) +static DWORD GetArraySize(PEVENT_RECORD pEvent, PTRACE_EVENT_INFO pInfo, USHORT i, PUSHORT ArraySize) { DWORD status = ERROR_SUCCESS; PROPERTY_DATA_DESCRIPTOR DataDescriptor = { 0 }; @@ -158,9 +169,19 @@ /* Expects the count to be defined by a UINT16 or UINT32 */ DWORD Count = 0; DWORD j = pInfo->EventPropertyInfoArray[i].countPropertyIndex; + + if (j >= pInfo->PropertyCount) + return ERROR_EVT_INVALID_EVENT_DATA; + DataDescriptor.PropertyName = ((ULONGLONG)(pInfo)+(ULONGLONG)(pInfo->EventPropertyInfoArray[j].NameOffset)); DataDescriptor.ArrayIndex = ULONG_MAX; status = TdhGetPropertySize(pEvent, 0, NULL, 1, &DataDescriptor, &PropertySize); + if (status != ERROR_SUCCESS) + return status; + + if (PropertySize != sizeof(USHORT) && PropertySize != sizeof(DWORD)) + return ERROR_EVT_INVALID_EVENT_DATA; + status = TdhGetProperty(pEvent, 0, NULL, 1, &DataDescriptor, PropertySize, (PBYTE)&Count); *ArraySize = (USHORT)Count; } @@ -171,7 +192,7 @@ return status; } -DWORD GetMapInfo(PEVENT_RECORD pEvent, LPWSTR pMapName, PEVENT_MAP_INFO* pMapInfo) +static DWORD GetMapInfo(PEVENT_RECORD pEvent, LPWSTR pMapName, PEVENT_MAP_INFO* pMapInfo) { DWORD status = ERROR_SUCCESS; DWORD MapSize = 0; @@ -193,7 +214,7 @@ if (ERROR_NOT_FOUND == status) { /* This case is okay. */ - status = ERROR_SUCCESS; + status = ERROR_SUCCESS; } cleanup: @@ -211,8 +232,8 @@ DWORD LastMember = 0; USHORT ArraySize = 0; PEVENT_MAP_INFO pMapInfo = NULL; - WCHAR formatted_data[MAX_LOG_LINE_LENGTH]; - DWORD formatted_data_size = sizeof(formatted_data); + WCHAR formatted_data[MAX_LOG_LINE_LENGTH + 1]; + const DWORD formatted_data_size = sizeof(formatted_data); LPWSTR oversize_formatted_data = NULL; do @@ -289,6 +310,8 @@ /* Get the size of the buffer required for the formatted data. */ + DWORD oversize_formatted_data_size = formatted_data_size; + status = TdhFormatProperty( pInfo, pMapInfo, @@ -298,7 +321,7 @@ PropertyLength, (USHORT)(pEndOfUserData - pUserData), pUserData, - &formatted_data_size, + &oversize_formatted_data_size, formatted_data, &UserDataConsumed); @@ -310,7 +333,7 @@ oversize_formatted_data = NULL; } - oversize_formatted_data = (LPWSTR)g_malloc(formatted_data_size); + oversize_formatted_data = (LPWSTR)g_malloc(oversize_formatted_data_size); if (oversize_formatted_data == NULL) { status = ERROR_OUTOFMEMORY; @@ -328,14 +351,14 @@ PropertyLength, (USHORT)(pEndOfUserData - pUserData), pUserData, - &formatted_data_size, + &oversize_formatted_data_size, oversize_formatted_data, &UserDataConsumed); } if (ERROR_SUCCESS == status) { - if (formatted_data_size > sizeof(formatted_data) && oversize_formatted_data != NULL) + if (oversize_formatted_data_size > formatted_data_size && oversize_formatted_data != NULL) { /* Any oversize FormattedData will be truncated */ StringCbCat(pExtract->value, sizeof(pExtract->value), oversize_formatted_data); diff -Nru wireshark-4.4.18/extcap/etw_ndiscap.c wireshark-4.4.19/extcap/etw_ndiscap.c --- wireshark-4.4.18/extcap/etw_ndiscap.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/extcap/etw_ndiscap.c 2026-09-23 17:33:48.000000000 +0000 @@ -29,6 +29,9 @@ #include #include +#include "etl.h" +#include "etw_ndiscap.h" + // inet_ipv6.h and netiodef.h define exactly the same stuff, like _IPV6_ROUTING_HEADER and IP6F_OFF_MASK. // So wiretap/wtap.h cannot be directly included in this file. Defines below three WTAP_ENCAP types with the value in wtap.h for compile #define WTAP_ENCAP_ETHERNET 1 @@ -87,12 +90,12 @@ "802.11ax" // dot11_phy_type_he = 10 }; -unsigned long long NumFramesConverted; -char AuxFragBuf[MAX_PACKET_SIZE] = {0}; -unsigned long AuxFragBufOffset; +static unsigned long long NumFramesConverted; +static char AuxFragBuf[MAX_PACKET_SIZE] = {0}; +static unsigned long AuxFragBufOffset; -DOT11_EXTSTA_RECV_CONTEXT PacketMetadata; -BOOLEAN AddWlanMetadata; +static DOT11_EXTSTA_RECV_CONTEXT PacketMetadata; +static BOOLEAN AddWlanMetadata; typedef struct _NDIS_NET_BUFFER_LIST_8021Q_INFO { union { @@ -120,7 +123,7 @@ // From: https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/nblinfo/ne-nblinfo-ndis_net_buffer_list_info #define MaxNetBufferListInfo 200 #define Ieee8021QNetBufferListInfo 4 -PBYTE OobData[MaxNetBufferListInfo]; +static PBYTE OobData[MaxNetBufferListInfo]; typedef struct _VMSWITCH_SOURCE_INFO { unsigned long SourcePortId; @@ -135,8 +138,8 @@ short VlanId; } VMSWITCH_PACKET_FRAGMENT, *PVMSWITCH_PACKET_FRAGMENT; -BOOLEAN CurrentPacketIsVMSwitchPacketFragment; -VMSWITCH_PACKET_FRAGMENT VMSwitchPacketFragment; +static BOOLEAN CurrentPacketIsVMSwitchPacketFragment; +static VMSWITCH_PACKET_FRAGMENT VMSwitchPacketFragment; struct INTERFACE { struct INTERFACE* Next; @@ -151,16 +154,13 @@ }; #define IFACE_HT_SIZE 100 -struct INTERFACE* InterfaceHashTable[IFACE_HT_SIZE]; -unsigned long NumInterfaces; - -void wtap_etl_rec_dump(char* etl_record, ULONG total_packet_length, ULONG original_packet_length, unsigned int interface_id, BOOLEAN is_inbound, ULARGE_INTEGER timestamp, int pkt_encap, char* comment, unsigned short comment_length); -void wtap_etl_add_interface(int pkt_encap, char* interface_name, unsigned short interface_name_length, char* interface_desc, unsigned short interface_desc_length); +static struct INTERFACE* InterfaceHashTable[IFACE_HT_SIZE]; +static unsigned long NumInterfaces; extern char g_err_info[FILENAME_MAX]; extern int g_err; -unsigned long HashInterface(unsigned long LowerIfIndex) +static unsigned long HashInterface(unsigned long LowerIfIndex) { if (CurrentPacketIsVMSwitchPacketFragment) { return VMSwitchPacketFragment.SourcePortId * (VMSwitchPacketFragment.VlanId + 1); @@ -169,7 +169,7 @@ } } -struct INTERFACE* GetInterface(unsigned long LowerIfIndex) +static struct INTERFACE* GetInterface(unsigned long LowerIfIndex) { struct INTERFACE* Iface = InterfaceHashTable[HashInterface(LowerIfIndex) % IFACE_HT_SIZE]; while (Iface != NULL) { @@ -190,7 +190,71 @@ return NULL; } -struct INTERFACE* AddInterface(PEVENT_RECORD ev, unsigned long LowerIfIndex, unsigned long MiniportIfIndex, int Type) +#define MAX_TDH_PROPERTY_SIZE 16384 + +static char *GetTdhWideStringProperty(PEVENT_RECORD ev, const wchar_t *PropertyName) +{ + PROPERTY_DATA_DESCRIPTOR Desc; + ULONG PropertySize = 0; + wchar_t *Buffer; + char *NarrowBuffer; + int Err, NarrowLen; + + Desc.PropertyName = (unsigned long long)(PropertyName); + Desc.ArrayIndex = ULONG_MAX; + + Err = TdhGetPropertySize(ev, 0, NULL, 1, &Desc, &PropertySize); + if (Err != NO_ERROR || PropertySize == 0 || + PropertySize > MAX_TDH_PROPERTY_SIZE || + PropertySize % sizeof(wchar_t) != 0) { + return _strdup(""); + } + + Buffer = malloc(PropertySize + sizeof(wchar_t)); + if (Buffer == NULL) { + g_err = ERROR_OUTOFMEMORY; + sprintf_s(g_err_info, sizeof(g_err_info), "malloc failed to allocate memory for wide string property"); + exit(1); + } + + Err = TdhGetProperty(ev, 0, NULL, 1, &Desc, PropertySize, (PBYTE)Buffer); + if (Err != NO_ERROR) { + Buffer[0] = L'\0'; + } else { + // Since PropertySize is a multiple of sizeof(wchar_t), this properly + // null terminates and WideCharToMultiByte will properly null terminate + // the return and include the null terminator in the returned length. + Buffer[PropertySize / sizeof(wchar_t)] = L'\0'; + } + + NarrowLen = WideCharToMultiByte(CP_ACP, 0, Buffer, -1, NULL, 0, NULL, NULL); + if (NarrowLen <= 0) { + free(Buffer); + return _strdup(""); + } + + NarrowBuffer = malloc(NarrowLen); + if (NarrowBuffer == NULL) { + free(Buffer); + g_err = ERROR_OUTOFMEMORY; + sprintf_s(g_err_info, sizeof(g_err_info), "malloc failed to allocate memory for wide string property"); + exit(1); + } + + WideCharToMultiByte(CP_ACP, + 0, + Buffer, + -1, + NarrowBuffer, + NarrowLen, + NULL, + NULL); + + free(Buffer); + return NarrowBuffer; +} + +static struct INTERFACE* AddInterface(PEVENT_RECORD ev, unsigned long LowerIfIndex, unsigned long MiniportIfIndex, int Type) { struct INTERFACE** Iface = &InterfaceHashTable[HashInterface(LowerIfIndex) % IFACE_HT_SIZE]; struct INTERFACE* NewIface = malloc(sizeof(struct INTERFACE)); @@ -218,88 +282,9 @@ if (CurrentPacketIsVMSwitchPacketFragment) { NewIface->IsVMNic = true; - - wchar_t Buffer[8192]; - PROPERTY_DATA_DESCRIPTOR Desc; - int Err; - - // SourceNicName - Desc.PropertyName = (unsigned long long)(L"SourceNicName"); - Desc.ArrayIndex = ULONG_MAX; - ULONG ParamNameSize = 0; - (void)TdhGetPropertySize(ev, 0, NULL, 1, &Desc, &ParamNameSize); - NewIface->VMNic.SourceNicName = malloc((ParamNameSize / sizeof(wchar_t)) + 1); - if (NewIface->VMNic.SourceNicName == NULL) { - g_err = ERROR_OUTOFMEMORY; - sprintf_s(g_err_info, sizeof(g_err_info), "malloc failed to allocate memory for NewIface->VMNic.SourceNicName"); - exit(1); - } - Err = TdhGetProperty(ev, 0, NULL, 1, &Desc, sizeof(Buffer), (PBYTE)Buffer); - if (Err != NO_ERROR) { - Buffer[0] = L'\0'; - } - Buffer[ParamNameSize / sizeof(wchar_t) + 1] = L'\0'; - WideCharToMultiByte(CP_ACP, - 0, - Buffer, - -1, - NewIface->VMNic.SourceNicName, - ParamNameSize / sizeof(wchar_t) + 1, - NULL, - NULL); - NewIface->VMNic.SourceNicName[wcslen(Buffer)] = '\0'; - - // SourcePortName - Desc.PropertyName = (unsigned long long)(L"SourcePortName"); - Desc.ArrayIndex = ULONG_MAX; - (void)TdhGetPropertySize(ev, 0, NULL, 1, &Desc, &ParamNameSize); - NewIface->VMNic.SourcePortName = malloc((ParamNameSize / sizeof(wchar_t)) + 1); - if (NewIface->VMNic.SourcePortName == NULL) { - g_err = ERROR_OUTOFMEMORY; - sprintf_s(g_err_info, sizeof(g_err_info), "malloc failed to allocate memory for NewIface->VMNic.SourcePortName"); - exit(1); - } - Err = TdhGetProperty(ev, 0, NULL, 1, &Desc, sizeof(Buffer), (PBYTE)Buffer); - if (Err != NO_ERROR) { - Buffer[0] = L'\0'; - } - Buffer[ParamNameSize / sizeof(wchar_t) + 1] = L'\0'; - WideCharToMultiByte(CP_ACP, - 0, - Buffer, - -1, - NewIface->VMNic.SourcePortName, - ParamNameSize / sizeof(wchar_t) + 1, - NULL, - NULL); - NewIface->VMNic.SourcePortName[wcslen(Buffer)] = '\0'; - - // SourceNicType - Desc.PropertyName = (unsigned long long)(L"SourceNicType"); - Desc.ArrayIndex = ULONG_MAX; - (void)TdhGetPropertySize(ev, 0, NULL, 1, &Desc, &ParamNameSize); - NewIface->VMNic.SourceNicType = malloc((ParamNameSize / sizeof(wchar_t)) + 1); - if (NewIface->VMNic.SourceNicType == NULL) { - g_err = ERROR_OUTOFMEMORY; - sprintf_s(g_err_info, sizeof(g_err_info), "malloc failed to allocate memory for NewIface->VMNic.SourceNicType"); - exit(1); - } - Err = TdhGetProperty(ev, 0, NULL, 1, &Desc, sizeof(Buffer), (PBYTE)Buffer); - if (Err != NO_ERROR) { - Buffer[0] = L'\0'; - } - Buffer[ParamNameSize / sizeof(wchar_t) + 1] = L'\0'; - WideCharToMultiByte(CP_ACP, - 0, - Buffer, - -1, - NewIface->VMNic.SourceNicType, - ParamNameSize / sizeof(wchar_t) + 1, - NULL, - NULL); - NewIface->VMNic.SourceNicType[wcslen(Buffer)] = '\0'; - - + NewIface->VMNic.SourceNicName = GetTdhWideStringProperty(ev, L"SourceNicName"); + NewIface->VMNic.SourcePortName = GetTdhWideStringProperty(ev, L"SourcePortName"); + NewIface->VMNic.SourceNicType = GetTdhWideStringProperty(ev, L"SourceNicType"); NewIface->VMNic.SourcePortId = VMSwitchPacketFragment.SourcePortId; NewIface->VlanId = VMSwitchPacketFragment.VlanId; } @@ -365,7 +350,7 @@ return NewIface; } -void ParseVmSwitchPacketFragment(PEVENT_RECORD ev) +static void ParseVmSwitchPacketFragment(PEVENT_RECORD ev) { // Parse the current VMSwitch packet event for use elsewhere. // NB: Here we only do per-packet parsing. For any event fields that only need to be diff -Nru wireshark-4.4.18/extcap/etw_ndiscap.h wireshark-4.4.19/extcap/etw_ndiscap.h --- wireshark-4.4.18/extcap/etw_ndiscap.h 1970-01-01 00:00:00.000000000 +0000 +++ wireshark-4.4.19/extcap/etw_ndiscap.h 2026-09-23 17:33:48.000000000 +0000 @@ -0,0 +1,40 @@ +/** @file + * + * Copyright 2020, Odysseus Yang + * + * Wireshark - Network traffic analyzer + * By Gerald Combs + * Copyright 1998 Gerald Combs + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef __W_ETW_NDISCAP_H__ +#define __W_ETW_NDISCAP_H__ + +#include + +#include +#include +#include +#include +#include +#include + +extern void etw_dump_write_ndiscap_event(PEVENT_RECORD ev, ULARGE_INTEGER timestamp); + +#endif + + +/* + * Editor modelines - https://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 4 + * tab-width: 8 + * indent-tabs-mode: nil + * End: + * + * vi: set shiftwidth=4 tabstop=8 expandtab: + * :indentSize=4:tabSize=8:noTabs=true: + */ diff -Nru wireshark-4.4.18/extcap/etwdump.c wireshark-4.4.19/extcap/etwdump.c --- wireshark-4.4.18/extcap/etwdump.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/extcap/etwdump.c 2026-09-23 17:33:48.000000000 +0000 @@ -54,7 +54,7 @@ int g_include_undecidable_event; -void SignalHandler(_U_ int signal) +static void SignalHandler(_U_ int signal) { SUPER_EVENT_TRACE_PROPERTIES super_trace_properties = { 0 }; super_trace_properties.prop.Wnode.BufferSize = sizeof(SUPER_EVENT_TRACE_PROPERTIES); diff -Nru wireshark-4.4.18/packaging/debian/changelog wireshark-4.4.19/packaging/debian/changelog --- wireshark-4.4.18/packaging/debian/changelog 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/packaging/debian/changelog 2026-09-23 17:33:48.000000000 +0000 @@ -1,4 +1,4 @@ -wireshark (4.4.18) UNRELEASED; urgency=low +wireshark (4.4.19) UNRELEASED; urgency=low * Self-made package diff -Nru wireshark-4.4.18/packaging/source/git-export-release.sh.in wireshark-4.4.19/packaging/source/git-export-release.sh.in --- wireshark-4.4.18/packaging/source/git-export-release.sh.in 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/packaging/source/git-export-release.sh.in 2026-09-23 17:33:48.000000000 +0000 @@ -44,7 +44,7 @@ # A tarball produced by 'git archive' will have the $Format string # substituted due to the use of 'export-subst' in .gitattributes. # shellcheck disable=SC2016 -COMMIT='b6c99a3f2a1aecf7926e7e64a94488b2bd071571' +COMMIT='bb1640e38673133d81c987707b1db65132afc7e6' if [[ $COMMIT != \$F* ]] ; then # This file was extracted from a tarball produced by git archive diff -Nru wireshark-4.4.18/resources/freedesktop/org.wireshark.Wireshark.metainfo.xml wireshark-4.4.19/resources/freedesktop/org.wireshark.Wireshark.metainfo.xml --- wireshark-4.4.18/resources/freedesktop/org.wireshark.Wireshark.metainfo.xml 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/resources/freedesktop/org.wireshark.Wireshark.metainfo.xml 2026-09-23 17:33:48.000000000 +0000 @@ -65,7 +65,10 @@ wireshark-dev_at_wireshark.org - + + https://www.wireshark.org/docs/relnotes/wireshark-4.4.19.html + + https://www.wireshark.org/docs/relnotes/wireshark-4.4.18.html diff -Nru wireshark-4.4.18/sharkd_session.c wireshark-4.4.19/sharkd_session.c --- wireshark-4.4.18/sharkd_session.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/sharkd_session.c 2026-09-23 17:33:48.000000000 +0000 @@ -5674,7 +5674,7 @@ } } in_len = (spx_uint32_t)rtp_packet->info->info_payload_len; - out_len = (audio_out_rate_ * (spx_uint32_t)rtp_packet->info->info_payload_len / sample_rate) + (audio_out_rate_ % sample_rate != 0); + out_len = (spx_uint32_t)((audio_out_rate_ * (uint64_t)rtp_packet->info->info_payload_len / sample_rate) + (audio_out_rate_ % sample_rate != 0)); if (out_len * sample_bytes_ > resample_buff_len) { while ((out_len * sample_bytes_ > resample_buff_len)) diff -Nru wireshark-4.4.18/test/suite_dfilter/group_syntax.py wireshark-4.4.19/test/suite_dfilter/group_syntax.py --- wireshark-4.4.18/test/suite_dfilter/group_syntax.py 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/test/suite_dfilter/group_syntax.py 2026-09-23 17:33:48.000000000 +0000 @@ -366,6 +366,17 @@ dfilter = 'udp.dstport * { udp.srcport / {5 - 4} } == udp.srcport * { 2 * udp.dstport - 68 }' checkDFilterCount(dfilter, 2) + def test_div_by_zero(self, checkDFilterCount): + # This is a runtime divide by zero, which makes the left side be + # "not equal", and also "not gt" and "not lt", any value on the right. + # udp.port has two values, 68 and 67, and dhcp.hops only one, 0, which + # exercised a bug. + # We possibly should optimize and print an error at compile time if + # dividing by a constant zero, but even if we did, there would be + # runtime cases like this. + dfilter = "udp.port / dhcp.hops == dhcp.secs" + checkDFilterCount(dfilter, 0) + class TestDfilterFieldReference: trace_file = "ipoipoip.pcap" @@ -436,6 +447,21 @@ dfilter = 'ip.dst#[-5] == 2.2.2.2' checkDFilterCount(dfilter, 1) + def test_layer_register_reuse(self, checkDFilterCount): + # A later field should not use the same register as a range limited one + dfilter = 'ip.dst#[3-4] == 8.8.8.8 and ip.dst == 4.4.4.4' + checkDFilterCount(dfilter, 1) + + def test_layer_register_reuse2(self, checkDFilterCount): + # A later range-limited field should not use the same register as an unlimited one + dfilter = 'ip.dst == 8.8.8.8 and ip.dst#[1-2] == 8.8.8.8' + checkDFilterCount(dfilter, 0) + + def test_layer_register_reuse3(self, checkDFilterCount): + # The same field with different ranges should use different registers + dfilter = 'ip.dst#1 == 2.2.2.2 and ip.dst#2 == 4.4.4.4' + checkDFilterCount(dfilter, 1) + class TestDfilterQuantifiers: trace_file = "ipoipoip.pcap" @@ -462,6 +488,11 @@ dfilter = '@s7comm.blockinfo.blocktype == 30:fe' checkDFilterCount(dfilter, 1) + def test_raw3(self, checkDFilterCount): + # ordinary and raw field values should go in different registers + dfilter = 's7comm.blockinfo.blocktype == "0\uFFFD" and @s7comm.blockinfo.blocktype == 30:aa' + checkDFilterCount(dfilter, 2) + def test_raw_ref(self, checkDFilterCountWithSelectedFrame): dfilter = '@s7comm.blockinfo.blocktype == ${@s7comm.blockinfo.blocktype}' # select frame 3, expect 2 frames out of 3. diff -Nru wireshark-4.4.18/tools/make-tls-ct-logids.py wireshark-4.4.19/tools/make-tls-ct-logids.py --- wireshark-4.4.18/tools/make-tls-ct-logids.py 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/tools/make-tls-ct-logids.py 2026-09-23 17:33:48.000000000 +0000 @@ -14,6 +14,7 @@ import os import requests from hashlib import sha256 +from urllib.parse import urlparse # Begin of comment, followed by the actual array definition @@ -48,7 +49,7 @@ metainfo += " * Last-Modified %s, %s entries. */\n" % (lastmod, len(logs)) block += "static const bytes_string ct_logids[] = {\n" for entry in logs: - desc = entry["description"] + desc = entry.get("description", urlparse(entry["url"]).hostname) pubkey_der = b64decode(entry["key"]) key_id = sha256(pubkey_der).digest() block += ' { (const uint8_t[]){\n' diff -Nru wireshark-4.4.18/tools/make-version.py wireshark-4.4.19/tools/make-version.py --- wireshark-4.4.18/tools/make-version.py 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/tools/make-version.py 2026-09-23 17:33:48.000000000 +0000 @@ -44,8 +44,8 @@ # If the text "$Format" is still present, it means that # git archive did not replace the $Format string, which # means that this not a git archive. -GIT_EXPORT_SUBST_H = 'b6c99a3f2a1aecf7926e7e64a94488b2bd071571' -GIT_EXPORT_SUBST_D = 'tag: v4.4.18, refs/merge-requests/26134/head, refs/keep-around/b6c99a3f2a1aecf7926e7e64a94488b2bd071571, refs/environments/windows-package/deployments/7962, refs/environments/windows-package/deployments/7961, refs/environments/macos-package/deployments/7964, refs/environments/macos-package/deployments/7963' +GIT_EXPORT_SUBST_H = 'bb1640e38673133d81c987707b1db65132afc7e6' +GIT_EXPORT_SUBST_D = 'tag: v4.4.19, refs/merge-requests/26614/head, refs/keep-around/bb1640e38673133d81c987707b1db65132afc7e6, refs/environments/windows-package/deployments/9439, refs/environments/windows-package/deployments/9438, refs/environments/macos-package/deployments/9441, refs/environments/macos-package/deployments/9440' IS_GIT_ARCHIVE = not GIT_EXPORT_SUBST_H.startswith('$Format') diff -Nru wireshark-4.4.18/ui/qt/models/profile_model.cpp wireshark-4.4.19/ui/qt/models/profile_model.cpp --- wireshark-4.4.18/ui/qt/models/profile_model.cpp 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/ui/qt/models/profile_model.cpp 2026-09-23 17:33:48.000000000 +0000 @@ -1147,11 +1147,14 @@ } /* This check runs BEFORE the file has been unzipped! */ -bool ProfileModel::acceptFile(QString fileName, int fileSize) +bool ProfileModel::acceptFile(QString fileName, uint64_t fileSize) { if (fileName.toLower().endsWith(".zip")) return false; + /* Should we skip entries that are just directories? I don't believe + * we add them to our archive and it may simplify the logic elsewhere. */ + /* Arbitrary maximum config file size accepted: 256MB */ if (fileSize > 1024 * 1024 * 256) return false; diff -Nru wireshark-4.4.18/ui/qt/models/profile_model.h wireshark-4.4.19/ui/qt/models/profile_model.h --- wireshark-4.4.18/ui/qt/models/profile_model.h 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/ui/qt/models/profile_model.h 2026-09-23 17:33:48.000000000 +0000 @@ -142,7 +142,19 @@ int findAsReference(QString reference) const; #if defined(HAVE_MINIZIP) || defined(HAVE_MINIZIPNG) - static bool acceptFile(QString fileName, int fileSize); + /** + * @brief Decides whether a file from a ZIP archive should be included in the import. + * @param fileName Name of the file entry within the archive. + * @param fileSize Uncompressed size of the file in bytes. + * @return @c true if the file should be extracted and imported. + */ + static bool acceptFile(QString fileName, uint64_t fileSize); + + /** + * @brief Sanitises a filename extracted from a ZIP archive for use as a profile name. + * @param fileName Raw filename from the archive. + * @return Sanitised name safe for use as a profile directory name. + */ static QString cleanName(QString fileName); #endif diff -Nru wireshark-4.4.18/ui/qt/utils/wireshark_zip_helper.cpp wireshark-4.4.19/ui/qt/utils/wireshark_zip_helper.cpp --- wireshark-4.4.18/ui/qt/utils/wireshark_zip_helper.cpp 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/ui/qt/utils/wireshark_zip_helper.cpp 2026-09-23 17:33:48.000000000 +0000 @@ -65,7 +65,7 @@ #define _MZDOSDATE dosDate #endif -bool WiresharkZipHelper::unzip(QString zipFile, QString directory, bool (*fileCheck)(QString, int), QString (*cleanName)(QString)) +bool WiresharkZipHelper::unzip(QString zipFile, QString directory, bool (*fileCheck)(QString, uint64_t), QString (*cleanName)(QString)) { unzFile uf = Q_NULLPTR; QFileInfo fi(zipFile); @@ -86,7 +86,14 @@ return false; QMap cleanPaths; - QString canonicalDir = QFileInfo(di.path()).canonicalFilePath(); + QString canonicalDir = di.canonicalPath(); + if (canonicalDir.isEmpty()) { + // Effectively re-checks !di.exists() + return false; + } + if (!canonicalDir.endsWith('/')) { + canonicalDir += '/'; + } for (unsigned int cnt = 0; cnt < nmbr; cnt++) { @@ -97,7 +104,7 @@ if (err == UNZ_OK) { QString fileInZip(filename_inzip); - int fileSize = static_cast(file_info.uncompressed_size); + uint64_t fileSize = file_info.uncompressed_size; /* Sanity check for the file */ if (fileInZip.length() == 0 || (fileCheck && ! fileCheck(fileInZip, fileSize)) ) @@ -113,30 +120,50 @@ continue; } -#ifndef _WIN32 - /* Reject paths outside the extraction root, to prevent directory traversal attacks on Posix systems */ - if (!QFileInfo(fileInZip).absoluteFilePath().startsWith(canonicalDir + "/")) { + /* ZIP archives created by Wireshark *should* have paths relative + * to the profiles directory. This was not the case prior to 3.2.5 + * (issue #16608) on Windows, probably due to directory separators + * or case-insensitivity or similar. + */ + if (QDir::isAbsolutePath(fileInZip)) { +#ifdef _WIN32 + /* We use the last directory as the profile name (there should + * not be multiple levels) to workaround the issue and allow + * importing the profile even if the higher level directory + * structure doesn't match. + * XXX - Remove this, since bad profile ZIP files haven't been + * produced since 3.2.4? */ + QFileInfo fileName(fileInZip); + if (fileName.fileName().isEmpty()) { + // ZIP file entries that are just directories must end in + // a directory separator. ("All slashes MUST be forward + // slashes" according to APPNOTE.TXT but sometimes there + // are broken archives.) Those have empty fileName(); skip. + continue; + } + QString fileNameDir = fileName.dir().dirName(); + // Note that QDir::dirName never includes a drive letter + // but is empty at a drive root. We should always have a + // profile name here in an archive created by Wireshark. + if (fileNameDir.isEmpty()) { + continue; + } + fileInZip = QStringLiteral("%1/%2").arg(fileNameDir, fileName.fileName()); +#else continue; - } #endif - - if (di.exists()) + } + if (di.exists()) // XXX - Do we need to test this yet again? { -#ifdef _WIN32 - /* This is an additional fix for bug 16608, in which exports did contain the full path they - * where exported from, leading to imports not possible if the path does not exist on that - * machine */ - - if (fileInZip.contains(":/") || fileInZip.contains(":\\")) - { - QFileInfo fileName(fileInZip); - QFileInfo path(fileName.dir(), ""); - QString newFile = path.baseName() + "/" + fileName.baseName(); - fileInZip = newFile; + // Reject paths outside the extraction root, to prevent directory + // traversal attacks. The full path shouldn't exist yet, so no + // using canonical* functions, and the absolute* functions don't + // guarantee removing "..", etc., so use QDir::cleanPath. + // Note we ensured canonicalDir ends with '/'. + QString fullPath = QDir::cleanPath(QStringLiteral("%1%2").arg(canonicalDir, fileInZip)); + if (!fullPath.startsWith(canonicalDir)) { + continue; } -#endif - - QString fullPath = di.path() + "/" + fileInZip; QFileInfo fi(fullPath); QString dirPath = fi.absolutePath(); @@ -298,8 +325,11 @@ QFileInfo sf(files.at(cnt)); QString fileInZip = sf.absoluteFilePath(); QFileInfo relat(relativeTo); + // XXX - Do some additional tests to verify that this actually rmeoves + // a path. It should work correctly now and there are only internal + // callers so warn if it fails. fileInZip.replace(relat.absoluteFilePath(), ""); - /* Windows cannot open zip files, if the filenames starts with a separator */ + /* Windows cannot open zip files if the filenames starts with a separator */ while (fileInZip.length() > 0 && fileInZip.startsWith("/")) fileInZip = fileInZip.right(fileInZip.length() - 1); diff -Nru wireshark-4.4.18/ui/qt/utils/wireshark_zip_helper.h wireshark-4.4.19/ui/qt/utils/wireshark_zip_helper.h --- wireshark-4.4.18/ui/qt/utils/wireshark_zip_helper.h 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/ui/qt/utils/wireshark_zip_helper.h 2026-09-23 17:33:48.000000000 +0000 @@ -28,7 +28,7 @@ { public: static bool zip(QString zipFile, QStringList files, QString relativeTo = QString()); - static bool unzip(QString zipFile, QString directory, bool (*fileCheck)(QString fileName, int fileSize) = Q_NULLPTR, QString (*cleanName)(QString name) = Q_NULLPTR); + static bool unzip(QString zipFile, QString directory, bool (*fileCheck)(QString fileName, uint64_t fileSize) = Q_NULLPTR, QString (*cleanName)(QString name) = Q_NULLPTR); protected: static void addFileToZip(zipFile zf, QString filepath, QString fileInZip); diff -Nru wireshark-4.4.18/wiretap/CMakeLists.txt wireshark-4.4.19/wiretap/CMakeLists.txt --- wireshark-4.4.18/wiretap/CMakeLists.txt 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/wiretap/CMakeLists.txt 2026-09-23 17:33:48.000000000 +0000 @@ -178,7 +178,7 @@ PREFIX "lib" COMPILE_DEFINITIONS "WS_BUILD_DLL" LINK_FLAGS "${WS_LINK_FLAGS}" - VERSION "15.0.18" SOVERSION 15 + VERSION "15.0.19" SOVERSION 15 FOLDER "DLLs" INSTALL_RPATH "${LIBRARY_INSTALL_RPATH}" ) diff -Nru wireshark-4.4.18/wiretap/erf.c wireshark-4.4.19/wiretap/erf.c --- wireshark-4.4.18/wiretap/erf.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/wiretap/erf.c 2026-09-23 17:33:48.000000000 +0000 @@ -1784,7 +1784,7 @@ int erf_type; int64_t alignbytes = 0; unsigned padbytes = 0; - int round_down = 0; + unsigned round_down = 0; bool must_add_crc = false; uint32_t crc32 = 0x00000000; erf_dump_t *dump_priv = (erf_dump_t*)wdh->priv; @@ -1887,7 +1887,12 @@ padbytes = ERF_PADDING_TO_8(total_rlen); /*calculate how much padding will be required */ if(rec->rec_header.packet_header.caplen < rec->rec_header.packet_header.len){ /*if packet has been snapped, we need to round down what we output*/ - round_down = (8 - padbytes) % 8; + round_down = (8U - padbytes) % 8U; + if (rec->rec_header.packet_header.caplen < round_down) { + *err = WTAP_ERR_UNWRITABLE_REC_DATA; + *err_info = ws_strdup_printf("erf: Truncated record too short to align for output"); + return false; + } total_rlen -= round_down; }else{ total_rlen += padbytes; diff -Nru wireshark-4.4.18/wiretap/netmon.c wireshark-4.4.19/wiretap/netmon.c --- wireshark-4.4.18/wiretap/netmon.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/wiretap/netmon.c 2026-09-23 17:33:48.000000000 +0000 @@ -1030,7 +1030,7 @@ struct netmonrec_2_x_hdr hdr_2_x; } hdr; int64_t delta = 0; /* signed - frame times can be before the nominal start */ - int64_t t; + int64_t t, q, r; time_t secs; int nsecs; uint32_t packet_size = 0; @@ -1150,43 +1150,40 @@ * positive number-of-microseconds into a small * negative number-of-100-nanosecond-increments. */ - delta = pletoh64(&hdr.hdr_2_x.ts_delta)*10; + if (ckd_mul(&delta, pletoh64(&hdr.hdr_2_x.ts_delta), 10)) { + // Allow wrap without UB + } /* * OK, it's now a signed value in 100-nanosecond * units. Now convert it to nanosecond units. */ - delta *= 100; + if (ckd_mul(&delta, delta, 100)) { + /* More than 580 years */ + *err = WTAP_ERR_BAD_FILE; + *err_info = ws_strdup_printf("netmon: timestamp outside supported range"); + return FAILURE; + } break; } - secs = 0; t = netmon->start_nsecs + delta; - while (t < 0) { - /* - * Propagate a borrow into the seconds. - * The seconds is a time_t, and can be < 0 - * (unlikely, as Windows didn't exist before - * January 1, 1970, 00:00:00 UTC), while the - * nanoseconds should be positive, as in - * "nanoseconds since the instant of time - * represented by the seconds". - * - * We do not want t to be negative, as, according - * to the C90 standard, "if either operand [of / - * or %] is negative, whether the result of the - * / operator is the largest integer less than or - * equal to the algebraic quotient or the smallest - * greater than or equal to the algebraic quotient - * is implementation-defined, as is the sign of - * the result of the % operator", and we want - * the result of the division and remainder - * operations to be the same on all platforms. - */ - t += 1000000000; - secs--; + /* + * C99 and C++11 guarantee that integer division rounds to zero, + * so this is the same on all platforms. + */ + q = t / 1000000000; + r = t % 1000000000; + if (r < 0) { + r += 1000000000; + q--; + } + if (ckd_add(&secs, q, 0)) { + // 32-bit time_t? + *err = WTAP_ERR_BAD_FILE; + *err_info = ws_strdup_printf("netmon: timestamp outside supported range"); + return FAILURE; } - secs += (time_t)(t/1000000000); - nsecs = (int)(t%1000000000); + nsecs = (int)(r); rec->presence_flags = WTAP_HAS_TS|WTAP_HAS_CAP_LEN; rec->ts.secs = netmon->start_secs + secs; rec->ts.nsecs = nsecs; diff -Nru wireshark-4.4.18/wiretap/toshiba.c wireshark-4.4.19/wiretap/toshiba.c --- wireshark-4.4.18/wiretap/toshiba.c 2026-08-12 17:19:13.000000000 +0000 +++ wireshark-4.4.19/wiretap/toshiba.c 2026-09-23 17:33:48.000000000 +0000 @@ -289,10 +289,12 @@ } /* Check for "OFFSET 0001-0203" at beginning of line */ - line[16] = '\0'; - - } while (strcmp(line, "OFFSET 0001-0203") != 0); - + } while (strncmp(line, "OFFSET 0001-0203", 16) != 0); + if (strlen(line) < 68) { + *err = WTAP_ERR_BAD_FILE; + *err_info = g_strdup("toshiba: OFFSET line doesn't have valid LEN item"); + return false; + } num_items_scanned = sscanf(line+64, "LEN=%9d", &pkt_len); if (num_items_scanned != 1) { *err = WTAP_ERR_BAD_FILE;