From f3be74cfda39ffa44bfe1aad2b4fa4af962554a3 Mon Sep 17 00:00:00 2001 From: Bartosz Wieczorek Date: Mon, 6 Oct 2025 18:12:28 +0200 Subject: [PATCH] fix ompile warnings --- PAM/ssh/CMakeLists.txt | 9 ++-- PAM/ssh/include/rublon/static_string.hpp | 18 +++---- PAM/ssh/include/rublon/websockets.hpp | 4 +- PAM/ssh/patches/rapidjson.patch | 64 ------------------------ 4 files changed, 16 insertions(+), 79 deletions(-) delete mode 100644 PAM/ssh/patches/rapidjson.patch diff --git a/PAM/ssh/CMakeLists.txt b/PAM/ssh/CMakeLists.txt index 71c3b48..c47c0e7 100755 --- a/PAM/ssh/CMakeLists.txt +++ b/PAM/ssh/CMakeLists.txt @@ -122,16 +122,15 @@ endif() FetchContent_Declare( libwebsockets - URL https://github.com/warmcat/libwebsockets/archive/refs/tags/v4.3.3.zip - URL_HASH MD5=96ad80a3283825a9af6a2d9d1acbd132 + URL https://github.com/warmcat/libwebsockets/archive/refs/tags/v4.3.6.zip + URL_HASH MD5=1b57fde90182c8fea21a9f96df0b53eb ) FetchContent_MakeAvailable(libwebsockets) FetchContent_Declare( RapidJSON - URL https://github.com/Tencent/rapidjson/archive/refs/tags/v1.1.0.zip - URL_HASH MD5=ceb1cf16e693a3170c173dc040a9d2bd - PATCH_COMMAND patch -p1 < ${CMAKE_CURRENT_LIST_DIR}/patches/rapidjson.patch + URL https://github.com/jcelerier/rapidjson/archive/refs/tags/v1.2.1.zip + URL_HASH MD5=54d53169cbd2c290076677627779636d ) if(NOT RapidJSON_POPULATED) diff --git a/PAM/ssh/include/rublon/static_string.hpp b/PAM/ssh/include/rublon/static_string.hpp index b78c14e..7d03c7f 100644 --- a/PAM/ssh/include/rublon/static_string.hpp +++ b/PAM/ssh/include/rublon/static_string.hpp @@ -77,17 +77,17 @@ class StaticString : public details::StaticStringBase { return N - 1; } - StaticString< N > & operator+=(const char * rhs) { - auto remaining = capacity() - _size; - auto rhs_len = std::strlen(rhs); - auto copy_len = std::min(rhs_len, remaining); + // StaticString< N > & operator+=(const char * rhs) { + // auto remaining = capacity() - _size; + // auto rhs_len = std::strlen(rhs); + // auto copy_len = std::min(rhs_len, remaining); - std::strncpy(data() + _size, rhs, copy_len); - _size += copy_len; - data()[_size] = '\0'; // null + // std::strncpy(data() + _size, rhs, copy_len); + // _size += copy_len; + // data()[_size] = '\0'; // null - return *this; - } + // return *this; + // } template < std::size_t M > friend class StaticString; diff --git a/PAM/ssh/include/rublon/websockets.hpp b/PAM/ssh/include/rublon/websockets.hpp index 507f8fc..796da17 100644 --- a/PAM/ssh/include/rublon/websockets.hpp +++ b/PAM/ssh/include/rublon/websockets.hpp @@ -127,7 +127,9 @@ class WebSocket { } bool attachToTransactionConfirmationChannel(std::string_view transaction_id) { - StaticString< 128 > subscribe_message{}; + memory::MonotonicStackResource<128> mr; + std::pmr::string subscribe_message{&mr}; + subscribe_message.reserve(128); unsigned char buf[128 + LWS_PRE] = {}; subscribe_message += R"msg(42["subscribe",{"channel":"transactionConfirmation.)msg"; diff --git a/PAM/ssh/patches/rapidjson.patch b/PAM/ssh/patches/rapidjson.patch deleted file mode 100644 index f9c2055..0000000 --- a/PAM/ssh/patches/rapidjson.patch +++ /dev/null @@ -1,64 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ceda71b..0128f99 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -9,6 +9,7 @@ endif() - - SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules) - -+cmake_policy(SET CMP0048 NEW) - PROJECT(RapidJSON CXX) - - set(LIB_MAJOR_VERSION "1") - -diff --git a/include/rapidjson/document.h b/include/rapidjson/document.h -index e3e20dfb..592c5678 100644 ---- a/include/rapidjson/document.h -+++ b/include/rapidjson/document.h -@@ -97,17 +97,20 @@ struct GenericMember { - - \see GenericMember, GenericValue::MemberIterator, GenericValue::ConstMemberIterator - */ -+#pragma GCC diagnostic push -+#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - template - class GenericMemberIterator - : public std::iterator >::Type> { -- -+ - friend class GenericValue; - template friend class GenericMemberIterator; - - typedef GenericMember PlainType; - typedef typename internal::MaybeAddConst::Type ValueType; - typedef std::iterator BaseType; -+#pragma GCC diagnostic pop - - public: - //! Iterator type itself -@@ -1936,7 +1939,10 @@ private: - if (count) { - GenericValue* e = static_cast(allocator.Malloc(count * sizeof(GenericValue))); - SetElementsPointer(e); -+#pragma GCC diagnostic push -+#pragma GCC diagnostic ignored "-Wclass-memaccess" - std::memcpy(e, values, count * sizeof(GenericValue)); -+#pragma GCC diagnostic pop - } - else - SetElementsPointer(0); -@@ -1949,7 +1955,10 @@ private: - if (count) { - Member* m = static_cast(allocator.Malloc(count * sizeof(Member))); - SetMembersPointer(m); -+#pragma GCC diagnostic push -+#pragma GCC diagnostic ignored "-Wclass-memaccess" - std::memcpy(m, members, count * sizeof(Member)); -+#pragma GCC diagnostic pop - } - else - SetMembersPointer(0); -diff --git a/package.json b/package.json -index 843463d7..cc6087a5 100644 -Binary files a/package.json and b/package.json differ