Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package aws-c-auth for openSUSE:Factory checked in at 2026-01-17 14:53:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/aws-c-auth (Old) and /work/SRC/openSUSE:Factory/.aws-c-auth.new.1928 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "aws-c-auth" Sat Jan 17 14:53:01 2026 rev:24 rq:1327471 version:0.9.5 Changes: -------- --- /work/SRC/openSUSE:Factory/aws-c-auth/aws-c-auth.changes 2025-12-31 10:48:27.273005491 +0100 +++ /work/SRC/openSUSE:Factory/.aws-c-auth.new.1928/aws-c-auth.changes 2026-01-17 14:53:43.020590013 +0100 @@ -1,0 +2,6 @@ +Wed Jan 14 10:54:05 UTC 2026 - John Paul Adrian Glaubitz <[email protected]> + +- Update to version 0.9.5 + * Add proxy settings for profile credential provider by @azkrishpy in (#285) + +------------------------------------------------------------------- Old: ---- v0.9.4.tar.gz New: ---- v0.9.5.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ aws-c-auth.spec ++++++ --- /var/tmp/diff_new_pack.H35JaS/_old 2026-01-17 14:53:44.648657884 +0100 +++ /var/tmp/diff_new_pack.H35JaS/_new 2026-01-17 14:53:44.692659718 +0100 @@ -20,7 +20,7 @@ %define library_pkg 1_0_0 %define library_soversion 1 Name: aws-c-auth -Version: 0.9.4 +Version: 0.9.5 Release: 0 Summary: AWS C99 library implementation of AWS client-side authentication License: Apache-2.0 ++++++ v0.9.4.tar.gz -> v0.9.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-auth-0.9.4/include/aws/auth/credentials.h new/aws-c-auth-0.9.5/include/aws/auth/credentials.h --- old/aws-c-auth-0.9.4/include/aws/auth/credentials.h 2025-12-06 03:46:00.000000000 +0100 +++ new/aws-c-auth-0.9.5/include/aws/auth/credentials.h 2025-12-24 02:11:02.000000000 +0100 @@ -142,6 +142,9 @@ /* For mocking the http layer in tests, leave NULL otherwise */ struct aws_auth_http_system_vtable *function_table; + + /* Add proxy options for sts based provider */ + struct proxy_env_var_settings *proxy_ev_settings; }; /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-auth-0.9.4/source/credentials_provider_profile.c new/aws-c-auth-0.9.5/source/credentials_provider_profile.c --- old/aws-c-auth-0.9.4/source/credentials_provider_profile.c 2025-12-06 03:46:00.000000000 +0100 +++ new/aws-c-auth-0.9.5/source/credentials_provider_profile.c 2025-12-24 02:11:02.000000000 +0100 @@ -335,6 +335,7 @@ .profile_collection_cached = options->profile_collection_cached, .duration_seconds = 0, .function_table = options->function_table, + .proxy_ev_settings = options->proxy_ev_settings, }; if (source_profile_property) { @@ -352,6 +353,7 @@ .profile_collection_cached = merged_profiles, .tls_ctx = options->tls_ctx, .function_table = options->function_table, + .proxy_ev_settings = options->proxy_ev_settings, }; sts_options.creds_provider = s_credentials_provider_new_profile_internal(allocator, &profile_provider_options, source_profiles_table); @@ -378,6 +380,7 @@ struct aws_credentials_provider_imds_options imds_options = { .bootstrap = options->bootstrap, .function_table = options->function_table, + .proxy_ev_settings = options->proxy_ev_settings, }; struct aws_credentials_provider *imds_provider = @@ -414,6 +417,7 @@ .bootstrap = options->bootstrap, .function_table = options->function_table, .tls_ctx = tls_ctx, + .proxy_ev_settings = options->proxy_ev_settings, }; struct aws_credentials_provider *ecs_provider = aws_credentials_provider_new_ecs_from_environment(allocator, &ecs_options); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-auth-0.9.4/source/credentials_utils.c new/aws-c-auth-0.9.5/source/credentials_utils.c --- old/aws-c-auth-0.9.4/source/credentials_utils.c 2025-12-06 03:46:00.000000000 +0100 +++ new/aws-c-auth-0.9.5/source/credentials_utils.c 2025-12-24 02:11:02.000000000 +0100 @@ -299,22 +299,15 @@ return credentials; } -static bool s_is_transient_network_error(int error_code) { - return error_code == AWS_ERROR_HTTP_CONNECTION_CLOSED || error_code == AWS_ERROR_HTTP_SERVER_CLOSED || - error_code == AWS_IO_SOCKET_CLOSED || error_code == AWS_IO_SOCKET_CONNECT_ABORTED || - error_code == AWS_IO_SOCKET_CONNECTION_REFUSED || error_code == AWS_IO_SOCKET_NETWORK_DOWN || - error_code == AWS_IO_DNS_QUERY_FAILED || error_code == AWS_IO_DNS_NO_ADDRESS_FOR_HOST || - error_code == AWS_IO_SOCKET_TIMEOUT || error_code == AWS_IO_TLS_NEGOTIATION_TIMEOUT || - error_code == AWS_HTTP_STATUS_CODE_408_REQUEST_TIMEOUT; -} - enum aws_retry_error_type aws_credentials_provider_compute_retry_error_type(int response_code, int error_code) { enum aws_retry_error_type error_type = response_code >= 400 && response_code < 500 ? AWS_RETRY_ERROR_TYPE_CLIENT_ERROR : AWS_RETRY_ERROR_TYPE_SERVER_ERROR; - if (s_is_transient_network_error(error_code)) { + // We are removing few error codes a legacy method used to assume as transient errors. + // Any retryable error from the http layer is a transient error for auth and other downstream libraries. + if (aws_http_error_code_is_retryable(error_code)) { error_type = AWS_RETRY_ERROR_TYPE_TRANSIENT; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-auth-0.9.4/tests/CMakeLists.txt new/aws-c-auth-0.9.5/tests/CMakeLists.txt --- old/aws-c-auth-0.9.4/tests/CMakeLists.txt 2025-12-06 03:46:00.000000000 +0100 +++ new/aws-c-auth-0.9.5/tests/CMakeLists.txt 2025-12-24 02:11:02.000000000 +0100 @@ -103,6 +103,7 @@ add_net_test_case(credentials_provider_sts_from_profile_config_succeeds) add_net_test_case(credentials_provider_sts_from_profile_config_with_external_id) add_net_test_case(credentials_provider_sts_from_profile_config_with_chain) +add_net_test_case(credentials_provider_sts_from_profile_config_with_proxy_settings) add_net_test_case(credentials_provider_sts_from_profile_config_with_ecs_credentials_source) add_net_test_case(credentials_provider_sts_from_profile_config_with_chain_and_profile_creds) add_net_test_case(credentials_provider_sts_from_profile_config_with_chain_and_partial_profile_creds) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-auth-0.9.4/tests/credentials_provider_sts_tests.c new/aws-c-auth-0.9.5/tests/credentials_provider_sts_tests.c --- old/aws-c-auth-0.9.4/tests/credentials_provider_sts_tests.c 2025-12-06 03:46:00.000000000 +0100 +++ new/aws-c-auth-0.9.5/tests/credentials_provider_sts_tests.c 2025-12-24 02:11:02.000000000 +0100 @@ -1280,6 +1280,70 @@ credentials_provider_sts_from_profile_config_with_chain, s_credentials_provider_sts_from_profile_config_with_chain_fn) +static int s_credentials_provider_sts_from_profile_config_with_proxy_settings( + struct aws_allocator *allocator, + void *ctx) { + (void)ctx; + + aws_unset_environment_value(s_default_profile_env_variable_name); + aws_unset_environment_value(s_default_config_path_env_variable_name); + aws_unset_environment_value(s_default_credentials_path_env_variable_name); + + s_aws_sts_tester_init(allocator); + s_tester.expected_connection_manager_shutdown_callback_count = 3; + + struct aws_string *config_contents = aws_string_new_from_c_str(allocator, s_source_profile_chain_config_file); + + struct aws_string *config_file_str = aws_create_process_unique_file_name(allocator); + struct aws_string *creds_file_str = aws_create_process_unique_file_name(allocator); + + ASSERT_SUCCESS(aws_create_profile_file(creds_file_str, config_contents)); + aws_string_destroy(config_contents); + + struct proxy_env_var_settings proxy_config = { + .env_var_type = AWS_HPEV_ENABLE, + }; + + s_tester.proxy_config = &proxy_config; + s_tester.fail_connection = true; + + struct aws_credentials_provider_profile_options options = { + .config_file_name_override = aws_byte_cursor_from_string(config_file_str), + .credentials_file_name_override = aws_byte_cursor_from_string(creds_file_str), + .profile_name_override = aws_byte_cursor_from_c_str("roletest"), + .bootstrap = s_tester.bootstrap, + .function_table = &s_mock_function_table, + .shutdown_options = + { + .shutdown_callback = s_on_provider_shutdown, + }, + .proxy_ev_settings = &proxy_config, + }; + + struct aws_credentials_provider *provider = aws_credentials_provider_new_profile(allocator, &options); + ASSERT_NOT_NULL(provider); + + aws_string_destroy(config_file_str); + aws_string_destroy(creds_file_str); + + aws_credentials_provider_get_credentials(provider, s_get_credentials_callback, NULL); + + s_aws_wait_for_credentials_result(); + + ASSERT_TRUE(s_tester.credentials == NULL); + + aws_credentials_provider_release(provider); + s_aws_wait_for_connection_manager_shutdown_callback(); + s_aws_wait_for_provider_shutdown_callback(); + + ASSERT_SUCCESS(s_aws_sts_tester_cleanup()); + + return AWS_OP_SUCCESS; +} +AWS_TEST_CASE( + credentials_provider_sts_from_profile_config_with_proxy_settings, + s_credentials_provider_sts_from_profile_config_with_proxy_settings) + AWS_STATIC_STRING_FROM_LITERAL(s_ecs_creds_env_relative_uri, "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"); static const char *s_source_credentials_ecs_config_file = "[default]\n" "role_arn=arn:aws:iam::67895:role/test_role\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-auth-0.9.4/tests/credentials_provider_sts_web_identity_tests.c new/aws-c-auth-0.9.5/tests/credentials_provider_sts_web_identity_tests.c --- old/aws-c-auth-0.9.4/tests/credentials_provider_sts_web_identity_tests.c 2025-12-06 03:46:00.000000000 +0100 +++ new/aws-c-auth-0.9.5/tests/credentials_provider_sts_web_identity_tests.c 2025-12-24 02:11:02.000000000 +0100 @@ -324,6 +324,9 @@ s_tester.is_connection_acquire_successful = true; s_tester.is_request_successful = true; + /* cleanup */ + aws_tls_ctx_options_clean_up(&tls_options); + return AWS_OP_SUCCESS; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-auth-0.9.4/tests/credentials_provider_utils.c new/aws-c-auth-0.9.5/tests/credentials_provider_utils.c --- old/aws-c-auth-0.9.4/tests/credentials_provider_utils.c 2025-12-06 03:46:00.000000000 +0100 +++ new/aws-c-auth-0.9.5/tests/credentials_provider_utils.c 2025-12-24 02:11:02.000000000 +0100 @@ -590,6 +590,9 @@ credentials_provider_http_mock_tester.is_connection_acquire_successful = true; credentials_provider_http_mock_tester.is_request_successful = true; + /* cleanup */ + aws_tls_ctx_options_clean_up(&tls_ctx_options); + return AWS_OP_SUCCESS; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-auth-0.9.4/tests/token_provider_sso_tests.c new/aws-c-auth-0.9.5/tests/token_provider_sso_tests.c --- old/aws-c-auth-0.9.4/tests/token_provider_sso_tests.c 2025-12-06 03:46:00.000000000 +0100 +++ new/aws-c-auth-0.9.5/tests/token_provider_sso_tests.c 2025-12-24 02:11:02.000000000 +0100 @@ -149,6 +149,9 @@ }; s_tester.bootstrap = aws_client_bootstrap_new(allocator, &bootstrap_options); + /* cleanup */ + aws_tls_ctx_options_clean_up(&tls_ctx_options); + return AWS_OP_SUCCESS; }
