head 1.2; access; symbols pkgsrc-2025Q3:1.1.0.6 pkgsrc-2025Q3-base:1.1 pkgsrc-2025Q2:1.1.0.4 pkgsrc-2025Q2-base:1.1 pkgsrc-2025Q1:1.1.0.2 pkgsrc-2025Q1-base:1.1; locks; strict; comment @// @; 1.2 date 2025.10.19.13.45.31; author adam; state dead; branches; next 1.1; commitid QM2F1aOD4NNKtbfG; 1.1 date 2024.12.30.09.40.20; author wiz; state Exp; branches; next ; commitid zgfgV4m5B6AFxvDF; desc @@ 1.2 log @botan3 py-botan3: updated to 3.9.0 3.9.0 Add SHA-1 implementation using AVX2/BMI2 Add Camellia implementation using GFNI/AVX2 Add SHACAL2 implementation using AVX512 The eFrodoKEM TLS 1.3 ciphersuites have changed the suite code to match changes in OQS. Add support for TLS 1.2 NULL cipher suites. These suites are disabled in the build by default, enable tls_null module to use. Add support for X.509 extensions from RFC 3779 Elliptic curve improvements Add EC_Scalar::hash following RFC 9380’s hash_to_field Modify the OID lookup system to use a static switch for builtin OIDs. Optimizations for X448 and Ed448 Modify BOTAN_CLEAR_CPUID so that clearing ssse3 also disables AVX2/AVX512 Remove various internal references to “EMSA”, an obsolete term used for RSA signature padding that originates from IEEE 1363. Enable support for GCC’s “strub” stack clearing. This is disabled by default, use the --enable-stack-scrubbing option to turn on. Use std::span in the internal block cipher padding mode interfaces Properly check DNS label length restrictions when checking wildcards. Work around a GCC 13/14 miscompilation when LTO is used Fix a bug preventing building System_RNG with only getrandom enabled. Document the specific threat model the library uses Remove configure.py options to disable specific CPU instructions. Remove configure.py option --with-local-config Add a better interface for encoding optional ASN.1 elements using std::optional Internal cleanups relating to multiprecision integers Resolve many warnings from clang-tidy CMake improvements CI improvements @ text @$NetBSD: patch-src_lib_utils_socket_socket.cpp,v 1.1 2024/12/30 09:40:20 wiz Exp $ https://github.com/randombit/botan/commit/2a406beab449a2cb310fa543451a7087ca7b4b1a --- src/lib/utils/socket/socket.cpp.orig 2024-10-26 07:00:10.000000000 +0000 +++ src/lib/utils/socket/socket.cpp @@@@ -46,20 +46,19 @@@@ class Asio_Socket final : public OS::Soc public: Asio_Socket(std::string_view hostname, std::string_view service, std::chrono::milliseconds timeout) : m_timeout(timeout), m_timer(m_io), m_tcp(m_io) { - m_timer.expires_from_now(m_timeout); + m_timer.expires_after(m_timeout); check_timeout(); boost::asio::ip::tcp::resolver resolver(m_io); - boost::asio::ip::tcp::resolver::query query(std::string{hostname}, std::string{service}); - boost::asio::ip::tcp::resolver::iterator dns_iter = resolver.resolve(query); + boost::asio::ip::tcp::resolver::results_type dns_iter = resolver.resolve(std::string{hostname}, std::string{service}); boost::system::error_code ec = boost::asio::error::would_block; - auto connect_cb = [&ec](const boost::system::error_code& e, const boost::asio::ip::tcp::resolver::iterator&) { + auto connect_cb = [&ec](const boost::system::error_code& e, boost::asio::ip::tcp::resolver::results_type::iterator) { ec = e; }; - boost::asio::async_connect(m_tcp, dns_iter, connect_cb); + boost::asio::async_connect(m_tcp, dns_iter.begin(), dns_iter.end(), connect_cb); while(ec == boost::asio::error::would_block) { m_io.run_one(); @@@@ -74,7 +73,7 @@@@ class Asio_Socket final : public OS::Soc } void write(const uint8_t buf[], size_t len) override { - m_timer.expires_from_now(m_timeout); + m_timer.expires_after(m_timeout); boost::system::error_code ec = boost::asio::error::would_block; @@@@ -90,7 +89,7 @@@@ class Asio_Socket final : public OS::Soc } size_t read(uint8_t buf[], size_t len) override { - m_timer.expires_from_now(m_timeout); + m_timer.expires_after(m_timeout); boost::system::error_code ec = boost::asio::error::would_block; size_t got = 0; @@@@ -116,7 +115,7 @@@@ class Asio_Socket final : public OS::Soc private: void check_timeout() { - if(m_tcp.is_open() && m_timer.expires_at() < std::chrono::system_clock::now()) { + if(m_tcp.is_open() && m_timer.expiry() < std::chrono::system_clock::now()) { boost::system::error_code err; // NOLINTNEXTLINE(bugprone-unused-return-value,cert-err33-c) @@@@ -127,7 +126,7 @@@@ class Asio_Socket final : public OS::Soc } const std::chrono::milliseconds m_timeout; - boost::asio::io_service m_io; + boost::asio::io_context m_io; boost::asio::system_timer m_timer; boost::asio::ip::tcp::socket m_tcp; }; @ 1.1 log @ibotan3: fix build with boost 1.87 using upstream patch @ text @d1 1 a1 1 $NetBSD$ @