Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package aws-c-mqtt for openSUSE:Factory 
checked in at 2026-08-14 22:06:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/aws-c-mqtt (Old)
 and      /work/SRC/openSUSE:Factory/.aws-c-mqtt.new.1258 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "aws-c-mqtt"

Fri Aug 14 22:06:17 2026 rev:19 rq:1371010 version:0.16.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/aws-c-mqtt/aws-c-mqtt.changes    2026-05-26 
16:35:13.210946473 +0200
+++ /work/SRC/openSUSE:Factory/.aws-c-mqtt.new.1258/aws-c-mqtt.changes  
2026-08-14 22:06:37.808251363 +0200
@@ -1,0 +2,9 @@
+Tue Aug  4 11:21:19 UTC 2026 - John Paul Adrian Glaubitz 
<[email protected]>
+
+- Update to version 0.16.1
+  * Support s2n-tls on macOS by @sfod in (#427)
+  * Regression Labeler Fix by @azkrishpy in (#429)
+  * Use latest as aws-crt-builder version by @sfod in (#430)
+  * Handle excess reason codes in SUBACK by @sfod in (#431)
+
+-------------------------------------------------------------------

Old:
----
  v0.16.0.tar.gz

New:
----
  v0.16.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ aws-c-mqtt.spec ++++++
--- /var/tmp/diff_new_pack.0V4bH6/_old  2026-08-14 22:06:38.725284096 +0200
+++ /var/tmp/diff_new_pack.0V4bH6/_new  2026-08-14 22:06:38.727284167 +0200
@@ -18,7 +18,7 @@
 
 %global library_version 1_0_0
 Name:           aws-c-mqtt
-Version:        0.16.0
+Version:        0.16.1
 Release:        0
 Summary:        AWS C99 implementation of the MQTT 3.1.1 specification
 License:        Apache-2.0

++++++ v0.16.0.tar.gz -> v0.16.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-mqtt-0.16.0/.github/workflows/ci.yml 
new/aws-c-mqtt-0.16.1/.github/workflows/ci.yml
--- old/aws-c-mqtt-0.16.0/.github/workflows/ci.yml      2026-05-18 
20:49:17.000000000 +0200
+++ new/aws-c-mqtt-0.16.1/.github/workflows/ci.yml      2026-07-30 
22:01:05.000000000 +0200
@@ -6,7 +6,7 @@
       - 'main'
 
 env:
-  BUILDER_VERSION: v0.9.92
+  BUILDER_VERSION: latest
   BUILDER_SOURCE: releases
   BUILDER_HOST: https://d19elf31gohf1l.cloudfront.net
   PACKAGE_NAME: aws-c-mqtt
@@ -184,7 +184,37 @@
       run: |
         python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ 
env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION 
}}/builder.pyz?run=${{ env.RUN }}', 'builder')"
         chmod a+x builder
-        ./builder build -p ${{ env.PACKAGE_NAME }} 
--cmake-extra=-DASSERT_LOCK_HELD=ON
+        ./builder build -p ${{ env.PACKAGE_NAME }} 
--cmake-extra=-DASSERT_LOCK_HELD=ON 
--cmake-extra=-DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON
+
+  macos-s2n:
+    runs-on: macos-14 # latest
+    env:
+      AWS_CRT_USE_NON_FIPS_TLS_13: 1
+    steps:
+    - uses: aws-actions/configure-aws-credentials@v4
+      with:
+        role-to-assume: ${{ env.CRT_CI_ROLE }}
+        aws-region: ${{ env.AWS_DEFAULT_REGION }}
+    - name: Build ${{ env.PACKAGE_NAME }} + consumers
+      run: |
+        python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ 
env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION 
}}/builder.pyz?run=${{ env.RUN }}', 'builder')"
+        chmod a+x builder
+        ./builder build -p ${{ env.PACKAGE_NAME }} 
--cmake-extra=-DAWS_USE_APPLE_NETWORK_FRAMEWORK=${{ matrix.eventloop == 
'dispatch_queue' && 'ON' || 'OFF' }}
+
+  macos-x64-s2n:
+    runs-on: macos-14-large # latest
+    env:
+      AWS_CRT_USE_NON_FIPS_TLS_13: 1
+    steps:
+    - uses: aws-actions/configure-aws-credentials@v4
+      with:
+        role-to-assume: ${{ env.CRT_CI_ROLE }}
+        aws-region: ${{ env.AWS_DEFAULT_REGION }}
+    - name: Build ${{ env.PACKAGE_NAME }} + consumers
+      run: |
+        python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ 
env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION 
}}/builder.pyz?run=${{ env.RUN }}', 'builder')"
+        chmod a+x builder
+        ./builder build -p ${{ env.PACKAGE_NAME }} 
--cmake-extra=-DASSERT_LOCK_HELD=ON 
--cmake-extra=-DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON
 
   # Test downstream repos.
   # This should not be required because we can run into a chicken and egg 
