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-02-23 16:12:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/aws-c-auth (Old) and /work/SRC/openSUSE:Factory/.aws-c-auth.new.1977 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "aws-c-auth" Mon Feb 23 16:12:58 2026 rev:25 rq:1334425 version:0.9.6 Changes: -------- --- /work/SRC/openSUSE:Factory/aws-c-auth/aws-c-auth.changes 2026-01-17 14:53:43.020590013 +0100 +++ /work/SRC/openSUSE:Factory/.aws-c-auth.new.1977/aws-c-auth.changes 2026-02-23 16:14:57.263283371 +0100 @@ -1,0 +2,7 @@ +Wed Feb 18 09:35:47 UTC 2026 - John Paul Adrian Glaubitz <[email protected]> + +- Update to version 0.9.6 + * Prioritizing profile credentials over credential_process when + both are present by @sbiscigl in (#288) + +------------------------------------------------------------------- Old: ---- v0.9.5.tar.gz New: ---- v0.9.6.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ aws-c-auth.spec ++++++ --- /var/tmp/diff_new_pack.DbwA3i/_old 2026-02-23 16:14:57.859307945 +0100 +++ /var/tmp/diff_new_pack.DbwA3i/_new 2026-02-23 16:14:57.859307945 +0100 @@ -1,7 +1,7 @@ # # spec file for package aws-c-auth # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -20,7 +20,7 @@ %define library_pkg 1_0_0 %define library_soversion 1 Name: aws-c-auth -Version: 0.9.5 +Version: 0.9.6 Release: 0 Summary: AWS C99 library implementation of AWS client-side authentication License: Apache-2.0 @@ -29,16 +29,16 @@ Source0: https://github.com/awslabs/%{name}/archive/v%{version}.tar.gz BuildRequires: cmake BuildRequires: fdupes +BuildRequires: ninja +BuildRequires: pkgconfig +BuildRequires: cmake(aws-c-cal) BuildRequires: cmake(aws-c-common) BuildRequires: cmake(aws-c-compression) -BuildRequires: cmake(aws-c-cal) BuildRequires: cmake(aws-c-http) BuildRequires: cmake(aws-c-io) BuildRequires: cmake(aws-c-sdkutils) BuildRequires: cmake(s2n) BuildRequires: pkgconfig(libssl) -BuildRequires: ninja -BuildRequires: pkgconfig %description C99 library implementation of AWS client-side authentication: standard ++++++ v0.9.5.tar.gz -> v0.9.6.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-auth-0.9.5/source/credentials_provider_profile.c new/aws-c-auth-0.9.6/source/credentials_provider_profile.c --- old/aws-c-auth-0.9.5/source/credentials_provider_profile.c 2025-12-24 02:11:02.000000000 +0100 +++ new/aws-c-auth-0.9.6/source/credentials_provider_profile.c 2026-02-17 20:01:58.000000000 +0100 @@ -546,7 +546,7 @@ if (role_arn_property && (first_profile_in_chain || !profile_contains_credentials)) { provider = s_create_sts_based_provider( allocator, role_arn_property, profile, options, merged_profiles, source_profiles_table); - } else if (process_property) { + } else if (process_property && !profile_contains_credentials) { provider = s_create_process_based_provider(allocator, profile_name, merged_profiles); } else { provider = s_create_profile_based_provider( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-auth-0.9.5/tests/CMakeLists.txt new/aws-c-auth-0.9.6/tests/CMakeLists.txt --- old/aws-c-auth-0.9.5/tests/CMakeLists.txt 2025-12-24 02:11:02.000000000 +0100 +++ new/aws-c-auth-0.9.6/tests/CMakeLists.txt 2026-02-17 20:01:58.000000000 +0100 @@ -126,6 +126,7 @@ add_test_case(credentials_provider_process_success_ignores_stderr) add_test_case(credentials_provider_process_basic_success_from_profile_provider) add_test_case(credentials_provider_process_basic_success_cached) +add_test_case(credentials_provider_profile_takes_priority_over_process) add_net_test_case(credentials_provider_cognito_new_destroy) add_net_test_case(credentials_provider_cognito_failure_connect) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-auth-0.9.5/tests/credentials_provider_process_tests.c new/aws-c-auth-0.9.6/tests/credentials_provider_process_tests.c --- old/aws-c-auth-0.9.5/tests/credentials_provider_process_tests.c 2025-12-24 02:11:02.000000000 +0100 +++ new/aws-c-auth-0.9.6/tests/credentials_provider_process_tests.c 2026-02-17 20:01:58.000000000 +0100 @@ -615,3 +615,74 @@ return 0; } AWS_TEST_CASE(credentials_provider_process_basic_success_cached, s_credentials_provider_process_basic_success_cached); + +AWS_STATIC_STRING_FROM_LITERAL(s_profile_access_key_id, "ProfileAccessKey"); +AWS_STATIC_STRING_FROM_LITERAL(s_profile_secret_access_key, "ProfileSecretKey"); + +AWS_STATIC_STRING_FROM_LITERAL( + s_config_with_both_profile_and_process_creds, + "[profile default]\n" + "region=us-east-1\n" + "aws_access_key_id=ProfileAccessKey\n" + "aws_secret_access_key=ProfileSecretKey\n" + "credential_process="); + +static int s_credentials_provider_profile_takes_priority_over_process(struct aws_allocator *allocator, void *ctx) { + (void)ctx; + + s_aws_process_tester_init(allocator); + + struct aws_byte_buf content_buf; + struct aws_byte_buf existing_content = + aws_byte_buf_from_c_str(aws_string_c_str(s_config_with_both_profile_and_process_creds)); + aws_byte_buf_init_copy(&content_buf, allocator, &existing_content); + struct aws_byte_cursor cursor = aws_byte_cursor_from_string(s_test_command); + ASSERT_TRUE(aws_byte_buf_append_dynamic(&content_buf, &cursor) == AWS_OP_SUCCESS); + cursor = aws_byte_cursor_from_c_str("\n"); + ASSERT_TRUE(aws_byte_buf_append_dynamic(&content_buf, &cursor) == AWS_OP_SUCCESS); + + struct aws_string *config_file_contents = aws_string_new_from_array(allocator, content_buf.buffer, content_buf.len); + ASSERT_TRUE(config_file_contents != NULL); + aws_byte_buf_clean_up(&content_buf); + + s_aws_process_test_init_config_profile(allocator, config_file_contents); + aws_string_destroy(config_file_contents); + + aws_unset_environment_value(s_default_profile_env_variable_name); + + struct aws_string *empty_creds = aws_create_process_unique_file_name(allocator); + struct aws_string *empty = aws_string_new_from_c_str(allocator, ""); + aws_create_profile_file(empty_creds, empty); + aws_set_environment_value(s_default_credentials_path_env_variable_name, empty_creds); + aws_string_destroy(empty_creds); + aws_string_destroy(empty); + + struct aws_credentials_provider_profile_options options = { + .shutdown_options = + { + .shutdown_callback = s_on_shutdown_complete, + .shutdown_user_data = NULL, + }, + }; + struct aws_credentials_provider *provider = aws_credentials_provider_new_profile(allocator, &options); + + aws_credentials_provider_get_credentials(provider, s_get_credentials_callback, NULL); + + s_aws_wait_for_credentials_result(); + + ASSERT_TRUE(s_tester.has_received_credentials_callback == true); + ASSERT_TRUE(s_tester.credentials != NULL); + ASSERT_CURSOR_VALUE_STRING_EQUALS(aws_credentials_get_access_key_id(s_tester.credentials), s_profile_access_key_id); + ASSERT_CURSOR_VALUE_STRING_EQUALS( + aws_credentials_get_secret_access_key(s_tester.credentials), s_profile_secret_access_key); + + aws_credentials_provider_release(provider); + s_aws_wait_for_provider_shutdown_callback(); + s_aws_process_tester_cleanup(); + + return 0; +} + +AWS_TEST_CASE( + credentials_provider_profile_takes_priority_over_process, + s_credentials_provider_profile_takes_priority_over_process); \ No newline at end of file
