pcapplusplus: Upgrade to 2024.09 release

Backport a fix for json to build with clang20

Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Khem Raj 2025-03-07 13:32:00 -08:00
parent f9b58e2eae
commit 1aeb118758
No known key found for this signature in database
GPG Key ID: BB053355919D3314
4 changed files with 55 additions and 73 deletions

View File

@ -0,0 +1,52 @@
From 16974cb6a9f10fbd08db964ee0d9f074ef430db6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 7 Mar 2025 11:55:12 -0800
Subject: [PATCH] Remove whitespace in operator"" _json
Clang 20+ errors about this whitespace.
Fixes
git/3rdParty/json/include/json.hpp:24428:58: error: identifier '_json' preceded by whitespace in a literal operator declaration is deprecated [-Werror,-Wdeprecated-literal-operator]
24428 | using nlohmann::literals::json_literals::operator "" _json; // NOLINT(misc-unused-using-decls,google-global-names-in-headers)
| ~~~~~~~~~~~~^~~~~
| operator""_json
Upstream-Status: Backport [ Its fixed in json import post 2024.9 release ]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
3rdParty/json/include/json.hpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/3rdParty/json/include/json.hpp b/3rdParty/json/include/json.hpp
index 60ba1df..6eceb7c 100644
--- a/3rdParty/json/include/json.hpp
+++ b/3rdParty/json/include/json.hpp
@@ -24353,7 +24353,7 @@ inline namespace json_literals
/// @brief user-defined string literal for JSON values
/// @sa https://json.nlohmann.me/api/basic_json/operator_literal_json/
JSON_HEDLEY_NON_NULL(1)
-inline nlohmann::json operator "" _json(const char* s, std::size_t n)
+inline nlohmann::json operator ""_json(const char* s, std::size_t n)
{
return nlohmann::json::parse(s, s + n);
}
@@ -24361,7 +24361,7 @@ inline nlohmann::json operator "" _json(const char* s, std::size_t n)
/// @brief user-defined string literal for JSON pointer
/// @sa https://json.nlohmann.me/api/basic_json/operator_literal_json_pointer/
JSON_HEDLEY_NON_NULL(1)
-inline nlohmann::json::json_pointer operator "" _json_pointer(const char* s, std::size_t n)
+inline nlohmann::json::json_pointer operator ""_json_pointer(const char* s, std::size_t n)
{
return nlohmann::json::json_pointer(std::string(s, n));
}
@@ -24425,8 +24425,8 @@ inline void swap(nlohmann::NLOHMANN_BASIC_JSON_TPL& j1, nlohmann::NLOHMANN_BASIC
} // namespace std
#if JSON_USE_GLOBAL_UDLS
- using nlohmann::literals::json_literals::operator "" _json; // NOLINT(misc-unused-using-decls,google-global-names-in-headers)
- using nlohmann::literals::json_literals::operator "" _json_pointer; //NOLINT(misc-unused-using-decls,google-global-names-in-headers)
+ using nlohmann::literals::json_literals::operator ""_json; // NOLINT(misc-unused-using-decls,google-global-names-in-headers)
+ using nlohmann::literals::json_literals::operator ""_json_pointer; //NOLINT(misc-unused-using-decls,google-global-names-in-headers)
#endif
// #include <nlohmann/detail/macro_unscope.hpp>

View File

@ -1,35 +0,0 @@
From 298dec6f87061914c85049faca3d0ff3310d1794 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 6 May 2024 12:15:30 -0700
Subject: [PATCH] initialize timespec variable
Fixes build warnings with GCC14
/mnt/b/yoe/master/build/tmp/work/core2-32-yoe-linux/pcapplusplus/23.09/git/Packet++/src/RawPacket.cpp: In constructor 'pcpp::RawPacket::RawPacket(const uint8_t*, int, timeval, bool, pcpp::LinkLayerType)':
/mnt/b/yoe/master/build/tmp/work/core2-32-yoe-linux/pcapplusplus/23.09/git/Packet++/src/RawPacket.cpp:23:18: error: 'nsec_time.timespec::<anonymous>' is used uninitialized [-Werror=uninitialized]
23 | timespec nsec_time;
| ^~~~~~~~~
cc1plus: all warnings being treated as errors
Upstream-Status: Submitted [https://github.com/seladb/PcapPlusPlus/pull/1389]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Packet++/src/RawPacket.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Packet++/src/RawPacket.cpp b/Packet++/src/RawPacket.cpp
index 8ad52d52..07dbbbe2 100644
--- a/Packet++/src/RawPacket.cpp
+++ b/Packet++/src/RawPacket.cpp
@@ -20,7 +20,7 @@ void RawPacket::init(bool deleteRawDataAtDestructor)
RawPacket::RawPacket(const uint8_t* pRawData, int rawDataLen, timeval timestamp, bool deleteRawDataAtDestructor, LinkLayerType layerType)
{
- timespec nsec_time;
+ timespec nsec_time = {};
TIMEVAL_TO_TIMESPEC(&timestamp, &nsec_time);
init(deleteRawDataAtDestructor);
setRawData(pRawData, rawDataLen, nsec_time, layerType);
--
2.45.0

View File

@ -1,34 +0,0 @@
From 742f564ee80749e9f1f3363092775545e37c0f87 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 9 May 2024 17:02:09 -0700
Subject: [PATCH] packet++: Initialize m_ExternalRawData in IDnsResource
constructor
Fixes following warning with GCC-14
Packet++/src/DnsResource.cpp:29:24: error: '*this.pcpp::IDnsResource::m_ExternalRawData' may be used uninitialized [-Werror=maybe-uninitialized]
29 | return m_ExternalRawData;
| ^~~~~~~~~~~~~~~~~
Upstream-Status: Submitted [https://github.com/seladb/PcapPlusPlus/pull/1391]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Packet++/src/DnsResource.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Packet++/src/DnsResource.cpp b/Packet++/src/DnsResource.cpp
index fec1bf05..c1f97041 100644
--- a/Packet++/src/DnsResource.cpp
+++ b/Packet++/src/DnsResource.cpp
@@ -10,7 +10,7 @@ namespace pcpp
{
IDnsResource::IDnsResource(DnsLayer* dnsLayer, size_t offsetInLayer)
- : m_DnsLayer(dnsLayer), m_OffsetInLayer(offsetInLayer), m_NextResource(nullptr)
+ : m_DnsLayer(dnsLayer), m_OffsetInLayer(offsetInLayer), m_NextResource(nullptr), m_ExternalRawData(nullptr)
{
char decodedName[4096];
m_NameLength = decodeName((const char*)getRawData(), decodedName);
--
2.45.0

View File

@ -8,10 +8,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=911690f51af322440237a253d695d19f"
DEPENDS = "libpcap"
SRC_URI = "git://github.com/seladb/PcapPlusPlus.git;protocol=https;branch=master \
file://0001-packet-Initialize-m_ExternalRawData-in-IDnsResource-.patch \
file://0001-initialize-timespec-variable.patch"
SRCREV = "4cf8ed44f9dd145f874dc1dd747dfefcfcab75be"
file://0001-Remove-whitespace-in-operator-_json.patch \
"
SRCREV = "4af4b8b04e6d5dd40b8e69cc30c5c1f62e7fe368"
S = "${WORKDIR}/git"