Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package aws-crt-cpp for openSUSE:Factory checked in at 2026-06-08 14:22:22 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/aws-crt-cpp (Old) and /work/SRC/openSUSE:Factory/.aws-crt-cpp.new.2375 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "aws-crt-cpp" Mon Jun 8 14:22:22 2026 rev:54 rq:1357872 version:0.39.1 Changes: -------- --- /work/SRC/openSUSE:Factory/aws-crt-cpp/aws-crt-cpp.changes 2026-05-26 16:35:53.892629554 +0200 +++ /work/SRC/openSUSE:Factory/.aws-crt-cpp.new.2375/aws-crt-cpp.changes 2026-06-08 14:27:40.126902716 +0200 @@ -1,0 +2,11 @@ +Thu Jun 4 11:21:11 UTC 2026 - John Paul Adrian Glaubitz <[email protected]> + +- Update to version 0.39.1 + * Bump crt by @TingDaoK in (#857) + * Add TlsConnectionOptions param to profile credentials provider + configuration by @sbiscigl in (#853) +- from version 0.39.0 + * Keep reference to proxy strategy options on connection + by @DmitriyMusatkin in (#852) + +------------------------------------------------------------------- Old: ---- v0.38.7.tar.gz New: ---- v0.39.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ aws-crt-cpp.spec ++++++ --- /var/tmp/diff_new_pack.Up0YRE/_old 2026-06-08 14:27:40.830931930 +0200 +++ /var/tmp/diff_new_pack.Up0YRE/_new 2026-06-08 14:27:40.838932261 +0200 @@ -20,7 +20,7 @@ %define library_soversion 1 Name: aws-crt-cpp -Version: 0.38.7 +Version: 0.39.1 Release: 0 Summary: AWS C++ wrapper for AWS SDK C libraries License: Apache-2.0 ++++++ v0.38.7.tar.gz -> v0.39.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-crt-cpp-0.38.7/VERSION new/aws-crt-cpp-0.39.1/VERSION --- old/aws-crt-cpp-0.38.7/VERSION 2026-05-07 22:06:12.000000000 +0200 +++ new/aws-crt-cpp-0.39.1/VERSION 2026-05-22 21:07:32.000000000 +0200 @@ -1 +1 @@ -0.38.7 +0.39.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-crt-cpp-0.38.7/include/aws/crt/auth/Credentials.h new/aws-crt-cpp-0.39.1/include/aws/crt/auth/Credentials.h --- old/aws-crt-cpp-0.38.7/include/aws/crt/auth/Credentials.h 2026-05-07 22:06:12.000000000 +0200 +++ new/aws-crt-cpp-0.39.1/include/aws/crt/auth/Credentials.h 2026-05-22 21:07:32.000000000 +0200 @@ -204,11 +204,13 @@ * Client TLS context to use for any secure network connections made while sourcing credentials * (for example, a profile that uses assume-role will need to query STS). * - * If a TLS context is needed, and you did not pass one in, it will be created automatically. - * However, you are encouraged to pass in a shared one since these are expensive objects. - * If using BYO_CRYPTO, you must provide the TLS context since it cannot be created automatically. + * If a TLS context is needed, and you did not pass one in, the content of TlsConnectionOptions will be + * used which may be default contructed. However, you are encouraged to pass in a shared one since these + * are expensive objects. If using BYO_CRYPTO, you must provide the TLS context since it cannot be + * created automatically. */ Io::TlsContext *TlsContext; + Io::TlsConnectionOptions TlsConnectionOptions; /** * (Optional) Http proxy configuration for the http request that fetches credentials. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-crt-cpp-0.38.7/source/auth/Credentials.cpp new/aws-crt-cpp-0.39.1/source/auth/Credentials.cpp --- old/aws-crt-cpp-0.38.7/source/auth/Credentials.cpp 2026-05-07 22:06:12.000000000 +0200 +++ new/aws-crt-cpp-0.39.1/source/auth/Credentials.cpp 2026-05-22 21:07:32.000000000 +0200 @@ -237,7 +237,15 @@ raw_config.credentials_file_name_override = config.CredentialsFileNameOverride; raw_config.profile_name_override = config.ProfileNameOverride; raw_config.bootstrap = config.Bootstrap ? config.Bootstrap->GetUnderlyingHandle() : nullptr; - raw_config.tls_ctx = config.TlsContext ? config.TlsContext->GetUnderlyingHandle() : nullptr; + if (config.TlsContext != nullptr) + { + raw_config.tls_ctx = config.TlsContext->GetUnderlyingHandle(); + } + else if (config.TlsConnectionOptions) + { + const auto *const connectionOptions = config.TlsConnectionOptions.GetUnderlyingHandle(); + raw_config.tls_ctx = connectionOptions->ctx; + } struct proxy_env_var_settings proxy_options; AWS_ZERO_STRUCT(proxy_options); if (config.ProxyEnvVarOptions.has_value()) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-crt-cpp-0.38.7/source/http/HttpConnection.cpp new/aws-crt-cpp-0.39.1/source/http/HttpConnection.cpp --- old/aws-crt-cpp-0.38.7/source/http/HttpConnection.cpp 2026-05-07 22:06:12.000000000 +0200 +++ new/aws-crt-cpp-0.39.1/source/http/HttpConnection.cpp 2026-05-22 21:07:32.000000000 +0200 @@ -23,6 +23,7 @@ Allocator *allocator; OnConnectionSetup onConnectionSetup; OnConnectionShutdown onConnectionShutdown; + std::shared_ptr<HttpProxyStrategy> proxyStrategy; }; class UnmanagedConnection final : public HttpClientConnection @@ -172,6 +173,11 @@ proxyOpts.InitializeRawProxyOptions(proxyOptions); options.proxy_options = &proxyOptions; + /* Note: this is a bit atypical from what we usually do, but c proxy strategy can have a weak ref to + c++ class, looking at you AdaptiveHttpProxyStrategy. And we need lifetime of ProxyStrategy to be + inline with underlying c structs. So keeping a ref to shared ptr, to make sure it survives after + options are gone. */ + callbackData->proxyStrategy = proxyOpts.ProxyStrategy; } if (aws_http_client_connect(&options)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-crt-cpp-0.38.7/tests/CMakeLists.txt new/aws-crt-cpp-0.39.1/tests/CMakeLists.txt --- old/aws-crt-cpp-0.38.7/tests/CMakeLists.txt 2026-05-07 22:06:12.000000000 +0200 +++ new/aws-crt-cpp-0.39.1/tests/CMakeLists.txt 2026-05-22 21:07:32.000000000 +0200 @@ -180,6 +180,9 @@ add_test_case(DirectConnectionTunnelingProxyBasicAuthDeprecated) add_test_case(DirectConnectionTunnelingProxyBasicAuth) + # proxy strategy lifetime regression test + add_test_case(AdaptiveProxyStrategyLifetime) + # x509 provider proxy tests add_test_case(X509ProxyHttpGetCredentials) add_test_case(X509ProxyHttpsGetCredentials) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-crt-cpp-0.38.7/tests/ProxyTest.cpp new/aws-crt-cpp-0.39.1/tests/ProxyTest.cpp --- old/aws-crt-cpp-0.38.7/tests/ProxyTest.cpp 2026-05-07 22:06:12.000000000 +0200 +++ new/aws-crt-cpp-0.39.1/tests/ProxyTest.cpp 2026-05-22 21:07:32.000000000 +0200 @@ -566,6 +566,7 @@ s_InitializeProxiedRawConnection(testState, aws_byte_cursor_from_string(s_https_endpoint)); ASSERT_TRUE(testState.m_connection != nullptr); + ASSERT_INT_EQUALS(testState.m_proxyOptions.ProxyStrategy.use_count(), 3); } /* now let everything tear down and make sure we don't leak or deadlock.*/
