Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package aws-c-io for openSUSE:Factory checked in at 2026-03-25 21:19:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/aws-c-io (Old) and /work/SRC/openSUSE:Factory/.aws-c-io.new.8177 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "aws-c-io" Wed Mar 25 21:19:49 2026 rev:38 rq:1342388 version:0.26.3 Changes: -------- --- /work/SRC/openSUSE:Factory/aws-c-io/aws-c-io.changes 2026-02-10 21:14:06.091784227 +0100 +++ /work/SRC/openSUSE:Factory/.aws-c-io.new.8177/aws-c-io.changes 2026-03-27 06:36:36.470079742 +0100 @@ -1,0 +2,10 @@ +Mon Mar 23 11:09:39 UTC 2026 - John Paul Adrian Glaubitz <[email protected]> + +- Update to version 0.26.3 + * Add default non-pq policy by @WillChilds-Klein in (#796) +- from version 0.26.2 + * Fix compilation warnings by @sfod in (#795) + * Only invoke shutdown callbacks if the setup was successful + by @bretambrose in (#794) + +------------------------------------------------------------------- Old: ---- v0.26.1.tar.gz New: ---- v0.26.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ aws-c-io.spec ++++++ --- /var/tmp/diff_new_pack.nXplEP/_old 2026-03-27 06:36:38.210151460 +0100 +++ /var/tmp/diff_new_pack.nXplEP/_new 2026-03-27 06:36:38.230152284 +0100 @@ -21,7 +21,7 @@ %define library_version 1.0.0 %define library_soversion 0unstable Name: aws-c-io -Version: 0.26.1 +Version: 0.26.3 Release: 0 Summary: I/O and TLS package AWS SDK for C License: Apache-2.0 ++++++ v0.26.1.tar.gz -> v0.26.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-io-0.26.1/include/aws/io/tls_channel_handler.h new/aws-c-io-0.26.3/include/aws/io/tls_channel_handler.h --- old/aws-c-io-0.26.1/include/aws/io/tls_channel_handler.h 2026-01-14 23:07:39.000000000 +0100 +++ new/aws-c-io-0.26.3/include/aws/io/tls_channel_handler.h 2026-03-18 19:47:47.000000000 +0100 @@ -54,6 +54,9 @@ /* This security policy was the system default before PQ was enabled by default. */ AWS_IO_TLS_CIPHER_PREF_TLSV1_0_2023_06 = 10, + /* Recommended default policy without post-quantum algorithm support. This policy may change over time. */ + AWS_IO_TLS_CIPHER_PREF_NON_PQ_DEFAULT = 11, + AWS_IO_TLS_CIPHER_PREF_END_RANGE = 0xFFFF }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-io-0.26.1/source/channel_bootstrap.c new/aws-c-io-0.26.3/source/channel_bootstrap.c --- old/aws-c-io-0.26.1/source/channel_bootstrap.c 2026-01-14 23:07:39.000000000 +0100 +++ new/aws-c-io-0.26.3/source/channel_bootstrap.c 2026-03-18 19:47:47.000000000 +0100 @@ -1253,11 +1253,17 @@ struct aws_ref_count ref_count; }; +enum incoming_callback_status_type { + AWS_ICST_NOT_CALLED, + AWS_ICST_CALLED_WITH_SUCCESS, + AWS_ICST_CALLED_WITH_ERROR, +}; + struct server_channel_data { struct aws_channel *channel; struct aws_socket *socket; struct server_connection_args *server_connection_args; - bool incoming_called; + enum incoming_callback_status_type incoming_callback_status; }; static struct server_connection_args *s_server_connection_args_acquire(struct server_connection_args *args) { @@ -1324,10 +1330,11 @@ int error_code, struct aws_channel *channel) { /* incoming_callback is always called exactly once for each channel */ - AWS_ASSERT(!channel_data->incoming_called); + AWS_ASSERT(channel_data->incoming_callback_status == AWS_ICST_NOT_CALLED); struct server_connection_args *args = channel_data->server_connection_args; args->incoming_callback(args->bootstrap, error_code, channel, args->user_data); - channel_data->incoming_called = true; + channel_data->incoming_callback_status = + error_code == AWS_ERROR_SUCCESS ? AWS_ICST_CALLED_WITH_SUCCESS : AWS_ICST_CALLED_WITH_ERROR; } static void s_tls_server_on_negotiation_result( @@ -1641,7 +1648,7 @@ struct aws_server_bootstrap *server_bootstrap = connection_args->bootstrap; int error_code = shutdown_args->error_code; - if (channel_data->incoming_called) { + if (channel_data->incoming_callback_status == AWS_ICST_CALLED_WITH_SUCCESS) { connection_args->shutdown_callback( server_bootstrap, error_code, shutdown_args->channel, server_shutdown_user_data); } @@ -1658,7 +1665,7 @@ struct server_connection_args *args = channel_data->server_connection_args; struct aws_allocator *allocator = args->bootstrap->allocator; - if (!channel_data->incoming_called) { + if (channel_data->incoming_callback_status == AWS_ICST_NOT_CALLED) { error_code = (error_code) ? error_code : AWS_ERROR_UNKNOWN; s_server_incoming_callback(channel_data, error_code, NULL); } @@ -1736,7 +1743,7 @@ struct server_channel_data *channel_data = aws_mem_calloc(connection_args->bootstrap->allocator, 1, sizeof(struct server_channel_data)); - channel_data->incoming_called = false; + channel_data->incoming_callback_status = AWS_ICST_NOT_CALLED; channel_data->socket = new_socket; channel_data->server_connection_args = connection_args; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-io-0.26.1/source/darwin/dispatch_queue_event_loop.c new/aws-c-io-0.26.3/source/darwin/dispatch_queue_event_loop.c --- old/aws-c-io-0.26.1/source/darwin/dispatch_queue_event_loop.c 2026-01-14 23:07:39.000000000 +0100 +++ new/aws-c-io-0.26.3/source/darwin/dispatch_queue_event_loop.c 2026-03-18 19:47:47.000000000 +0100 @@ -201,10 +201,9 @@ } static const char AWS_LITERAL_APPLE_DISPATCH_QUEUE_ID_PREFIX[] = "com.amazonaws.commonruntime.eventloop."; -static const size_t AWS_IO_APPLE_DISPATCH_QUEUE_ID_PREFIX_LENGTH = - AWS_ARRAY_SIZE(AWS_LITERAL_APPLE_DISPATCH_QUEUE_ID_PREFIX) - 1; // remove string terminator -static const size_t AWS_IO_APPLE_DISPATCH_QUEUE_ID_LENGTH = - AWS_IO_APPLE_DISPATCH_QUEUE_ID_PREFIX_LENGTH + AWS_UUID_STR_LEN; +#define AWS_IO_APPLE_DISPATCH_QUEUE_ID_PREFIX_LENGTH \ + (AWS_ARRAY_SIZE(AWS_LITERAL_APPLE_DISPATCH_QUEUE_ID_PREFIX) - 1) /* remove string terminator */ +#define AWS_IO_APPLE_DISPATCH_QUEUE_ID_LENGTH (AWS_IO_APPLE_DISPATCH_QUEUE_ID_PREFIX_LENGTH + AWS_UUID_STR_LEN) /** * Generates a unique identifier for a dispatch queue in the format "com.amazonaws.commonruntime.eventloop.<UUID>". * This identifier will be stored in the provided `result` buffer. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-io-0.26.1/source/darwin/nw_socket.c new/aws-c-io-0.26.3/source/darwin/nw_socket.c --- old/aws-c-io-0.26.1/source/darwin/nw_socket.c 2026-01-14 23:07:39.000000000 +0100 +++ new/aws-c-io-0.26.3/source/darwin/nw_socket.c 2026-03-18 19:47:47.000000000 +0100 @@ -1372,7 +1372,17 @@ if (metadata != NULL) { sec_protocol_metadata_t sec_metadata = (sec_protocol_metadata_t)metadata; +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + /* sec_protocol_metadata_get_negotiated_protocol was deprecated in macOS 15.5 and iOS 18.5. It should be + * replaced by sec_protocol_metadata_copy_negotiated_protocol, but this function became available in + * macOS 15 and iOS 18.5 only. + * To avoid bumping a minimum supported versions of Apple platforms or introducing a logic for choosing + * an appropriate function in runtime, we use the deprecated function for now. + */ const char *negotiated_protocol = sec_protocol_metadata_get_negotiated_protocol(sec_metadata); +#pragma clang diagnostic pop + if (negotiated_protocol) { nw_socket->protocol_buf = aws_byte_buf_from_c_str(negotiated_protocol); AWS_LOGF_DEBUG( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-io-0.26.1/source/s2n/s2n_tls_channel_handler.c new/aws-c-io-0.26.3/source/s2n/s2n_tls_channel_handler.c --- old/aws-c-io-0.26.1/source/s2n/s2n_tls_channel_handler.c 2026-01-14 23:07:39.000000000 +0100 +++ new/aws-c-io-0.26.3/source/s2n/s2n_tls_channel_handler.c 2026-03-18 19:47:47.000000000 +0100 @@ -269,6 +269,7 @@ case AWS_IO_TLS_CIPHER_PREF_SYSTEM_DEFAULT: case AWS_IO_TLS_CIPHER_PREF_TLSV1_0_2023_06: case AWS_IO_TLS_CIPHER_PREF_TLSV1_2_2025_07: + case AWS_IO_TLS_CIPHER_PREF_NON_PQ_DEFAULT: return true; default: return false; @@ -1542,6 +1543,10 @@ case AWS_IO_TLS_CIPHER_PREF_TLSV1_0_2023_06: security_policy = "AWS-CRT-SDK-TLSv1.0-2023"; break; + case AWS_IO_TLS_CIPHER_PREF_NON_PQ_DEFAULT: + /* The specific non-PQ policy used here may change over time. */ + security_policy = "AWS-CRT-SDK-TLSv1.0-2023"; + break; default: AWS_LOGF_ERROR(AWS_LS_IO_TLS, "Unrecognized TLS Cipher Preference: %d", options->cipher_pref); aws_raise_error(AWS_IO_TLS_CIPHER_PREF_UNSUPPORTED); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-io-0.26.1/tests/tls_handler_test.c new/aws-c-io-0.26.3/tests/tls_handler_test.c --- old/aws-c-io-0.26.1/tests/tls_handler_test.c 2026-01-14 23:07:39.000000000 +0100 +++ new/aws-c-io-0.26.3/tests/tls_handler_test.c 2026-03-18 19:47:47.000000000 +0100 @@ -63,6 +63,7 @@ bool expects_error; bool server; bool shutdown_finished; + bool socket_close_invoked; bool setup_callback_invoked; bool creation_callback_invoked; }; @@ -1948,7 +1949,7 @@ static bool s_client_socket_closed_predicate(void *user_data) { struct tls_test_args *args = user_data; - return args->shutdown_finished; + return args->socket_close_invoked; } static void s_close_client_socket_task(struct aws_task *task, void *arg, enum aws_task_status status) { @@ -1962,7 +1963,7 @@ AWS_FATAL_ASSERT(aws_socket_close(&tester->client_socket) == AWS_OP_SUCCESS); AWS_FATAL_ASSERT(aws_mutex_lock(tester->outgoing_args->mutex) == AWS_OP_SUCCESS); - tester->outgoing_args->shutdown_finished = true; + tester->outgoing_args->socket_close_invoked = true; AWS_FATAL_ASSERT(aws_mutex_unlock(tester->outgoing_args->mutex) == AWS_OP_SUCCESS); AWS_FATAL_ASSERT(aws_condition_variable_notify_one(tester->outgoing_args->condition_variable) == AWS_OP_SUCCESS); } @@ -2038,6 +2039,9 @@ aws_server_bootstrap_release(local_server_tester.server_bootstrap); ASSERT_SUCCESS(s_tls_common_tester_clean_up(&c_tester)); + // Should only be invoked on successful channel setup. Verify we did not get a shutdown callback. + ASSERT_INT_EQUALS(false, outgoing_args.shutdown_finished); + return AWS_OP_SUCCESS; } AWS_TEST_CASE(tls_server_hangup_during_negotiation, s_tls_server_hangup_during_negotiation_fn)
