Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package aws-c-cal for openSUSE:Factory checked in at 2025-06-02 22:01:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/aws-c-cal (Old) and /work/SRC/openSUSE:Factory/.aws-c-cal.new.16005 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "aws-c-cal" Mon Jun 2 22:01:42 2025 rev:19 rq:1281981 version:0.9.1 Changes: -------- --- /work/SRC/openSUSE:Factory/aws-c-cal/aws-c-cal.changes 2025-04-20 19:49:57.471853158 +0200 +++ /work/SRC/openSUSE:Factory/.aws-c-cal.new.16005/aws-c-cal.changes 2025-06-02 22:01:48.616330897 +0200 @@ -1,0 +2,9 @@ +Tue May 27 06:50:14 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaub...@suse.com> + +- Update to version 0.9.1 + * dlopen(NULL) returns NULL on static linked executable + by @TingDaoK in (#215) + * Fix casing on Windows header files by @ianbotsf in (#217) + * Remove clang-3 from CI by @sbSteveK in (#218) + +------------------------------------------------------------------- Old: ---- v0.9.0.tar.gz New: ---- v0.9.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ aws-c-cal.spec ++++++ --- /var/tmp/diff_new_pack.N0Qj1O/_old 2025-06-02 22:01:49.068349644 +0200 +++ /var/tmp/diff_new_pack.N0Qj1O/_new 2025-06-02 22:01:49.068349644 +0200 @@ -19,7 +19,7 @@ %define library_version 1.0.0 %define library_soversion 0unstable Name: aws-c-cal -Version: 0.9.0 +Version: 0.9.1 Release: 0 Summary: AWS C99 wrapper for cryptography primitives License: Apache-2.0 ++++++ v0.9.0.tar.gz -> v0.9.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-cal-0.9.0/.github/workflows/ci.yml new/aws-c-cal-0.9.1/.github/workflows/ci.yml --- old/aws-c-cal-0.9.0/.github/workflows/ci.yml 2025-04-12 00:24:44.000000000 +0200 +++ new/aws-c-cal-0.9.1/.github/workflows/ci.yml 2025-05-16 20:01:14.000000000 +0200 @@ -6,7 +6,7 @@ - 'main' env: - BUILDER_VERSION: v0.9.72 + BUILDER_VERSION: v0.9.79 BUILDER_SOURCE: releases BUILDER_HOST: https://d19elf31gohf1l.cloudfront.net PACKAGE_NAME: aws-c-cal @@ -48,7 +48,6 @@ strategy: matrix: compiler: - - clang-3 - clang-6 - clang-8 - clang-9 @@ -136,7 +135,7 @@ linux-openssl3-static: runs-on: ubuntu-24.04 # latest steps: - - uses: aws-actions/configure-aws-credentials@v4 + - uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: ${{ env.CRT_CI_ROLE }} aws-region: ${{ env.AWS_DEFAULT_REGION }} @@ -149,7 +148,7 @@ linux-openssl-shared: runs-on: ubuntu-24.04 # latest steps: - - uses: aws-actions/configure-aws-credentials@v4 + - uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: ${{ env.CRT_CI_ROLE }} aws-region: ${{ env.AWS_DEFAULT_REGION }} @@ -171,7 +170,7 @@ linux-aws-lc-fips: runs-on: ubuntu-24.04 # latest steps: - - uses: aws-actions/configure-aws-credentials@v4 + - uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: ${{ env.CRT_CI_ROLE }} aws-region: ${{ env.AWS_DEFAULT_REGION }} @@ -179,12 +178,43 @@ - name: Build ${{ env.PACKAGE_NAME }} run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - AWS_TEST_FIPS=1 python builder.pyz build -p ${{ env.PACKAGE_NAME }} --variant=aws-lc-fips --cmake-extra=-DFIPS=ON --cmake-extra=-DPERL_EXECUTABLE=perl --cmake-extra=-DGO_EXECUTABLE=go --cmake-extra=-DCMAKE_POLICY_VERSION_MINIMUM=3.5 + AWS_TEST_FIPS=1 python builder.pyz build -p ${{ env.PACKAGE_NAME }} --variant=aws-lc-fips --cmake-extra=-DFIPS=ON --cmake-extra=-DPERL_EXECUTABLE=perl --cmake-extra=-DGO_EXECUTABLE=go --cmake-extra=-DCMAKE_POLICY_VERSION_MINIMUM=3.5 + + linux-musl: + runs-on: ${{ matrix.architecture == 'arm' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }} + strategy: + matrix: + include: + # x64 builds + - architecture: x64 + image: alpine-3.16-x64 + static: false + - architecture: x64 + image: alpine-3.16-x64 + static: true + # arm builds + - architecture: arm + image: alpine-3.16-arm64 + static: false + - architecture: arm + image: alpine-3.16-arm64 + static: true + steps: + - uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: ${{ env.CRT_CI_ROLE }} + aws-region: ${{ env.AWS_DEFAULT_REGION }} + role-duration-seconds: 3600 + - name: Build ${{ env.PACKAGE_NAME }} ${{ matrix.static && '(static)' || '' }} + run: | + aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ matrix.image }} build -p ${{ env.PACKAGE_NAME }} ${{ matrix.static && '--cmake-extra=-DCMAKE_C_FLAGS="-static"' || '' }} + windows: runs-on: windows-2022 # latest steps: - - uses: aws-actions/configure-aws-credentials@v4 + - uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: ${{ env.CRT_CI_ROLE }} aws-region: ${{ env.AWS_DEFAULT_REGION }} @@ -197,7 +227,7 @@ runs-on: windows-2022 # latest steps: - uses: ilammy/setup-nasm@v1 - - uses: aws-actions/configure-aws-credentials@v4 + - uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: ${{ env.CRT_CI_ROLE }} aws-region: ${{ env.AWS_DEFAULT_REGION }} @@ -209,7 +239,7 @@ windows-debug: runs-on: windows-2022 # latest steps: - - uses: aws-actions/configure-aws-credentials@v4 + - uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: ${{ env.CRT_CI_ROLE }} aws-region: ${{ env.AWS_DEFAULT_REGION }} @@ -224,7 +254,7 @@ matrix: arch: [x86, x64] steps: - - uses: aws-actions/configure-aws-credentials@v4 + - uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: ${{ env.CRT_CI_ROLE }} aws-region: ${{ env.AWS_DEFAULT_REGION }} @@ -236,7 +266,7 @@ windows-shared-libs: runs-on: windows-2022 # latest steps: - - uses: aws-actions/configure-aws-credentials@v4 + - uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: ${{ env.CRT_CI_ROLE }} aws-region: ${{ env.AWS_DEFAULT_REGION }} @@ -248,7 +278,7 @@ windows-app-verifier: runs-on: windows-2022 # latest steps: - - uses: aws-actions/configure-aws-credentials@v4 + - uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: ${{ env.CRT_CI_ROLE }} aws-region: ${{ env.AWS_DEFAULT_REGION }} @@ -267,7 +297,7 @@ name: ${{ matrix.image == 'macos-14' && 'macos' || 'macos-x64' }} runs-on: ${{ matrix.image }} steps: - - uses: aws-actions/configure-aws-credentials@v4 + - uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: ${{ env.CRT_CI_ROLE }} aws-region: ${{ env.AWS_DEFAULT_REGION }} @@ -284,7 +314,7 @@ name: ${{ matrix.image == 'macos-14' && 'macos' || 'macos-x64' }} with lc ed25519 runs-on: ${{ matrix.image }} steps: - - uses: aws-actions/configure-aws-credentials@v4 + - uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: ${{ env.CRT_CI_ROLE }} aws-region: ${{ env.AWS_DEFAULT_REGION }} @@ -297,7 +327,7 @@ macos-min-deployment-target: runs-on: macos-14 # latest steps: - - uses: aws-actions/configure-aws-credentials@v4 + - uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: ${{ env.CRT_CI_ROLE }} aws-region: ${{ env.AWS_DEFAULT_REGION }} @@ -310,7 +340,7 @@ freebsd: runs-on: ubuntu-24.04 # latest steps: - - uses: aws-actions/configure-aws-credentials@v4 + - uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: ${{ env.CRT_CI_ROLE }} aws-region: ${{ env.AWS_DEFAULT_REGION }} @@ -331,7 +361,7 @@ openbsd: runs-on: ubuntu-24.04 # latest steps: - - uses: aws-actions/configure-aws-credentials@v4 + - uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: ${{ env.CRT_CI_ROLE }} aws-region: ${{ env.AWS_DEFAULT_REGION }} @@ -354,7 +384,7 @@ downstream: runs-on: ubuntu-24.04 # latest steps: - - uses: aws-actions/configure-aws-credentials@v4 + - uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: ${{ env.CRT_CI_ROLE }} aws-region: ${{ env.AWS_DEFAULT_REGION }} @@ -367,7 +397,7 @@ byo-crypto: runs-on: ubuntu-24.04 # latest steps: - - uses: aws-actions/configure-aws-credentials@v4 + - uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: ${{ env.CRT_CI_ROLE }} aws-region: ${{ env.AWS_DEFAULT_REGION }} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-cal-0.9.0/source/unix/openssl_platform_init.c new/aws-c-cal-0.9.1/source/unix/openssl_platform_init.c --- old/aws-c-cal-0.9.0/source/unix/openssl_platform_init.c 2025-04-12 00:24:44.000000000 +0200 +++ new/aws-c-cal-0.9.1/source/unix/openssl_platform_init.c 2025-05-16 20:01:14.000000000 +0200 @@ -38,6 +38,32 @@ * and avoid dead-stripping */ #if defined(OPENSSL_IS_AWSLC) || defined(OPENSSL_IS_BORINGSSL) +/* TODO:the weak refs is not GUARANTEED to avoid linker to strip the symbol. + Build on musl with openssl 1.1.1w, those those was referenced, but still stripped from libcrypto during linking. + Logs was: + ``` + / # gcc -static -Wl,--trace-symbol=HMAC_CTX_new,-v -o test test.c -I $HOME/opt/aws/include -L $HOME/opt/aws/lib + -laws-c-cal -laws-c-common /usr/lib/libcrypto.a -fno-lto collect2 version 11.2.1 20220219 + /usr/lib/gcc/x86_64-alpine-linux-musl/11.2.1/../../../../x86_64-alpine-linux-musl/bin/ld --hash-style=gnu -m + elf_x86_64 --as-needed -static -z now -o test /usr/lib/gcc/x86_64-alpine-linux-musl/11.2.1/../../../../lib/crt1.o + /usr/lib/gcc/x86_64-alpine-linux-musl/11.2.1/../../../../lib/crti.o + /usr/lib/gcc/x86_64-alpine-linux-musl/11.2.1/crtbeginT.o -L/root/opt/aws/lib + -L/usr/lib/gcc/x86_64-alpine-linux-musl/11.2.1 + -L/usr/lib/gcc/x86_64-alpine-linux-musl/11.2.1/../../../../x86_64-alpine-linux-musl/lib/../lib + -L/usr/lib/gcc/x86_64-alpine-linux-musl/11.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib + -L/usr/lib/gcc/x86_64-alpine-linux-musl/11.2.1/../../../../x86_64-alpine-linux-musl/lib + -L/usr/lib/gcc/x86_64-alpine-linux-musl/11.2.1/../../.. --trace-symbol=HMAC_CTX_new -v /tmp/ccBcKMkh.o -laws-c-cal + -laws-c-common /usr/lib/libcrypto.a -lssp_nonshared --start-group -lgcc -lgcc_eh -lc --end-group + /usr/lib/gcc/x86_64-alpine-linux-musl/11.2.1/crtend.o + /usr/lib/gcc/x86_64-alpine-linux-musl/11.2.1/../../../../lib/crtn.o + + GNU ld (GNU Binutils) 2.38 + /usr/lib/gcc/x86_64-alpine-linux-musl/11.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: + /root/opt/aws/lib/libaws-c-cal.a(openssl_platform_init.c.o): reference to HMAC_CTX_new + ``` + We don't really understand what strips the symbols, but aws-lc is a workaround. + And, --require-defined=HMAC_CTX_new is another workaround to force the linker to keep the symbol. +*/ extern HMAC_CTX *HMAC_CTX_new(void) __attribute__((weak, used)); extern void HMAC_CTX_free(HMAC_CTX *) __attribute__((weak, used)); extern void HMAC_CTX_init(HMAC_CTX *) __attribute__((weak, used)); @@ -140,8 +166,12 @@ /* were symbols bound by static linking? */ bool has_102_symbols = init_fn && clean_up_fn && update_fn && final_fn && init_ex_fn; if (has_102_symbols) { - AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "found static libcrypto 1.0.2 HMAC symbols"); + AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "found weak ref libcrypto 1.0.2 HMAC symbols"); } else { + if (!module) { + AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "No loaded libcrypto 1.0.2 HMAC symbols found"); + return false; + } /* If symbols aren't already found, try to find the requested version */ *(void **)(&init_fn) = dlsym(module, "HMAC_CTX_init"); *(void **)(&clean_up_fn) = dlsym(module, "HMAC_CTX_cleanup"); @@ -180,8 +210,12 @@ bool has_111_symbols = new_fn && free_fn && update_fn && final_fn && init_ex_fn; if (has_111_symbols) { - AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "found static libcrypto 1.1.1 HMAC symbols"); + AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "found weak ref libcrypto 1.1.1 HMAC symbols"); } else { + if (!module) { + AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "No loaded libcrypto 1.1.1 HMAC symbols found"); + return false; + } *(void **)(&new_fn) = dlsym(module, "HMAC_CTX_new"); *(void **)(&free_fn) = dlsym(module, "HMAC_CTX_free"); *(void **)(&update_fn) = dlsym(module, "HMAC_Update"); @@ -225,8 +259,12 @@ /* when built as a shared lib, and multiple versions of libcrypto are possibly * available (e.g. brazil), select AWS-LC by default for consistency */ if (has_awslc_symbols) { - AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "found static aws-lc HMAC symbols"); + AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "found weak ref aws-lc HMAC symbols"); } else { + if (!module) { + AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "No loaded aws-lc HMAC symbols found"); + return false; + } *(void **)(&new_fn) = dlsym(module, "HMAC_CTX_new"); *(void **)(&free_fn) = dlsym(module, "HMAC_CTX_free"); *(void **)(&update_fn) = dlsym(module, "HMAC_Update"); @@ -266,8 +304,12 @@ bool has_bssl_symbols = new_fn && free_fn && update_fn && final_fn && init_ex_fn; if (has_bssl_symbols) { - AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "found static boringssl HMAC symbols"); + AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "found weak ref boringssl HMAC symbols"); } else { + if (!module) { + AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "No loaded boringssl HMAC symbols found"); + return false; + } *(void **)(&new_fn) = dlsym(module, "HMAC_CTX_new"); *(void **)(&free_fn) = dlsym(module, "HMAC_CTX_free"); *(void **)(&update_fn) = dlsym(module, "HMAC_Update"); @@ -352,8 +394,12 @@ bool has_102_symbols = md_create_fn && md_destroy_fn && md_init_ex_fn && md_update_fn && md_final_ex_fn; if (has_102_symbols) { - AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "found static libcrypto 1.0.2 EVP_MD symbols"); + AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "found weak ref libcrypto 1.0.2 EVP_MD symbols"); } else { + if (!module) { + AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "No loaded libcrypto 1.0.2 EVP_MD symbols found"); + return false; + } *(void **)(&md_create_fn) = dlsym(module, "EVP_MD_CTX_create"); *(void **)(&md_destroy_fn) = dlsym(module, "EVP_MD_CTX_destroy"); *(void **)(&md_init_ex_fn) = dlsym(module, "EVP_DigestInit_ex"); @@ -387,8 +433,12 @@ bool has_111_symbols = md_new_fn && md_free_fn && md_init_ex_fn && md_update_fn && md_final_ex_fn; if (has_111_symbols) { - AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "found static libcrypto 1.1.1 EVP_MD symbols"); + AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "found weak ref libcrypto 1.1.1 EVP_MD symbols"); } else { + if (!module) { + AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "No loaded libcrypto 1.1.1 EVP_MD symbols found"); + return false; + } *(void **)(&md_new_fn) = dlsym(module, "EVP_MD_CTX_new"); *(void **)(&md_free_fn) = dlsym(module, "EVP_MD_CTX_free"); *(void **)(&md_init_ex_fn) = dlsym(module, "EVP_DigestInit_ex"); @@ -426,8 +476,12 @@ md_new_fn && md_create_fn && md_free_fn && md_destroy_fn && md_init_ex_fn && md_update_fn && md_final_ex_fn; if (has_awslc_symbols) { - AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "found static aws-lc libcrypto 1.1.1 EVP_MD symbols"); + AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "found weak ref aws-lc libcrypto 1.1.1 EVP_MD symbols"); } else { + if (!module) { + AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "No loaded aws-lc libcrypto 1.1.1 EVP_MD symbols found"); + return false; + } *(void **)(&md_new_fn) = dlsym(module, "EVP_MD_CTX_new"); *(void **)(&md_free_fn) = dlsym(module, "EVP_MD_CTX_free"); *(void **)(&md_init_ex_fn) = dlsym(module, "EVP_DigestInit_ex"); @@ -643,28 +697,25 @@ static enum aws_libcrypto_version s_resolve_libcrypto(void) { /* Try to auto-resolve against what's linked in/process space */ AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "searching process and loaded modules"); - void *process = dlopen(NULL, RTLD_NOW); - AWS_FATAL_ASSERT(process && "Unable to load symbols from process space"); - enum aws_libcrypto_version result = s_resolve_libcrypto_symbols(AWS_LIBCRYPTO_LC, process); + enum aws_libcrypto_version result = s_resolve_libcrypto_symbols(AWS_LIBCRYPTO_LC, NULL); if (result == AWS_LIBCRYPTO_NONE) { AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "did not find aws-lc symbols linked"); - result = s_resolve_libcrypto_symbols(AWS_LIBCRYPTO_BORINGSSL, process); + result = s_resolve_libcrypto_symbols(AWS_LIBCRYPTO_BORINGSSL, NULL); } if (result == AWS_LIBCRYPTO_NONE) { AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "did not find boringssl symbols linked"); - result = s_resolve_libcrypto_symbols(AWS_LIBCRYPTO_1_1_1, process); + result = s_resolve_libcrypto_symbols(AWS_LIBCRYPTO_1_1_1, NULL); } if (result == AWS_LIBCRYPTO_NONE) { AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "did not find libcrypto 1.1.1 symbols linked"); - result = s_resolve_libcrypto_symbols(AWS_LIBCRYPTO_1_0_2, process); + result = s_resolve_libcrypto_symbols(AWS_LIBCRYPTO_1_0_2, NULL); } - dlclose(process); if (result == AWS_LIBCRYPTO_NONE) { AWS_LOGF_DEBUG(AWS_LS_CAL_LIBCRYPTO_RESOLVE, "did not find libcrypto 1.0.2 symbols linked"); AWS_LOGF_DEBUG( AWS_LS_CAL_LIBCRYPTO_RESOLVE, - "libcrypto symbols were not statically linked, searching for shared libraries"); + "libcrypto symbols were not linked, searching for shared libraries and loading it"); result = s_resolve_libcrypto_sharedlib(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-cal-0.9.0/source/windows/bcrypt_aes.c new/aws-c-cal-0.9.1/source/windows/bcrypt_aes.c --- old/aws-c-cal-0.9.0/source/windows/bcrypt_aes.c 2025-04-12 00:24:44.000000000 +0200 +++ new/aws-c-cal-0.9.1/source/windows/bcrypt_aes.c 2025-05-16 20:01:14.000000000 +0200 @@ -6,7 +6,7 @@ #include <windows.h> -/* keep the space to prevent formatters from reordering this with the Windows.h header. */ +/* keep the space to prevent formatters from reordering this with the windows.h header. */ #include <bcrypt.h> /* handles for AES modes and algorithms we'll be using. These are initialized once and allowed to leak. */