problem if there is a change that needs some fix in a downstream repo.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-mqtt-0.16.0/.github/workflows/codecov.yml 
new/aws-c-mqtt-0.16.1/.github/workflows/codecov.yml
--- old/aws-c-mqtt-0.16.0/.github/workflows/codecov.yml 2026-05-18 
20:49:17.000000000 +0200
+++ new/aws-c-mqtt-0.16.1/.github/workflows/codecov.yml 2026-07-30 
22:01:05.000000000 +0200
@@ -4,7 +4,7 @@
   push:
 
 env:
-  BUILDER_VERSION: v0.9.74
+  BUILDER_VERSION: latest
   BUILDER_SOURCE: releases
   BUILDER_HOST: https://d19elf31gohf1l.cloudfront.net
   PACKAGE_NAME: aws-c-mqtt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-c-mqtt-0.16.0/.github/workflows/issue-regression-labeler.yml 
new/aws-c-mqtt-0.16.1/.github/workflows/issue-regression-labeler.yml
--- old/aws-c-mqtt-0.16.0/.github/workflows/issue-regression-labeler.yml        
2026-05-18 20:49:17.000000000 +0200
+++ new/aws-c-mqtt-0.16.1/.github/workflows/issue-regression-labeler.yml        
2026-07-30 22:01:05.000000000 +0200
@@ -24,9 +24,12 @@
     - name: Manage regression label
       env:
         GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+        IS_REGRESSION: ${{ steps.check_regression.outputs.is_regression }}
+        ISSUE_NUMBER: ${{ github.event.issue.number }}
+        REPO: ${{ github.repository }}
       run: |
-        if [ "${{ steps.check_regression.outputs.is_regression }}" == "true" 
]; then
-          gh issue edit ${{ github.event.issue.number }} --add-label 
"potential-regression" -R ${{ github.repository }}
+        if [ "$IS_REGRESSION" == "true" ]; then
+          gh issue edit "$ISSUE_NUMBER" --add-label "potential-regression" -R 
"$REPO"
         else
-          gh issue edit ${{ github.event.issue.number }} --remove-label 
"potential-regression" -R ${{ github.repository }}
+          gh issue edit "$ISSUE_NUMBER" --remove-label "potential-regression" 
-R "$REPO"
         fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-mqtt-0.16.0/source/v5/mqtt5_to_mqtt3_adapter.c 
new/aws-c-mqtt-0.16.1/source/v5/mqtt5_to_mqtt3_adapter.c
--- old/aws-c-mqtt-0.16.0/source/v5/mqtt5_to_mqtt3_adapter.c    2026-05-18 
20:49:17.000000000 +0200
+++ new/aws-c-mqtt-0.16.1/source/v5/mqtt5_to_mqtt3_adapter.c    2026-07-30 
22:01:05.000000000 +0200
@@ -2093,12 +2093,11 @@
             (*subscribe_op->on_multi_suback)(
                 &adapter->base, subscribe_op->base.id, NULL, error_code, 
subscribe_op->on_multi_suback_user_data);
         } else {
-            AWS_VARIABLE_LENGTH_ARRAY(
-                struct aws_mqtt_topic_subscription, 
multi_sub_subscription_buf, suback->reason_code_count);
-            AWS_VARIABLE_LENGTH_ARRAY(
-                struct aws_mqtt_topic_subscription *, 
multi_sub_subscription_ptr_buf, suback->reason_code_count);
-            struct aws_mqtt_topic_subscription *subscription_ptr =
-                (struct aws_mqtt_topic_subscription 
*)multi_sub_subscription_buf;
+            struct aws_mqtt_topic_subscription *multi_sub_subscription_buf = 
aws_mem_calloc(
+                adapter->allocator, suback->reason_code_count, sizeof(struct 
aws_mqtt_topic_subscription));
+            struct aws_mqtt_topic_subscription 
**multi_sub_subscription_ptr_buf = aws_mem_calloc(
+                adapter->allocator, suback->reason_code_count, sizeof(struct 
aws_mqtt_topic_subscription *));
+            struct aws_mqtt_topic_subscription *subscription_ptr = 
multi_sub_subscription_buf;
 
             struct aws_array_list multi_sub_list;
             aws_array_list_init_static(
@@ -2132,6 +2131,9 @@
                 &multi_sub_list,
                 error_code,
                 subscribe_op->on_multi_suback_user_data);
+
+            aws_mem_release(adapter->allocator, multi_sub_subscription_buf);
+            aws_mem_release(adapter->allocator, 
multi_sub_subscription_ptr_buf);
         }
     }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-mqtt-0.16.0/tests/CMakeLists.txt 
