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-08-14 22:06:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/aws-c-io (Old)
 and      /work/SRC/openSUSE:Factory/.aws-c-io.new.1258 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "aws-c-io"

Fri Aug 14 22:06:20 2026 rev:43 rq:1371012 version:0.27.6

Changes:
--------
--- /work/SRC/openSUSE:Factory/aws-c-io/aws-c-io.changes        2026-08-05 
19:07:42.003717492 +0200
+++ /work/SRC/openSUSE:Factory/.aws-c-io.new.1258/aws-c-io.changes      
2026-08-14 22:06:42.364413990 +0200
@@ -1,0 +2,9 @@
+Thu Aug 13 09:10:04 UTC 2026 - John Paul Adrian Glaubitz 
<[email protected]>
+
+- Update to version 0.27.6
+  * Use latest as aws-crt-builder version by @sfod in (#817)
+  * Automate test cert renewal by @sfod in (#820)
+  * Fix read-window stall by gating window updates on the scarcest
+    slot by @TingDaoK in (#818)
+
+-------------------------------------------------------------------

Old:
----
  v0.27.5.tar.gz

New:
----
  v0.27.6.tar.gz

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

Other differences:
------------------
++++++ aws-c-io.spec ++++++
--- /var/tmp/diff_new_pack.vUMkgx/_old  2026-08-14 22:06:44.041473851 +0200
+++ /var/tmp/diff_new_pack.vUMkgx/_new  2026-08-14 22:06:44.047474065 +0200
@@ -21,7 +21,7 @@
 %define library_version 1.0.0
 %define library_soversion 0unstable
 Name:           aws-c-io
-Version:        0.27.5
+Version:        0.27.6
 Release:        0
 Summary:        I/O and TLS package AWS SDK for C
 License:        Apache-2.0

++++++ v0.27.5.tar.gz -> v0.27.6.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.27.5/.github/workflows/cert-renewal.yml 
new/aws-c-io-0.27.6/.github/workflows/cert-renewal.yml
--- old/aws-c-io-0.27.5/.github/workflows/cert-renewal.yml      1970-01-01 
01:00:00.000000000 +0100
+++ new/aws-c-io-0.27.6/.github/workflows/cert-renewal.yml      2026-08-11 
00:37:41.000000000 +0200
@@ -0,0 +1,132 @@
+name: Certificate Renewal
+
+on:
+  schedule:
+    # Monthly at 11:37 UTC (03:37 PST) — quiet off-peak time for the US west 
coast.
+    # We check monthly and only regenerate when a certificate is close to 
expiring.
+    - cron: '37 11 1 * *'
+  workflow_dispatch: # Allow manual triggering
+
+permissions:
+  contents: write
+  pull-requests: write
+
+jobs:
+  check-and-renew-certificates:
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout repository
+        uses: actions/checkout@v4
+
+      - name: Check certificate expiration
+        id: check-cert
+        working-directory: tests/resources
+        run: |
+          # generateCerts.sh regenerates every certificate in one run with the 
same
+          # 824-day lifetime, so they all expire together. Checking one is a 
reliable
+          # proxy for the whole set.
+          CERT_FILE="unittests.crt"
+
+          if [ ! -f "$CERT_FILE" ]; then
+            echo "Certificate file $CERT_FILE not found!"
+            echo "needs_renewal=true" >> "$GITHUB_OUTPUT"
+            exit 0
+          fi
+
+          CURRENT_EPOCH=$(date +%s)
+          EXPIRY_DATE=$(openssl x509 -enddate -noout -in "$CERT_FILE" | cut 
-d= -f2)
+          EXPIRY_EPOCH=$(date -d "$EXPIRY_DATE" +%s)
+          DAYS_UNTIL_EXPIRY=$(( (EXPIRY_EPOCH - CURRENT_EPOCH) / 86400 ))
+          echo "$CERT_FILE expires in $DAYS_UNTIL_EXPIRY days ($EXPIRY_DATE)"
+
+          # Renew if less than 30 days until expiration. This gives buffer 
time before
+          # the 824-day lifetime (kept under Apple platforms' 825-day cap on 
TLS server
+          # certificate lifetimes) runs out.
+          if [ "$DAYS_UNTIL_EXPIRY" -lt 30 ]; then
+            echo "Certificates need renewal (less than 30 days until 
expiration)"
+            echo "needs_renewal=true" >> "$GITHUB_OUTPUT"
+          else
+            echo "Certificates are still valid"
+            echo "needs_renewal=false" >> "$GITHUB_OUTPUT"
+          fi
+
+      - name: Install OpenSSL
+        if: steps.check-cert.outputs.needs_renewal == 'true'
+        run: |
+          sudo apt-get update
+          sudo apt-get install -y openssl
+
+      - name: Regenerate certificates
+        if: steps.check-cert.outputs.needs_renewal == 'true'
+        working-directory: tests/resources
+        run: |
+          bash generateCerts.sh
+
+          echo "New certificate details:"
+          openssl x509 -in unittests.crt -noout -dates -subject
+
+      - name: Check for changes
+        if: steps.check-cert.outputs.needs_renewal == 'true'
+        id: check-changes
+        run: |
+          if git diff --quiet tests/resources; then
+            echo "No changes detected"
+            echo "has_changes=false" >> "$GITHUB_OUTPUT"
+          else
+            echo "Changes detected"
+            echo "has_changes=true" >> "$GITHUB_OUTPUT"
+          fi
+
+      - name: Create Pull Request
+        if: steps.check-cert.outputs.needs_renewal == 'true' && 
steps.check-changes.outputs.has_changes == 'true'
+        env:
+          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+        run: |
+          # Configure git
+          git config user.name "github-actions[bot]"
+          git config user.email "github-actions[bot]@users.noreply.github.com"
+
+          # Create branch
+          BRANCH_NAME="cert-renewal-${{ github.run_number }}"
+          git checkout -b "$BRANCH_NAME"
+
+          # Stage and commit all regenerated test resources
+          git add tests/resources
+          git commit -m "chore: renew test certificates for 824 days
+
+          Automatically regenerated test certificates via
+          tests/resources/generateCerts.sh. They use an 824-day lifetime to 
stay
+          under the 825-day cap Apple platforms enforce on TLS server 
certificates.
+
+          Assisted by GenAI"
+
+          # Push branch
+          git push origin "$BRANCH_NAME"
+
+          # Create pull request using GitHub CLI
+          gh pr create \
+            --title "chore: renew test certificates" \
+            --body "## Certificate Renewal
+
+          This PR automatically renews the test certificates in 
\`tests/resources/\`.
+
+          ### Changes
+          Regenerated the full set of test certificates (RSA/EC self-signed 
certs,
+          the CA-signed server chain, mTLS root CAs with server/device certs, 
the
+          untrusted server CA, and the macOS trust settings plist) using
+          \`tests/resources/generateCerts.sh\`.
+
+          ### Background
+          Apple platforms reject TLS server certificates with lifetimes over 
825 days. These
+          certificates are used in unit tests that create TLS connections 
between a
+          localhost server and client. The PKCS#12 bundles are generated with
+          SHA1/3DES encryption so that macOS's Security Framework can parse 
them.
+
+          ### Testing
+          Please verify that the unit tests pass with the new certificates 
before
+          merging.
+
+          ---
+          This PR was automatically generated by the certificate renewal 
workflow." \
+            --base main \
+            --head "$BRANCH_NAME"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.27.5/.github/workflows/ci.yml 
new/aws-c-io-0.27.6/.github/workflows/ci.yml
--- old/aws-c-io-0.27.5/.github/workflows/ci.yml        2026-07-24 
19:02:02.000000000 +0200
+++ new/aws-c-io-0.27.6/.github/workflows/ci.yml        2026-08-11 
00:37:41.000000000 +0200
@@ -6,7 +6,7 @@
       - 'main'
 
 env:
-  BUILDER_VERSION: v0.9.96
+  BUILDER_VERSION: latest
   BUILDER_SOURCE: releases
   BUILDER_HOST: https://d19elf31gohf1l.cloudfront.net
   PACKAGE_NAME: aws-c-io
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.27.5/source/channel.c 
new/aws-c-io-0.27.6/source/channel.c
--- old/aws-c-io-0.27.5/source/channel.c        2026-07-24 19:02:02.000000000 
+0200
+++ new/aws-c-io-0.27.6/source/channel.c        2026-08-11 00:37:41.000000000 
+0200
@@ -78,6 +78,9 @@
         bool is_channel_shut_down;
     } cross_thread_tasks;
 
+    /* Threshold at which a batched window update is emitted. Compared against 
the scarcest
+     * slot window, see s_window_update_needed(). Derivation of the value is 
at its assignment
+     * site. */
     size_t window_update_batch_emit_threshold;
     struct aws_channel_task window_update_task;
     bool read_back_pressure_enabled;
@@ -241,9 +244,11 @@
 
     if (creation_args->enable_read_back_pressure) {
         channel->read_back_pressure_enabled = true;
-        /* we probably only need room for one fragment, but let's avoid 
potential deadlocks
-         * on things like tls that need extra head-room. */
-        channel->window_update_batch_emit_threshold = 
g_aws_channel_max_fragment_size * 2;
+        /* TODO: the threshold is for the channel, ideally after the channel 
knows it's initial window size, the
+         * threshold should be half of that to be aligned with out http 
implementation. But, the channel can keep adding
+         * and changing slot. 4 * g_aws_channel_max_fragment_size is a 
reasonable numebr to avoid any blocking on the
+         * read. But, still fairly random. */
+        channel->window_update_batch_emit_threshold = 
g_aws_channel_max_fragment_size * 4;
     }
 
     aws_task_init(
@@ -767,6 +772,8 @@
     return AWS_OP_SUCCESS;
 }
 
+static void s_schedule_window_update_task_if_scarce(struct aws_channel_slot 
*slot);
+
 int aws_channel_slot_send_message(
     struct aws_channel_slot *slot,
     struct aws_io_message *message,
@@ -787,6 +794,10 @@
                 (void *)slot->adj_right,
                 (void *)slot->adj_right->handler);
             slot->adj_right->window_size -= message->message_data.len;
+            /* This debit may have just made `adj_right` the scarcest slot. 
Nothing else on this
+             * path will re-examine the threshold: the slot was starved by 
data arriving, not by
+             * anyone asking for window, so there is no grant coming to 
trigger the check. */
+            s_schedule_window_update_task_if_scarce(slot->adj_right);
             return 
aws_channel_handler_process_read_message(slot->adj_right->handler, 
slot->adj_right, message);
         }
         AWS_LOGF_ERROR(
@@ -863,19 +874,70 @@
     }
 }
 
+/* Whether the batched window update needs to be emitted: some slot is holding 
a pending grant, and
+ * the scarcest slot window has fallen to the emit threshold.
+ *
+ * Both are channel-wide questions. The pending grant and the scarce window 
normally sit on
+ * DIFFERENT slots -- an http slot accumulates the grant while the tls slot 
below it runs dry -- so
+ * asking either question of one slot alone misses the case this exists to 
catch.
+ *
+ * Slots with no `adj_left` are excluded from both. The left-most slot's 
`window_size` is dead state
+ * (nothing upstream sends it read messages, so s_window_update_task never 
increments it and
+ * aws_channel_slot_send_message never debits it), and its batch is never 
drained, since the task
+ * stops at `adj_left == NULL`. Counting its window would pin the minimum at 
0; counting its batch
+ * would leave the pending check permanently true. The slot passed in is 
folded into both, which
+ * covers a freshly created slot the walk would otherwise see before any data 
has moved through
+ * it. */
+static bool s_window_update_needed(const struct aws_channel_slot *slot) {
+    size_t min_window_size = slot->window_size;
+    bool update_pending = slot->current_window_update_batch_size > 0;
+
+    for (const struct aws_channel_slot *slot_iter = slot->channel->first; 
slot_iter; slot_iter = slot_iter->adj_right) {
+        if (slot_iter->adj_left) {
+            min_window_size = aws_min_size(min_window_size, 
slot_iter->window_size);
+            update_pending = update_pending || 
slot_iter->current_window_update_batch_size > 0;
+        }
+    }
+
+    return update_pending && min_window_size <= 
slot->channel->window_update_batch_emit_threshold;
+}
+
+/* Schedule the batched window update if the scarcest slot has fallen to the 
emit threshold and
+ * there are batched pending updates.
+ *
+ * Gate on the scarcest slot, never the caller's. Slots drain at different 
rates -- a TLS slot
+ * drains ciphertext, the handler above it plaintext -- so gating on the 
caller lets the scarcest
+ * slot reach 0 while the caller sits far above the threshold, halting data 
flow and with it any
+ * further window requests.
+ *
+ * Call from both edges that lower the minimum: a grant, and a read-message 
debit. The debit edge
+ * is the one that carries liveness -- a slot starved by arriving data gets no 
follow-up grant.
+ *
+ * TODO: the window is really for the whole channel, but we manage it per 
slot. Consider
+ * refactoring flow control so slots cannot disagree and stall the channel. */
+static void s_schedule_window_update_task_if_scarce(struct aws_channel_slot 
*slot) {
+    struct aws_channel *channel = slot->channel;
+
+    if (!channel->read_back_pressure_enabled || channel->channel_state >= 
AWS_CHANNEL_SHUT_DOWN) {
+        return;
+    }
+
+    if (channel->window_update_scheduled || !s_window_update_needed(slot)) {
+        return;
+    }
+
+    channel->window_update_scheduled = true;
+    aws_channel_task_init(&channel->window_update_task, s_window_update_task, 
channel, "window update task");
+    aws_channel_schedule_task_now(channel, &channel->window_update_task);
+}
+
 int aws_channel_slot_increment_read_window(struct aws_channel_slot *slot, 
size_t window) {
 
     if (slot->channel->read_back_pressure_enabled && 
slot->channel->channel_state < AWS_CHANNEL_SHUT_DOWN) {
         slot->current_window_update_batch_size =
             aws_add_size_saturating(slot->current_window_update_batch_size, 
window);
 
-        if (!slot->channel->window_update_scheduled &&
-            slot->window_size <= 
slot->channel->window_update_batch_emit_threshold) {
-            slot->channel->window_update_scheduled = true;
-            aws_channel_task_init(
-                &slot->channel->window_update_task, s_window_update_task, 
slot->channel, "window update task");
-            aws_channel_schedule_task_now(slot->channel, 
&slot->channel->window_update_task);
-        }
+        s_schedule_window_update_task_if_scarce(slot);
     }
 
     return AWS_OP_SUCCESS;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-c-io-0.27.5/source/darwin/secure_transport_tls_channel_handler.c 
new/aws-c-io-0.27.6/source/darwin/secure_transport_tls_channel_handler.c
--- old/aws-c-io-0.27.5/source/darwin/secure_transport_tls_channel_handler.c    
2026-07-24 19:02:02.000000000 +0200
+++ new/aws-c-io-0.27.6/source/darwin/secure_transport_tls_channel_handler.c    
2026-08-11 00:37:41.000000000 +0200
@@ -812,7 +812,7 @@
         AWS_LS_IO_TLS, "id=%p: increment read window message received %llu", 
(void *)handler, (unsigned long long)size);
 
     size_t downstream_size = aws_channel_slot_downstream_read_window(slot);
-    size_t current_window_size = slot->window_size;
+    size_t current_window_size = aws_add_size_saturating(slot->window_size, 
slot->current_window_update_batch_size);
 
     size_t likely_records_count = (size_t)ceil((double)(downstream_size) / 
(double)(MAX_RECORD_SIZE));
     size_t offset_size = aws_mul_size_saturating(likely_records_count, 
EST_TLS_RECORD_OVERHEAD);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.27.5/source/s2n/s2n_tls_channel_handler.c 
new/aws-c-io-0.27.6/source/s2n/s2n_tls_channel_handler.c
--- old/aws-c-io-0.27.5/source/s2n/s2n_tls_channel_handler.c    2026-07-24 
19:02:02.000000000 +0200
+++ new/aws-c-io-0.27.6/source/s2n/s2n_tls_channel_handler.c    2026-08-11 
00:37:41.000000000 +0200
@@ -1217,7 +1217,7 @@
     }
 
     size_t downstream_size = aws_channel_slot_downstream_read_window(slot);
-    size_t current_window_size = slot->window_size;
+    size_t current_window_size = aws_add_size_saturating(slot->window_size, 
slot->current_window_update_batch_size);
 
     AWS_LOGF_TRACE(
         AWS_LS_IO_TLS, "id=%p: Increment read window message received %llu", 
(void *)handler, (unsigned long long)size);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-c-io-0.27.5/source/windows/secure_channel_tls_handler.c 
new/aws-c-io-0.27.6/source/windows/secure_channel_tls_handler.c
--- old/aws-c-io-0.27.5/source/windows/secure_channel_tls_handler.c     
2026-07-24 19:02:02.000000000 +0200
+++ new/aws-c-io-0.27.6/source/windows/secure_channel_tls_handler.c     
2026-08-11 00:37:41.000000000 +0200
@@ -1739,7 +1739,7 @@
 
     size_t total_desired_size = size;
     size_t downstream_size = aws_channel_slot_downstream_read_window(slot);
-    size_t current_window_size = slot->window_size;
+    size_t current_window_size = aws_add_size_saturating(slot->window_size, 
slot->current_window_update_batch_size);
 
     /* the only time this branch isn't taken is when a window update is 
propagated during tls negotiation.
      * in that case just pass it through. */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.27.5/tests/CMakeLists.txt 
new/aws-c-io-0.27.6/tests/CMakeLists.txt
--- old/aws-c-io-0.27.5/tests/CMakeLists.txt    2026-07-24 19:02:02.000000000 
+0200
+++ new/aws-c-io-0.27.6/tests/CMakeLists.txt    2026-08-11 00:37:41.000000000 
+0200
@@ -139,6 +139,9 @@
 add_test_case(channel_rejects_post_shutdown_tasks)
 add_test_case(channel_cancels_pending_tasks)
 add_test_case(channel_duplicate_shutdown)
+add_test_case(channel_window_update_gates_on_scarcest_slot)
+add_test_case(channel_window_update_batches_while_all_slots_roomy)
+add_test_case(channel_window_update_emitted_when_debit_starves_slot)
 add_test_case(channel_keeps_event_loop_group_alive)
 add_net_test_case(channel_connect_some_hosts_timeout)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.27.5/tests/channel_test.c 
new/aws-c-io-0.27.6/tests/channel_test.c
--- old/aws-c-io-0.27.5/tests/channel_test.c    2026-07-24 19:02:02.000000000 
+0200
+++ new/aws-c-io-0.27.6/tests/channel_test.c    2026-08-11 00:37:41.000000000 
+0200
@@ -14,6 +14,7 @@
 #include <aws/io/private/event_loop_impl.h>
 #include <aws/io/socket.h>
 #include <aws/testing/aws_test_harness.h>
+#include <aws/testing/io_testing_channel.h>
 
 #include "mock_dns_resolver.h"
 #include "read_write_test_handler.h"
@@ -930,3 +931,205 @@
     return AWS_OP_SUCCESS;
 }
 AWS_TEST_CASE(channel_keeps_event_loop_group_alive, 
s_test_channel_keeps_event_loop_group_alive)
+
+/* Builds a 3-slot read-back-pressure channel: left -> mid -> right.
+ *
+ * Three slots is the minimum that can tell the two gating rules apart. Only 
slots with an
+ * `adj_left` carry a live `window_size`, so in a 2-slot channel the sole live 
window belongs
+ * to the slot that asks for more -- the scarcest window and the caller's 
window are the same
+ * number, and either rule behaves identically. */
+static int s_window_gate_channel_init(
+    struct aws_allocator *allocator,
+    struct testing_channel *testing,
+    size_t mid_window,
+    size_t right_window,
+    struct aws_channel_slot **out_mid_slot,
+    struct aws_channel_slot **out_right_slot,
+    struct testing_channel_handler **out_mid_impl) {
+
+    struct aws_testing_channel_options options = {.clock_fn = 
aws_high_res_clock_get_ticks};
+    ASSERT_SUCCESS(testing_channel_init(testing, allocator, &options));
+
+    struct aws_channel_slot *mid_slot = aws_channel_slot_new(testing->channel);
+    ASSERT_NOT_NULL(mid_slot);
+    ASSERT_SUCCESS(aws_channel_slot_insert_right(testing->left_handler_slot, 
mid_slot));
+    struct aws_channel_handler *mid_handler = 
s_new_testing_channel_handler(allocator, mid_window);
+    ASSERT_NOT_NULL(mid_handler);
+    struct testing_channel_handler *mid_impl = mid_handler->impl;
+    ASSERT_SUCCESS(aws_channel_slot_set_handler(mid_slot, mid_handler));
+
+    struct aws_channel_slot *right_slot = 
aws_channel_slot_new(testing->channel);
+    ASSERT_NOT_NULL(right_slot);
+    ASSERT_SUCCESS(aws_channel_slot_insert_right(mid_slot, right_slot));
+    struct aws_channel_handler *right_handler = 
s_new_testing_channel_handler(allocator, right_window);
+    ASSERT_NOT_NULL(right_handler);
+    ASSERT_SUCCESS(aws_channel_slot_set_handler(right_slot, right_handler));
+
+    /* Let the initial grants from set_handler settle into window_size. */
+    testing_channel_drain_queued_tasks(testing);
+    ASSERT_UINT_EQUALS(mid_window, mid_slot->window_size);
+    ASSERT_UINT_EQUALS(right_window, right_slot->window_size);
+
+    /* Zero the observable so later assertions only see what this test 
provoked. */
+    mid_impl->latest_window_update = 0;
+
+    *out_mid_slot = mid_slot;
+    *out_right_slot = right_slot;
+    *out_mid_impl = mid_impl;
+    return AWS_OP_SUCCESS;
+}
+
+/* The batched window update must be gated on the SCARCEST slot window, not on 
the window of
+ * whichever slot happens to be asking.
+ *
+ * `mid` sits below the emit threshold while `right` sits far above it -- the 
shape a tls slot
+ * draining ciphertext makes underneath an http slot draining plaintext, since 
tls sizes its own
+ * window by estimating record overhead and that estimate assumes the peer 
packs plaintext into
+ * full-size records. `right` is the only slot asking for window in steady 
state, so a gate that
+ * reads the caller's window never fires: the accumulated batch is never 
emitted, `mid` is never
+ * replenished, the upstream slot stops reading, no data reaches `right`, and 
nothing ever asks
+ * for window again. The channel wedges with a full batch pending. */
+static int s_test_channel_window_update_gates_on_scarcest_slot(struct 
aws_allocator *allocator, void *ctx) {
+    (void)ctx;
+
+    const size_t threshold = g_aws_channel_max_fragment_size * 4;
+    const size_t scarce_window = g_aws_channel_max_fragment_size;
+    const size_t roomy_window = threshold * 4;
+    ASSERT_TRUE(scarce_window <= threshold);
+    ASSERT_TRUE(roomy_window > threshold);
+
+    struct testing_channel testing;
+    struct aws_channel_slot *mid_slot = NULL;
+    struct aws_channel_slot *right_slot = NULL;
+    struct testing_channel_handler *mid_impl = NULL;
+    ASSERT_SUCCESS(s_window_gate_channel_init(
+        allocator, &testing, scarce_window, roomy_window, &mid_slot, 
&right_slot, &mid_impl));
+
+    /* `right` asks for more window. Gating on the caller declines to schedule 
the task because
+     * `right` is roomy; gating on the minimum must schedule it because `mid` 
is scarce. */
+    const size_t grant = 1024;
+    ASSERT_SUCCESS(aws_channel_slot_increment_read_window(right_slot, grant));
+    testing_channel_drain_queued_tasks(&testing);
+
+    /* The batch was emitted: applied to the asking slot's window, drained, 
and propagated to
+     * the handler upstream of it. */
+    ASSERT_UINT_EQUALS(roomy_window + grant, right_slot->window_size);
+    ASSERT_UINT_EQUALS(0, right_slot->current_window_update_batch_size);
+    ASSERT_UINT_EQUALS(grant, mid_impl->latest_window_update);
+
+    ASSERT_SUCCESS(testing_channel_clean_up(&testing));
+    return AWS_OP_SUCCESS;
+}
+AWS_TEST_CASE(channel_window_update_gates_on_scarcest_slot, 
s_test_channel_window_update_gates_on_scarcest_slot)
+
+/* The other direction: gating on the minimum must not degenerate into "always 
emit". While every
+ * slot is roomy the update stays batched, so a fix that simply drops the gate 
fails here. */
+static int s_test_channel_window_update_batches_while_all_slots_roomy(struct 
aws_allocator *allocator, void *ctx) {
+    (void)ctx;
+
+    const size_t threshold = g_aws_channel_max_fragment_size * 4;
+    /* Roomy by exactly one fragment, so the debit below fits in a single 
pooled message. */
+    const size_t roomy_window = threshold + g_aws_channel_max_fragment_size;
+    ASSERT_TRUE(roomy_window > threshold);
+
+    struct testing_channel testing;
+    struct aws_channel_slot *mid_slot = NULL;
+    struct aws_channel_slot *right_slot = NULL;
+    struct testing_channel_handler *mid_impl = NULL;
+    ASSERT_SUCCESS(
+        s_window_gate_channel_init(allocator, &testing, roomy_window, 
roomy_window, &mid_slot, &right_slot, &mid_impl));
+
+    const size_t grant = 1024;
+    ASSERT_SUCCESS(aws_channel_slot_increment_read_window(right_slot, grant));
+    testing_channel_drain_queued_tasks(&testing);
+
+    /* Held, not emitted. */
+    ASSERT_UINT_EQUALS(roomy_window, right_slot->window_size);
+    ASSERT_UINT_EQUALS(grant, right_slot->current_window_update_batch_size);
+    ASSERT_UINT_EQUALS(0, mid_impl->latest_window_update);
+
+    /* Once the scarcest window falls to the threshold the held batch is 
emitted. Debiting `mid`
+     * with a read message is what a real upstream handler does when it 
forwards data. */
+    const size_t debit = roomy_window - threshold;
+    struct aws_io_message *msg =
+        aws_channel_acquire_message_from_pool(testing.channel, 
AWS_IO_MESSAGE_APPLICATION_DATA, debit);
+    ASSERT_NOT_NULL(msg);
+    ASSERT_TRUE(msg->message_data.capacity >= debit);
+    msg->message_data.len = debit;
+    ASSERT_SUCCESS(aws_channel_slot_send_message(testing.left_handler_slot, 
msg, AWS_CHANNEL_DIR_READ));
+    ASSERT_UINT_EQUALS(threshold, mid_slot->window_size);
+
+    ASSERT_SUCCESS(aws_channel_slot_increment_read_window(right_slot, grant));
+    testing_channel_drain_queued_tasks(&testing);
+
+    ASSERT_UINT_EQUALS(roomy_window + (grant * 2), right_slot->window_size);
+    ASSERT_UINT_EQUALS(grant * 2, mid_impl->latest_window_update);
+
+    ASSERT_SUCCESS(testing_channel_clean_up(&testing));
+    return AWS_OP_SUCCESS;
+}
+AWS_TEST_CASE(
+    channel_window_update_batches_while_all_slots_roomy,
+    s_test_channel_window_update_batches_while_all_slots_roomy)
+
+/* The wedge as it actually occurs, in order.
+ *
+ * 1. Every slot is roomy, so `right`'s grant is accepted into its batch and 
correctly held back
+ *    by the threshold.
+ * 2. `mid` then drains to 0. The harness handler queues read messages without 
forwarding them,
+ *    which is what a tls handler does while it holds an incomplete record: it 
consumes a whole
+ *    socket read and emits nothing downstream.
+ * 3. Because nothing reached `right`, `right` has no reason to ask for window 
again.
+ *
+ * The batch from step 1 is now the only thing that can replenish `mid`, and 
`mid` at 0 is what
+ * stops the upstream slot from reading. If nothing re-examines the threshold 
when a window is
+ * DEBITED, the channel is wedged: full batch pending, scarcest window at 0, 
no further calls
+ * coming. */
+static int s_test_channel_window_update_emitted_when_debit_starves_slot(struct 
aws_allocator *allocator, void *ctx) {
+    (void)ctx;
+
+    const size_t threshold = g_aws_channel_max_fragment_size * 4;
+    /* Roomy, and an exact multiple of the fragment size so it drains to 
precisely 0. */
+    const size_t roomy_window = g_aws_channel_max_fragment_size * 5;
+    ASSERT_TRUE(roomy_window > threshold);
+
+    struct testing_channel testing;
+    struct aws_channel_slot *mid_slot = NULL;
+    struct aws_channel_slot *right_slot = NULL;
+    struct testing_channel_handler *mid_impl = NULL;
+    ASSERT_SUCCESS(
+        s_window_gate_channel_init(allocator, &testing, roomy_window, 
roomy_window, &mid_slot, &right_slot, &mid_impl));
+
+    /* Step 1: grant while everything is roomy. Must be held, not emitted. */
+    const size_t grant = 1024;
+    ASSERT_SUCCESS(aws_channel_slot_increment_read_window(right_slot, grant));
+    testing_channel_drain_queued_tasks(&testing);
+    ASSERT_UINT_EQUALS(grant, right_slot->current_window_update_batch_size);
+    ASSERT_UINT_EQUALS(roomy_window, right_slot->window_size);
+
+    /* Step 2: drain `mid` to 0 one fragment at a time, forwarding nothing 
downstream. */
+    const size_t fragment = g_aws_channel_max_fragment_size;
+    for (size_t remaining = roomy_window; remaining > 0; remaining -= 
fragment) {
+        struct aws_io_message *msg =
+            aws_channel_acquire_message_from_pool(testing.channel, 
AWS_IO_MESSAGE_APPLICATION_DATA, fragment);
+        ASSERT_NOT_NULL(msg);
+        ASSERT_TRUE(msg->message_data.capacity >= fragment);
+        msg->message_data.len = fragment;
+        
ASSERT_SUCCESS(aws_channel_slot_send_message(testing.left_handler_slot, msg, 
AWS_CHANNEL_DIR_READ));
+    }
+    ASSERT_UINT_EQUALS(0, mid_slot->window_size);
+
+    /* Step 3: no further increment_read_window call. Draining tasks is all 
the channel gets. */
+    testing_channel_drain_queued_tasks(&testing);
+
+    /* The held batch must have been emitted, and `mid` replenished, or the 
channel is stuck. */
+    ASSERT_UINT_EQUALS(grant, mid_impl->latest_window_update);
+    ASSERT_UINT_EQUALS(roomy_window + grant, right_slot->window_size);
+    ASSERT_UINT_EQUALS(0, right_slot->current_window_update_batch_size);
+
+    ASSERT_SUCCESS(testing_channel_clean_up(&testing));
+    return AWS_OP_SUCCESS;
+}
+AWS_TEST_CASE(
+    channel_window_update_emitted_when_debit_starves_slot,
+    s_test_channel_window_update_emitted_when_debit_starves_slot)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.27.5/tests/resources/README.md 
new/aws-c-io-0.27.6/tests/resources/README.md
--- old/aws-c-io-0.27.5/tests/resources/README.md       2026-07-24 
19:02:02.000000000 +0200
+++ new/aws-c-io-0.27.6/tests/resources/README.md       2026-08-11 
00:37:41.000000000 +0200
@@ -8,6 +8,20 @@
 Generated files include RSA/EC self-signed certs, a CA-signed server cert 
chain, mTLS root CAs with server/device certs,
 an untrusted server CA, and the macOS trust settings plist for 
`mtls_server_root_ca`. See the script header for the full list.
 
+The PKCS#12 bundles (`*.p12`) are exported with SHA1/3DES encryption (`-keypbe 
PBE-SHA1-3DES -certpbe PBE-SHA1-3DES
+-macalg sha1`) rather than OpenSSL 3.x's modern AES-256/PBES2 defaults, which 
macOS's Security Framework
+(`SecPKCS12Import`) cannot parse.
+
+Some certificates in this folder are intentionally *not* regenerated by the 
script (`testparse*.crt`, `testcert*.pem`,
+`ecc-cert.pem`/`ecc-key.pem`, and `DigiCertGlobalRootCA.crt.pem`); see the 
script header for details.
+
+### Automated renewal
+
+The `.github/workflows/cert-renewal.yml` workflow runs `generateCerts.sh` on a 
monthly schedule (and on manual
+dispatch). It checks the expiration of the generated certificates and, when 
the earliest one is within 30 days of
+expiring, regenerates the full set and opens a pull request with the changes. 
Certificates are generated with an
+824-day lifetime to stay under the 825-day cap Apple platforms enforce on TLS 
server certificate lifetimes.
+
 ## import_custom_cert_to_keychain.sh
 
 macOS-only script used in CI to set up a temporary keychain with test 
certificates for keychain-related tests.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.27.5/tests/resources/ca_root.crt 
new/aws-c-io-0.27.6/tests/resources/ca_root.crt
--- old/aws-c-io-0.27.5/tests/resources/ca_root.crt     2026-07-24 
19:02:02.000000000 +0200
+++ new/aws-c-io-0.27.6/tests/resources/ca_root.crt     2026-08-11 
00:37:41.000000000 +0200
@@ -3,22 +3,22 @@
 EzARBgNVBAgMCldhc2hpbmd0b24xEDAOBgNVBAcMB1NlYXR0bGUxDzANBgNVBAoM
 BkFtYXpvbjENMAsGA1UECwwEU0RLczEUMBIGA1UEAwwLbG9jYWxob3N0Q0ExMDAu
 BgkqhkiG9w0BCQEWIWF3cy1zZGstY29tbW9uLXJ1bnRpbWVAYW1hem9uLmNvbTAe
-Fw0yNDA1MDQxNzA3MDNaFw0yNjA4MDYxNzA3MDNaMIGcMQswCQYDVQQGEwJVUzET
+Fw0yNjA4MDcxNzQzMDZaFw0yODExMDgxNzQzMDZaMIGcMQswCQYDVQQGEwJVUzET
 MBEGA1UECAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEPMA0GA1UECgwG
 QW1hem9uMQ0wCwYDVQQLDARTREtzMRQwEgYDVQQDDAtsb2NhbGhvc3RDQTEwMC4G
 CSqGSIb3DQEJARYhYXdzLXNkay1jb21tb24tcnVudGltZUBhbWF6b24uY29tMIIB
-IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4lI7p1KbrjspVtn2gcHfg7iJ
-zj+FJ3PxqfBW/peU3fT2SAyXlNH0NfP/NgU0vk60yL1lExX+a/jdD0o+WLVEMFPq
-A4Mdd5H4PUSA+YK0tUNLbBOaezb2Td19y3VQ5zSi8ribjLlLii4Pn2mLuJvLBYRP
-8kfnOJe07A+UWc5HCA283yjvBR6gl4YRGIRPnipQ12hoqRL5IB++lZ6PzhoxWOus
-NMKcikt+YoXBOmrl0bC6KtqUY52IfBulSjq4FNUjPd30NaX9wMnb5LuNAi0DGaFm
-632T8mwtfTAr3ZnHIr+Bw6lEVBg/b1JgyiM115n0GuTghJz9SRYuZnVz/iCEhQID
-AQABo2MwYTAdBgNVHQ4EFgQUD85JN3uwSAuVVZs4ULtkFBQrBjwwHwYDVR0jBBgw
-FoAUD85JN3uwSAuVVZs4ULtkFBQrBjwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B
-Af8EBAMCAYYwDQYJKoZIhvcNAQELBQADggEBAHDNsWJ41LdAp9h25rCpTcowc6Sh
-1fDRJWWxgKH0FKRclALapJascpZVbtR7tC6BlytzETnyDnxNXoUiYEBviThmfo1N
-jJeU5VTUb0xNfx2wNAZeEFBpi4RGNOLWvSD8xrestMgSLsOM+GNk92WKHxKb6GPs
-jOCmOPTqA9npiasalS5BVdi8muI9pzBkR4614mj1kyjzxh5a5bAtntwHJ75KqbVd
-KQWIiNJVS+tCYm/1XrXotFoJUR5eQhgO/g0PrSDE+PaolgJBuYpr4yClXxlizRKe
-UC4MRgc88DrbYLG9PhIBqRwwXpv0itmzEGl2cr/StaspzPoIlGo0iBuJgps=
+IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuaqmG1GbDpEkNqaNsTUuBIYh
+t90RxBg2kL+FBrXcf1mUJUwxyngufFXirfi1jQVadklKycy1RiV4TBUaMqxJMtI2
+SqrH9vdBy3hXEM606KM6lh22fUSEBhJKFIIC1Vir6mvACAhnldP96YMxI3kQQp6B
+7Sa0qczlmUwn+Y0/Y3z1m0dX6Zv+/oROJJEpDmiyhC6T7IFomFA5D7hJDcQE80j9
+vA/IqNUvz18fycAdLCcQuYi3MbximmGNWjBmodsqUk5YuvCA3ia788E8sWaqvyA7
+VBWuqoH7C5trgxnM57E+V98M2cXidwjNKdU1/zGEAS/LH22HywNuhac9Cg7ShQID
+AQABo2MwYTAdBgNVHQ4EFgQUtq02oeG+H/IwJDLfNBhdjp3a7U4wHwYDVR0jBBgw
+FoAUtq02oeG+H/IwJDLfNBhdjp3a7U4wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B
+Af8EBAMCAYYwDQYJKoZIhvcNAQELBQADggEBALeqLlqRnB87WxEazhXZsRXYSl+M
+Q0A83yqd6+tiZn5YRA3r+PgYr28AIeA5iHkB4/GjVd5oktoRBBVze6xaWX9k98vU
+LHcFan2FUqTxG5g8XzgV8qRwQpK6a/m6m+TCpJVztVRqOBSls0wTCmGE0XGYSbei
+zZlxyU04bQrqx9sCroCDrYzjprIXkiGZvUGxvhwWxL7Y/lYvCvw67sMWKHBGk8Vg
+NhtST1gCuQRK5fOhOOBWtgpry/W/8pdLOMcJAYibWlr6tuuWEG3THVlFWNpg/XUY
+CwycpX241WIcpz5OwZIGNsj9hMRmmstBCPFRCJxJu3YCpiwQMcBqvMVY9Bc=
 -----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.27.5/tests/resources/ec_unittests.crt 
new/aws-c-io-0.27.6/tests/resources/ec_unittests.crt
--- old/aws-c-io-0.27.5/tests/resources/ec_unittests.crt        2026-07-24 
19:02:02.000000000 +0200
+++ new/aws-c-io-0.27.6/tests/resources/ec_unittests.crt        2026-08-11 
00:37:41.000000000 +0200
@@ -1,15 +1,16 @@
 -----BEGIN CERTIFICATE-----
-MIICYDCCAgagAwIBAgIJANCMnBk7jwdGMAoGCCqGSM49BAMCMIGaMQswCQYDVQQG
-EwJVUzETMBEGA1UECAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEPMA0G
-A1UECgwGQW1hem9uMQ0wCwYDVQQLDARTREtzMRIwEAYDVQQDDAlsb2NhbGhvc3Qx
-MDAuBgkqhkiG9w0BCQEWIWF3cy1zZGstY29tbW9uLXJ1bnRpbWVAYW1hem9uLmNv
-bTAeFw0yNDA1MDQxNzA3MDRaFw0yNjA4MDYxNzA3MDRaMIGaMQswCQYDVQQGEwJV
-UzETMBEGA1UECAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEPMA0GA1UE
-CgwGQW1hem9uMQ0wCwYDVQQLDARTREtzMRIwEAYDVQQDDAlsb2NhbGhvc3QxMDAu
-BgkqhkiG9w0BCQEWIWF3cy1zZGstY29tbW9uLXJ1bnRpbWVAYW1hem9uLmNvbTBZ
-MBMGByqGSM49AgEGCCqGSM49AwEHA0IABCOVOKo+/0+07kUwDp6BQ+6vqYcQhkgL
-Lj1hnKyRgsK9Na62vyb48RR62eGVau8x/u4hRNUzcQFQZT+k3YGQdLijMzAxMBMG
-A1UdJQQMMAoGCCsGAQUFBwMBMBoGA1UdEQQTMBGCCWxvY2FsaG9zdIcEfwAAATAK
-BggqhkjOPQQDAgNIADBFAiA+E/faZjfK/QbdjMkcKI0iiepu/o6FluaVHNirepRn
-dAIhAIVj2dZMgH5T6XrFQ+/8D0VTEoLCCJjaMhxZzElZs95l
+MIICijCCAjCgAwIBAgIUIqEdneFmlx8qaPPL6/GiQydpPHgwCgYIKoZIzj0EAwIw
+gZoxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApXYXNoaW5ndG9uMRAwDgYDVQQHDAdT
+ZWF0dGxlMQ8wDQYDVQQKDAZBbWF6b24xDTALBgNVBAsMBFNES3MxEjAQBgNVBAMM
+CWxvY2FsaG9zdDEwMC4GCSqGSIb3DQEJARYhYXdzLXNkay1jb21tb24tcnVudGlt
+ZUBhbWF6b24uY29tMB4XDTI2MDgwNzE3NDMwNloXDTI4MTEwODE3NDMwNlowgZox
+CzAJBgNVBAYTAlVTMRMwEQYDVQQIDApXYXNoaW5ndG9uMRAwDgYDVQQHDAdTZWF0
+dGxlMQ8wDQYDVQQKDAZBbWF6b24xDTALBgNVBAsMBFNES3MxEjAQBgNVBAMMCWxv
+Y2FsaG9zdDEwMC4GCSqGSIb3DQEJARYhYXdzLXNkay1jb21tb24tcnVudGltZUBh
+bWF6b24uY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEI5U4qj7/T7TuRTAO
+noFD7q+phxCGSAsuPWGcrJGCwr01rra/JvjxFHrZ4ZVq7zH+7iFE1TNxAVBlP6Td
+gZB0uKNSMFAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwGgYDVR0RBBMwEYIJbG9jYWxo
+b3N0hwR/AAABMB0GA1UdDgQWBBS8k5qlgpgabdsjCnpqBq0vCpnJYDAKBggqhkjO
+PQQDAgNIADBFAiEAvz5PcvlNSmNxIH6Az8/GeDHEVu9vONgB7Dn15cp7ugkCIDin
+bLinUj37FFwTjFGE1tov1qO+UlS+GcY2jEyVE0jb
 -----END CERTIFICATE-----
Binary files old/aws-c-io-0.27.5/tests/resources/ec_unittests.p12 and 
new/aws-c-io-0.27.6/tests/resources/ec_unittests.p12 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.27.5/tests/resources/generateCerts.sh 
new/aws-c-io-0.27.6/tests/resources/generateCerts.sh
--- old/aws-c-io-0.27.5/tests/resources/generateCerts.sh        2026-07-24 
19:02:02.000000000 +0200
+++ new/aws-c-io-0.27.6/tests/resources/generateCerts.sh        2026-08-11 
00:37:41.000000000 +0200
@@ -31,6 +31,13 @@
 # mtls_untrusted_server.key:     private key for mtls_untrusted_server
 # mtls_server_root_ca_trust_settings.plist: macOS trust settings plist for 
mtls_server_root_ca
 
+# Certificates in this folder that are intentionally NOT regenerated by this 
script
+# (do NOT add them here): testparse.crt, testparse_crlf.crt, testcert0-7.pem,
+# ecc-cert.pem/ecc-key.pem, and DigiCertGlobalRootCA.crt.pem. These are static 
test
+# fixtures. The testparse*/testcert*/ecc-* certs are only used by PEM-parsing 
and certificate-import
+# tests that assert against hardcoded byte content, so regenerating them would 
break those tests.
+# DigiCertGlobalRootCA is a real public root CA used as a negative test case 
and is not ours to regenerate.
+
 # Create directory for use with certificate generation
 mkdir -p certGeneration
 # Copy files needed to generate new certificates
@@ -88,11 +95,16 @@
             -in $base.key \
             -nocrypt
 
+  # Use SHA1/3DES-based PBE instead of OpenSSL 3.x's modern AES-256/PBES2 
defaults.
+  # macOS's Security Framework (SecPKCS12Import) cannot parse the modern 
defaults and
+  # fails with "MAC verification failed", and unittests.p12 is loaded by the 
Apple
+  # SecureTransport tests. See tests/resources/README.md.
   openssl pkcs12 -export \
             -out $base.p12 \
             -inkey $base.key \
             -in $base.crt \
-            -password pass:1234
+            -password pass:1234 \
+            -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -macalg sha1
 done
 
 # generate_trust_plist <cert_pem> <output_plist>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.27.5/tests/resources/mtls_device.key 
new/aws-c-io-0.27.6/tests/resources/mtls_device.key
--- old/aws-c-io-0.27.5/tests/resources/mtls_device.key 2026-07-24 
19:02:02.000000000 +0200
+++ new/aws-c-io-0.27.6/tests/resources/mtls_device.key 2026-08-11 
00:37:41.000000000 +0200
@@ -1,28 +1,28 @@
 -----BEGIN PRIVATE KEY-----
-MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDnvqSRf9ScJxK4
-AJdB0hZHQrvMnSDq9b7hktvqZ02WfrnYvS0UKADP0luxBctBBzuvIleDS9YieUyY
-z+wXnDmWXvjOy7k2L92XNREkk/EjIgjgaCLYWNEiDUc5ayp80JOWjinDkxdy0JH/
-KyjvRRk2aBTfLtOaNTU75x3Qp1CuUepvlwBlG4z6xw5ixIKcUItZP/5lgO2MgUEl
-1YJVmGn49FAnpq8jzGTp+SKcQbMepNIdDKDE9yRvjVBGSnFhTFUGkCu4XVVbVCAg
-9k0oti0/50pr/1KA/V1NBqKadAAFC/78CJCQANlBa3urNIQBNgDX4fX9OTkzAJXa
-8EiPpBHFAgMBAAECggEAOF5p3y5Nw9HJPtJ9+DemzZyQ25tYt24hCPNU5LZN7A5V
-HEAfp+h3EhXj0bJMFzwwK1BaIwieRHJmzEC+95s7crUVJg/ttB1+c9onmlMV82rC
-5/rMhv1LmVHLgk7r3cJKM/POetDbgkTzTjLsWQ7grBgzA3p7Y+YPVcvIt8kK2euC
-XyrmaeYzdgIi8kjcdeV/oIf2CI5fY/Fl98TLOEgJ8GvlJ+I/MJd+2Kaah3i3OhrI
-up6e1LAfV+fWNYcAICirs3tfFBTW9vDqOjpMjHhJDJIQZLSVEb7DqY8nF9S2p3ds
-R4MB+aAuuzzsxRJUfApRH29bTWBemTuk5jqUl3caYQKBgQD8OP2pHAZg0mF4c9bP
-A6HUfIXOTnXBv5DcI1hNiV59BNxGE6M3ENLTWJ2ryptwKcFabYVoi+jpXN4ZueEN
-U2KRmNMaoTg+oWjxCmrcwhLWIY5hvqcc0jyyBr7r1ZDVr/i3fhPnwsndV9oEWtFa
-fTeXm4h+YoDsZPencmMf2m68CQKBgQDrNyQAwvp10W0yzx5I5yHmD03scLY3/AMS
-p8Y+ZmP/SSVsaY32aiIgjoYM4AS+JlWu8F6llMleSlfAszkz4+Ox/GQzvSqYqjb2
-9XRJBwYtLJcK5yyYstF5+8zqKKqY1ToEp5ObD5GmDZQZgx3n6GIWiOVlOIoEi3MQ
-hS1ifPlO3QKBgCgr04rJoeJt34RVvtK921qCcrVHHc47+pB1OK0wwdHbolGu8wHk
-Ng/fP02LOXKF0/vZEbRzBCeW2PDz//olW7+gvY6yOskO4C3z4M1EQ8fDFHBQ80DN
-40jfdi0NmMHQAycGd5kkFw6f3WNwK4PkCaSl6vlmKu57rk4HE+6Q1a4xAoGAWuvc
-oeK8mBBVKp+/MCUQCHMABxZmiWuD8JEj43kGzGaE7cw7kPXjrTwKey2ZB7ufwViu
-7Uh/MlCAbT+aLAG6QVGzlgBYV9zsFDg7NANgEtQ6qn9D0N7GdGWuBxGjKCK8I5J3
-TygMf+idx+LUC5HbYKSYL7FUQH97AfbI3Vo7sI0CgYAUxmQb6tfi5d3d6V0r43dq
-AcsmQ8jSosmiysbjDZ7CXxGnUzuemDd3rHgllHVYH87gwaWilLPSSG6YfTAj/YWi
-szU0C1e7/2uC79E1lMXMq+ZAUaKTu7EljR8K44kqLAKgy08OvgQOmq0XSrW7nhAn
-cxYpAkkXPV2cioHqKm30+A==
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDo8VtqxvCYpKVy
+jzC1frLgzmRxSuK3ZQzExf5Ys91DJ354U6AgIooIUQGAH9ZIuxTlvcEcQywHJxtY
+IJ9Pb161DqAJNIIvJWpEv7Bn2HAdgNnH40O3SGc0IahNxIhj/kBAPW6OmZIKyuXs
+jnjwIe8WNYb0oegFgeuV3rf3y9BwcTgKyBTaUS/mxrEwrRpWupO4x46uFP/E3iF+
+zhoFDC7FE9rHZ4y2eungXoLxSC8lWQv31tiMtbMLBPA6VD3zTW5/KW7zkHJPB49t
+5hjG0H2gR3CFAGp9ys+qECm2zCk5pVQo9GwEwyLQLYEiYtjL5HodD6QaSEjo6cYo
+zCANt2ClAgMBAAECggEAEp9K8uIVFWriNCKY3wWSONEfLARz0/v+1ZNLhl1YtLfp
+TybGUBNazBfnwg2phJZ6MPSmxcLj9+1rLPQssD3DyT8yUZIST0ETOgxGBsNBkUY+
+AtIbFYGzCHKhYRgzXCUVD12p4zoJOBYo4+yu4+mekry0PYXdBeWxRwGvXN69GuP3
+Ld60W01//xUrP/d7o7EXB9hmIAT5qorrnKCfSW6XCbk8tmoVa2jPOl2STSJUy4/5
+sqMJ8VSkXUM5tweOAmk+GNUmGlEq6o+H4EQmwSBbomV3mBUVIatEApL6FKe6Bwk6
+g/CugAiwvurnJ3XA518+S6PNGULwW35ZNTcS4IpdMQKBgQD3ddrdX+vG8xVwEIjC
+/MQax+BllZDLcuAH6V0mn/g/MHe/Zv55BF3q1yIrtSSuRxXixHL5WUDhVxJdnQAt
+JzKrFsHsoHdfJ6mS1aCTHYu3gJt7l0IneRtVMeVxNNsIyF/+6V8J/du9xdydzBrk
+Gx1GQansmz6Y7oN5ml5bIDBGNQKBgQDw+z/OiNRioenxRCqQ4Lmdv9x5MlwH4SRE
+Ct6WxjvSJnlFgBt+BQuVG2XRAEa8f0kx5IcPkYkvYD4dSNhYYbhB2MAZVYpAjC8k
+tUtSzohZd3vghsIM5DKBVIKwahtPYs6xk7bU87Q8GdWnmQfw7ApeCvWwaH+ZBCyV
+TwdjAL4+sQKBgQC9AX9RZloncrMFDRvoEjeWXOO/syUMv4jtgghr3/M0EEjmIDxt
+IjC5lee7inehxRmqQnGukcVEV8TnS2s/EZlZo+AqY8XJH/oc9J3Yv9BfMBORqk4U
+6CNARwQAG2bQpnrrsEOu1f5oTB/dRm+jmjIZ3z1yQoDlPgedcZJv933noQKBgG8I
+FJogyVq4p4WWltYx9NQONpNQ9L5cqc0ABRcLNzzYpT+0ivZBdNi6yurFadIoA52N
+Yf12XPMLMRNlIOl3/OG58Ki7lPuwm3gaYB5DMuel+dm1vWsbKXoVajHGcdbd+8Yt
+/SuZLg4TCTIzfEkxOIWkHxeszj2+gpw40Xp4OS/BAoGBAKEYBy7beuH4hqbFKDHF
+zZaF4VGiLvwA0HcPbLCM0xgKEs36FGndYleNtfgvHUR/Df+0IMrWtyX1I1Y8N8KY
+/+KLmkmyCQx8+UUl6kTywQi3foYM/xItfrdaGyQZJhks00d/juju2fcTdVz2Pf0V
++lggG89bqE2a2wo8DzoM44u1
 -----END PRIVATE KEY-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.27.5/tests/resources/mtls_device.pem.crt 
new/aws-c-io-0.27.6/tests/resources/mtls_device.pem.crt
--- old/aws-c-io-0.27.5/tests/resources/mtls_device.pem.crt     2026-07-24 
19:02:02.000000000 +0200
+++ new/aws-c-io-0.27.6/tests/resources/mtls_device.pem.crt     2026-08-11 
00:37:41.000000000 +0200
@@ -1,24 +1,24 @@
 -----BEGIN CERTIFICATE-----
-MIIECDCCAvCgAwIBAgIUYwkuujGOHaD5Yije99tyifDyGQwwDQYJKoZIhvcNAQEL
+MIIECDCCAvCgAwIBAgIUVnOHw5mkzVXDHb7Q5lNTIX6S+qswDQYJKoZIhvcNAQEL
 BQAwgZwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApXYXNoaW5ndG9uMRAwDgYDVQQH
 DAdTZWF0dGxlMQ8wDQYDVQQKDAZBbWF6b24xDTALBgNVBAsMBFNES3MxFDASBgNV
 BAMMC2xvY2FsaG9zdENBMTAwLgYJKoZIhvcNAQkBFiFhd3Mtc2RrLWNvbW1vbi1y
-dW50aW1lQGFtYXpvbi5jb20wHhcNMjYwNTAxMTg0MzE4WhcNMjgwODAyMTg0MzE4
+dW50aW1lQGFtYXpvbi5jb20wHhcNMjYwODA3MTc0MzA2WhcNMjgxMTA4MTc0MzA2
 WjCBmjELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldhc2hpbmd0b24xEDAOBgNVBAcM
 B1NlYXR0bGUxDzANBgNVBAoMBkFtYXpvbjENMAsGA1UECwwEU0RLczESMBAGA1UE
 AwwJbG9jYWxob3N0MTAwLgYJKoZIhvcNAQkBFiFhd3Mtc2RrLWNvbW1vbi1ydW50
-aW1lQGFtYXpvbi5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDn
-vqSRf9ScJxK4AJdB0hZHQrvMnSDq9b7hktvqZ02WfrnYvS0UKADP0luxBctBBzuv
-IleDS9YieUyYz+wXnDmWXvjOy7k2L92XNREkk/EjIgjgaCLYWNEiDUc5ayp80JOW
-jinDkxdy0JH/KyjvRRk2aBTfLtOaNTU75x3Qp1CuUepvlwBlG4z6xw5ixIKcUItZ
-P/5lgO2MgUEl1YJVmGn49FAnpq8jzGTp+SKcQbMepNIdDKDE9yRvjVBGSnFhTFUG
-kCu4XVVbVCAg9k0oti0/50pr/1KA/V1NBqKadAAFC/78CJCQANlBa3urNIQBNgDX
-4fX9OTkzAJXa8EiPpBHFAgMBAAGjQjBAMB0GA1UdDgQWBBSGcgPgBT4BgHf5yP0t
-2BqLLIqdKjAfBgNVHSMEGDAWgBRAQ4Zt5mjZiZor4DZ+88959lAnWzANBgkqhkiG
-9w0BAQsFAAOCAQEABz+N51Vwqc3FKClKoKXuXyEAumhjiyi3eKepVLeJ8IkP9qfT
-oBQrd5BLIYCtVBbBD8PlVlrSsdjG/Tv3K4jmCEJvqCUxPoZACz0PVQMo8wKUA+fE
-2h6Hypnzmf6ORu7mLFK81Ne2He17mvcmvurXQZA0RI+Y+IpZQjVcYw+iiwTd5iJj
-xju/RniNEcIrVqUX7xHdg+t7aQ1/7CaKNDBaXSIuKP3t6NKLxfdoCJejwtAm31EQ
-lZIUvLcJ20EBcQfqDhEQZuR49jlrrcQL5NbcHrN3zHsKRPpQFtE2vZRFE864vef5
-puELIut+bhEsMHVuKwW83dBjfpe4BiBO1Zgvhw==
+aW1lQGFtYXpvbi5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDo
+8VtqxvCYpKVyjzC1frLgzmRxSuK3ZQzExf5Ys91DJ354U6AgIooIUQGAH9ZIuxTl
+vcEcQywHJxtYIJ9Pb161DqAJNIIvJWpEv7Bn2HAdgNnH40O3SGc0IahNxIhj/kBA
+PW6OmZIKyuXsjnjwIe8WNYb0oegFgeuV3rf3y9BwcTgKyBTaUS/mxrEwrRpWupO4
+x46uFP/E3iF+zhoFDC7FE9rHZ4y2eungXoLxSC8lWQv31tiMtbMLBPA6VD3zTW5/
+KW7zkHJPB49t5hjG0H2gR3CFAGp9ys+qECm2zCk5pVQo9GwEwyLQLYEiYtjL5Hod
+D6QaSEjo6cYozCANt2ClAgMBAAGjQjBAMB0GA1UdDgQWBBRLuQZ4KSv9IjJjaLxO
+yc6J4fF4FzAfBgNVHSMEGDAWgBS18BnepR7+GVvGmiwxW4dEGo2g1DANBgkqhkiG
+9w0BAQsFAAOCAQEAfs4S9MFpNETnUezh+hq1yI42GGn10sT2RZ/ItVL33Kgpyt8g
+95oU9PtLMZgE82E3GUvdEtAPhkKLiUqEb8/dr8gPrKYTAUD3CDz8m17EpGRdXxKl
+i5Eclmt6C85ys7XA7I4cJI9itJP2vseoKhBFuzl3mjxXdmafcLn+l8QOKdELHYot
+XaQO3m4P5JCK9JGqyeXdW+nkCTv6EgN/cgrVhrvFMHWmCFwU/FtSWpe5v0XCo2Ji
+QARlQ/wUHQMxR+s1BMUnRsuRH7G9pE4UAsGlZTbAjqE+dIie6vo16gLiKJQpdF+D
+X7wVJH3NSIxJu9ls/ib/wfXmMvrF4ESXIkYjkQ==
 -----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-c-io-0.27.5/tests/resources/mtls_device_root_ca.key 
new/aws-c-io-0.27.6/tests/resources/mtls_device_root_ca.key
--- old/aws-c-io-0.27.5/tests/resources/mtls_device_root_ca.key 2026-07-24 
19:02:02.000000000 +0200
+++ new/aws-c-io-0.27.6/tests/resources/mtls_device_root_ca.key 2026-08-11 
00:37:41.000000000 +0200
@@ -1,28 +1,28 @@
 -----BEGIN PRIVATE KEY-----
-MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCrTMZh3bANsqJ8
-b0vCEBhmwnecBT3eYGVVk8CFiPh/8VC1Jr4U6dUwU4O9wmO3GZIAOAiVaIxpEpYc
-Yqith3cQ/dR/g2XiNttdLm4+zGioMWD4azIO7KUlH5W1nMlz7t6GmSECIc7OtAIe
-5uHyvA/sEaqcDFqrGTG0Z0lr+OM8yAFWCJ2QKSG335EthZn8lt62NLWi6rod2VC/
-rINk0o6ZDsQMou+DBMC14MWXwElP09doJi3sd7NOwNAW8BBt5yipmlfnhbpovOXH
-e0K0OaVWbqfR/WWpm/vqiIwcjNcDqq6lCuVGrvTn0umwko4+MPq/pB85F1jPCzFL
-PnGNuyRpAgMBAAECggEAKhRTC0ls7QB7v7uLTaGsjNmqji4Pc6gUXIBOI79w4+UA
-oW9h9Ds4voVVcHDnE9x5LAqXuTQUgd8p9tEZhH8pdYgVAjnh9j7phitYs558+wwe
-OQgEJPxm2Qa4PQPFzO/ZxBCrth1d8xLvDm5DBODDvIbedTTntO4ccqeItrhOAejs
-EYtVbSgnbL9P+JX4+hActWoVY65J6wumxdCXrlvHfURaMbAtbg9er/YpGOqmJv2F
-vq/xFVAnKzHV+xLggPqjRfYGxyxfOJGqLvUGVwtENc3yLMHyrBLaJ8nH8HHm83KZ
-UQQQnnaC1cZiJU5Rz+UI+IYNNEgrK+pmBYCgYG6ofQKBgQDtYcP/p8EkDbD6cDt4
-zcNlCUoJLdcRs/0EpnLlDeIoUnkw1rb2gxj9RwBNSodZr2L33m6kh5RRAPn/kM3s
-66e1smyF01U8FEnX6fICU2jRQMaJu4aa3SPZgxzRIeK99GZxAMyKi8pcYIfebVeh
-3fcpFFS+WET+h+2AouQ6k87RTwKBgQC4vDFL/ahNux8SxglOQ27ipkXrkxaXE1Ce
-08LTWzmlDfYPBRkRV135CDv/p6is8OyTdhluPvmbVl0IxPZ+2ZPFdBz4FJ3LfETV
-BexEHS0yZVpkCywEF4Q7W/0TTxrBJmUInad8WoLgLTUBcLuxVG3mICuvA279/9oP
-wDXdl6aQxwKBgQDmO1tIuyCFYk4TKAVWbmMjvHW1H2OnxOUSvIlVBTkjGJJ4Ptfn
-kVEMXe+6Bx3ta0DW3UJ8iw7b3dGbAIvpTMo1XN8KkOTrR1YzdrCFdvaDdYraDSpJ
-S1A454RshawPxloRIdBAU8KqA+njXjOPR+QvUIu8rYoFQDqm99XZxn/h2wKBgCkb
-P0DwjZ3WUIDF7lYq7Saj5xUXYsR1ONBOwKB1QSt4ItOOx9gy/6clbOxja0YoSgw6
-EEiW3MXy/rqv0UXCtn4Oa0/Mjpwz58EbE0rIz0DSir2OOtoiPXtT6cl9Ja/rEjpL
-knQ6U7r8dDoA0tMPvXCiofXMpssAPo6Yr6PCVf8LAoGBAIHqK2HgB11VRpWeobRI
-KzMyuBdO9Qzp/qMCXFAqr2IdYS679auJ/KhZ7DS4FNMswQIRUT47uSm31ynNh0C9
-yt8HcTTtIV/2eUDgi0Nls2ZsFbj8YzdZgkibT0faYt6NmZO2F587XgScXCvT56A9
-a71ZLj2j4NMcB0YwhJQj8+Cg
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCHVRjrMdluasgZ
+LmfTC1/naS3eEWr8zMg7u8DI11jUmqmNtrN5NeE3DtbLyf0exlshoaKF7F/QBuIn
+tuvM03NNoCQo/adODvev4yWddujt/JKExYnH1gvgI6yYLT9NdR+8DTx7In3LTlEG
+lZiJlKKtbs/VtF9R+7+/cijARRHMqTsswrVyXnZ5hXLtpvwtFCdPwoga4qNeNubT
+VARW/RxYXqkL+zLLsXdLf/4MZvGjXOGJ1pz/bk9LTqX1i9URjoxJsCTA6MFMleLd
+HDy2hULwe2K5O66JPvzdPBYQx7sDpRPeR1pRCOE4acxlFTIRdSjQyPkKTRPR71H3
+0HX5Wj3xAgMBAAECggEAKll+aUdZt9xxjrO/aMMj+VooMNh5hu+cb1jjTNZa5Xka
+uw6j3jf2qNCbdf1ZGPLQnNckcU1VdFdbGTt8UcYPzIhjGHK8EsjLSL7HzB1kaekC
+fssEQUVhxPvU7HAoYZhX3HS16wCRpff1kh5pNBCP0b8eCc2ekJy71fCnAPf8SHNu
+Yn67r5GWvtbeYqmLXiUmgQZz9+RkJ7C3X+DVZ5CaiylhhJgNnGRrLL/OhbXmlHtE
+2YfbrnlXVYIo6VQLpX55+EUffeXI4dmcAQYrkg/BqZPWaN+1tLcYidl5nKaFTzFO
+DDp/ELmFqV2hrXxhYEfA/XUJrPuTDdlxGZyyWghZqwKBgQC7UAYpGwyKq6BU0GiI
+6zp4DhZ98SkDTM8wH+NOQkr2MExk0Y3ONS5Itc6Z8rf0GgLsuyU4jPu0efxWoozO
+y0QU93aDG6P87e9j+broqYPxa9vfvLuC6QoKRpKRrrTI+4LlLPkbC/oKnd0bBLrX
+GC4o51bt2+UQ9Z6NrJgrQ2oQuwKBgQC49W6SvayUGisuCRKpKT2X/JmVjvYCZ7Yt
+vYemmojXuZBGwzRwOPE4xLpLQnpNxr4rPyPeL52KiTQFkhvg4EmcipOovEbiuDUE
+lOy4fUhF7HwccFtQgBw3YyCiEku97TabcnR/GmjzqifLlQqZbba0DWUlwBNQ6lot
+5wY8qJxHQwKBgFdoMlfALYwQJpMtZXpu+ivHtysx/Ad0MkKsvq9oM/7J7vwk5V1S
+Z7S6Uhx4rOqVsMOzWN0YvOQtAFmVJMvjAnQePglUPqPqjAlFIbksUUu5HzM6qO2f
+vXWqFP8yXV5kL2KuJ9g9MIL/w4u2G1IAEJo5ydDZCf1uAHzwC1o07Su9AoGAFF7j
+qMG/KiifrNhO99aU9BJcD/7I1Yb6p5sCP7UxcSD85O5G7j03RBtWsUdHFR3YgAba
+OnRgE4v88Mggzeml8dnJXYIvBHVpUXHdiIwz04+yM6ekRv91HByM0YzWTrq7ku9O
+KVmNSZjp/SATJMbSoo3/H+NBvV2yRO/23eNsIuUCgYEAtCMFZVTeX+KxxQ5wSvMh
+fnJHiDgCzV5kDLzqs4MNKdqk6yfticDRwgWkTAxGkgMEGrZSOd/jt7jNCZrXNedP
+RiKpNwUEZfeJ/TNijWQyoFBmW2O1s8edadw70SKluA2pY785UsqDGj3+c8Qe0Il7
+1zMnGQAQllWPOrkYJPGEkxs=
 -----END PRIVATE KEY-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-c-io-0.27.5/tests/resources/mtls_device_root_ca.pem.crt 
new/aws-c-io-0.27.6/tests/resources/mtls_device_root_ca.pem.crt
--- old/aws-c-io-0.27.5/tests/resources/mtls_device_root_ca.pem.crt     
2026-07-24 19:02:02.000000000 +0200
+++ new/aws-c-io-0.27.6/tests/resources/mtls_device_root_ca.pem.crt     
2026-08-11 00:37:41.000000000 +0200
@@ -1,24 +1,24 @@
 -----BEGIN CERTIFICATE-----
-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
+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
-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
+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
 -----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.27.5/tests/resources/mtls_server.key 
new/aws-c-io-0.27.6/tests/resources/mtls_server.key
--- old/aws-c-io-0.27.5/tests/resources/mtls_server.key 2026-07-24 
19:02:02.000000000 +0200
+++ new/aws-c-io-0.27.6/tests/resources/mtls_server.key 2026-08-11 
00:37:41.000000000 +0200
@@ -1,28 +1,28 @@
 -----BEGIN PRIVATE KEY-----
-MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDjKEJuI2iSDr2O
-RbcxsszA9mfPvHrofTyG/xjx6CgYVJq/qtAcAPlPavpUjgQ1T5NKi38BUQo80H9M
-MOdt8sWyB5eCK8SPb80DmuVR5keN2M61Sxch46DZAD0uWLYIH7aMcaQuNrWLtQQg
-qMVvSS7kD9MBIOEe5OJ9aFdVdm70N2O3W4g/EOYFGdYU08w7eGSnD/okTIXLwgWp
-uyfbgGRiNdx721WfXHEc4Pb8XzJ975Qpq/O3g1/i5eKO3PnHHF++kGt+3gTo195V
-ll1dI69qu0PS1ehyrDEBJHC371Tt17leRlsl9ycz3KEEQewrX8IWXd5paCJwmUvz
-LVPdFr+TAgMBAAECggEAL2PgTAr+D26c1DguKmOjfORLLxciyysJfB5vLVSiPMU1
-zaPMq/L2EEAAvrAsJ5UU5PnqQrON/7b9v776IUGDRgt4a9NGvCf2bPidO/NfXTPs
-l/z09ACBt5Ppr6gZPeOj2XQB7RRD1sQqesfK/NcXPcQhYLxjyua0a7Zfdfhx2Gfr
-MHQ+4Q/jRb8niCAw+3z6imWwRzQx/B1j+BKybniM5GUQ0pD9aPbqPuClSYor8uRX
-xseXCrg1+qCBjLPM5nuy/58Jh0+aMWI0YV9cU9kP1C5zdK5XtKoPkFnT06YFS3dU
-aSpf9Qv1G98tdJ5jKI05fgSm+DI5AT4KuY4UROlfbQKBgQD4DET1gboo48gGtKTT
-lIHaz6BE8f77mfUJNINzHm+P1YuNYJLNJXRpGMfvYDMP/3pEzjHGL5c0/foF+bIa
-ZCCV6/cojHopcSAcyWleNF1fkX7EKtf10GWBBDnER0bmaKE40SGuBWIwelD5cycD
-JxidI+RQj0j9EI/bOWVgN/tC9wKBgQDqcIpTipLmtCIzJi6+nVvG666ILWXUjzAG
-EFcpaYe839Y4rrVAt+nJk4hnl/0JE0mf2SmmhvQaShEvH03zForIH0WJHebKy2CV
-NVcL4zML7Hqj3YurcjngS/rIMswx8KWx+2bhi7h4avTsKjsI8Rj/uEnFe6gr92+b
-Xf3hG9AlRQKBgQDY/Uq6BlFHAfRywUZLfOeX9fe7OIOZsFXmRpUTeLWZevLIq4ng
-gnpykeYdZudkgFaCqGpseCdriR5Wade/NIY5AKJHS5R2emrgI+XULjTcrJfbnass
-c7DIC11Jchz45ODcpj4zUKxTwjzh6zVeka37kXFic+Yi04E1AuHHKVHZgwKBgG89
-kVVMpqHTjXrJvlpyHk9IG5vANtZiTv5BmKosydykNWjV9WlNGyCr4YiOROGehkvT
-5oB+/qrOxFKgvwL+ikGlHQCP8Kf/UsfZ9IDOgLVCs3q3sANdAvtb8hY2jE+SCX1n
-dgzFmHWDAs5gx3xZsmv8jPyozUZ3dTy6n7HF2cElAoGBAJZa1jRhS7D3uXsQzajy
-r48MeUM6lcBkTHTtg+lwS/CY6TsaEXVFD0RU7OZfE0v/APEf4cZXh8aXRK3vm7cd
-JkJsyXaDe9JAjoXm3u+4P83SN1HRRBnf5PSAvhlbGi8CjybJ4HZRqkdjqq7+FiiV
-duem6msm+QuXasq3ClZ9SRBC
+MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCxAtNP/TJmOr4s
+01QoU/vOPoioHjIV3m9iF8NTMDPA60r+eVfpdcqY/r5VHz8Nlh5NSVYMn//Qve8K
+Qd7dG7LN5j7ccIvmhak7ilsiXVS9YZZxVcxrgrxN3EA4WzDzggRo12v5Kz3Dk/J6
+H0ZnVi2d5dF9LSTeVOiNpWFa6hJ+nkEGToyKJuDGrqUz2mnZJDwz8R+yRllfvQ0G
+1cvOAT4g3cTalSwdYmjB4Cu7hnqj/j/xfsOq5rjMkskB6s5d1GdHSI7Mwi1GItQT
+GpH5HOau5ZyIRCw2DcnE9Og7qqt77vvB17X53tPivjjf5yhf1PrrxAyMvNqe88xH
+xnCSrYYjAgMBAAECggEAB0xEhhG8WDanzJVR7O+5fAFcBQJpsjkfgn3UUcO0/ok0
+6FT8aOWwWqp2EnBdWyQLT8hsQcz+8Q5Dorqgg6E2uAJ8KP6C5hgwqAHGTB5o9f3m
+A/ozmWMkfFlOVIR9+iwsHl5zVyyPOVcKMjrD3lLRQqdNAcowsPHzPJPK9cKczJeM
+F7YA4b/2WtjXr8rfzqXAKJVSLP70GAyIX/2SRSCztPKqNU9YRm5GMS51f50KRHtV
+G8wZDiGn9BFhMDt1P/Xv1OPaGrrcpp8YeEj4yMnZ+SDG90DA1iID4+WJlg2HsrCR
+7OZ19YEwutBGqhocpTvKKoJKoFKY/y7eEQJIMiqpkQKBgQDqtd+Sy2jFENJ5Jpr0
+rYVXtWfxucTOl+HvN6tqDy9HrFQx0fRk86VDBVCOgHk3hzidIHcmmw5o+o6KKp0M
+o/E0Nu75hXAc4dwYJ5ffJLaQs6e3v1aUmUSzs2cLYcpcgvZ8YyL/Q+kSV/0pR5ex
+MiSf5E95CEN9+szMwwK4zNkZdwKBgQDBESKOI3iORlOwcdBD8tDXY0x4mXcEVnti
+WtMAqSBVCyVqGz2GYQSGnf3VH4ZbaY2WA4JSYaMOqYdxSC2Xtu7HKoeI6Br7N8U1
+oXkfbgPrNMaBrduVEKwXl8RLjTd/RX+8DoPu/gvncIJjsT/bSnM1GlxnTuwRPsnX
+K0rmJ7bjtQKBgQCSjyzjQgbS/zUeF4AtBuk7ongclg6Rnn+jW5S67m5sh+wvC9Za
+71Ujq37o7MpEZThxzSL5xVrTLJmzJvbYPMrR+vdwceVW86X2o0qPOSKS6svwzhan
+RamDuKPAlLjC2bhGZbUlxmcUYEMh8qWDLTd3bB5ACmvyj5gwyBi8ApYR8wKBgQCh
+2Vd6iMnbm6E03XSWQcxJg/jrcNuRS16MCU+x0hZEtN9coBFnwZUltPTB4Xek0kvb
+Yn2xyiADfqMImFWARd7OIB0W7F0SFKLCXudHLdcjKk7vD2xw/lUGQjhQjcXkb8Kx
+SAnaJCaeknb8U+8QSs1hywODp2nG2zghpS1Y3Bo5sQKBgQC58NrRU+v4xf0BazHH
+rtWlzQFbcQiOv0hyOfgUAXDGrz4zTJis8POgIbpolj8ShGDiWYN1TDoP38H4gUqR
+cJXGdYgnUtZXy44WF3NzWxOAnH4+ha2tROCWmZyDqmo34PneGrfj4TMrvHGl35yy
+K+l2+DPx2pMX7/j692iWHIP8mg==
 -----END PRIVATE KEY-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.27.5/tests/resources/mtls_server.pem.crt 
new/aws-c-io-0.27.6/tests/resources/mtls_server.pem.crt
--- old/aws-c-io-0.27.5/tests/resources/mtls_server.pem.crt     2026-07-24 
19:02:02.000000000 +0200
+++ new/aws-c-io-0.27.6/tests/resources/mtls_server.pem.crt     2026-08-11 
00:37:41.000000000 +0200
@@ -1,24 +1,24 @@
 -----BEGIN CERTIFICATE-----
-MIIECDCCAvCgAwIBAgIUL3fS+w5iRXfy8Dz3GThbMAMV3oMwDQYJKoZIhvcNAQEL
+MIIECDCCAvCgAwIBAgIUa2U6JeJaQmXxDfOb9/bnLOJE25AwDQYJKoZIhvcNAQEL
 BQAwgZwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApXYXNoaW5ndG9uMRAwDgYDVQQH
 DAdTZWF0dGxlMQ8wDQYDVQQKDAZBbWF6b24xDTALBgNVBAsMBFNES3MxFDASBgNV
 BAMMC2xvY2FsaG9zdENBMTAwLgYJKoZIhvcNAQkBFiFhd3Mtc2RrLWNvbW1vbi1y
-dW50aW1lQGFtYXpvbi5jb20wHhcNMjYwNTAxMTg0MzE3WhcNMjgwODAyMTg0MzE3
+dW50aW1lQGFtYXpvbi5jb20wHhcNMjYwODA3MTc0MzA2WhcNMjgxMTA4MTc0MzA2
 WjCBmjELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldhc2hpbmd0b24xEDAOBgNVBAcM
 B1NlYXR0bGUxDzANBgNVBAoMBkFtYXpvbjENMAsGA1UECwwEU0RLczESMBAGA1UE
 AwwJbG9jYWxob3N0MTAwLgYJKoZIhvcNAQkBFiFhd3Mtc2RrLWNvbW1vbi1ydW50
-aW1lQGFtYXpvbi5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDj
-KEJuI2iSDr2ORbcxsszA9mfPvHrofTyG/xjx6CgYVJq/qtAcAPlPavpUjgQ1T5NK
-i38BUQo80H9MMOdt8sWyB5eCK8SPb80DmuVR5keN2M61Sxch46DZAD0uWLYIH7aM
-caQuNrWLtQQgqMVvSS7kD9MBIOEe5OJ9aFdVdm70N2O3W4g/EOYFGdYU08w7eGSn
-D/okTIXLwgWpuyfbgGRiNdx721WfXHEc4Pb8XzJ975Qpq/O3g1/i5eKO3PnHHF++
-kGt+3gTo195Vll1dI69qu0PS1ehyrDEBJHC371Tt17leRlsl9ycz3KEEQewrX8IW
-Xd5paCJwmUvzLVPdFr+TAgMBAAGjQjBAMB0GA1UdDgQWBBS3vtFV0bRiFIw95k+d
-+ViQeteyTTAfBgNVHSMEGDAWgBSxIkN7FTko60ZlywVLhQBqZypVvjANBgkqhkiG
-9w0BAQsFAAOCAQEAP3kJ0liONDX4HOLUgSE+gBIJ4/TX2FmY7YUJLgECvSBaaEgJ
-A85qo5BIdAtVYlPjk5RJDkouw2eEeMGHEINjrVxg67uG0hFK6d4mkQdbnWA1phpH
-SoLcrN/0hIYW6EkyqYk3WkvV4O2h6VDSjh1qwarHad8Sc5k8ICzGiFP7tfPtvo2r
-6OkpItMa5Y9jrZPoLTNBSRg/QqsvIOsjVUqY0zi+p++JjaDwnv9ARdIzeYNWEkID
-oFyaqCSF0bJE1moKkANRmfkrJydNuLHVlQV4+osuNNYHycfPBxhivDMMspscwL2Z
-5NJNfmpcJXmCSmjXApcuV2Y4/XAdrouNdTowCg==
+aW1lQGFtYXpvbi5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx
+AtNP/TJmOr4s01QoU/vOPoioHjIV3m9iF8NTMDPA60r+eVfpdcqY/r5VHz8Nlh5N
+SVYMn//Qve8KQd7dG7LN5j7ccIvmhak7ilsiXVS9YZZxVcxrgrxN3EA4WzDzggRo
+12v5Kz3Dk/J6H0ZnVi2d5dF9LSTeVOiNpWFa6hJ+nkEGToyKJuDGrqUz2mnZJDwz
+8R+yRllfvQ0G1cvOAT4g3cTalSwdYmjB4Cu7hnqj/j/xfsOq5rjMkskB6s5d1GdH
+SI7Mwi1GItQTGpH5HOau5ZyIRCw2DcnE9Og7qqt77vvB17X53tPivjjf5yhf1Prr
+xAyMvNqe88xHxnCSrYYjAgMBAAGjQjBAMB0GA1UdDgQWBBROufByuLMzF+OiH6Hu
+iJdxKEBUijAfBgNVHSMEGDAWgBQgOknRAiib19SwTqqW6AoX5o5VfDANBgkqhkiG
+9w0BAQsFAAOCAQEAZHkHPa2o2vddmkhPjm0V+vFyhdmomTamzOzd8poT1FWRW7CB
+ICzdAA+tC6X7XwvHOiiMMfdEjRlIeDqsV6+DgI3Yoc1DtkibTjmVy8VluA7UXDF2
+dfgVztOuSI7oZG/PiswvHbMXKzdLLhY8tVlthlNfA/eIxOqnmJTO7ffo37/Jaxsa
+CUap6ed3+TB4a5gjOMBXmKytJd4ElRGKExClI8akMrHwdyUd6twDWJyyMFOXxlaW
+na/uW3N8U2tx1rJ6trzqTk3MI8sUNioCNUpsx719wUFLcoI7G23DqBdqvHN5NVG+
+vx07gQxqCtSIXwzmuLjabqMxiCGYlzm9IhEn7A==
 -----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-c-io-0.27.5/tests/resources/mtls_server_root_ca.key 
new/aws-c-io-0.27.6/tests/resources/mtls_server_root_ca.key
--- old/aws-c-io-0.27.5/tests/resources/mtls_server_root_ca.key 2026-07-24 
19:02:02.000000000 +0200
+++ new/aws-c-io-0.27.6/tests/resources/mtls_server_root_ca.key 2026-08-11 
00:37:41.000000000 +0200
@@ -1,28 +1,28 @@
 -----BEGIN PRIVATE KEY-----
-MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCfU4p4pAS8iZ65
-VBCAjLhCLESkogFnGYwmOJPP7/vkYx8Dks3q9MhAw7bIp/pKeg8uOlDfiqxDTHSa
-3t+sX27G9mvl89iLFoyH6gXr83wvfFBM8tBh0lmT9Ls4vyAsB2pLmSMzxTSp1biq
-BZqHEwcorYXuGG+4qsoKD5m5lB3Kaup13yubwJZ/5Z3Tvdf6VSqjR7cteXfYh2MU
-gxJ2sMehZ77bjG0PN9RZqKh9HIjsViH0xfYZJZIBIV6W5CAi260d2zD10sPdVXx0
-Dd+MEyml3MvwHZgQD+HK0pP4bm6A0uikUwl41sBU6xZno+l39ntGVan4DjcJsywY
-9s9iWPD7AgMBAAECggEAGP1ve1tZQCvjG3UrXskI9Z11PtAHoaDeMfiEfARLjBey
-pkrWcC3ouE/PpvVsoACOdP/B7kNqoDupER7ivRSoOXOD76jUTtdAlOjd+Oj954Im
-I4ufp62TTfkAN0xdwsopn/tAYZRi8uiKHbuMm0x0E6tJQH57YjRXmvBgz5It11u3
-qU6f5SVKisdlXBE9mLuoGoNaD35v7XVrjPnJsSZycOF77Cl3QZU/k0mmHJZpHdhy
-/XCA39/ytwXKAkELUdVkXxij1R5jcjb3CNRt5YB79B1XIvbhn/c7/312VNrh2SF/
-sYFN/MC141sSr0jkivHpshGHxUQcz8jK77idx0Q98QKBgQDPLhbcpk9jMpwwq6WQ
-WRqFH8mez3TemC+4J2sQ1rj7DZLlemkEK5IAA2peFFGmltwg+eE7tZWp+FEdJNXk
-9hqVxLpffitJPNYiFcvbgUPA6L3dNnqQzI1qvy8e+Z5gRtexFgqDHPbzxbk/tcR/
-ikP986YIkQEmg0q3xCLkr/bfnwKBgQDE3rqUw1acPz4IijP3Fv7SdBUATiIZi2Md
-eetcc9nCEWam/5yPFT6hVge7XpoYeDQ7+RArhzikvD644rrULovXMvMWW9sAFSOf
-xf1PwM026kgcF9/YwSfQatpZwjtTcZFFIOlrZPSJZiUerRGCTjtQi6L7q1M1t9P9
-cR0ZI1UBJQKBgQDHRUJSCliTRet62K3PMBTU9GUdrdZv/xru2mMdeBnFxyGCPQHj
-M/EiuCZHxO1f+PxTb2SW5KnGKQQDrxlYNuoNIYJNNPJ3Z99iO2qvfx5m3rU3nx22
-RjjC8o5lEZymZ50wQ83qnCJfB8+NGsycC6YoDYCl/qqHm4JzTGBva1xdawKBgQCz
-hOqc1tc2mVDG1sd2DIkHfYTdB2J+6qTR7ygY4SdzmQyDQdkQfG3lDp70U9qub4Yq
-Hf6Jwr97MJD9ZPq6m0s3TCVwgQhdtekLO662t/gpmE9zFq4vaEsW+Sjs6nnQqGGw
-qMdQ//khBXzZ0TWDHjVmSD6xwVOaS2vK0weWsapE5QKBgQCnLExnVJTxACyQ4hBv
-xS0rnr8E57Gu6ljw3QGcbGGUxPVMGdPRNzVyAFAMLK2UO/oNnb9JzfNzc9fDEwsp
-+5eYzvpITmqWp82FIch6Kwrp5LS5msu+6ayGjLOXKUGhYen77hjcL8RpwY+pkYb7
-hlynkcOMHEzICQ9Fs0ZbOFV0MQ==
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDDstDiPFLm0u7c
+lW68wbrP4u50PX5k8N8/JiZE5hDNcFQE1YoF9VyK1+Ypq28zjXJfMoyhB+ZlGugf
+jfwImD0MNLr8NeAVcDi744ITAS8/oGVU0llGKUO/4z9+ykb7Hks4iJPQI4IXiEGp
+ZbkCqxAh63g2rNUjzhLB4+XZaEPAc65dobMR8BwOJhM1MdMHcFcYIkR1jd6JUpVc
+WSRN9xyP1Grp6vsMNsTJXx4TJiHLNx84X+mbWmwCWJnAiYOIHdjjAGiCrw4LSlhA
+aRvLZjGGGR5Bgrydl3ZEXtkcCsTvoUlqhLSvfKVQ96Lr4soV/D2Ep4gHmnfH6eR8
+ZDLgd1LFAgMBAAECggEAPnvQn/t8yMBejcWUluYQPKILWsfrnFUgIqyOmX8PrFiK
+KwT3TdG6m4Y1seZP2hj2hJjCOAQqtutxY+nUp/XbwBLyBOc6xf2Pz8XjWSgOqvUO
+hZen83PnctQfCN+S7EkO4V0SPOmpdtQFiw20lbqCqyHgvyxN3WHFsWyPjevxffei
+T/ganzTrFVOgpiUXgASzfEGrIxX/ZpQedeS2BkVnSwcvQ2y1nfIaBAL+xcOWBy+K
+hChfG7ymlgBoKzD2OjgdMpFryXKUD3tpYKGvGFnLyawbkhezAVKwK3SMf7S3G3Fg
+6Bbnqae1vFje54BbqWYP/7Aec7uilF+lpzSgpou6HQKBgQDwYaO+Zwt/Pf+b8t1q
+s+47Yp7jdFE8JQSkWGkQYnYmnOJxdCLIdYe6e1rv46S4XvFMJXxPRUuCx6jyQ7ke
+6P2ee9XVAnaI4UQCfjVdHL85ifHUDClh2WxZTafn1nuF4GpV/SXsmi9J3hR+uRel
+/JVM2XN11DovwqvQ4ib1IHK0iwKBgQDQafKYXoIsQXd39ZA/ywV4+5z0rJyINCHW
+OO8jBGIAWuGA8jEOYTMMI3QZ6p9svb7P1d3M9beUYJZzJHgxGe2loIyarxXd5dml
+Mc0tSnrsilDYrD/oAm6N2L6NfJk1DMlN0d0wI+SafaI5TDzFHblhnh+mirPZX+H3
+FiGX/9nv7wKBgQCnG7mxjAE6G+euik/S9fMP5ad/iEVRAosPlUa01T496aKiLJJh
+uRL6WPcG/cJtSdOFlCmvEgVEjXitstbm3iIyIvSseGHfFnspIIQIjwuA/JzZRPsf
+wv7Htmybh0en8jL6RFow+Z8WQwUMc7A0/DruidzydO9edH7tX8qlbkFPsQKBgCIO
+PfMB9nlu1SvH96NE9Ib5boNYtVdYVXMg6IqrS6xNLW4ZpUR5Q5MnM/CMMzLcqpJh
+mxXDzRS018DG49D6MKgQ3QjltUgGKBNjWOietAl07JMLSoIJ67DICxMpmgteJILP
+2Tnlk5RfFSQRvhhjrAg0g21+WrcZgN4UQrcIur8HAoGBAIuDcMAjG9aUYKd6t19p
+OKtwJ7xCTywT3ygyNyMpaoYQE03gsveZfhlOBxsfAnM+nQcUX2XPznU2USAsftKb
+dhQmP8F/LRiQSjbwN45iaowO7M+sjHBoLBwS/fQdan4Mo/E9IHwqEUDwTb8gwh8h
+MfcJEOhamY7sQYWstIwarlwu
 -----END PRIVATE KEY-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-c-io-0.27.5/tests/resources/mtls_server_root_ca.pem.crt 
new/aws-c-io-0.27.6/tests/resources/mtls_server_root_ca.pem.crt
--- old/aws-c-io-0.27.5/tests/resources/mtls_server_root_ca.pem.crt     
2026-07-24 19:02:02.000000000 +0200
+++ new/aws-c-io-0.27.6/tests/resources/mtls_server_root_ca.pem.crt     
2026-08-11 00:37:41.000000000 +0200
@@ -1,24 +1,24 @@
 -----BEGIN CERTIFICATE-----
-MIIEGzCCAwOgAwIBAgIURYSCRIWQTJESQLvtiT91g8kVhoUwDQYJKoZIhvcNAQEL
+MIIEGzCCAwOgAwIBAgIUQ25UbQRKqwJJWaBNKy29cYBb5qswDQYJKoZIhvcNAQEL
 BQAwgZwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApXYXNoaW5ndG9uMRAwDgYDVQQH
 DAdTZWF0dGxlMQ8wDQYDVQQKDAZBbWF6b24xDTALBgNVBAsMBFNES3MxFDASBgNV
 BAMMC2xvY2FsaG9zdENBMTAwLgYJKoZIhvcNAQkBFiFhd3Mtc2RrLWNvbW1vbi1y
-dW50aW1lQGFtYXpvbi5jb20wHhcNMjYwNTAxMTg0MzE3WhcNMjgwODAyMTg0MzE3
+dW50aW1lQGFtYXpvbi5jb20wHhcNMjYwODA3MTc0MzA2WhcNMjgxMTA4MTc0MzA2
 WjCBnDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldhc2hpbmd0b24xEDAOBgNVBAcM
 B1NlYXR0bGUxDzANBgNVBAoMBkFtYXpvbjENMAsGA1UECwwEU0RLczEUMBIGA1UE
 AwwLbG9jYWxob3N0Q0ExMDAuBgkqhkiG9w0BCQEWIWF3cy1zZGstY29tbW9uLXJ1
 bnRpbWVAYW1hem9uLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
-AJ9TinikBLyJnrlUEICMuEIsRKSiAWcZjCY4k8/v++RjHwOSzer0yEDDtsin+kp6
-Dy46UN+KrENMdJre36xfbsb2a+Xz2IsWjIfqBevzfC98UEzy0GHSWZP0uzi/ICwH
-akuZIzPFNKnVuKoFmocTByithe4Yb7iqygoPmbmUHcpq6nXfK5vAln/lndO91/pV
-KqNHty15d9iHYxSDEnawx6FnvtuMbQ831FmoqH0ciOxWIfTF9hklkgEhXpbkICLb
-rR3bMPXSw91VfHQN34wTKaXcy/AdmBAP4crSk/huboDS6KRTCXjWwFTrFmej6Xf2
-e0ZVqfgONwmzLBj2z2JY8PsCAwEAAaNTMFEwHQYDVR0OBBYEFLEiQ3sVOSjrRmXL
-BUuFAGpnKlW+MB8GA1UdIwQYMBaAFLEiQ3sVOSjrRmXLBUuFAGpnKlW+MA8GA1Ud
-EwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAGMAezpGLNrMcYWZfUhoEKV2
-GVpKnGF7Q93XG+68Q8jxZi+BETm4o47RpmovwmsvjTAQiR9XHAxsg252jXoNP4sI
-sD79ncNL35UKV/slYIbGb9V6x5a/xpxTr8B1RmBJmi47qqAUq/x2CNt2ldRtQ/nK
-Ke1xvCc3/Sevj0DlIzoe3pKzTuWq5q3CjUAPArE5YSgCAIi/icaeCWHINK9JwDud
-SZzPZAjphzVoORPT5LeH3BtvPlr5VGx/2Nj8pmf48xTnEGSoa15NgW6v7QrEydYq
-WTmloqvPB6XFVPSgAn4mX67eKVct79xfqiugxmdxvuMuskuos1L32s0OtdtqaU4=
+AMOy0OI8UubS7tyVbrzBus/i7nQ9fmTw3z8mJkTmEM1wVATVigX1XIrX5imrbzON
+cl8yjKEH5mUa6B+N/AiYPQw0uvw14BVwOLvjghMBLz+gZVTSWUYpQ7/jP37KRvse
+SziIk9AjgheIQalluQKrECHreDas1SPOEsHj5dloQ8Bzrl2hsxHwHA4mEzUx0wdw
+VxgiRHWN3olSlVxZJE33HI/Uaunq+ww2xMlfHhMmIcs3Hzhf6ZtabAJYmcCJg4gd
+2OMAaIKvDgtKWEBpG8tmMYYZHkGCvJ2XdkRe2RwKxO+hSWqEtK98pVD3ouviyhX8
+PYSniAead8fp5HxkMuB3UsUCAwEAAaNTMFEwHQYDVR0OBBYEFCA6SdECKJvX1LBO
+qpboChfmjlV8MB8GA1UdIwQYMBaAFCA6SdECKJvX1LBOqpboChfmjlV8MA8GA1Ud
+EwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAK6WuUnHka950IEKhQelc2NS
+XLq33yoWW8QKLLJYRmdmWfhE8F/PErjnTTMAhpS8yxVpNwgGpwZcH4tYLU2eEqHE
+Z8OpshPak8rS606haqBfmjoILlUeEKtPAjCNi/iKRWmLCRl7aD6ZT02/8SfzolJ3
+Lb/1C587rLqQ6WnYOQ7Z/CKtqsIfpCyLQSn/lcuhUEh+pyByAWvvt2OFUD+7OsU/
+uLWVHnmPZKAUOhlmUhEpWkotG/dhnMCQLjiN88X+F5wctS+pXenfFz8m50m373Kc
+q9I2gZnz3f+L7lo4sIFafCFFB1Q26hVrzyqxrhma1HPKag6bWHm3Z1CdXC6LRK4=
 -----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-c-io-0.27.5/tests/resources/mtls_server_root_ca_trust_settings.plist 
new/aws-c-io-0.27.6/tests/resources/mtls_server_root_ca_trust_settings.plist
--- 
old/aws-c-io-0.27.5/tests/resources/mtls_server_root_ca_trust_settings.plist    
    2026-07-24 19:02:02.000000000 +0200
+++ 
new/aws-c-io-0.27.6/tests/resources/mtls_server_root_ca_trust_settings.plist    
    2026-08-11 00:37:41.000000000 +0200
@@ -4,17 +4,17 @@
 <dict>
        <key>trustList</key>
        <dict>
-               <key>1F132B39ACC0E5114FDB9E31541E52FF48F49376</key>
+               <key>471EF2DA27473D24742D8D2901463DF2701D23E6</key>
                <dict>
                        <key>issuerName</key>
                        <data>
                        
MIGcMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEPMA0GA1UECgwGQW1hem9uMQ0wCwYDVQQLDARTREtzMRQwEgYDVQQDDAtsb2NhbGhvc3RDQTEwMC4GCSqGSIb3DQEJARYhYXdzLXNkay1jb21tb24tcnVudGltZUBhbWF6b24uY29t
                        </data>
                        <key>modDate</key>
-                       <date>2026-05-01T18:43:18Z</date>
+                       <date>2026-08-07T17:43:07Z</date>
                        <key>serialNumber</key>
                        <data>
-                       RYSCRIWQTJESQLvtiT91g8kVhoU=
+                       Q25UbQRKqwJJWaBNKy29cYBb5qs=
                        </data>
                        <key>trustSettings</key>
                        <array>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-c-io-0.27.5/tests/resources/mtls_untrusted_server.key 
new/aws-c-io-0.27.6/tests/resources/mtls_untrusted_server.key
--- old/aws-c-io-0.27.5/tests/resources/mtls_untrusted_server.key       
2026-07-24 19:02:02.000000000 +0200
+++ new/aws-c-io-0.27.6/tests/resources/mtls_untrusted_server.key       
2026-08-11 00:37:41.000000000 +0200
@@ -1,28 +1,28 @@
 -----BEGIN PRIVATE KEY-----
-MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCgxgDRt29Q8u4c
-msqSSM6dFBeC80UmUVqAaaXu2oWbEoh1y/v/0o8DjefjQrL0mvazvBWiKQFeN0uZ
-oiHeoBGz8einRIIOJVncYSbxna48kNYNns/tXDaMfdmmr+DRVNco3SKxGGnqEvmH
-C8YLiRd2WlJUQz+kl65uoJc+ywf1H1CcxlvsZNzsDzjDB+nas/y6IH6OFpNuty0t
-KP1I/9bve+tEsRQKqOX3QYcxVmMXHeN9poJt85SHMaFpxPrJLgP7w+/xAMi3jl3U
-+t4fHXtaDtwvpM2SZM1AuXaxUCt/9lRWe1fVbG61B+ORsMLwWr9Ze0JyBIoHL/O4
-jX/nXOXHAgMBAAECggEAC3BrKIDLu8+9H23oEeZ6RPTkA145wlMxhEeAFfGYZgM4
-kGEWKgqaQF99a08YmozYFsvAIkyWm1SF3YWKsWNkPxBsRFJ8inMf5K1I7xIQDqEj
-ic6N7s6L1w0xSknjTiGiOXcae81H4+67sF8nFTUI5VPh3br3MUfVkmt8t2wMweT+
-d8n6iJW8P09pfJiXlWoz3tZv8gh8l9nE/x0iBCXGFRaYDtTgJ6AYxw+EdNVYp/Yv
-wgHLa/nl00hW7R7gHMafG3RscwLLZhVPsMvYlFEfgo7qcCEoR7fCHxwFn+YJgM24
-C1Ip+JcL+5x241qhecgOUsX6KeCjhQSJF7OIPNx2CQKBgQDhqSGrjlr0mAH3zmIv
-dI8iqvyGdjw7cYCXehUILkC+ER0Eujy7RL9wjzlsUHJPdiCI3HyxlJhkINX1w7VJ
-a1lZdfm5kad51CeTJLxAzaO6rEa2ZFI1RkgITXxPc5CjTjd/P7opiAFGrKuyQrkn
-a2E7HDtHwYhkgY2c/9wZrW7uvQKBgQC2Y496zwI7D4ABp7pOTMqwm3LfasiTl6C3
-I+QTx0Eyu/dLst1fKz56HoEFnOFcFJA6SFv4nAPahqFh5HBcBAdKY1aZASBosriM
-+YHKtjvjuQNUkRh86K+U3WF0+/8HkluUvlqOZDOCzTU9q8ZtGycT+kFM4hIcwb81
-0rx+Fhig0wKBgQDQrNKSDqZVoWvQeG2bbLIgYPX8ccHpRmCfsylX003TdYfcI0yd
-8EkIEaoMW6gZiycy6JH2tW7myOaSylQOfNK3Q72WuPaiVmnyS/o6Au/xY/ZQHB1Z
-XpCl/OGDp16NZXs0lP3WAgsMDAkKY2FM7qOPQeAfzvwN1S/bi09B/3uiEQKBgQCv
-Z1JORhUcHYz6iobm1H09mVHBQV3Ca1k5p7+psb+m/hQW7d5trxX3taxZbIVi27fV
-BU/F6KzgFQfRMDNKmuk0BhL7NJUpe292zGGhRN6V45ErXBsTzWdGoB0gt1SNwJho
-lSRbuku7qIRiWfeLaEiNsufn+6Z1l3K/XXq/O5rV1wKBgD4Yo+25JNtOT4hX6yNE
-tszDM+MKX9q2CWSNG+k9vF40Ov4HYJQovEgjZzl+bzsclcMmo1FiPMKozxHD1LSe
-voMHxNXYOBs9H8ZRN+o42n9R3XHR7E2sR9Uxz7ooVaDKM2DcZ5Gca+IQim2486/P
-F9CWJTwknPYTzbH/m8HFLepe
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDPGBDdArB+4M46
+HGtINsnGHLomijpK+uGWMXLDYCIbTJs6588jB6UH8PPscv5mKF60XoS6GAAMxrNO
+KOm2/eX7PUrc5MCcjOWxREC3LuuH9L2ydkSwok3CBQ4eRhBrh4j44iRz+IsJGnKF
+zsll8vEXjO5cNuWlUMZxRP3YetusY1yDlSNw4M6hlklh/XdPvRkE0tkse9/yw2M9
+X2+nBi7cg8M5I4O0rqAzk7YuLy1pVLqh7CLMWkW9w1VXwABCPoyqrwOi9SEpVshJ
+EPWmvjUuReOaQ7afSujY+BqOUUeFs+T48QgJCOJRHUB7ALNaSvfA4N2HhEjxmf52
+bcc3TkhJAgMBAAECggEAD8FRFB1Wo9pyugtMMqLfbCPmmhTBTU/Dnodtx5UeVyUX
+eK5mzO+Rk7Z2OjZ/6fH3jYGU16sIgvBRdxhn+nDbwKbHtaEuEaLq/RbYFQ+b4dyh
+22xBus3oPELh8XXrXSDjL+sVcqC1pChHzuv92LSYOK5TOn7/LtnjtP2WkdP79yP3
+TilIqgS5dkzWG9EXjOwZoy0qCRLg//Pve4cN8KL0ohhq82Z4O2wfsUQMOh10G9U6
+6nMpMKk2lssxCxAGSMJjwTz6c0RFftNuYS0nmB+i9JpR2p8xb7KUdLcq51HVy5cl
+JtmkemtUYvW5J0IgTkpR3/q4UFSKsXi97ZnOC0bIsQKBgQD/eOpqYRrtA4Fcpk91
+joe+JIE9su8C5Bqqn9dbKG0GcYlyTzjAYhTyVW5QUzP0mkZJI0RID7W1oZ63ZoBL
+2iWKaURCfBDzvYyZblkNJUyRrJzRFKUfcxAccQ3KVUAMbsS5RyZ40cabtROloCo5
+NfmiGp3Q/bWGuzB7j9hEi3aB2QKBgQDPhZHMI9ki/2xMqDWq06pn4mo0HIYZ97Eg
+NLVwS8w2je2mlfwcXe+KnLoA70xcfD7Ar2xRr9St/g2itflTLtu4qkO0DYJRzo5F
+pWNs4M40DmISHuApXTmQkT3gs7551+42+/acBfVQKgHibkeu6NwwU1QPrJhMsiTr
+Y7nCTyyD8QKBgBpGATW3juFZPvCcWgepBOTVNEV4JYSSmPt7PNavLac//fa3lwqS
+C71wc8vnAqzhQOE8s0UF+JYZbQ1HiWJDqSC2+sIrqEKo99C/vIDRmTJSIj6OdPzr
+BHkoV1a7tb6RlcHIQ3ihel+BG+gotK71khrNyfU4YnbcwXuzq3ZBMYrhAoGBALMB
+IWF4rq1crDt3gUuIZ15S1I9850Pw/22rabKi/1UzmgJvL9f8Q0tKo7t4r2K7nZmx
+9/qCdC9djL+Evrs9GTSyUdI3MOmGBf0Xi6r4Q4ZtvbSpw2yKyMPmNPzlrvEFDKuL
+Lg8pqJBsm9GIlPbQUFazGjinBXxq0iPlku+EQf7RAoGBALvZC+O76tfYrAzfeKAV
+9ytI8S6H/Oop34idwNLwRb7ToXCBxnBdjyb5xvvbUankuMV/38catzt2XwtrRbYF
+1ccP6KPBmS7hdxgsdHlIWpjsaVMbnxtEpT32xfTNwZAzoTVnVF6jy40Vhe8cRk5V
+Pld/kyPwJO0Fl2rJioKSLS04
 -----END PRIVATE KEY-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-c-io-0.27.5/tests/resources/mtls_untrusted_server.pem.crt 
new/aws-c-io-0.27.6/tests/resources/mtls_untrusted_server.pem.crt
--- old/aws-c-io-0.27.5/tests/resources/mtls_untrusted_server.pem.crt   
2026-07-24 19:02:02.000000000 +0200
+++ new/aws-c-io-0.27.6/tests/resources/mtls_untrusted_server.pem.crt   
2026-08-11 00:37:41.000000000 +0200
@@ -1,24 +1,24 @@
 -----BEGIN CERTIFICATE-----
-MIIECDCCAvCgAwIBAgIUZ8aBwHVSCShDyEaix6mt9r9bPxgwDQYJKoZIhvcNAQEL
+MIIECDCCAvCgAwIBAgIUIO1pjkA9GJV33pb41mW2CCLkzVkwDQYJKoZIhvcNAQEL
 BQAwgZwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApXYXNoaW5ndG9uMRAwDgYDVQQH
 DAdTZWF0dGxlMQ8wDQYDVQQKDAZBbWF6b24xDTALBgNVBAsMBFNES3MxFDASBgNV
 BAMMC2xvY2FsaG9zdENBMTAwLgYJKoZIhvcNAQkBFiFhd3Mtc2RrLWNvbW1vbi1y
-dW50aW1lQGFtYXpvbi5jb20wHhcNMjYwNTAxMTg0MzE4WhcNMjgwODAyMTg0MzE4
+dW50aW1lQGFtYXpvbi5jb20wHhcNMjYwODA3MTc0MzA3WhcNMjgxMTA4MTc0MzA3
 WjCBmjELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldhc2hpbmd0b24xEDAOBgNVBAcM
 B1NlYXR0bGUxDzANBgNVBAoMBkFtYXpvbjENMAsGA1UECwwEU0RLczESMBAGA1UE
 AwwJbG9jYWxob3N0MTAwLgYJKoZIhvcNAQkBFiFhd3Mtc2RrLWNvbW1vbi1ydW50
-aW1lQGFtYXpvbi5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCg
-xgDRt29Q8u4cmsqSSM6dFBeC80UmUVqAaaXu2oWbEoh1y/v/0o8DjefjQrL0mvaz
-vBWiKQFeN0uZoiHeoBGz8einRIIOJVncYSbxna48kNYNns/tXDaMfdmmr+DRVNco
-3SKxGGnqEvmHC8YLiRd2WlJUQz+kl65uoJc+ywf1H1CcxlvsZNzsDzjDB+nas/y6
-IH6OFpNuty0tKP1I/9bve+tEsRQKqOX3QYcxVmMXHeN9poJt85SHMaFpxPrJLgP7
-w+/xAMi3jl3U+t4fHXtaDtwvpM2SZM1AuXaxUCt/9lRWe1fVbG61B+ORsMLwWr9Z
-e0JyBIoHL/O4jX/nXOXHAgMBAAGjQjBAMB0GA1UdDgQWBBQG1FI0N/289glJ4fO0
-t4HNO2qSmTAfBgNVHSMEGDAWgBRU+/pjvjlUWY0J2JEzKeMTBKIwYzANBgkqhkiG
-9w0BAQsFAAOCAQEAG9SM6ogjqpAIb9MD5UH2dvbwpgo6ykv/u2wJpb7t/DnvqsLR
-GEfGtAJmVdvXaV5Q437E7kBScq5yA4UeR9UWy36R6iTaSFC/yognqftJEOvaBlpu
-ugs4g734MSp7+a+z14kyNFJHPkH723llnhKN06XxenItVXio/D5x1X900xR+kkzT
-d2EMlIcepv7xtLVqUrJTMkwGv01XZTgGETgN7hC94hIexhf73kUjRKIHYZZu2xlL
-0sRmNs7B4OjstT76ghjuY8d/QALHtuAfFeTkHPpqq0ullkbXNG/CBHfjgWhXGzyp
-i5ryTc1mckULjdiRtwjQPfciaUquKMjfukxX7g==
+aW1lQGFtYXpvbi5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDP
+GBDdArB+4M46HGtINsnGHLomijpK+uGWMXLDYCIbTJs6588jB6UH8PPscv5mKF60
+XoS6GAAMxrNOKOm2/eX7PUrc5MCcjOWxREC3LuuH9L2ydkSwok3CBQ4eRhBrh4j4
+4iRz+IsJGnKFzsll8vEXjO5cNuWlUMZxRP3YetusY1yDlSNw4M6hlklh/XdPvRkE
+0tkse9/yw2M9X2+nBi7cg8M5I4O0rqAzk7YuLy1pVLqh7CLMWkW9w1VXwABCPoyq
+rwOi9SEpVshJEPWmvjUuReOaQ7afSujY+BqOUUeFs+T48QgJCOJRHUB7ALNaSvfA
+4N2HhEjxmf52bcc3TkhJAgMBAAGjQjBAMB0GA1UdDgQWBBTch11tbGy60MB+kqN0
+qzwkGjcj5jAfBgNVHSMEGDAWgBQwF8fQgIQeWH6PXWJHl82olAZRmDANBgkqhkiG
+9w0BAQsFAAOCAQEAKS9lVakzpmQonlFDG4T+3x4c/kZVOHpsN1d4Gbkvdm7SaRy8
+lN8iX0yChKpSzeAMloar6XqI4Qc1khqnwCCjLaXkS8LBbFlTRdPzGebWnpvBy8ul
+RXIX08eJwvfyGefQYh+1cqY4lQFTBf4TtFRiKeXyIxWH4LrcrQe0eps4WAJE6Yf4
+kbSM3VMXf+8FLfs/yYw6tpCvlbwKb47Rq8/kqxW8/L44tfEe24i/zT/sXNrwQ0Q4
+i7DIXlaee+yAzMxZrYkNznu/486gQ5q4lVgvhBj6IamLDerPAFwzJwhcIRcNHJzT
+lMmtuawUDQxSott25kNUtomJZknP9WhHAK5ZJg==
 -----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-c-io-0.27.5/tests/resources/mtls_untrusted_server_root_ca.key 
new/aws-c-io-0.27.6/tests/resources/mtls_untrusted_server_root_ca.key
--- old/aws-c-io-0.27.5/tests/resources/mtls_untrusted_server_root_ca.key       
2026-07-24 19:02:02.000000000 +0200
+++ new/aws-c-io-0.27.6/tests/resources/mtls_untrusted_server_root_ca.key       
2026-08-11 00:37:41.000000000 +0200
@@ -1,28 +1,28 @@
 -----BEGIN PRIVATE KEY-----
-MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCT5A8afukB57wU
-Uu+FpjdIfTzKSkQC5ZlYXJ7kQyG88AC/vMZzp9NPygPMhPOLsNpW8dgy/NCYBvFr
-FwaW7yP+Rbin35KD0gBjovKkPUqPBp+7lmHsuTPcKFfi27xXGwAOJnZ12lKCPqHo
-cVJ3YK3mRnQeByckLhTpZN4ok1kGNpxuqzVfI4FBT//cXTsX6WgTvEq33PHN2kFR
-AJZBFVN15zLrotMQiPlMzG/pnafHF8ohmkFYV1tyy116+7albJ1ggjhyLeA6fqrb
-ZV+zJMjut1MysxAyQ+4f5r5NXqJg616yIRzXnatNNkyxBNS4tlRP+PstPrh+/tFD
-iznK0RMDAgMBAAECggEAJ9I0KOe8ONmbgIN2YC/J2fhy2mtV1cvZ1vuVgxP6bSPY
-p8geTX0GfokALd0ssNPtbpTPKKd/STgxYCsCiLiaofhHCNi/3EO6/BkfqY6hWVKo
-xvtuoa2ao7CvPXP6SiAIi0bbBc/EALL5qJt+34sGOCeHU6CMbwcDdXbGBPnr8ipw
-WHqZzkdbUezkV6W5KKYaDac4oSgurjjbbwiDTlgXXIipjrQbf3aOFSywdI98Ob1y
-DSWc7JUVTYHEvsUUpbmMIgndNSmzCmN92S5qCoE5Ra9S5P9K+ji/p43ZnCQ4UL18
-Z9RQdkQOCB5gMIhP5uQx3lDgfoLGQq7kZlqtsy11DQKBgQDMqQY/S1CMZtK45UaC
-SSKVY/oBqldZImM10jYvza13ZXHFpafsgYXZS9Hq1UhQsnKpkIdZOOBTChITYFBO
-H67hOFo6rYLhUiM96Uwv0qEMRZw+1osmhQ66rPiWxsAce3OCFGbS1EqACfpfxnvS
-ZvwpcKBevuBhnRA3S+28gzJ69QKBgQC4/WOHrDY4VEudjOckLx84H7prHC1B8Liz
-r2tWW3LcPI9dQI8szvHAh3LNxWESgI+hdDPJPd1TArr7r3MuDAm9aRU5Ba7YLB6U
-SVkCBWq4/7RlnfNETWn6zS3WmvBdmJzCL9Nlj5RcFXcnUOAtE3fucV8OEwcapkqA
-vFwVTVGLFwKBgG5JFyi8eSdvsVYZlylWJ+DBA1Qqau+JbFTwdmrENxoD/I85eYgl
-M++ov/IABPwXbVqam5Uk5R1aa+stF5lB0YdkSpscLU8mZ/9Q3NFYe5iVWmEyU8Hq
-KcnGtB7r81Jl5BTQ0agC5jKhLd62orr67B+YpZLo4Rk4/igOLopLWMSRAoGAPXyD
-U3oK/4gNJg3KWf2Lm+T32lggNtWjHp5EyAxXThqW8EDgFd2m/v5GS1y6miK/GsP7
-3nzAjrHOoo87cmev6RP/aNeZuOJZO6Jxgjl4sorTVB8+10n/2svN25HeKM3r9KNe
-2Vfy0PSViSzZhkH9T/TAynXKm7H/+3AgDziGzPsCgYBvoc3IwCs87VBJ1yHvp2a2
-ww+WwNudEIhM1aI4RahzWCbgkY5/tjE+0VLOOxRHvUy0SbIF6XyTaX85vBD3h9dX
-WWN5bA/WV+dvUuDYIngzyk0JhKBG+44271wn6iWrqp6hFKBfxhAdMXmVn+rvXyZr
-NuV4M2L921X8JhkiTKbaow==
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCBYoBB7GxxzOLt
+qyK5388xUvHC0xMF811NlHlguvS3DdHMk+M4cFn7Iy5/342FwVW3BzhrcSZ2o5sF
+aJDyKygCcaSrPpS3OYG1yC5SdBOuPvuMcFz8rpHeFoj1cX3anqKOorz+9ZcgSPxn
+qFasAdAaMVU7utJ/9C25ZApRpJsABuFkECMzPcZw9xl5ywTSgGrtLiOUC+SzBLp/
+s709KbOddDPAKYXjlcSgX7LuUCApmuaTnv/8edSFobgqIvVvS/Ipipb9xcDGgtL0
+P0D7IIsOGsUYAmmVc5exobZXlP4jVFjC8afr0HLLMivFC+nwuDIKjYhvpkexUuxZ
+WwjalbijAgMBAAECggEAPRclN/tJuPHktBN58gma6s8fF75R3R1rkJXqOaIMqeH8
+jXvGbX+e/NU/v2DukZkXv7PJD/H9F0doisU0qyN1YLIH7lM+JMUiWZKLTKNCJ6PV
+YhorzaMffJ1nTXyoz/DXEEIGutt63+OWSdtSESVJ/RQOCoXLnl7MuBxkQuhVx0zM
+gbCWOQ2NLFBYKGMZwMHHOCzdGXLpNBtjx+F30H5OREJec5s3gs+iGCS24q3isoyd
+gsNuQAbE4KDuRLGbTQPMevoCXV6rNykNSqnAacOBfeahkfu5Ncj/VSHHQClroQw7
+4gGtNchdDLcJ2PLTwTaX0p+7ZpgpTk0VM5D/HCglAQKBgQC2b61sc4oPBmGFklP1
+ZB11n9p80yTJS/ARiHt9iPccxJk0kTw3cZHpw5FiPn0IV1O0l7mgY0J5ojZuEG7s
+WE8L6sBQhTybPiLfBMbId8aczHyKzcg6S2HMBp/xs+BztOMyzXg+dVNYRnW0kWdy
+BFQ0a5r4zRpkeEmqcChkZD1AxQKBgQC1jnx1zwaHBTX4kGfz3eCkV8AEav7pTzdo
+V84XlILQidOPz/BkK4k9zz9/e+WUgjN4zlqCx6LMImDXbE1RX8w94hQooICaoVtq
+X8r6EoqMjpbRx7wT4GvlXOaHu+xNdJkmGxZGUtXmMOnQSR0VRpR+vGcxmem8yFaI
+D4iG973aRwKBgEHYkPmBwiSmIvC43cDF/7QCnDNNaguVcvKBFkE6/CXP95P3j4pb
+XVTIF2MkNrCaBEY8NO1kpguMtqSHHeIEBZPBiOQHEtbdWGyyJqUYRgE19QWMPGZ9
+6rBe+7+bMrnQYehmLK4uXoSP+c/QY0vNsC6zX93I+Wul1sDDdnC1lT4ZAoGBAIcG
+JQHoqc4Yzf7CRs1TIhKXQDMI7/PL+kUbqCZZSMCXAERgPUQCLNtPGsZQ+njsLCOY
+NDA3EJgIqUUNQqNWP6t2S8+7LmnRvw7plydMSsYl9XymsvWFXjkCUmB4HlGseYmh
+c3txd6rujbVd6sc76owmyghVk0PXKqOeCcd20DdZAoGBAIL/L7vHk6aJj8rEx4IL
+bQUMsoODElcd1tgH78akY5WePGD0ya9JWFsNkKWew5ymzjszscvrl5QPPnkCZFKA
+aJJ86Ea5YFBT8Pw4jSU/uxFc7yQLFOqLz7R25FOZHSj0UMBK3/YMrxhs0sSjo/kv
+DOAHN3f/bzX0QZAam+SqA93v
 -----END PRIVATE KEY-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-c-io-0.27.5/tests/resources/mtls_untrusted_server_root_ca.pem.crt 
new/aws-c-io-0.27.6/tests/resources/mtls_untrusted_server_root_ca.pem.crt
--- old/aws-c-io-0.27.5/tests/resources/mtls_untrusted_server_root_ca.pem.crt   
2026-07-24 19:02:02.000000000 +0200
+++ new/aws-c-io-0.27.6/tests/resources/mtls_untrusted_server_root_ca.pem.crt   
2026-08-11 00:37:41.000000000 +0200
@@ -1,24 +1,24 @@
 -----BEGIN CERTIFICATE-----
-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
+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
-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
+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
-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
+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
 -----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.27.5/tests/resources/server.crt 
new/aws-c-io-0.27.6/tests/resources/server.crt
--- old/aws-c-io-0.27.5/tests/resources/server.crt      2026-07-24 
19:02:02.000000000 +0200
+++ new/aws-c-io-0.27.6/tests/resources/server.crt      2026-08-11 
00:37:41.000000000 +0200
@@ -3,27 +3,27 @@
 MRMwEQYDVQQIDApXYXNoaW5ndG9uMRAwDgYDVQQHDAdTZWF0dGxlMQ8wDQYDVQQK
 DAZBbWF6b24xDTALBgNVBAsMBFNES3MxFDASBgNVBAMMC2xvY2FsaG9zdENBMTAw
 LgYJKoZIhvcNAQkBFiFhd3Mtc2RrLWNvbW1vbi1ydW50aW1lQGFtYXpvbi5jb20w
-HhcNMjQwNTA0MTcwNzA0WhcNMjYwODA2MTcwNzA0WjCBiDELMAkGA1UEBhMCVVMx
+HhcNMjYwODA3MTc0MzA2WhcNMjgxMTA4MTc0MzA2WjCBiDELMAkGA1UEBhMCVVMx
 EzARBgNVBAgMCldhc2hpbmd0b24xDzANBgNVBAoMBkFtYXpvbjENMAsGA1UECwwE
 U0RLczESMBAGA1UEAwwJbG9jYWxob3N0MTAwLgYJKoZIhvcNAQkBFiFhd3Mtc2Rr
 LWNvbW1vbi1ydW50aW1lQGFtYXpvbi5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IB
-DwAwggEKAoIBAQDA4gNCnD4DAauoJAfJNX2iLnCvdpRvCtiFu8Vfnqwxa0T8kQpZ
-DwHqpaCqEcb1AK5jnY9TaV/GyHBUVfoXyJp3j0KCC/3ulKcLsbiSHx5EiClpbqIC
-IJPumgWnyEDwr+s1hdxv+owDgFTQa0fe76HIfHRruuHkQkSDICTmt9jYonuqne7B
-ikros6/pMz3biPKHMFb8Y4huAhmJOBiNIx4R/oKPfsrGVDUwkuHFaTlKLKlwZJ2A
-QnLjqwaZdB2TDfv2JgOMc3OI2B4F1t7lJ2I59olaE+qw7HU3jBOmYEv5HQRqvma0
-SV2aE/tO6sy6qv2Lrz8vAJdMVZbYiyON6ir3AgMBAAGjggFnMIIBYzAJBgNVHRME
+DwAwggEKAoIBAQChmQny0qrZug778CqZJZEgo0ACYaRsF3PhHOLEc8y+ggMBR4xu
+Nn3CJhRotaANE9o1lazt2B+9fvMzIbMVPqz/rXPqxNx2HRmuwTZxbq2GXD2JqzBA
+7LfqCG6k6aBLdKO0M+G0aECfO7BqWKEiTznh6bfgb9qTdp2PkgTab1ATFrs5f9AP
+hQai+TYffa8MEjb+x/4hcYjwKqHhVPnjcgnTOf021l2QANEwsrMOUZSA0E0QF9q0
+rQHj30HJPMZcpEjwRo0vWeqlUsJXobv7qyeAhsBUXsW9Z8IwY+pyaIl67TVTrM8u
+XVydxsXmH+YX8ylNdxdKnRUiMNBbDB3ZYvjtAgMBAAGjggFnMIIBYzAJBgNVHRME
 AjAAMBEGCWCGSAGG+EIBAQQEAwIGQDAzBglghkgBhvhCAQ0EJhYkT3BlblNTTCBH
-ZW5lcmF0ZWQgU2VydmVyIENlcnRpZmljYXRlMB0GA1UdDgQWBBQYdhixVvjf0Bzm
-3DgJvdkCxSqeOjCByQYDVR0jBIHBMIG+gBQPzkk3e7BIC5VVmzhQu2QUFCsGPKGB
+ZW5lcmF0ZWQgU2VydmVyIENlcnRpZmljYXRlMB0GA1UdDgQWBBSeJVfMIqbrhiBn
+noQMInbAubckfzCByQYDVR0jBIHBMIG+gBS2rTah4b4f8jAkMt80GF2OndrtTqGB
 oqSBnzCBnDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldhc2hpbmd0b24xEDAOBgNV
 BAcMB1NlYXR0bGUxDzANBgNVBAoMBkFtYXpvbjENMAsGA1UECwwEU0RLczEUMBIG
 A1UEAwwLbG9jYWxob3N0Q0ExMDAuBgkqhkiG9w0BCQEWIWF3cy1zZGstY29tbW9u
 LXJ1bnRpbWVAYW1hem9uLmNvbYIBADAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAww
-CgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQADggEBAFTb+KVZmypqVQIh63Q9RXbD
-8CQ7At3eo+2ziQxzL3QNuauon8A76oJEFG6l4B3l5MCTqcI8+NQIs/sd+5CEtFn3
-KxrB2R1JPoHEqTuJFQb9DocCbuKXgoU733/fv5gjVviMNQQPvq2IJOhN/uZZb3zU
-+MQ6+aEAHA+MjnLpusVrZ7xq1fTxAOLOnOrEMfX9lXdmLkqbgMtYwfU88WsMcf7G
-m10Ch/7R8Pl3FJsmrjTchl0oMNiDL3eQHes7bwI/6+3So87jYgYPUVBb+VdRpyTw
-zlAk7ulnr7iWi+A5kdnM+EOHLc+W8EhgfozeWYiy20y6A3C3MNVdgR/KE8AxkEk=
+CgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQADggEBAGi/zjDSytNYziQqpFCfnNLO
+sFIH0I+/hiiysLaEwJrVhIodmofaNW8dwvncn8P+4dDzgQtQHEXeqs5nv6Yg+/rK
+nqA4Zd4pWnBETOm4GY4V+sUiJ62kuApW7NyNrv7mmyF3TNll/y4W70+O9Cj57yXI
+NexxMbsc0BUkY+5HVOjkHgYJrkO5VeAezmlgIvjXL7i+adIuLxD/w7yMn6Vb/0Ew
+Zn4iVK9R7qytsMBGqJe2peXUxrNIcLhp2cW/5WaeNpvL2tl5v5kRNCBIBoah4GcR
+EdLh6cNESG1pPbEG38AxcryD5ci/CxrK/d9ZbMKF2d5sWr+gQisDT6555hdQ1R8=
 -----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.27.5/tests/resources/server.key 
new/aws-c-io-0.27.6/tests/resources/server.key
--- old/aws-c-io-0.27.5/tests/resources/server.key      2026-07-24 
19:02:02.000000000 +0200
+++ new/aws-c-io-0.27.6/tests/resources/server.key      2026-08-11 
00:37:41.000000000 +0200
@@ -1,27 +1,28 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEpQIBAAKCAQEAwOIDQpw+AwGrqCQHyTV9oi5wr3aUbwrYhbvFX56sMWtE/JEK
-WQ8B6qWgqhHG9QCuY52PU2lfxshwVFX6F8iad49Cggv97pSnC7G4kh8eRIgpaW6i
-AiCT7poFp8hA8K/rNYXcb/qMA4BU0GtH3u+hyHx0a7rh5EJEgyAk5rfY2KJ7qp3u
-wYpK6LOv6TM924jyhzBW/GOIbgIZiTgYjSMeEf6Cj37KxlQ1MJLhxWk5SiypcGSd
-gEJy46sGmXQdkw379iYDjHNziNgeBdbe5SdiOfaJWhPqsOx1N4wTpmBL+R0Ear5m
-tEldmhP7TurMuqr9i68/LwCXTFWW2Isjjeoq9wIDAQABAoIBAHlVM4vRUUj+4gaR
-M7ykw3UkFYqq41C+19m4dr5hyBwGSI1Ah+vh/uima9zP9gHk/c54LNLhtHgNWmwS
-8ZHIhTK0kbfQ51oPdM1sbJiurpGZvcMu7wa7i5NKnEghNoixgRpYLITcbPs+3RuG
-gN2CjJjbgTjLhJHcBdEehVgFSolrBRS4j22y1l7T7qi38urtFBG74sKJy9zw1VY/
-gdkBIAkzBEOmY+bg9urRVARQwazU1bxAsiV0mu/BnCpQ+oLAWJzij+0VnDwV7dOn
-xYxTzPql6BgashhEziadPmVKIPZ7TGerh4ZJ8P2JBUiBG6muJby9uSI2keaxfU8G
-IK4aYlECgYEA4qHEySyemTvxnpI8GLEQVfjgYRn/LQ9ujgMMwVrJXIZJZ7vC7+Eh
-hmUhJmjN9XLrtDG9MzpkdYxC5L+4tngcgEzwrg9I9nOhs0Cpe05a4GdBQZT5bHjz
-xES6BxCLoWwJz67X06WbeqGJnOoZjeWvBfr7xxyYWlYItbO+1bz85hUCgYEA2eCp
-VNXyXOCrSAr65eii3k+xvCToFiCDNjvVkm8M4uCTIPh0KTQt/VLWpXTLajTuAXI6
-lPg91vahvv4zV/rrv8+KINIXo+haVZkKm3zol3E/fZuUqTItrpR8pb/xBJzFfh0o
-MNvTSSXohvIo1oq0jzZdttb1Jbe5FteA6G+Au9sCgYEAmEeidpqopsYEgEw6XUz8
-cQgdnKFfOOPZoUqjU3ixPJ5uzGj5fz2CzU8+ixR476gcgKO7QaTGw8VPXW0FrHXg
-kMUiI5LZr9/akxurxdLMdWRsEKkNP7m18fdMGFsht4FkxkvxcaEha7EHSoxyR0pB
-5H7UluG77VdJ2u3AGNY4CFECgYEAgqqB4ycMWzdCgcpT/l4ujzUsWrGnnt2Q042+
-4DtJdydIFZXr1Go+ypZLtJ7+/4sO0j83cvAN5kWza1/4WuNZT4egR164XsySoJNQ
-EUAwHeMFOMd9uJsnWnQi7STX3vRGXQQPfn3XkR7y/Ttt0n0NHHZ2bZktHJm6n0BP
-RxbYFdECgYEAkTcAVysCuc0Hmi75IKWovDJ+Bc33HFQBYjC7xuOvW91+yQEMLlgy
-CelH//bFr/pcC0HOrJsvac5LFCQhNBXmN8GdV0yFzjSLeYPRk0OY2Ure4FQnI00h
-qP+Gt7ajCgM7dLPguHoUDn0RF5ll0IadMyIGwpgaLdlLD7SwVPmqUWs=
------END RSA PRIVATE KEY-----
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQChmQny0qrZug77
+8CqZJZEgo0ACYaRsF3PhHOLEc8y+ggMBR4xuNn3CJhRotaANE9o1lazt2B+9fvMz
+IbMVPqz/rXPqxNx2HRmuwTZxbq2GXD2JqzBA7LfqCG6k6aBLdKO0M+G0aECfO7Bq
+WKEiTznh6bfgb9qTdp2PkgTab1ATFrs5f9APhQai+TYffa8MEjb+x/4hcYjwKqHh
+VPnjcgnTOf021l2QANEwsrMOUZSA0E0QF9q0rQHj30HJPMZcpEjwRo0vWeqlUsJX
+obv7qyeAhsBUXsW9Z8IwY+pyaIl67TVTrM8uXVydxsXmH+YX8ylNdxdKnRUiMNBb
+DB3ZYvjtAgMBAAECggEADPVH7DIS87MdBPxY+h9eUBrvJNG+HNHTn7tQftbXVfZ4
+dbeOTf8uHe2uSMg5rZrILnBSZd8lCm295D2BTgSQ3E7FIxAGqq0CNHZ3Xmi03veS
+ErJIxAgHZmunLa+zRCG2B9r6MByFBA/GAX0abLUkK9axQTzO7vC9yTe5DmgLKICT
+NEEUkBU4PiikjltXGLjGqur9q2LHMcUvfN8ATr5PlXeV0CKRXll73jxAJX6STWfh
+lpUjL5Hk4AMp4A075yjJ3z+LVVEoAWIfPKifUfcgKX26nlelBW5lE1N66y8nrHY4
+Cg1c04WCyN7Bv6GhWzPbLarJINoyZMyduESGq2QhqQKBgQDYIb0yeKJ8Fm/EZVEx
++NlzDTQ4nSj9rNQ2Zp3JZxPl3LWsCqJODPDEcP4tJBlecTpcjfLli6uaWi34GL0D
+VxxPvt90g+2PEiVWz9Vgq3qS7YxfXFiRGo38UH3z1jkVPW/RrjWFbi+H1/LNw99S
+Q/6XLRA8qXeiNGlDVkrFonxbyQKBgQC/aBMMyy1M0ra8r0d9eVSu9pMlbUTZnahe
+AeUtmY2oDCMlHPAFMFSdfUqHacCU25yphdkGaz1GkEdzpTd2Ig45tjkrBFNKj1XF
+53QW5CvAZex0Ik6ArHnCSI5N3yyyTqqbcj+zOGxdLO1tpcvDidosjvVG6YSr1pRQ
+2eykOSa+BQKBgQCanehfxvVWmCZ09ZZUjZXiPLvzFFtSvuVB1b9jaZ5OfspovWLH
+O3Ky1bLAUGblrVL3C4WMuZKV5ZWlOu1dCmBynDX3gLnd9DlKFXysn4AcxFv7jHC/
+vaN9sYepfMNxcnYgJuSbA+x03gQRN+L3UzU6qT5IZ2PyYlQ7m+v53vfgIQKBgQC+
+t5/LrqMbmhW02l28e2nS0CP8Ne1VfI8n5HGLxyXr3PQj5bqPIQIezpm1Zb0bVdu6
+2oBNsgsjRV28sFIb5oEQJi6+Wxf3Ae0wPZhhusaRdb1uVkSsV68W1B7fHtG1dUbv
+jp5EIKNxD/QfvgTTeIcowOVK3CFy62NrUElHtR6SVQKBgGXr5jyw/84OFP/0iI5o
+TCpL8J4whEx1eUGHoCHmZzWbpcQWeQeAFOmSdq0bkJvoXkLvMtMBXdXvoAoCGzfo
+c8CsQdI1naFtah3J+hbXrSIQLDFm8M+JfR+9p85qevmRe2wCm9Fo+XoBQ29HDSj8
+gEJJFoYjt987VxoZGZjeNzMI
+-----END PRIVATE KEY-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.27.5/tests/resources/server_chain.crt 
new/aws-c-io-0.27.6/tests/resources/server_chain.crt
--- old/aws-c-io-0.27.5/tests/resources/server_chain.crt        2026-07-24 
19:02:02.000000000 +0200
+++ new/aws-c-io-0.27.6/tests/resources/server_chain.crt        2026-08-11 
00:37:41.000000000 +0200
@@ -3,51 +3,51 @@
 MRMwEQYDVQQIDApXYXNoaW5ndG9uMRAwDgYDVQQHDAdTZWF0dGxlMQ8wDQYDVQQK
 DAZBbWF6b24xDTALBgNVBAsMBFNES3MxFDASBgNVBAMMC2xvY2FsaG9zdENBMTAw
 LgYJKoZIhvcNAQkBFiFhd3Mtc2RrLWNvbW1vbi1ydW50aW1lQGFtYXpvbi5jb20w
-HhcNMjQwNTA0MTcwNzA0WhcNMjYwODA2MTcwNzA0WjCBiDELMAkGA1UEBhMCVVMx
+HhcNMjYwODA3MTc0MzA2WhcNMjgxMTA4MTc0MzA2WjCBiDELMAkGA1UEBhMCVVMx
 EzARBgNVBAgMCldhc2hpbmd0b24xDzANBgNVBAoMBkFtYXpvbjENMAsGA1UECwwE
 U0RLczESMBAGA1UEAwwJbG9jYWxob3N0MTAwLgYJKoZIhvcNAQkBFiFhd3Mtc2Rr
 LWNvbW1vbi1ydW50aW1lQGFtYXpvbi5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IB
-DwAwggEKAoIBAQDA4gNCnD4DAauoJAfJNX2iLnCvdpRvCtiFu8Vfnqwxa0T8kQpZ
-DwHqpaCqEcb1AK5jnY9TaV/GyHBUVfoXyJp3j0KCC/3ulKcLsbiSHx5EiClpbqIC
-IJPumgWnyEDwr+s1hdxv+owDgFTQa0fe76HIfHRruuHkQkSDICTmt9jYonuqne7B
-ikros6/pMz3biPKHMFb8Y4huAhmJOBiNIx4R/oKPfsrGVDUwkuHFaTlKLKlwZJ2A
-QnLjqwaZdB2TDfv2JgOMc3OI2B4F1t7lJ2I59olaE+qw7HU3jBOmYEv5HQRqvma0
-SV2aE/tO6sy6qv2Lrz8vAJdMVZbYiyON6ir3AgMBAAGjggFnMIIBYzAJBgNVHRME
+DwAwggEKAoIBAQChmQny0qrZug778CqZJZEgo0ACYaRsF3PhHOLEc8y+ggMBR4xu
+Nn3CJhRotaANE9o1lazt2B+9fvMzIbMVPqz/rXPqxNx2HRmuwTZxbq2GXD2JqzBA
+7LfqCG6k6aBLdKO0M+G0aECfO7BqWKEiTznh6bfgb9qTdp2PkgTab1ATFrs5f9AP
+hQai+TYffa8MEjb+x/4hcYjwKqHhVPnjcgnTOf021l2QANEwsrMOUZSA0E0QF9q0
+rQHj30HJPMZcpEjwRo0vWeqlUsJXobv7qyeAhsBUXsW9Z8IwY+pyaIl67TVTrM8u
+XVydxsXmH+YX8ylNdxdKnRUiMNBbDB3ZYvjtAgMBAAGjggFnMIIBYzAJBgNVHRME
 AjAAMBEGCWCGSAGG+EIBAQQEAwIGQDAzBglghkgBhvhCAQ0EJhYkT3BlblNTTCBH
-ZW5lcmF0ZWQgU2VydmVyIENlcnRpZmljYXRlMB0GA1UdDgQWBBQYdhixVvjf0Bzm
-3DgJvdkCxSqeOjCByQYDVR0jBIHBMIG+gBQPzkk3e7BIC5VVmzhQu2QUFCsGPKGB
+ZW5lcmF0ZWQgU2VydmVyIENlcnRpZmljYXRlMB0GA1UdDgQWBBSeJVfMIqbrhiBn
+noQMInbAubckfzCByQYDVR0jBIHBMIG+gBS2rTah4b4f8jAkMt80GF2OndrtTqGB
 oqSBnzCBnDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldhc2hpbmd0b24xEDAOBgNV
 BAcMB1NlYXR0bGUxDzANBgNVBAoMBkFtYXpvbjENMAsGA1UECwwEU0RLczEUMBIG
 A1UEAwwLbG9jYWxob3N0Q0ExMDAuBgkqhkiG9w0BCQEWIWF3cy1zZGstY29tbW9u
 LXJ1bnRpbWVAYW1hem9uLmNvbYIBADAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAww
-CgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQADggEBAFTb+KVZmypqVQIh63Q9RXbD
-8CQ7At3eo+2ziQxzL3QNuauon8A76oJEFG6l4B3l5MCTqcI8+NQIs/sd+5CEtFn3
-KxrB2R1JPoHEqTuJFQb9DocCbuKXgoU733/fv5gjVviMNQQPvq2IJOhN/uZZb3zU
-+MQ6+aEAHA+MjnLpusVrZ7xq1fTxAOLOnOrEMfX9lXdmLkqbgMtYwfU88WsMcf7G
-m10Ch/7R8Pl3FJsmrjTchl0oMNiDL3eQHes7bwI/6+3So87jYgYPUVBb+VdRpyTw
-zlAk7ulnr7iWi+A5kdnM+EOHLc+W8EhgfozeWYiy20y6A3C3MNVdgR/KE8AxkEk=
+CgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQADggEBAGi/zjDSytNYziQqpFCfnNLO
+sFIH0I+/hiiysLaEwJrVhIodmofaNW8dwvncn8P+4dDzgQtQHEXeqs5nv6Yg+/rK
+nqA4Zd4pWnBETOm4GY4V+sUiJ62kuApW7NyNrv7mmyF3TNll/y4W70+O9Cj57yXI
+NexxMbsc0BUkY+5HVOjkHgYJrkO5VeAezmlgIvjXL7i+adIuLxD/w7yMn6Vb/0Ew
+Zn4iVK9R7qytsMBGqJe2peXUxrNIcLhp2cW/5WaeNpvL2tl5v5kRNCBIBoah4GcR
+EdLh6cNESG1pPbEG38AxcryD5ci/CxrK/d9ZbMKF2d5sWr+gQisDT6555hdQ1R8=
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
 MIIEGDCCAwCgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBnDELMAkGA1UEBhMCVVMx
 EzARBgNVBAgMCldhc2hpbmd0b24xEDAOBgNVBAcMB1NlYXR0bGUxDzANBgNVBAoM
 BkFtYXpvbjENMAsGA1UECwwEU0RLczEUMBIGA1UEAwwLbG9jYWxob3N0Q0ExMDAu
 BgkqhkiG9w0BCQEWIWF3cy1zZGstY29tbW9uLXJ1bnRpbWVAYW1hem9uLmNvbTAe
-Fw0yNDA1MDQxNzA3MDNaFw0yNjA4MDYxNzA3MDNaMIGcMQswCQYDVQQGEwJVUzET
+Fw0yNjA4MDcxNzQzMDZaFw0yODExMDgxNzQzMDZaMIGcMQswCQYDVQQGEwJVUzET
 MBEGA1UECAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEPMA0GA1UECgwG
 QW1hem9uMQ0wCwYDVQQLDARTREtzMRQwEgYDVQQDDAtsb2NhbGhvc3RDQTEwMC4G
 CSqGSIb3DQEJARYhYXdzLXNkay1jb21tb24tcnVudGltZUBhbWF6b24uY29tMIIB
-IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4lI7p1KbrjspVtn2gcHfg7iJ
-zj+FJ3PxqfBW/peU3fT2SAyXlNH0NfP/NgU0vk60yL1lExX+a/jdD0o+WLVEMFPq
-A4Mdd5H4PUSA+YK0tUNLbBOaezb2Td19y3VQ5zSi8ribjLlLii4Pn2mLuJvLBYRP
-8kfnOJe07A+UWc5HCA283yjvBR6gl4YRGIRPnipQ12hoqRL5IB++lZ6PzhoxWOus
-NMKcikt+YoXBOmrl0bC6KtqUY52IfBulSjq4FNUjPd30NaX9wMnb5LuNAi0DGaFm
-632T8mwtfTAr3ZnHIr+Bw6lEVBg/b1JgyiM115n0GuTghJz9SRYuZnVz/iCEhQID
-AQABo2MwYTAdBgNVHQ4EFgQUD85JN3uwSAuVVZs4ULtkFBQrBjwwHwYDVR0jBBgw
-FoAUD85JN3uwSAuVVZs4ULtkFBQrBjwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B
-Af8EBAMCAYYwDQYJKoZIhvcNAQELBQADggEBAHDNsWJ41LdAp9h25rCpTcowc6Sh
-1fDRJWWxgKH0FKRclALapJascpZVbtR7tC6BlytzETnyDnxNXoUiYEBviThmfo1N
-jJeU5VTUb0xNfx2wNAZeEFBpi4RGNOLWvSD8xrestMgSLsOM+GNk92WKHxKb6GPs
-jOCmOPTqA9npiasalS5BVdi8muI9pzBkR4614mj1kyjzxh5a5bAtntwHJ75KqbVd
-KQWIiNJVS+tCYm/1XrXotFoJUR5eQhgO/g0PrSDE+PaolgJBuYpr4yClXxlizRKe
-UC4MRgc88DrbYLG9PhIBqRwwXpv0itmzEGl2cr/StaspzPoIlGo0iBuJgps=
+IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuaqmG1GbDpEkNqaNsTUuBIYh
+t90RxBg2kL+FBrXcf1mUJUwxyngufFXirfi1jQVadklKycy1RiV4TBUaMqxJMtI2
+SqrH9vdBy3hXEM606KM6lh22fUSEBhJKFIIC1Vir6mvACAhnldP96YMxI3kQQp6B
+7Sa0qczlmUwn+Y0/Y3z1m0dX6Zv+/oROJJEpDmiyhC6T7IFomFA5D7hJDcQE80j9
+vA/IqNUvz18fycAdLCcQuYi3MbximmGNWjBmodsqUk5YuvCA3ia788E8sWaqvyA7
+VBWuqoH7C5trgxnM57E+V98M2cXidwjNKdU1/zGEAS/LH22HywNuhac9Cg7ShQID
+AQABo2MwYTAdBgNVHQ4EFgQUtq02oeG+H/IwJDLfNBhdjp3a7U4wHwYDVR0jBBgw
+FoAUtq02oeG+H/IwJDLfNBhdjp3a7U4wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B
+Af8EBAMCAYYwDQYJKoZIhvcNAQELBQADggEBALeqLlqRnB87WxEazhXZsRXYSl+M
+Q0A83yqd6+tiZn5YRA3r+PgYr28AIeA5iHkB4/GjVd5oktoRBBVze6xaWX9k98vU
+LHcFan2FUqTxG5g8XzgV8qRwQpK6a/m6m+TCpJVztVRqOBSls0wTCmGE0XGYSbei
+zZlxyU04bQrqx9sCroCDrYzjprIXkiGZvUGxvhwWxL7Y/lYvCvw67sMWKHBGk8Vg
+NhtST1gCuQRK5fOhOOBWtgpry/W/8pdLOMcJAYibWlr6tuuWEG3THVlFWNpg/XUY
+CwycpX241WIcpz5OwZIGNsj9hMRmmstBCPFRCJxJu3YCpiwQMcBqvMVY9Bc=
 -----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.27.5/tests/resources/unittests.crt 
new/aws-c-io-0.27.6/tests/resources/unittests.crt
--- old/aws-c-io-0.27.5/tests/resources/unittests.crt   2026-07-24 
19:02:02.000000000 +0200
+++ new/aws-c-io-0.27.6/tests/resources/unittests.crt   2026-08-11 
00:37:41.000000000 +0200
@@ -1,23 +1,24 @@
 -----BEGIN CERTIFICATE-----
-MIID7DCCAtSgAwIBAgIJAImKu7s/5C8pMA0GCSqGSIb3DQEBCwUAMIGaMQswCQYD
-VQQGEwJVUzETMBEGA1UECAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEP
-MA0GA1UECgwGQW1hem9uMQ0wCwYDVQQLDARTREtzMRIwEAYDVQQDDAlsb2NhbGhv
-c3QxMDAuBgkqhkiG9w0BCQEWIWF3cy1zZGstY29tbW9uLXJ1bnRpbWVAYW1hem9u
-LmNvbTAeFw0yNDA1MDQxNzA3MDRaFw0yNjA4MDYxNzA3MDRaMIGaMQswCQYDVQQG
-EwJVUzETMBEGA1UECAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEPMA0G
-A1UECgwGQW1hem9uMQ0wCwYDVQQLDARTREtzMRIwEAYDVQQDDAlsb2NhbGhvc3Qx
-MDAuBgkqhkiG9w0BCQEWIWF3cy1zZGstY29tbW9uLXJ1bnRpbWVAYW1hem9uLmNv
-bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANdqV0j4DkQDJULWEW8b
-s/znGqK2p9wthY8o4btL7nEhGUsMQyae+UwUBDGn0qUhCgEC3g7e8bg0Q2J+dleF
-BOnBfsU1obc7H+5oTf5R2gz3L0dgEjwBJM5IpfCgi2OHurU8UsEPe7KZTbhGdPfR
-6CWE0yxWkXiH3dQ982dRGHEsPMPhmdksRFH2FEi9ghZiGEpEI55bCQiKQqBoA4gQ
-D2yFCTtylgQ19CYBg28d1n941xv2Ok+tyz7DvgEttEQr3BBdBf65QyDcyORABztU
-zhHfXyjrviQCtOj8NZu+wYDqxOxbbyBu5GDVbjhD3iJzh5Drqq8g4rAdT8IsjzSG
-6nUCAwEAAaMzMDEwEwYDVR0lBAwwCgYIKwYBBQUHAwEwGgYDVR0RBBMwEYIJbG9j
-YWxob3N0hwR/AAABMA0GCSqGSIb3DQEBCwUAA4IBAQBHu10+FekqSnAKE/cJeuWt
-CKcsyEi6n8tjiJz8Xjm3MJ53kgPn4vzoyla8HMjIqbiYHWTaU+ctq8YjW2Vl/vgG
-bWbh0mEAydhWPOMJCEneqgYdEIKJxphdhH5pv7Pw3EOPAvBB6vUaaWIAhosH7lZv
-7MDDUFoKk3DeNDEkqH3jsP8Benl4IlHQDV0MKaDooDPSCQTIiF1xys7YxpFT03kY
-OYI+hTLMkyHmF9KqQR9sHF3HwbrsVnG+u9/jtnkcq6R/7pG5NIk6ShSjGDWClbmk
-69h+4CxPcdzz7qC0wUkKfkzLMdzxeE7ZL5b+59zNF3aahhLGsAXETZdIYZDe5M5r
+MIIEFjCCAv6gAwIBAgIUOqSbNgisw4ShJskRi+YU6kltL4EwDQYJKoZIhvcNAQEL
+BQAwgZoxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApXYXNoaW5ndG9uMRAwDgYDVQQH
+DAdTZWF0dGxlMQ8wDQYDVQQKDAZBbWF6b24xDTALBgNVBAsMBFNES3MxEjAQBgNV
+BAMMCWxvY2FsaG9zdDEwMC4GCSqGSIb3DQEJARYhYXdzLXNkay1jb21tb24tcnVu
+dGltZUBhbWF6b24uY29tMB4XDTI2MDgwNzE3NDMwNloXDTI4MTEwODE3NDMwNlow
+gZoxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApXYXNoaW5ndG9uMRAwDgYDVQQHDAdT
+ZWF0dGxlMQ8wDQYDVQQKDAZBbWF6b24xDTALBgNVBAsMBFNES3MxEjAQBgNVBAMM
+CWxvY2FsaG9zdDEwMC4GCSqGSIb3DQEJARYhYXdzLXNkay1jb21tb24tcnVudGlt
+ZUBhbWF6b24uY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA12pX
+SPgORAMlQtYRbxuz/Ocaoran3C2Fjyjhu0vucSEZSwxDJp75TBQEMafSpSEKAQLe
+Dt7xuDRDYn52V4UE6cF+xTWhtzsf7mhN/lHaDPcvR2ASPAEkzkil8KCLY4e6tTxS
+wQ97splNuEZ099HoJYTTLFaReIfd1D3zZ1EYcSw8w+GZ2SxEUfYUSL2CFmIYSkQj
+nlsJCIpCoGgDiBAPbIUJO3KWBDX0JgGDbx3Wf3jXG/Y6T63LPsO+AS20RCvcEF0F
+/rlDINzI5EAHO1TOEd9fKOu+JAK06Pw1m77BgOrE7FtvIG7kYNVuOEPeInOHkOuq
+ryDisB1PwiyPNIbqdQIDAQABo1IwUDATBgNVHSUEDDAKBggrBgEFBQcDATAaBgNV
+HREEEzARgglsb2NhbGhvc3SHBH8AAAEwHQYDVR0OBBYEFA1xMLFkbCGnUD5dfnF7
+5Wcuz9kUMA0GCSqGSIb3DQEBCwUAA4IBAQBAnmHH2maw3YtbW/oZ0NPHg0Nz5w7U
+F4XKWFALtE1QBZjLWnoHrygCWvAkxQRy5oJWyyNC6ioWFZre7uJkiQYF1qDcdKS5
+eL7mfJMafXEo40844uDxz6/k9+K9H6dHOLOe868XsmeGJMm09aKk3aJrcZUVNQpN
+v/XOHUJm/MxL9PcnlT9/IQm3Wh7oSzgwZQj7LWtPeCpIAqM1q2YAot7/AmouIjBT
+7EtpsLyUldX3F6lsOP8E+eT25DPI0K/P3G3sqi5ySuqF+D6TlPFBvv3s3itaYFDO
+fgUiL6n16qzgdKNLawE9MKtCvS5kbpS1qzYEbjlt7IEJ3CIVhyLGf6G2
 -----END CERTIFICATE-----
Binary files old/aws-c-io-0.27.5/tests/resources/unittests.p12 and 
new/aws-c-io-0.27.6/tests/resources/unittests.p12 differ

Reply via email to