diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2022-08-14 23:03:01 +0200 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2022-08-19 10:13:35 +0200 |
commit | 0d49a5b9a45d38855f22195dae1a776abb732a19 (patch) | |
tree | 88c4c6d8f89a2f7dcfcd7a06917b6c9505d5aa06 /dev-cpp/yaml-cpp | |
parent | app-arch/snappy: drop 1.1.8, 1.1.9 (diff) | |
download | gentoo-0d49a5b9a45d38855f22195dae1a776abb732a19.tar.gz gentoo-0d49a5b9a45d38855f22195dae1a776abb732a19.tar.bz2 gentoo-0d49a5b9a45d38855f22195dae1a776abb732a19.zip |
dev-cpp/yaml-cpp: drop 0.6.3-r3, 0.6.3-r4
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'dev-cpp/yaml-cpp')
-rw-r--r-- | dev-cpp/yaml-cpp/Manifest | 1 | ||||
-rw-r--r-- | dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-CVE-2017-11692.patch | 44 | ||||
-rw-r--r-- | dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-abi-breakage.patch | 57 | ||||
-rw-r--r-- | dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-fix-overflows.patch | 149 | ||||
-rw-r--r-- | dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-gtest.patch | 44 | ||||
-rw-r--r-- | dev-cpp/yaml-cpp/yaml-cpp-0.6.3-r3.ebuild | 49 | ||||
-rw-r--r-- | dev-cpp/yaml-cpp/yaml-cpp-0.6.3-r4.ebuild | 46 |
7 files changed, 0 insertions, 390 deletions
diff --git a/dev-cpp/yaml-cpp/Manifest b/dev-cpp/yaml-cpp/Manifest index 88f602e7f4ee..d18739367bdc 100644 --- a/dev-cpp/yaml-cpp/Manifest +++ b/dev-cpp/yaml-cpp/Manifest @@ -1,2 +1 @@ -DIST yaml-cpp-0.6.3.tar.gz 1398768 BLAKE2B 07abe1c56740105a0af2335bb1cd48086cb614d9d04c61342e53788bfb043fd7eb2629e441a0a5be50898b288f3526f1707c5fdf1d734395b6450c3103773b14 SHA512 68b9ce987cabc1dec79382f922de20cc2c222cb9c090ecb93dc686b048da5c917facf4fce6d8f72feea44b61e5a6770ed3b0c199c4cd4e6bde5b6245c09f8e49 DIST yaml-cpp-0.7.0.tar.gz 1033237 BLAKE2B 69a11a8503ad607aa0d54912a5e53d305a643fe2d36dd86fa96832e3d4930b39a85318dc130e438210a9ca60357f3aa9aa6cd0f2b6bc45728b648c545a437368 SHA512 2de0f0ec8f003cd3c498d571cda7a796bf220517bad2dc02cba70c522dddde398f33cf1ad20da251adaacb2a07b77844111f297e99d45a7c46ebc01706bbafb5 diff --git a/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-CVE-2017-11692.patch b/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-CVE-2017-11692.patch deleted file mode 100644 index fd7a7198c1c6..000000000000 --- a/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-CVE-2017-11692.patch +++ /dev/null @@ -1,44 +0,0 @@ -From c9460110e072df84b7dee3eb651f2ec5df75fb18 Mon Sep 17 00:00:00 2001 -From: Jesse Beder <jbeder@gmail.com> -Date: Mon, 20 Jan 2020 18:05:15 -0600 -Subject: [PATCH] Fix reading empty token stack with a node with properties but - no scalar. - -E.g. `!2`. ---- - src/singledocparser.cpp | 6 ++++++ - test/integration/load_node_test.cpp | 5 +++++ - 2 files changed, 11 insertions(+) - -diff --git a/src/singledocparser.cpp b/src/singledocparser.cpp -index 52544dd6..47e9e047 100644 ---- a/src/singledocparser.cpp -+++ b/src/singledocparser.cpp -@@ -79,6 +79,12 @@ void SingleDocParser::HandleNode(EventHandler& eventHandler) { - if (!anchor_name.empty()) - eventHandler.OnAnchor(mark, anchor_name); - -+ // after parsing properties, an empty node is again a possibility -+ if (m_scanner.empty()) { -+ eventHandler.OnNull(mark, anchor); -+ return; -+ } -+ - const Token& token = m_scanner.peek(); - - if (token.type == Token::PLAIN_SCALAR && IsNullString(token.value)) { -diff --git a/test/integration/load_node_test.cpp b/test/integration/load_node_test.cpp -index 4f4f28e8..0e0dd6bc 100644 ---- a/test/integration/load_node_test.cpp -+++ b/test/integration/load_node_test.cpp -@@ -257,5 +257,10 @@ TEST(NodeTest, LoadTagWithParenthesis) { - EXPECT_EQ(node.as<std::string>(), "foo"); - } - -+TEST(NodeTest, LoadTagWithNullScalar) { -+ Node node = Load("!2"); -+ EXPECT_TRUE(node.IsNull()); -+} -+ - } // namespace - } // namespace YAML diff --git a/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-abi-breakage.patch b/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-abi-breakage.patch deleted file mode 100644 index d9160856c47f..000000000000 --- a/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-abi-breakage.patch +++ /dev/null @@ -1,57 +0,0 @@ -commit f5f288c7622d3547c29a8355b8ccda0155483b79 -Author: Till Hofmann <hofmann@kbsg.rwth-aachen.de> -Date: Sun Nov 17 22:43:20 2019 +0100 - - Revert "fix up static, so works as DLL (#559)" - - This reverts commit 774f25800e6f19f4b927023c85d1389af322da5e. - -diff --git a/include/yaml-cpp/node/detail/node_data.h b/include/yaml-cpp/node/detail/node_data.h -index 82fb79a..50bcd74 100644 ---- a/include/yaml-cpp/node/detail/node_data.h -+++ b/include/yaml-cpp/node/detail/node_data.h -@@ -81,7 +81,7 @@ class YAML_CPP_API node_data { - shared_memory_holder pMemory); - - public: -- static const std::string& empty_scalar(); -+ static std::string empty_scalar; - - private: - void compute_seq_size() const; -diff --git a/include/yaml-cpp/node/impl.h b/include/yaml-cpp/node/impl.h -index 7a3deac..b363f86 100644 ---- a/include/yaml-cpp/node/impl.h -+++ b/include/yaml-cpp/node/impl.h -@@ -166,13 +166,13 @@ inline T Node::as(const S& fallback) const { - inline const std::string& Node::Scalar() const { - if (!m_isValid) - throw InvalidNode(m_invalidKey); -- return m_pNode ? m_pNode->scalar() : detail::node_data::empty_scalar(); -+ return m_pNode ? m_pNode->scalar() : detail::node_data::empty_scalar; - } - - inline const std::string& Node::Tag() const { - if (!m_isValid) - throw InvalidNode(m_invalidKey); -- return m_pNode ? m_pNode->tag() : detail::node_data::empty_scalar(); -+ return m_pNode ? m_pNode->tag() : detail::node_data::empty_scalar; - } - - inline void Node::SetTag(const std::string& tag) { -diff --git a/src/node_data.cpp b/src/node_data.cpp -index 6cfedfc..eba1ae4 100644 ---- a/src/node_data.cpp -+++ b/src/node_data.cpp -@@ -13,10 +13,7 @@ - namespace YAML { - namespace detail { - --const std::string& node_data::empty_scalar() { -- static const std::string svalue; -- return svalue; --} -+std::string node_data::empty_scalar; - - node_data::node_data() - : m_isDefined(false), diff --git a/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-fix-overflows.patch b/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-fix-overflows.patch deleted file mode 100644 index 4c5418db22d3..000000000000 --- a/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-fix-overflows.patch +++ /dev/null @@ -1,149 +0,0 @@ -This patch comes from the upstream commit here[1], slightly modified to -apply to 0.6.3. The pull request[2] mentions fixing CVE-2017-5950, -CVE-2018-{20573,20574}, and CVE-2019-6285. Note that CVE-2019-6292 appears to -be a duplicate of CVE-2019-6285 [3]. - -[1] https://github.com/jbeder/yaml-cpp/commit/4edff1fa5dbfca16fc72d89870841bee89f8ef89 -[2] https://github.com/jbeder/yaml-cpp/pull/807 -[3] https://github.com/jbeder/yaml-cpp/issues/660 - -diff --git a/include/yaml-cpp/depthguard.h b/include/yaml-cpp/depthguard.h -new file mode 100644 -index 00000000..8ca61ac6 ---- /dev/null -+++ b/include/yaml-cpp/depthguard.h -@@ -0,0 +1,77 @@ -+#ifndef DEPTH_GUARD_H_00000000000000000000000000000000000000000000000000000000 -+#define DEPTH_GUARD_H_00000000000000000000000000000000000000000000000000000000 -+ -+#if defined(_MSC_VER) || \ -+ (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \ -+ (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4 -+#pragma once -+#endif -+ -+#include "exceptions.h" -+ -+namespace YAML { -+ -+/** -+ * @brief The DeepRecursion class -+ * An exception class which is thrown by DepthGuard. Ideally it should be -+ * a member of DepthGuard. However, DepthGuard is a templated class which means -+ * that any catch points would then need to know the template parameters. It is -+ * simpler for clients to not have to know at the catch point what was the -+ * maximum depth. -+ */ -+class DeepRecursion : public ParserException { -+public: -+ virtual ~DeepRecursion() = default; -+ -+ DeepRecursion(int depth, const Mark& mark_, const std::string& msg_); -+ -+ // Returns the recursion depth when the exception was thrown -+ int depth() const { -+ return m_depth; -+ } -+ -+private: -+ int m_depth = 0; -+}; -+ -+/** -+ * @brief The DepthGuard class -+ * DepthGuard takes a reference to an integer. It increments the integer upon -+ * construction of DepthGuard and decrements the integer upon destruction. -+ * -+ * If the integer would be incremented past max_depth, then an exception is -+ * thrown. This is ideally geared toward guarding against deep recursion. -+ * -+ * @param max_depth -+ * compile-time configurable maximum depth. -+ */ -+template <int max_depth = 2000> -+class DepthGuard final { -+public: -+ DepthGuard(int & depth_, const Mark& mark_, const std::string& msg_) : m_depth(depth_) { -+ ++m_depth; -+ if ( max_depth <= m_depth ) { -+ throw DeepRecursion{m_depth, mark_, msg_}; -+ } -+ } -+ -+ DepthGuard(const DepthGuard & copy_ctor) = delete; -+ DepthGuard(DepthGuard && move_ctor) = delete; -+ DepthGuard & operator=(const DepthGuard & copy_assign) = delete; -+ DepthGuard & operator=(DepthGuard && move_assign) = delete; -+ -+ ~DepthGuard() { -+ --m_depth; -+ } -+ -+ int current_depth() const { -+ return m_depth; -+ } -+ -+private: -+ int & m_depth; -+}; -+ -+} // namespace YAML -+ -+#endif // DEPTH_GUARD_H_00000000000000000000000000000000000000000000000000000000 -diff --git a/src/depthguard.cpp b/src/depthguard.cpp -new file mode 100644 -index 00000000..b88cd340 ---- /dev/null -+++ b/src/depthguard.cpp -@@ -0,0 +1,10 @@ -+#include "yaml-cpp/depthguard.h" -+ -+namespace YAML { -+ -+DeepRecursion::DeepRecursion(int depth, const Mark& mark_, const std::string& msg_) -+ : ParserException(mark_, msg_), -+ m_depth(depth) { -+} -+ -+} // namespace YAML -diff --git a/src/singledocparser.cpp b/src/singledocparser.cpp -index 47e9e047..3e5638be 100644 ---- a/src/singledocparser.cpp -+++ b/src/singledocparser.cpp -@@ -7,6 +7,7 @@ - #include "singledocparser.h" - #include "tag.h" - #include "token.h" -+#include "yaml-cpp/depthguard.h" - #include "yaml-cpp/emitterstyle.h" - #include "yaml-cpp/eventhandler.h" - #include "yaml-cpp/exceptions.h" // IWYU pragma: keep -@@ -47,6 +48,8 @@ void SingleDocParser::HandleDocument(EventHandler& eventHandler) { - } - - void SingleDocParser::HandleNode(EventHandler& eventHandler) { -+ DepthGuard<2000> depthguard(depth, m_scanner.mark(), ErrorMsg::BAD_FILE); -+ - // an empty node *is* a possibility - if (m_scanner.empty()) { - eventHandler.OnNull(m_scanner.mark(), NullAnchor); -diff --git a/src/singledocparser.h b/src/singledocparser.h -index c8cfca9d..f484eb1f 100644 ---- a/src/singledocparser.h -+++ b/src/singledocparser.h -@@ -15,6 +15,7 @@ - - namespace YAML { - class CollectionStack; -+template <int> class DepthGuard; // depthguard.h - class EventHandler; - class Node; - class Scanner; -@@ -55,6 +56,7 @@ class SingleDocParser { - anchor_t LookupAnchor(const Mark& mark, const std::string& name) const; - - private: -+ int depth = 0; - Scanner& m_scanner; - const Directives& m_directives; - std::unique_ptr<CollectionStack> m_pCollectionStack; diff --git a/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-gtest.patch b/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-gtest.patch deleted file mode 100644 index 51f2a7b563ff..000000000000 --- a/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-gtest.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt -index 0a669d5..bc8bbdd 100644 ---- a/test/CMakeLists.txt -+++ b/test/CMakeLists.txt -@@ -7,22 +7,7 @@ if(MSVC) - set(CMAKE_STATIC_LIBRARY_PREFIX "") - endif() - --ExternalProject_Add( -- googletest_project -- SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/gtest-1.8.0" -- INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/prefix" -- CMAKE_ARGS -- -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -- -DBUILD_GMOCK=ON -- -Dgtest_force_shared_crt=ON --) -- --add_library(gmock UNKNOWN IMPORTED) --set_target_properties(gmock PROPERTIES -- IMPORTED_LOCATION -- ${PROJECT_BINARY_DIR}/test/prefix/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gmock${CMAKE_STATIC_LIBRARY_SUFFIX} --) -- -+find_package(GTest REQUIRED CONFIG) - find_package(Threads) - - include_directories(SYSTEM "${PROJECT_BINARY_DIR}/test/prefix/include") -@@ -56,14 +41,12 @@ set_target_properties(run-tests PROPERTIES - CXX_STANDARD_REQUIRED ON - ) - --add_dependencies(run-tests googletest_project) -- - set_target_properties(run-tests PROPERTIES - COMPILE_FLAGS "${yaml_c_flags} ${yaml_cxx_flags} ${yaml_test_flags}" - ) - target_link_libraries(run-tests - yaml-cpp -- gmock -+ GTest::gmock - ${CMAKE_THREAD_LIBS_INIT}) - - add_test(yaml-test ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/run-tests) diff --git a/dev-cpp/yaml-cpp/yaml-cpp-0.6.3-r3.ebuild b/dev-cpp/yaml-cpp/yaml-cpp-0.6.3-r3.ebuild deleted file mode 100644 index 60efcffd321e..000000000000 --- a/dev-cpp/yaml-cpp/yaml-cpp-0.6.3-r3.ebuild +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -CMAKE_ECLASS="cmake" -inherit cmake-multilib - -DESCRIPTION="YAML parser and emitter in C++" -HOMEPAGE="https://github.com/jbeder/yaml-cpp" -SRC_URI="https://github.com/jbeder/${PN}/archive/${P}.tar.gz" - -LICENSE="MIT" -SLOT="0/0.6" -KEYWORDS="amd64 ~arm arm64 ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux" -IUSE="test" - -# test breaks build -#RESTRICT="!test? ( test )" -RESTRICT+="test" - -DEPEND="test? ( dev-cpp/gtest )" - -S="${WORKDIR}/${PN}-${P}" - -PATCHES=( - "${FILESDIR}/${P}-abi-breakage.patch" - "${FILESDIR}/${P}-CVE-2017-11692.patch" - "${FILESDIR}/${P}-fix-overflows.patch" -) - -src_prepare() { - sed -i \ - -e 's:INCLUDE_INSTALL_ROOT_DIR:INCLUDE_INSTALL_DIR:g' \ - yaml-cpp.pc.cmake || die - - cmake_src_prepare -} - -src_configure() { - local mycmakeargs=( - -DBUILD_SHARED_LIBS=ON - -DYAML_BUILD_SHARED_LIBS=ON - -DYAML_CPP_BUILD_TOOLS=OFF # Don't have install rule - -DYAML_CPP_BUILD_TESTS=$(usex test) - ) - - cmake-multilib_src_configure -} diff --git a/dev-cpp/yaml-cpp/yaml-cpp-0.6.3-r4.ebuild b/dev-cpp/yaml-cpp/yaml-cpp-0.6.3-r4.ebuild deleted file mode 100644 index 4992372c5365..000000000000 --- a/dev-cpp/yaml-cpp/yaml-cpp-0.6.3-r4.ebuild +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -CMAKE_ECLASS="cmake" -inherit cmake-multilib - -DESCRIPTION="YAML parser and emitter in C++" -HOMEPAGE="https://github.com/jbeder/yaml-cpp" -SRC_URI="https://github.com/jbeder/yaml-cpp/archive/${P}.tar.gz" -S="${WORKDIR}/yaml-cpp-${P}" - -LICENSE="MIT" -SLOT="0/0.6" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux" -IUSE="test" -RESTRICT="!test? ( test )" - -DEPEND="test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )" - -PATCHES=( - "${FILESDIR}/${P}-abi-breakage.patch" - "${FILESDIR}/${P}-CVE-2017-11692.patch" - "${FILESDIR}/${P}-fix-overflows.patch" - "${FILESDIR}/${P}-gtest.patch" -) - -src_prepare() { - sed -i \ - -e 's:INCLUDE_INSTALL_ROOT_DIR:INCLUDE_INSTALL_DIR:g' \ - yaml-cpp.pc.cmake || die - rm -r test/gtest-* || die - - cmake_src_prepare -} - -src_configure() { - local mycmakeargs=( - -DYAML_BUILD_SHARED_LIBS=ON - -DYAML_CPP_BUILD_TOOLS=OFF # Don't have install rule - -DYAML_CPP_BUILD_TESTS=$(usex test) - ) - - cmake-multilib_src_configure -} |