new/aws-c-mqtt-0.16.1/tests/CMakeLists.txt
--- old/aws-c-mqtt-0.16.0/tests/CMakeLists.txt  2026-05-18 20:49:17.000000000 
+0200
+++ new/aws-c-mqtt-0.16.1/tests/CMakeLists.txt  2026-07-30 22:01:05.000000000 
+0200
@@ -480,6 +480,7 @@
 add_test_case(mqtt5to3_adapter_resubscribe_something)
 add_test_case(mqtt5to3_adapter_subscribe_single_null_suback)
 add_test_case(mqtt5to3_adapter_subscribe_multi_null_suback)
+add_test_case(mqtt5to3_adapter_subscribe_multi_oversized_suback)
 add_test_case(mqtt5to3_adapter_operation_callbacks_after_shutdown)
 # Adapter Metrics Tests
 add_test_case(mqtt5to3_adapter_set_metrics_valid)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-c-mqtt-0.16.0/tests/v5/mqtt5_to_mqtt3_adapter_tests.c 
new/aws-c-mqtt-0.16.1/tests/v5/mqtt5_to_mqtt3_adapter_tests.c
--- old/aws-c-mqtt-0.16.0/tests/v5/mqtt5_to_mqtt3_adapter_tests.c       
2026-05-18 20:49:17.000000000 +0200
+++ new/aws-c-mqtt-0.16.1/tests/v5/mqtt5_to_mqtt3_adapter_tests.c       
2026-07-30 22:01:05.000000000 +0200
@@ -3051,6 +3051,132 @@
 
 AWS_TEST_CASE(mqtt5to3_adapter_subscribe_multi_null_suback, 
s_mqtt5to3_adapter_subscribe_multi_null_suback_fn)
 
+#define AWS_MQTT5TO3_OVERSIZED_SUBACK_REASON_CODE_COUNT 200000
+
+static int s_mqtt5_mock_server_send_packet_streaming(
+    struct aws_mqtt5_server_mock_connection_context *connection,
+    enum aws_mqtt5_packet_type packet_type,
+    void *packet) {
+
+    if (aws_mqtt5_encoder_append_packet_encoding(&connection->encoder, 
packet_type, packet)) {
+        return AWS_OP_ERR;
+    }
+
+    enum aws_mqtt5_encoding_result result = AWS_MQTT5_ER_OUT_OF_ROOM;
+    while (result == AWS_MQTT5_ER_OUT_OF_ROOM) {
+        struct aws_io_message *message =
+            aws_channel_acquire_message_from_pool(connection->slot->channel, 
AWS_IO_MESSAGE_APPLICATION_DATA, 4096);
+        if (message == NULL) {
+            return AWS_OP_ERR;
+        }
+
+        result = aws_mqtt5_encoder_encode_to_buffer(&connection->encoder, 
&message->message_data);
+        if (result == AWS_MQTT5_ER_ERROR) {
+            aws_mem_release(message->allocator, message);
+            return AWS_OP_ERR;
+        }
+
+        if (aws_channel_slot_send_message(connection->slot, message, 
AWS_CHANNEL_DIR_WRITE)) {
+            aws_mem_release(message->allocator, message);
+            return AWS_OP_ERR;
+        }
+    }
+
+    return AWS_OP_SUCCESS;
+}
+
+static int s_mqtt5_mock_server_handle_subscribe_suback_oversized(
+    void *packet,
+    struct aws_mqtt5_server_mock_connection_context *connection,
+    void *user_data) {
+
+    (void)user_data;
+
+    struct aws_mqtt5_packet_subscribe_view *subscribe_view = packet;
+
+    size_t reason_code_count = AWS_MQTT5TO3_OVERSIZED_SUBACK_REASON_CODE_COUNT;
+
+    enum aws_mqtt5_suback_reason_code *mqtt5_suback_codes =
+        aws_mem_calloc(connection->allocator, reason_code_count, sizeof(enum 
aws_mqtt5_suback_reason_code));
+    for (size_t i = 0; i < reason_code_count; ++i) {
+        mqtt5_suback_codes[i] = AWS_MQTT5_SARC_GRANTED_QOS_1;
+    }
+
+    struct aws_mqtt5_packet_suback_view suback_view = {
+        .packet_id = subscribe_view->packet_id,
+        .reason_code_count = reason_code_count,
+        .reason_codes = mqtt5_suback_codes,
+    };
+
+    int result = s_mqtt5_mock_server_send_packet_streaming(connection, 
AWS_MQTT5_PT_SUBACK, &suback_view);
+
+    aws_mem_release(connection->allocator, mqtt5_suback_codes);
+
+    return result;
+}
+
+static int s_mqtt5to3_adapter_subscribe_multi_oversized_suback_fn(struct 
aws_allocator *allocator, void *ctx) {
+    (void)ctx;
+
+    aws_mqtt_library_init(allocator);
+
+    struct mqtt5_client_test_options test_options;
+    aws_mqtt5_client_test_init_default_options(&test_options);
+
+    test_options.server_function_table.packet_handlers[AWS_MQTT5_PT_SUBSCRIBE] 
=
+        s_mqtt5_mock_server_handle_subscribe_suback_oversized;
+
+    struct aws_mqtt5_client_mqtt5_mock_test_fixture_options 
test_fixture_options = {
+        .client_options = &test_options.client_options,
+        .server_function_table = &test_options.server_function_table,
+    };
+
+    struct aws_mqtt5_to_mqtt3_adapter_test_fixture fixture;
+    ASSERT_SUCCESS(aws_mqtt5_to_mqtt3_adapter_test_fixture_init(&fixture, 
allocator, &test_fixture_options));
+
+    struct aws_mqtt_client_connection *connection = fixture.connection;
+
+    struct aws_mqtt_connection_options connection_options;
+    s_init_adapter_connection_options_from_fixture(&connection_options, 
&fixture);
+
+    connection_options.on_connection_complete = 
s_aws_mqtt5_to_mqtt3_adapter_test_fixture_record_connection_complete;
+    connection_options.user_data = &fixture;
+
+    aws_mqtt_client_connection_connect(connection, &connection_options);
+
+    s_wait_for_n_adapter_lifecycle_events(&fixture, 
AWS_MQTT3_LET_CONNECTION_COMPLETE, 1);
+
+    struct aws_mqtt_topic_subscription subscriptions[] = {
+        {
+            .topic = aws_byte_cursor_from_c_str("topic/1"),
+            .qos = AWS_MQTT_QOS_AT_LEAST_ONCE,
+        },
+        {
+            .topic = aws_byte_cursor_from_c_str("topic/2"),
+            .qos = AWS_MQTT_QOS_AT_MOST_ONCE,
+        },
+    };
+
+    struct aws_array_list subscription_list;
+    aws_array_list_init_static_from_initialized(
+        &subscription_list, subscriptions, 2, sizeof(struct 
aws_mqtt_topic_subscription));
+
+    aws_mqtt_client_connection_subscribe_multiple(
+        connection,
+        &subscription_list,
+        
s_aws_mqtt5_to_mqtt3_adapter_test_fixture_record_subscribe_multi_complete,
+        &fixture);
+
+    s_wait_for_n_adapter_operation_events(&fixture, 
AWS_MQTT3_OET_SUBSCRIBE_COMPLETE, 1);
+
+    aws_mqtt5_to_mqtt3_adapter_test_fixture_clean_up(&fixture);
+    aws_mqtt_library_clean_up();
+
+    return AWS_OP_SUCCESS;
+}
+
+AWS_TEST_CASE(mqtt5to3_adapter_subscribe_multi_oversized_suback, 
s_mqtt5to3_adapter_subscribe_multi_oversized_suback_fn)
+
 static int s_mqtt5_mock_server_handle_subscribe_suback_failure(
     void *packet,
     struct aws_mqtt5_server_mock_connection_context *connection,

Reply via email to