aws-crt 0.1.9 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/VERSION +1 -1
- data/aws-crt-ffi/crt/aws-c-auth/include/aws/auth/auth.h +1 -0
- data/aws-crt-ffi/crt/aws-c-auth/include/aws/auth/aws_imds_client.h +5 -0
- data/aws-crt-ffi/crt/aws-c-auth/include/aws/auth/credentials.h +5 -0
- data/aws-crt-ffi/crt/aws-c-auth/include/aws/auth/private/aws_signing.h +1 -0
- data/aws-crt-ffi/crt/aws-c-auth/include/aws/auth/private/credentials_utils.h +2 -0
- data/aws-crt-ffi/crt/aws-c-auth/include/aws/auth/signing_config.h +1 -0
- data/aws-crt-ffi/crt/aws-c-auth/source/auth.c +3 -1
- data/aws-crt-ffi/crt/aws-c-auth/source/aws_imds_client.c +146 -63
- data/aws-crt-ffi/crt/aws-c-auth/source/aws_signing.c +41 -19
- data/aws-crt-ffi/crt/aws-c-auth/source/credentials_provider_imds.c +1 -0
- data/aws-crt-ffi/crt/aws-c-auth/source/credentials_utils.c +1 -0
- data/aws-crt-ffi/crt/aws-c-auth/source/signable_http_request.c +2 -1
- data/aws-crt-ffi/crt/aws-c-auth/source/signing_config.c +25 -0
- data/aws-crt-ffi/crt/aws-c-auth/tests/CMakeLists.txt +3 -0
- data/aws-crt-ffi/crt/aws-c-auth/tests/aws_imds_client_test.c +197 -31
- data/aws-crt-ffi/crt/aws-c-auth/tests/credentials_provider_imds_tests.c +16 -18
- data/aws-crt-ffi/crt/aws-c-auth/tests/sigv4_signing_tests.c +3 -1
- data/aws-crt-ffi/crt/aws-c-cal/include/aws/cal/private/opensslcrypto_common.h +22 -0
- data/aws-crt-ffi/crt/aws-c-cal/source/darwin/commoncrypto_aes.c +46 -17
- data/aws-crt-ffi/crt/aws-c-cal/source/unix/openssl_aes.c +1 -0
- data/aws-crt-ffi/crt/aws-c-cal/source/unix/openssl_platform_init.c +7 -0
- data/aws-crt-ffi/crt/aws-c-cal/source/unix/openssl_rsa.c +59 -2
- data/aws-crt-ffi/crt/aws-c-cal/source/unix/opensslcrypto_ecc.c +1 -0
- data/aws-crt-ffi/crt/aws-c-common/CMakeLists.txt +13 -1
- data/aws-crt-ffi/crt/aws-c-common/THIRD-PARTY-LICENSES.txt +28 -7
- data/aws-crt-ffi/crt/aws-c-common/bin/system_info/CMakeLists.txt +18 -0
- data/aws-crt-ffi/crt/aws-c-common/bin/system_info/print_system_info.c +48 -0
- data/aws-crt-ffi/crt/aws-c-common/include/aws/common/allocator.h +23 -0
- data/aws-crt-ffi/crt/aws-c-common/include/aws/common/byte_buf.h +12 -0
- data/aws-crt-ffi/crt/aws-c-common/include/aws/common/cross_process_lock.h +35 -0
- data/aws-crt-ffi/crt/aws-c-common/include/aws/common/hash_table.h +1 -0
- data/aws-crt-ffi/crt/aws-c-common/include/aws/common/priority_queue.h +24 -0
- data/aws-crt-ffi/crt/aws-c-common/include/aws/common/private/system_info_priv.h +37 -0
- data/aws-crt-ffi/crt/aws-c-common/include/aws/common/system_info.h +47 -0
- data/aws-crt-ffi/crt/aws-c-common/include/aws/common/system_resource_util.h +30 -0
- data/aws-crt-ffi/crt/aws-c-common/include/aws/testing/aws_test_harness.h +3 -2
- data/aws-crt-ffi/crt/aws-c-common/source/allocator.c +64 -13
- data/aws-crt-ffi/crt/aws-c-common/source/android/logging.c +14 -0
- data/aws-crt-ffi/crt/aws-c-common/source/common.c +3 -3
- data/aws-crt-ffi/crt/aws-c-common/source/file.c +96 -35
- data/aws-crt-ffi/crt/aws-c-common/source/linux/system_info.c +24 -0
- data/aws-crt-ffi/crt/aws-c-common/source/memtrace.c +10 -3
- data/aws-crt-ffi/crt/aws-c-common/source/platform_fallback_stubs/system_info.c +21 -0
- data/aws-crt-ffi/crt/aws-c-common/source/posix/cross_process_lock.c +141 -0
- data/aws-crt-ffi/crt/aws-c-common/source/posix/system_info.c +1 -1
- data/aws-crt-ffi/crt/aws-c-common/source/posix/system_resource_utils.c +32 -0
- data/aws-crt-ffi/crt/aws-c-common/source/priority_queue.c +24 -0
- data/aws-crt-ffi/crt/aws-c-common/source/system_info.c +80 -0
- data/aws-crt-ffi/crt/aws-c-common/source/task_scheduler.c +2 -2
- data/aws-crt-ffi/crt/aws-c-common/source/windows/cross_process_lock.c +93 -0
- data/aws-crt-ffi/crt/aws-c-common/source/windows/system_resource_utils.c +31 -0
- data/aws-crt-ffi/crt/aws-c-common/tests/CMakeLists.txt +16 -0
- data/aws-crt-ffi/crt/aws-c-common/tests/alloc_test.c +83 -22
- data/aws-crt-ffi/crt/aws-c-common/tests/cross_process_lock_tests.c +116 -0
- data/aws-crt-ffi/crt/aws-c-common/tests/file_test.c +103 -0
- data/aws-crt-ffi/crt/aws-c-common/tests/priority_queue_test.c +36 -0
- data/aws-crt-ffi/crt/aws-c-common/tests/system_info_tests.c +19 -0
- data/aws-crt-ffi/crt/aws-c-common/tests/system_resource_util_test.c +37 -0
- data/aws-crt-ffi/crt/aws-c-http/include/aws/http/connection.h +9 -0
- data/aws-crt-ffi/crt/aws-c-http/include/aws/http/http.h +1 -0
- data/aws-crt-ffi/crt/aws-c-http/include/aws/http/private/connection_impl.h +5 -4
- data/aws-crt-ffi/crt/aws-c-http/include/aws/http/private/connection_manager_system_vtable.h +10 -18
- data/aws-crt-ffi/crt/aws-c-http/include/aws/http/private/proxy_impl.h +5 -1
- data/aws-crt-ffi/crt/aws-c-http/include/aws/http/private/request_response_impl.h +5 -0
- data/aws-crt-ffi/crt/aws-c-http/include/aws/http/request_response.h +10 -0
- data/aws-crt-ffi/crt/aws-c-http/source/connection.c +5 -2
- data/aws-crt-ffi/crt/aws-c-http/source/connection_manager.c +22 -21
- data/aws-crt-ffi/crt/aws-c-http/source/h1_connection.c +102 -17
- data/aws-crt-ffi/crt/aws-c-http/source/h1_stream.c +1 -0
- data/aws-crt-ffi/crt/aws-c-http/source/http.c +3 -0
- data/aws-crt-ffi/crt/aws-c-http/source/proxy_connection.c +2 -2
- data/aws-crt-ffi/crt/aws-c-http/tests/CMakeLists.txt +2 -0
- data/aws-crt-ffi/crt/aws-c-http/tests/test_connection_manager.c +18 -18
- data/aws-crt-ffi/crt/aws-c-http/tests/test_h1_client.c +111 -1
- data/aws-crt-ffi/crt/aws-c-http/tests/test_proxy.c +2 -2
- data/aws-crt-ffi/crt/aws-c-http/tests/test_stream_manager.c +2 -2
- data/aws-crt-ffi/crt/aws-c-io/include/aws/io/retry_strategy.h +1 -1
- data/aws-crt-ffi/crt/aws-c-io/source/exponential_backoff_retry_strategy.c +1 -1
- data/aws-crt-ffi/crt/aws-c-io/source/pkcs11_tls_op_handler.c +2 -4
- data/aws-crt-ffi/crt/aws-lc/CMakeLists.txt +16 -8
- data/aws-crt-ffi/crt/aws-lc/cmake/go.cmake +6 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/CMakeLists.txt +6 -9
- data/aws-crt-ffi/crt/aws-lc/crypto/asn1/a_time.c +34 -1
- data/aws-crt-ffi/crt/aws-lc/crypto/asn1/a_utctm.c +4 -1
- data/aws-crt-ffi/crt/aws-lc/crypto/asn1/asn1_test.cc +41 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/bio/bio_mem.c +6 -7
- data/aws-crt-ffi/crt/aws-lc/crypto/bio/bio_test.cc +152 -16
- data/aws-crt-ffi/crt/aws-lc/crypto/bio/connect.c +6 -12
- data/aws-crt-ffi/crt/aws-lc/crypto/bio/fd.c +2 -2
- data/aws-crt-ffi/crt/aws-lc/crypto/bio/file.c +20 -8
- data/aws-crt-ffi/crt/aws-lc/crypto/bio/socket.c +2 -2
- data/aws-crt-ffi/crt/aws-lc/crypto/bio/socket_helper.c +2 -2
- data/aws-crt-ffi/crt/aws-lc/crypto/blake2/blake2.c +11 -1
- data/aws-crt-ffi/crt/aws-lc/crypto/bytestring/cbb.c +13 -3
- data/aws-crt-ffi/crt/aws-lc/crypto/bytestring/cbs.c +9 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/chacha/asm/chacha-armv8.pl +1 -1
- data/aws-crt-ffi/crt/aws-lc/crypto/chacha/chacha.c +49 -8
- data/aws-crt-ffi/crt/aws-lc/crypto/chacha/chacha_test.cc +110 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/chacha/internal.h +8 -1
- data/aws-crt-ffi/crt/aws-lc/crypto/compiler_test.cc +4 -1
- data/aws-crt-ffi/crt/aws-lc/crypto/conf/conf_test.cc +1 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/crypto_test.cc +9 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/curve25519/curve25519.c +189 -108
- data/aws-crt-ffi/crt/aws-lc/crypto/curve25519/curve25519_nohw.c +78 -6
- data/aws-crt-ffi/crt/aws-lc/crypto/curve25519/ed25519_test.cc +9 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/curve25519/internal.h +24 -10
- data/aws-crt-ffi/crt/aws-lc/crypto/curve25519/spake25519.c +4 -4
- data/aws-crt-ffi/crt/aws-lc/crypto/curve25519/x25519_test.cc +80 -11
- data/aws-crt-ffi/crt/aws-lc/crypto/decrepit/evp/evp_do_all.c +2 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/digest_extra/digest_extra.c +8 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/digest_extra/digest_test.cc +110 -45
- data/aws-crt-ffi/crt/aws-lc/crypto/dsa/dsa_test.cc +8 -2
- data/aws-crt-ffi/crt/aws-lc/crypto/dsa/internal.h +18 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/dynamic_loading_test.c +8 -5
- data/aws-crt-ffi/crt/aws-lc/crypto/ec_extra/ec_derive.c +4 -3
- data/aws-crt-ffi/crt/aws-lc/crypto/ec_extra/hash_to_curve.c +6 -18
- data/aws-crt-ffi/crt/aws-lc/crypto/endian_test.cc +308 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/err/ssl.errordata +2 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/evp_extra/evp_extra_test.cc +2 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/evp_extra/evp_test.cc +11 -1
- data/aws-crt-ffi/crt/aws-lc/crypto/evp_extra/evp_tests.txt +25 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/evp_extra/p_ec_asn1.c +1 -1
- data/aws-crt-ffi/crt/aws-lc/crypto/evp_extra/p_kem.c +2 -2
- data/aws-crt-ffi/crt/aws-lc/crypto/evp_extra/p_rsa_asn1.c +1 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/evp_extra/print.c +7 -6
- data/aws-crt-ffi/crt/aws-lc/crypto/evp_extra/scrypt.c +13 -1
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/CMakeLists.txt +13 -4
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/aes/aes_nohw.c +18 -6
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/bcm.c +12 -4
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/bn/bn_assert_test.cc +77 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/bn/bn_test.cc +30 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/bn/bytes.c +112 -22
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/bn/div.c +12 -5
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/bn/exponentiation.c +54 -1
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/bn/gcd.c +5 -6
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/bn/internal.h +37 -15
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/bn/montgomery.c +4 -11
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/bn/montgomery_inv.c +51 -15
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/cipher/aead.c +2 -2
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/digest/digest.c +29 -6
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/digest/digests.c +89 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/digest/internal.h +4 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/ec/ec.c +19 -36
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/ec/ec_key.c +3 -3
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/ec/ec_montgomery.c +9 -7
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/ec/ec_test.cc +33 -9
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/ec/internal.h +17 -12
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/ec/p224-64.c +5 -8
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/ec/p256-nistz.c +8 -8
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/ec/p256.c +9 -8
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/ec/p384.c +33 -16
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/ec/p521.c +14 -6
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/ec/scalar.c +26 -24
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/ec/simple_mul.c +8 -5
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/ec/wnaf.c +3 -3
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/ecdsa/ecdsa.c +9 -3
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/evp/evp.c +43 -12
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/evp/p_ec.c +4 -3
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/hmac/hmac.c +3 -1
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/modes/xts.c +26 -3
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/rand/cpu_jitter_test.cc +1 -1
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/rand/internal.h +20 -11
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/rand/rand.c +10 -10
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/rand/urandom.c +2 -2
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/rsa/internal.h +59 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/rsa/padding.c +9 -3
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/rsa/rsa.c +7 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/rsa/rsa_impl.c +51 -60
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/service_indicator/service_indicator.c +5 -2
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/service_indicator/service_indicator_test.cc +205 -5
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/sha/asm/sha1-armv8.pl +1 -1
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/sha/asm/sha512-armv8.pl +1 -1
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/sha/internal.h +8 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/sha/sha3.c +37 -15
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/sha/sha3_test.cc +115 -110
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/sha/sha512.c +55 -1
- data/aws-crt-ffi/crt/aws-lc/crypto/fipsmodule/sshkdf/sshkdf.c +2 -2
- data/aws-crt-ffi/crt/aws-lc/crypto/hmac_extra/hmac_test.cc +12 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/hmac_extra/hmac_tests.txt +10 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/hrss/asm/poly_rq_mul.S +2 -6
- data/aws-crt-ffi/crt/aws-lc/crypto/impl_dispatch_test.cc +9 -1
- data/aws-crt-ffi/crt/aws-lc/crypto/internal.h +90 -8
- data/aws-crt-ffi/crt/aws-lc/crypto/kem/kem.c +28 -27
- data/aws-crt-ffi/crt/aws-lc/crypto/kyber/kem_kyber.h +14 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/obj/obj_dat.h +52 -2
- data/aws-crt-ffi/crt/aws-lc/crypto/obj/obj_mac.num +5 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/obj/objects.txt +7 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/perlasm/arm-xlate.pl +3 -14
- data/aws-crt-ffi/crt/aws-lc/crypto/perlasm/ppc-xlate.pl +1 -5
- data/aws-crt-ffi/crt/aws-lc/crypto/perlasm/x86_64-xlate.pl +4 -15
- data/aws-crt-ffi/crt/aws-lc/crypto/perlasm/x86asm.pl +4 -13
- data/aws-crt-ffi/crt/aws-lc/crypto/poly1305/poly1305_arm_asm.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/crypto/rand_extra/deterministic.c +4 -3
- data/aws-crt-ffi/crt/aws-lc/crypto/rand_extra/fuchsia.c +4 -4
- data/aws-crt-ffi/crt/aws-lc/crypto/rand_extra/rand_test.cc +0 -63
- data/aws-crt-ffi/crt/aws-lc/crypto/rand_extra/windows.c +41 -19
- data/aws-crt-ffi/crt/aws-lc/crypto/rsa_extra/rsa_test.cc +3 -3
- data/aws-crt-ffi/crt/aws-lc/crypto/siphash/siphash.c +12 -5
- data/aws-crt-ffi/crt/aws-lc/crypto/siphash/siphash_test.cc +5 -5
- data/aws-crt-ffi/crt/aws-lc/crypto/stack/stack.c +68 -46
- data/aws-crt-ffi/crt/aws-lc/crypto/trust_token/pmbtoken.c +4 -4
- data/aws-crt-ffi/crt/aws-lc/crypto/trust_token/voprf.c +2 -2
- data/aws-crt-ffi/crt/aws-lc/crypto/x509/by_dir.c +0 -6
- data/aws-crt-ffi/crt/aws-lc/crypto/x509/internal.h +4 -1
- data/aws-crt-ffi/crt/aws-lc/crypto/x509/x509_lu.c +33 -9
- data/aws-crt-ffi/crt/aws-lc/crypto/x509/x509_test.cc +87 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/x509/x509_trs.c +1 -1
- data/aws-crt-ffi/crt/aws-lc/crypto/x509/x509_vfy.c +35 -13
- data/aws-crt-ffi/crt/aws-lc/crypto/x509v3/v3_lib.c +2 -0
- data/aws-crt-ffi/crt/aws-lc/crypto/x509v3/v3_purp.c +4 -6
- data/aws-crt-ffi/crt/aws-lc/generated-src/crypto_test_data.cc +179 -151
- data/aws-crt-ffi/crt/aws-lc/generated-src/err_data.c +353 -349
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-aarch64/crypto/chacha/chacha-armv8.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-aarch64/crypto/cipher_extra/chacha20_poly1305_armv8.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-aarch64/crypto/fipsmodule/aesv8-armx.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-aarch64/crypto/fipsmodule/aesv8-gcm-armv8-unroll8.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-aarch64/crypto/fipsmodule/aesv8-gcm-armv8.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-aarch64/crypto/fipsmodule/armv8-mont.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-aarch64/crypto/fipsmodule/bn-armv8.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-aarch64/crypto/fipsmodule/ghash-neon-armv8.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-aarch64/crypto/fipsmodule/ghashv8-armx.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-aarch64/crypto/fipsmodule/keccak1600-armv8.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-aarch64/crypto/fipsmodule/md5-armv8.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-aarch64/crypto/fipsmodule/p256-armv8-asm.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-aarch64/crypto/fipsmodule/p256_beeu-armv8-asm.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-aarch64/crypto/fipsmodule/sha1-armv8.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-aarch64/crypto/fipsmodule/sha256-armv8.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-aarch64/crypto/fipsmodule/sha512-armv8.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-aarch64/crypto/fipsmodule/vpaes-armv8.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-aarch64/crypto/test/trampoline-armv8.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-arm/crypto/chacha/chacha-armv4.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-arm/crypto/fipsmodule/aesv8-armx.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-arm/crypto/fipsmodule/armv4-mont.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-arm/crypto/fipsmodule/bsaes-armv7.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-arm/crypto/fipsmodule/ghash-armv4.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-arm/crypto/fipsmodule/ghashv8-armx.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-arm/crypto/fipsmodule/sha1-armv4-large.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-arm/crypto/fipsmodule/sha256-armv4.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-arm/crypto/fipsmodule/sha512-armv4.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-arm/crypto/fipsmodule/vpaes-armv7.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/ios-arm/crypto/test/trampoline-armv4.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-aarch64/crypto/chacha/chacha-armv8.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-aarch64/crypto/cipher_extra/chacha20_poly1305_armv8.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-aarch64/crypto/fipsmodule/aesv8-armx.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-aarch64/crypto/fipsmodule/aesv8-gcm-armv8-unroll8.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-aarch64/crypto/fipsmodule/aesv8-gcm-armv8.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-aarch64/crypto/fipsmodule/armv8-mont.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-aarch64/crypto/fipsmodule/bn-armv8.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-aarch64/crypto/fipsmodule/ghash-neon-armv8.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-aarch64/crypto/fipsmodule/ghashv8-armx.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-aarch64/crypto/fipsmodule/keccak1600-armv8.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-aarch64/crypto/fipsmodule/md5-armv8.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-aarch64/crypto/fipsmodule/p256-armv8-asm.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-aarch64/crypto/fipsmodule/p256_beeu-armv8-asm.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-aarch64/crypto/fipsmodule/sha1-armv8.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-aarch64/crypto/fipsmodule/sha256-armv8.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-aarch64/crypto/fipsmodule/sha512-armv8.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-aarch64/crypto/fipsmodule/vpaes-armv8.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-aarch64/crypto/test/trampoline-armv8.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-arm/crypto/chacha/chacha-armv4.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-arm/crypto/fipsmodule/aesv8-armx.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-arm/crypto/fipsmodule/armv4-mont.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-arm/crypto/fipsmodule/bsaes-armv7.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-arm/crypto/fipsmodule/ghash-armv4.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-arm/crypto/fipsmodule/ghashv8-armx.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-arm/crypto/fipsmodule/sha1-armv4-large.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-arm/crypto/fipsmodule/sha256-armv4.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-arm/crypto/fipsmodule/sha512-armv4.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-arm/crypto/fipsmodule/vpaes-armv7.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-arm/crypto/test/trampoline-armv4.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-ppc64le/crypto/fipsmodule/aesp8-ppc.S +1 -5
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-ppc64le/crypto/fipsmodule/ghashp8-ppc.S +1 -5
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-ppc64le/crypto/test/trampoline-ppc.S +1 -5
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86/crypto/chacha/chacha-x86.S +3 -12
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86/crypto/fipsmodule/aesni-x86.S +3 -12
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86/crypto/fipsmodule/bn-586.S +4 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86/crypto/fipsmodule/co-586.S +4 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86/crypto/fipsmodule/ghash-ssse3-x86.S +3 -12
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86/crypto/fipsmodule/ghash-x86.S +3 -12
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86/crypto/fipsmodule/md5-586.S +4 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86/crypto/fipsmodule/sha1-586.S +4 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86/crypto/fipsmodule/sha256-586.S +3 -12
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86/crypto/fipsmodule/sha512-586.S +3 -12
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86/crypto/fipsmodule/vpaes-x86.S +3 -12
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86/crypto/fipsmodule/x86-mont.S +3 -12
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86/crypto/test/trampoline-x86.S +3 -12
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86_64/crypto/chacha/chacha-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86_64/crypto/cipher_extra/aesni-sha1-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86_64/crypto/cipher_extra/aesni-sha256-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86_64/crypto/fipsmodule/aesni-gcm-avx512.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86_64/crypto/fipsmodule/aesni-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86_64/crypto/fipsmodule/aesni-xts-avx512.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86_64/crypto/fipsmodule/ghash-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86_64/crypto/fipsmodule/md5-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86_64/crypto/fipsmodule/p256-x86_64-asm.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86_64/crypto/fipsmodule/rdrand-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86_64/crypto/fipsmodule/rsaz-avx2.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86_64/crypto/fipsmodule/sha1-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86_64/crypto/fipsmodule/sha256-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86_64/crypto/fipsmodule/sha512-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86_64/crypto/fipsmodule/vpaes-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86_64/crypto/fipsmodule/x86_64-mont.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86_64/crypto/fipsmodule/x86_64-mont5.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/linux-x86_64/crypto/test/trampoline-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86/crypto/chacha/chacha-x86.S +3 -12
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86/crypto/fipsmodule/aesni-x86.S +3 -12
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86/crypto/fipsmodule/bn-586.S +3 -12
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86/crypto/fipsmodule/co-586.S +3 -12
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86/crypto/fipsmodule/ghash-ssse3-x86.S +3 -12
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86/crypto/fipsmodule/ghash-x86.S +3 -12
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86/crypto/fipsmodule/md5-586.S +3 -12
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86/crypto/fipsmodule/sha1-586.S +3 -12
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86/crypto/fipsmodule/sha256-586.S +3 -12
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86/crypto/fipsmodule/sha512-586.S +3 -12
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86/crypto/fipsmodule/vpaes-x86.S +3 -12
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86/crypto/fipsmodule/x86-mont.S +3 -12
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86/crypto/test/trampoline-x86.S +3 -12
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86_64/crypto/chacha/chacha-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86_64/crypto/cipher_extra/aesni-sha1-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86_64/crypto/cipher_extra/aesni-sha256-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86_64/crypto/fipsmodule/aesni-gcm-avx512.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86_64/crypto/fipsmodule/aesni-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86_64/crypto/fipsmodule/aesni-xts-avx512.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86_64/crypto/fipsmodule/ghash-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86_64/crypto/fipsmodule/md5-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86_64/crypto/fipsmodule/p256-x86_64-asm.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86_64/crypto/fipsmodule/rdrand-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86_64/crypto/fipsmodule/rsaz-avx2.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86_64/crypto/fipsmodule/sha1-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86_64/crypto/fipsmodule/sha256-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86_64/crypto/fipsmodule/sha512-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86_64/crypto/fipsmodule/vpaes-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86_64/crypto/fipsmodule/x86_64-mont.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86_64/crypto/fipsmodule/x86_64-mont5.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/mac-x86_64/crypto/test/trampoline-x86_64.S +2 -11
- data/aws-crt-ffi/crt/aws-lc/generated-src/win-aarch64/crypto/chacha/chacha-armv8.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/win-aarch64/crypto/cipher_extra/chacha20_poly1305_armv8.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/win-aarch64/crypto/fipsmodule/aesv8-armx.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/win-aarch64/crypto/fipsmodule/aesv8-gcm-armv8-unroll8.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/win-aarch64/crypto/fipsmodule/aesv8-gcm-armv8.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/win-aarch64/crypto/fipsmodule/armv8-mont.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/win-aarch64/crypto/fipsmodule/bn-armv8.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/win-aarch64/crypto/fipsmodule/ghash-neon-armv8.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/win-aarch64/crypto/fipsmodule/ghashv8-armx.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/win-aarch64/crypto/fipsmodule/keccak1600-armv8.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/win-aarch64/crypto/fipsmodule/md5-armv8.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/win-aarch64/crypto/fipsmodule/p256-armv8-asm.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/win-aarch64/crypto/fipsmodule/p256_beeu-armv8-asm.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/win-aarch64/crypto/fipsmodule/sha1-armv8.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/win-aarch64/crypto/fipsmodule/sha256-armv8.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/win-aarch64/crypto/fipsmodule/sha512-armv8.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/generated-src/win-aarch64/crypto/fipsmodule/vpaes-armv8.S +3 -13
- data/aws-crt-ffi/crt/aws-lc/generated-src/win-aarch64/crypto/test/trampoline-armv8.S +4 -14
- data/aws-crt-ffi/crt/aws-lc/go.mod +4 -4
- data/aws-crt-ffi/crt/aws-lc/go.sum +8 -10
- data/aws-crt-ffi/crt/aws-lc/include/openssl/aead.h +2 -2
- data/aws-crt-ffi/crt/aws-lc/include/openssl/arm_arch.h +4 -119
- data/aws-crt-ffi/crt/aws-lc/include/openssl/asm_base.h +185 -0
- data/aws-crt-ffi/crt/aws-lc/include/openssl/asn1.h +5 -0
- data/aws-crt-ffi/crt/aws-lc/include/openssl/base.h +31 -134
- data/aws-crt-ffi/crt/aws-lc/include/openssl/bio.h +30 -18
- data/aws-crt-ffi/crt/aws-lc/include/openssl/bn.h +0 -2
- data/aws-crt-ffi/crt/aws-lc/include/openssl/chacha.h +6 -0
- data/aws-crt-ffi/crt/aws-lc/include/openssl/cipher.h +2 -2
- data/aws-crt-ffi/crt/aws-lc/include/openssl/digest.h +9 -6
- data/aws-crt-ffi/crt/aws-lc/include/openssl/dsa.h +0 -21
- data/aws-crt-ffi/crt/aws-lc/include/openssl/ec.h +1 -1
- data/aws-crt-ffi/crt/aws-lc/include/openssl/err.h +1 -1
- data/aws-crt-ffi/crt/aws-lc/include/openssl/evp.h +8 -5
- data/aws-crt-ffi/crt/aws-lc/include/openssl/nid.h +21 -0
- data/aws-crt-ffi/crt/aws-lc/include/openssl/rsa.h +1 -65
- data/aws-crt-ffi/crt/aws-lc/include/openssl/sha.h +22 -1
- data/aws-crt-ffi/crt/aws-lc/include/openssl/ssl.h +121 -13
- data/aws-crt-ffi/crt/aws-lc/include/openssl/stack.h +229 -208
- data/aws-crt-ffi/crt/aws-lc/include/openssl/target.h +166 -0
- data/aws-crt-ffi/crt/aws-lc/include/openssl/x509.h +30 -10
- data/aws-crt-ffi/crt/aws-lc/include/openssl/x509v3.h +6 -4
- data/aws-crt-ffi/crt/aws-lc/sources.cmake +2 -0
- data/aws-crt-ffi/crt/aws-lc/ssl/extensions.cc +12 -7
- data/aws-crt-ffi/crt/aws-lc/ssl/handshake_server.cc +28 -18
- data/aws-crt-ffi/crt/aws-lc/ssl/internal.h +41 -6
- data/aws-crt-ffi/crt/aws-lc/ssl/s3_both.cc +9 -17
- data/aws-crt-ffi/crt/aws-lc/ssl/ssl_cipher.cc +13 -5
- data/aws-crt-ffi/crt/aws-lc/ssl/ssl_key_share.cc +542 -2
- data/aws-crt-ffi/crt/aws-lc/ssl/ssl_lib.cc +35 -0
- data/aws-crt-ffi/crt/aws-lc/ssl/ssl_test.cc +1847 -14
- data/aws-crt-ffi/crt/aws-lc/ssl/ssl_x509.cc +128 -0
- data/aws-crt-ffi/crt/aws-lc/ssl/test/PORTING.md +10 -7
- data/aws-crt-ffi/crt/aws-lc/ssl/test/bssl_shim.cc +133 -77
- data/aws-crt-ffi/crt/aws-lc/ssl/test/handshake_util.cc +3 -3
- data/aws-crt-ffi/crt/aws-lc/ssl/test/handshaker.cc +4 -0
- data/aws-crt-ffi/crt/aws-lc/ssl/test/runner/handshake_client.go +6 -2
- data/aws-crt-ffi/crt/aws-lc/ssl/test/runner/handshake_messages.go +894 -1042
- data/aws-crt-ffi/crt/aws-lc/ssl/test/runner/handshake_server.go +24 -23
- data/aws-crt-ffi/crt/aws-lc/ssl/test/runner/prf.go +6 -5
- data/aws-crt-ffi/crt/aws-lc/ssl/test/runner/runner.go +56 -55
- data/aws-crt-ffi/crt/aws-lc/ssl/test/runner/shim_dispatcher.go +188 -0
- data/aws-crt-ffi/crt/aws-lc/ssl/test/runner/ticket.go +37 -39
- data/aws-crt-ffi/crt/aws-lc/ssl/test/test_config.cc +59 -24
- data/aws-crt-ffi/crt/aws-lc/ssl/test/test_config.h +3 -2
- data/aws-crt-ffi/crt/aws-lc/ssl/tls13_server.cc +10 -11
- data/aws-crt-ffi/crt/aws-lc/tests/ci/cdk/app.py +4 -4
- data/aws-crt-ffi/crt/aws-lc/tests/ci/cdk/cdk/{aws_lc_mac_arm_ci_stack.py → aws_lc_ec2_test_framework_ci_stack.py} +13 -29
- data/aws-crt-ffi/crt/aws-lc/tests/ci/cdk/cdk/ssm/general_test_run_ssm_document.yaml +43 -0
- data/aws-crt-ffi/crt/aws-lc/tests/ci/common_posix_setup.sh +10 -0
- data/aws-crt-ffi/crt/aws-lc/tests/ci/docker_images/linux-aarch/amazonlinux-2023_base/Dockerfile +5 -1
- data/aws-crt-ffi/crt/aws-lc/tests/ci/docker_images/linux-aarch/ubuntu-22.04_base/Dockerfile +19 -3
- data/aws-crt-ffi/crt/aws-lc/tests/ci/docker_images/linux-x86/amazonlinux-2_gcc-7x-intel-sde/Dockerfile +5 -4
- data/aws-crt-ffi/crt/aws-lc/tests/ci/docker_images/linux-x86/build_images.sh +1 -0
- data/aws-crt-ffi/crt/aws-lc/tests/ci/docker_images/linux-x86/push_images.sh +2 -1
- data/aws-crt-ffi/crt/aws-lc/tests/ci/docker_images/linux-x86/ubuntu-20.04_clang-10x_formal-verification/create_image.sh +1 -1
- data/aws-crt-ffi/crt/aws-lc/tests/ci/docker_images/linux-x86/ubuntu-22.04_base/Dockerfile +1 -0
- data/aws-crt-ffi/crt/aws-lc/tests/ci/docker_images/linux-x86/ubuntu-22.04_clang-14x-sde/Dockerfile +42 -0
- data/aws-crt-ffi/crt/aws-lc/tests/ci/docker_images/windows/vs2017/Dockerfile +14 -0
- data/aws-crt-ffi/crt/aws-lc/tests/ci/docker_images/windows/windows_base/Dockerfile +3 -0
- data/aws-crt-ffi/crt/aws-lc/tests/ci/integration/README.md +12 -0
- data/aws-crt-ffi/crt/aws-lc/tests/ci/integration/nginx_patch/aws-lc-nginx.patch +68 -23
- data/aws-crt-ffi/crt/aws-lc/tests/ci/integration/run_crt_integration.sh +27 -0
- data/aws-crt-ffi/crt/aws-lc/tests/ci/integration/run_monit_integration.sh +56 -0
- data/aws-crt-ffi/crt/aws-lc/tests/ci/integration/sslproxy_patch/aws-lc-sslproxy.patch +2 -2
- data/aws-crt-ffi/crt/aws-lc/tests/ci/run_ec2_test_framework.sh +135 -0
- data/aws-crt-ffi/crt/aws-lc/tests/ci/run_fips_tests.sh +14 -2
- data/aws-crt-ffi/crt/aws-lc/tests/ci/run_tests_with_sde.sh +4 -1
- data/aws-crt-ffi/crt/aws-lc/tests/ci/run_tests_with_sde_asan.sh +14 -0
- data/aws-crt-ffi/crt/aws-lc/tests/ci/run_windows_tests.bat +39 -3
- data/aws-crt-ffi/crt/aws-lc/third_party/fiat/README.md +21 -6
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/arm/curve25519/bignum_madd_n25519.S +284 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/arm/curve25519/bignum_madd_n25519_alt.S +210 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/arm/curve25519/bignum_mod_n25519.S +186 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/arm/curve25519/bignum_neg_p25519.S +65 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/arm/curve25519/curve25519_x25519.S +1043 -352
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/arm/curve25519/curve25519_x25519_alt.S +1043 -352
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/arm/curve25519/curve25519_x25519_byte.S +1043 -352
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/arm/curve25519/curve25519_x25519_byte_alt.S +1043 -352
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/arm/curve25519/curve25519_x25519base.S +1042 -352
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/arm/curve25519/curve25519_x25519base_alt.S +1042 -352
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/arm/curve25519/curve25519_x25519base_byte.S +1042 -352
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/arm/curve25519/curve25519_x25519base_byte_alt.S +1043 -354
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/arm/curve25519/edwards25519_decode.S +700 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/arm/curve25519/edwards25519_decode_alt.S +563 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/arm/curve25519/edwards25519_encode.S +131 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/arm/curve25519/edwards25519_scalarmulbase.S +9626 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/arm/curve25519/edwards25519_scalarmulbase_alt.S +9468 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/arm/curve25519/edwards25519_scalarmuldouble.S +3157 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/arm/curve25519/edwards25519_scalarmuldouble_alt.S +2941 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/arm/p384/Makefile +1 -1
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/arm/p521/Makefile +1 -1
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/include/s2n-bignum_aws-lc.h +34 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/x86_att/curve25519/bignum_madd_n25519.S +219 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/x86_att/curve25519/bignum_madd_n25519_alt.S +245 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/x86_att/curve25519/bignum_mod_n25519.S +228 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/x86_att/curve25519/bignum_neg_p25519.S +86 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/x86_att/curve25519/curve25519_x25519.S +1350 -407
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/x86_att/curve25519/curve25519_x25519_alt.S +1350 -407
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/x86_att/curve25519/curve25519_x25519base.S +1344 -400
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/x86_att/curve25519/curve25519_x25519base_alt.S +1348 -402
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/x86_att/curve25519/edwards25519_decode.S +670 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/x86_att/curve25519/edwards25519_decode_alt.S +751 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/x86_att/curve25519/edwards25519_encode.S +81 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/x86_att/curve25519/edwards25519_scalarmulbase.S +9910 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/x86_att/curve25519/edwards25519_scalarmulbase_alt.S +9986 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/x86_att/curve25519/edwards25519_scalarmuldouble.S +3619 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/s2n-bignum/x86_att/curve25519/edwards25519_scalarmuldouble_alt.S +3736 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/wycheproof_testvectors/hmac_sha512_224_test.json +1978 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/wycheproof_testvectors/hmac_sha512_224_test.txt +1403 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/wycheproof_testvectors/hmac_sha512_256_test.json +1993 -0
- data/aws-crt-ffi/crt/aws-lc/third_party/wycheproof_testvectors/hmac_sha512_256_test.txt +1416 -0
- data/aws-crt-ffi/crt/aws-lc/tool/digest.cc +4 -0
- data/aws-crt-ffi/crt/aws-lc/tool/internal.h +1 -0
- data/aws-crt-ffi/crt/aws-lc/tool/speed.cc +53 -6
- data/aws-crt-ffi/crt/aws-lc/util/all_tests.go +43 -12
- data/aws-crt-ffi/crt/aws-lc/util/all_tests.json +13 -5
- data/aws-crt-ffi/crt/aws-lc/util/bot/DEPS +4 -4
- data/aws-crt-ffi/crt/aws-lc/util/bot/update_clang.py +8 -2
- data/aws-crt-ffi/crt/aws-lc/util/codecov-ci.sh +82 -0
- data/aws-crt-ffi/crt/aws-lc/util/convert_wycheproof/convert_wycheproof.go +7 -5
- data/aws-crt-ffi/crt/aws-lc/util/fipstools/acvp/ACVP.md +7 -0
- data/aws-crt-ffi/crt/aws-lc/util/fipstools/acvp/acvptool/subprocess/hash.go +24 -9
- data/aws-crt-ffi/crt/aws-lc/util/fipstools/acvp/acvptool/subprocess/rsa.go +3 -4
- data/aws-crt-ffi/crt/aws-lc/util/fipstools/acvp/acvptool/subprocess/subprocess.go +15 -10
- data/aws-crt-ffi/crt/aws-lc/util/fipstools/acvp/acvptool/test/expected/HMAC-SHA2-512-224.bz2 +0 -0
- data/aws-crt-ffi/crt/aws-lc/util/fipstools/acvp/acvptool/test/expected/SHA2-512-224.bz2 +0 -0
- data/aws-crt-ffi/crt/aws-lc/util/fipstools/acvp/acvptool/test/expected/SHAKE-128.bz2 +0 -0
- data/aws-crt-ffi/crt/aws-lc/util/fipstools/acvp/acvptool/test/expected/SHAKE-256.bz2 +0 -0
- data/aws-crt-ffi/crt/aws-lc/util/fipstools/acvp/acvptool/test/sha-tests/sha512-224-tests.json +1 -0
- data/aws-crt-ffi/crt/aws-lc/util/fipstools/acvp/acvptool/test/sha-tests/shake-128-tests.json +1 -0
- data/aws-crt-ffi/crt/aws-lc/util/fipstools/acvp/acvptool/test/sha-tests/shake-256-tests.json +1 -0
- data/aws-crt-ffi/crt/aws-lc/util/fipstools/acvp/acvptool/test/tests.json +1 -0
- data/aws-crt-ffi/crt/aws-lc/util/fipstools/acvp/acvptool/test/vectors/HMAC-SHA2-512-224.bz2 +0 -0
- data/aws-crt-ffi/crt/aws-lc/util/fipstools/acvp/acvptool/test/vectors/SHA2-512-224.bz2 +0 -0
- data/aws-crt-ffi/crt/aws-lc/util/fipstools/acvp/acvptool/test/vectors/SHAKE-128.bz2 +0 -0
- data/aws-crt-ffi/crt/aws-lc/util/fipstools/acvp/acvptool/test/vectors/SHAKE-256.bz2 +0 -0
- data/aws-crt-ffi/crt/aws-lc/util/fipstools/acvp/modulewrapper/main.cc +4 -0
- data/aws-crt-ffi/crt/aws-lc/util/fipstools/acvp/modulewrapper/modulewrapper.cc +144 -1
- data/aws-crt-ffi/crt/aws-lc/util/fipstools/delocate/delocate.go +9 -3
- data/aws-crt-ffi/crt/aws-lc/util/fipstools/delocate/testdata/aarch64-Basic/in.s +4 -0
- data/aws-crt-ffi/crt/aws-lc/util/fipstools/delocate/testdata/aarch64-Basic/out.s +11 -0
- data/aws-crt-ffi/crt/aws-lc/util/fipstools/inject_hash/inject_hash.go +13 -4
- data/aws-crt-ffi/crt/aws-lc/util/fipstools/test-break-kat.sh +2 -0
- data/aws-crt-ffi/crt/aws-lc/util/testconfig/testconfig.go +2 -1
- data/aws-crt-ffi/crt/s2n/api/s2n.h +9 -5
- data/aws-crt-ffi/crt/s2n/bindings/rust/bench/benches/handshake.rs +9 -6
- data/aws-crt-ffi/crt/s2n/bindings/rust/bench/benches/resumption.rs +14 -14
- data/aws-crt-ffi/crt/s2n/bindings/rust/bench/benches/throughput.rs +9 -6
- data/aws-crt-ffi/crt/s2n/bindings/rust/bench/src/harness.rs +106 -102
- data/aws-crt-ffi/crt/s2n/bindings/rust/bench/src/openssl.rs +24 -20
- data/aws-crt-ffi/crt/s2n/bindings/rust/bench/src/rustls.rs +28 -24
- data/aws-crt-ffi/crt/s2n/bindings/rust/bench/src/s2n_tls.rs +52 -50
- data/aws-crt-ffi/crt/s2n/bindings/rust/generate/Cargo.toml +1 -0
- data/aws-crt-ffi/crt/s2n/bindings/rust/integration/Cargo.toml +3 -0
- data/aws-crt-ffi/crt/s2n/bindings/rust/s2n-tls/Cargo.toml +2 -2
- data/aws-crt-ffi/crt/s2n/bindings/rust/s2n-tls/src/connection.rs +9 -0
- data/aws-crt-ffi/crt/s2n/bindings/rust/s2n-tls-sys/templates/Cargo.template +2 -1
- data/aws-crt-ffi/crt/s2n/bindings/rust/s2n-tls-tokio/Cargo.toml +2 -2
- data/aws-crt-ffi/crt/s2n/tests/cbmc/sources/make_common_datastructures.c +9 -2
- data/aws-crt-ffi/crt/s2n/tests/fuzz/s2n_client_cert_verify_recv_test.c +1 -1
- data/aws-crt-ffi/crt/s2n/tests/fuzz/s2n_hybrid_ecdhe_kyber_r3_fuzz_test.c +1 -1
- data/aws-crt-ffi/crt/s2n/tests/fuzz/s2n_tls13_cert_verify_recv_test.c +1 -1
- data/aws-crt-ffi/crt/s2n/tests/integrationv2/test_version_negotiation.py +4 -4
- data/aws-crt-ffi/crt/s2n/tests/unit/s2n_auth_selection_test.c +19 -9
- data/aws-crt-ffi/crt/s2n/tests/unit/s2n_client_auth_handshake_test.c +3 -3
- data/aws-crt-ffi/crt/s2n/tests/unit/s2n_client_cert_verify_test.c +1 -1
- data/aws-crt-ffi/crt/s2n/tests/unit/s2n_client_hello_recv_test.c +1 -1
- data/aws-crt-ffi/crt/s2n/tests/unit/s2n_client_hello_test.c +4 -4
- data/aws-crt-ffi/crt/s2n/tests/unit/s2n_client_signature_algorithms_extension_test.c +4 -5
- data/aws-crt-ffi/crt/s2n/tests/unit/s2n_connection_protocol_versions_test.c +390 -0
- data/aws-crt-ffi/crt/s2n/tests/unit/s2n_connection_test.c +8 -4
- data/aws-crt-ffi/crt/s2n/tests/unit/s2n_handshake_test.c +2 -1
- data/aws-crt-ffi/crt/s2n/tests/unit/s2n_quic_support_io_test.c +106 -0
- data/aws-crt-ffi/crt/s2n/tests/unit/s2n_security_policies_test.c +6 -2
- data/aws-crt-ffi/crt/s2n/tests/unit/s2n_self_talk_offload_signing_test.c +3 -3
- data/aws-crt-ffi/crt/s2n/tests/unit/s2n_self_talk_session_resumption_test.c +135 -0
- data/aws-crt-ffi/crt/s2n/tests/unit/s2n_server_new_session_ticket_test.c +32 -0
- data/aws-crt-ffi/crt/s2n/tests/unit/s2n_server_signature_algorithms_extension_test.c +1 -1
- data/aws-crt-ffi/crt/s2n/tests/unit/s2n_signature_algorithms_test.c +307 -283
- data/aws-crt-ffi/crt/s2n/tests/unit/s2n_tls13_cert_request_test.c +1 -1
- data/aws-crt-ffi/crt/s2n/tests/unit/s2n_tls13_cert_verify_test.c +18 -17
- data/aws-crt-ffi/crt/s2n/tests/unit/s2n_x509_validator_test.c +125 -0
- data/aws-crt-ffi/crt/s2n/tls/extensions/s2n_client_signature_algorithms.c +8 -1
- data/aws-crt-ffi/crt/s2n/tls/extensions/s2n_client_supported_versions.c +43 -11
- data/aws-crt-ffi/crt/s2n/tls/extensions/s2n_client_supported_versions.h +3 -0
- data/aws-crt-ffi/crt/s2n/tls/extensions/s2n_server_signature_algorithms.c +8 -1
- data/aws-crt-ffi/crt/s2n/tls/s2n_auth_selection.c +4 -2
- data/aws-crt-ffi/crt/s2n/tls/s2n_client_cert_verify.c +7 -10
- data/aws-crt-ffi/crt/s2n/tls/s2n_client_hello.c +2 -2
- data/aws-crt-ffi/crt/s2n/tls/s2n_connection.c +75 -14
- data/aws-crt-ffi/crt/s2n/tls/s2n_handshake.h +2 -2
- data/aws-crt-ffi/crt/s2n/tls/s2n_post_handshake.c +1 -1
- data/aws-crt-ffi/crt/s2n/tls/s2n_post_handshake.h +1 -0
- data/aws-crt-ffi/crt/s2n/tls/s2n_quic_support.c +29 -0
- data/aws-crt-ffi/crt/s2n/tls/s2n_quic_support.h +5 -0
- data/aws-crt-ffi/crt/s2n/tls/s2n_security_policies.c +40 -0
- data/aws-crt-ffi/crt/s2n/tls/s2n_security_policies.h +4 -0
- data/aws-crt-ffi/crt/s2n/tls/s2n_server_cert_request.c +1 -1
- data/aws-crt-ffi/crt/s2n/tls/s2n_server_hello.c +0 -3
- data/aws-crt-ffi/crt/s2n/tls/s2n_server_key_exchange.c +8 -9
- data/aws-crt-ffi/crt/s2n/tls/s2n_server_new_session_ticket.c +8 -0
- data/aws-crt-ffi/crt/s2n/tls/s2n_signature_algorithms.c +111 -72
- data/aws-crt-ffi/crt/s2n/tls/s2n_signature_algorithms.h +11 -9
- data/aws-crt-ffi/crt/s2n/tls/s2n_signature_scheme.c +9 -0
- data/aws-crt-ffi/crt/s2n/tls/s2n_signature_scheme.h +2 -0
- data/aws-crt-ffi/crt/s2n/tls/s2n_tls13_certificate_verify.c +12 -18
- data/aws-crt-ffi/crt/s2n/tls/s2n_x509_validator.c +7 -7
- data/aws-crt-ffi/src/api.h +1 -0
- data/lib/aws-crt/native.rb +1 -1
- metadata +68 -5
- data/aws-crt-ffi/crt/aws-lc/tests/ci/cdk/cdk/ssm/m1_tests_ssm_document.yaml +0 -34
- data/aws-crt-ffi/crt/aws-lc/tests/ci/run_m1_ec2_instance.sh +0 -96
@@ -156,14 +156,17 @@ OPENSSL_MSVC_PRAGMA(warning(pop))
|
|
156
156
|
extern "C" {
|
157
157
|
#endif
|
158
158
|
|
159
|
+
// On non-MSVC 64-bit targets, we expect __uint128_t support. This includes
|
160
|
+
// clang-cl, which defines both __clang__ and _MSC_VER.
|
159
161
|
#if (!defined(_MSC_VER) || defined(__clang__)) && defined(OPENSSL_64_BIT)
|
160
162
|
#define BORINGSSL_HAS_UINT128
|
161
163
|
typedef __int128_t int128_t;
|
162
164
|
typedef __uint128_t uint128_t;
|
163
165
|
|
164
|
-
//
|
165
|
-
// https://crbug.com/787617.
|
166
|
-
|
166
|
+
// __uint128_t division depends on intrinsics in the compiler runtime. Those
|
167
|
+
// intrinsics are missing in clang-cl (https://crbug.com/787617) and nanolibc.
|
168
|
+
// These may be bugs in the toolchain definition, but just disable it for now.
|
169
|
+
#if !defined(_MSC_VER) && !defined(OPENSSL_NANOLIBC)
|
167
170
|
#define BORINGSSL_CAN_DIVIDE_UINT128
|
168
171
|
#endif
|
169
172
|
#endif
|
@@ -445,20 +448,44 @@ static inline int constant_time_select_int(crypto_word_t mask, int a, int b) {
|
|
445
448
|
// of memory as secret. Secret data is tracked as it flows to registers and
|
446
449
|
// other parts of a memory. If secret data is used as a condition for a branch,
|
447
450
|
// or as a memory index, it will trigger warnings in valgrind.
|
448
|
-
#define CONSTTIME_SECRET(
|
451
|
+
#define CONSTTIME_SECRET(ptr, len) VALGRIND_MAKE_MEM_UNDEFINED(ptr, len)
|
449
452
|
|
450
453
|
// CONSTTIME_DECLASSIFY takes a pointer and a number of bytes and marks that
|
451
454
|
// region of memory as public. Public data is not subject to constant-time
|
452
455
|
// rules.
|
453
|
-
#define CONSTTIME_DECLASSIFY(
|
456
|
+
#define CONSTTIME_DECLASSIFY(ptr, len) VALGRIND_MAKE_MEM_DEFINED(ptr, len)
|
454
457
|
|
455
458
|
#else
|
456
459
|
|
457
|
-
#define CONSTTIME_SECRET(
|
458
|
-
#define CONSTTIME_DECLASSIFY(
|
460
|
+
#define CONSTTIME_SECRET(ptr, len)
|
461
|
+
#define CONSTTIME_DECLASSIFY(ptr, len)
|
459
462
|
|
460
463
|
#endif // BORINGSSL_CONSTANT_TIME_VALIDATION
|
461
464
|
|
465
|
+
static inline crypto_word_t constant_time_declassify_w(crypto_word_t v) {
|
466
|
+
// Return |v| through a value barrier to be safe. Valgrind-based constant-time
|
467
|
+
// validation is partly to check the compiler has not undone any constant-time
|
468
|
+
// work. Any place |BORINGSSL_CONSTANT_TIME_VALIDATION| influences
|
469
|
+
// optimizations, this validation is inaccurate.
|
470
|
+
//
|
471
|
+
// However, by sending pointers through valgrind, we likely inhibit escape
|
472
|
+
// analysis. On local variables, particularly booleans, we likely
|
473
|
+
// significantly impact optimizations.
|
474
|
+
//
|
475
|
+
// Thus, to be safe, stick a value barrier, in hopes of comparably inhibiting
|
476
|
+
// compiler analysis.
|
477
|
+
CONSTTIME_DECLASSIFY(&v, sizeof(v));
|
478
|
+
return value_barrier_w(v);
|
479
|
+
}
|
480
|
+
|
481
|
+
static inline int constant_time_declassify_int(int v) {
|
482
|
+
OPENSSL_STATIC_ASSERT(sizeof(uint32_t) == sizeof(int),
|
483
|
+
int_is_not_the_same_size_as_uint32_t);
|
484
|
+
// See comment above.
|
485
|
+
CONSTTIME_DECLASSIFY(&v, sizeof(v));
|
486
|
+
return value_barrier_u32(v);
|
487
|
+
}
|
488
|
+
|
462
489
|
|
463
490
|
// Thread-safe initialisation.
|
464
491
|
|
@@ -734,6 +761,15 @@ static inline uint32_t CRYPTO_bswap4(uint32_t x) {
|
|
734
761
|
static inline uint64_t CRYPTO_bswap8(uint64_t x) {
|
735
762
|
return __builtin_bswap64(x);
|
736
763
|
}
|
764
|
+
static inline crypto_word_t CRYPTO_bswap_word(crypto_word_t x) {
|
765
|
+
#if defined(OPENSSL_64_BIT)
|
766
|
+
return CRYPTO_bswap8(x);
|
767
|
+
#else
|
768
|
+
return CRYPTO_bswap4(x);
|
769
|
+
#endif
|
770
|
+
}
|
771
|
+
|
772
|
+
|
737
773
|
#elif defined(_MSC_VER)
|
738
774
|
OPENSSL_MSVC_PRAGMA(warning(push, 3))
|
739
775
|
#include <stdlib.h>
|
@@ -855,58 +891,104 @@ static inline void *OPENSSL_memset(void *dst, int c, size_t n) {
|
|
855
891
|
static inline uint32_t CRYPTO_load_u32_le(const void *in) {
|
856
892
|
uint32_t v;
|
857
893
|
OPENSSL_memcpy(&v, in, sizeof(v));
|
894
|
+
#if defined(OPENSSL_BIG_ENDIAN)
|
895
|
+
return CRYPTO_bswap4(v);
|
896
|
+
#else
|
858
897
|
return v;
|
898
|
+
#endif
|
859
899
|
}
|
860
900
|
|
861
901
|
static inline void CRYPTO_store_u32_le(void *out, uint32_t v) {
|
902
|
+
#if defined(OPENSSL_BIG_ENDIAN)
|
903
|
+
v = CRYPTO_bswap4(v);
|
904
|
+
#endif
|
862
905
|
OPENSSL_memcpy(out, &v, sizeof(v));
|
906
|
+
|
863
907
|
}
|
864
908
|
|
865
909
|
static inline uint32_t CRYPTO_load_u32_be(const void *in) {
|
866
910
|
uint32_t v;
|
867
911
|
OPENSSL_memcpy(&v, in, sizeof(v));
|
912
|
+
#if defined(OPENSSL_BIG_ENDIAN)
|
913
|
+
return v;
|
914
|
+
#else
|
868
915
|
return CRYPTO_bswap4(v);
|
916
|
+
#endif
|
869
917
|
}
|
870
918
|
|
871
919
|
static inline void CRYPTO_store_u32_be(void *out, uint32_t v) {
|
920
|
+
|
921
|
+
#if !defined(OPENSSL_BIG_ENDIAN)
|
872
922
|
v = CRYPTO_bswap4(v);
|
923
|
+
#endif
|
873
924
|
OPENSSL_memcpy(out, &v, sizeof(v));
|
925
|
+
|
874
926
|
}
|
875
927
|
|
876
928
|
static inline uint64_t CRYPTO_load_u64_le(const void *in) {
|
877
929
|
uint64_t v;
|
878
930
|
OPENSSL_memcpy(&v, in, sizeof(v));
|
931
|
+
#if defined(OPENSSL_BIG_ENDIAN)
|
932
|
+
return CRYPTO_bswap8(v);
|
933
|
+
#else
|
879
934
|
return v;
|
935
|
+
#endif
|
880
936
|
}
|
881
937
|
|
882
938
|
static inline void CRYPTO_store_u64_le(void *out, uint64_t v) {
|
939
|
+
#if defined(OPENSSL_BIG_ENDIAN)
|
940
|
+
v = CRYPTO_bswap8(v);
|
941
|
+
#endif
|
883
942
|
OPENSSL_memcpy(out, &v, sizeof(v));
|
943
|
+
|
884
944
|
}
|
885
945
|
|
886
946
|
static inline uint64_t CRYPTO_load_u64_be(const void *ptr) {
|
887
947
|
uint64_t ret;
|
888
948
|
OPENSSL_memcpy(&ret, ptr, sizeof(ret));
|
949
|
+
#if defined(OPENSSL_BIG_ENDIAN)
|
950
|
+
return ret;
|
951
|
+
#else
|
889
952
|
return CRYPTO_bswap8(ret);
|
953
|
+
#endif
|
890
954
|
}
|
891
955
|
|
892
956
|
static inline void CRYPTO_store_u64_be(void *out, uint64_t v) {
|
957
|
+
#if defined(OPENSSL_BIG_ENDIAN)
|
958
|
+
#else
|
893
959
|
v = CRYPTO_bswap8(v);
|
960
|
+
#endif
|
894
961
|
OPENSSL_memcpy(out, &v, sizeof(v));
|
962
|
+
|
895
963
|
}
|
896
964
|
|
897
965
|
static inline crypto_word_t CRYPTO_load_word_le(const void *in) {
|
966
|
+
|
898
967
|
crypto_word_t v;
|
899
968
|
OPENSSL_memcpy(&v, in, sizeof(v));
|
969
|
+
#if defined(OPENSSL_BIG_ENDIAN)
|
970
|
+
return CRYPTO_bswap_word(v);
|
971
|
+
#else
|
900
972
|
return v;
|
973
|
+
#endif
|
901
974
|
}
|
902
975
|
|
903
976
|
static inline void CRYPTO_store_word_le(void *out, crypto_word_t v) {
|
977
|
+
|
978
|
+
|
979
|
+
#if defined(OPENSSL_BIG_ENDIAN)
|
980
|
+
v = CRYPTO_bswap_word(v);
|
981
|
+
#endif
|
904
982
|
OPENSSL_memcpy(out, &v, sizeof(v));
|
983
|
+
|
905
984
|
}
|
906
985
|
|
907
986
|
static inline crypto_word_t CRYPTO_load_word_be(const void *in) {
|
908
987
|
crypto_word_t v;
|
909
988
|
OPENSSL_memcpy(&v, in, sizeof(v));
|
989
|
+
#if defined(OPENSSL_BIG_ENDIAN)
|
990
|
+
return v;
|
991
|
+
#else
|
910
992
|
#if defined(OPENSSL_64_BIT)
|
911
993
|
assert(sizeof(v) == 8);
|
912
994
|
return CRYPTO_bswap8(v);
|
@@ -914,9 +996,9 @@ static inline crypto_word_t CRYPTO_load_word_be(const void *in) {
|
|
914
996
|
assert(sizeof(v) == 4);
|
915
997
|
return CRYPTO_bswap4(v);
|
916
998
|
#endif
|
999
|
+
#endif
|
917
1000
|
}
|
918
1001
|
|
919
|
-
|
920
1002
|
// Bit rotation functions.
|
921
1003
|
//
|
922
1004
|
// Note these functions use |(-shift) & 31|, etc., because shifting by the bit
|
@@ -9,6 +9,7 @@
|
|
9
9
|
#include "../fipsmodule/delocate.h"
|
10
10
|
#include "../internal.h"
|
11
11
|
#include "internal.h"
|
12
|
+
#include "../kyber/kem_kyber.h"
|
12
13
|
|
13
14
|
// The KEM parameters listed below are taken from corresponding specifications.
|
14
15
|
//
|
@@ -25,39 +26,39 @@ static const uint8_t kOIDKyber1024r3[] = {0xff, 0xff, 0xff, 0xff};
|
|
25
26
|
|
26
27
|
static const KEM built_in_kems[AWSLC_NUM_BUILT_IN_KEMS] = {
|
27
28
|
{
|
28
|
-
NID_KYBER512_R3,
|
29
|
-
kOIDKyber512r3,
|
30
|
-
sizeof(kOIDKyber512r3),
|
31
|
-
"Kyber512 Round-3",
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
&kem_kyber512r3_method,
|
29
|
+
NID_KYBER512_R3, // kem.nid
|
30
|
+
kOIDKyber512r3, // kem.oid
|
31
|
+
sizeof(kOIDKyber512r3), // kem.oid_len
|
32
|
+
"Kyber512 Round-3", // kem.comment
|
33
|
+
KYBER512_R3_PUBLIC_KEY_BYTES, // kem.public_key_len
|
34
|
+
KYBER512_R3_SECRET_KEY_BYTES, // kem.secret_key_len
|
35
|
+
KYBER512_R3_CIPHERTEXT_BYTES, // kem.ciphertext_len
|
36
|
+
KYBER_R3_SHARED_SECRET_LEN, // kem.shared_secret_len
|
37
|
+
&kem_kyber512r3_method, // kem.method
|
37
38
|
},
|
38
39
|
|
39
40
|
{
|
40
|
-
NID_KYBER768_R3,
|
41
|
-
kOIDKyber768r3,
|
42
|
-
sizeof(kOIDKyber768r3),
|
43
|
-
"Kyber768 Round-3",
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
&kem_kyber768r3_method,
|
41
|
+
NID_KYBER768_R3, // kem.nid
|
42
|
+
kOIDKyber768r3, // kem.oid
|
43
|
+
sizeof(kOIDKyber768r3), // kem.oid_len
|
44
|
+
"Kyber768 Round-3", // kem.comment
|
45
|
+
KYBER768_R3_PUBLIC_KEY_BYTES, // kem.public_key_len
|
46
|
+
KYBER768_R3_SECRET_KEY_BYTES, // kem.secret_key_len
|
47
|
+
KYBER768_R3_CIPHERTEXT_BYTES, // kem.ciphertext_len
|
48
|
+
KYBER_R3_SHARED_SECRET_LEN, // kem.shared_secret_len
|
49
|
+
&kem_kyber768r3_method, // kem.method
|
49
50
|
},
|
50
51
|
|
51
52
|
{
|
52
|
-
NID_KYBER1024_R3,
|
53
|
-
kOIDKyber1024r3,
|
54
|
-
sizeof(kOIDKyber1024r3),
|
55
|
-
"Kyber1024 Round-3",
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
&kem_kyber1024r3_method,
|
53
|
+
NID_KYBER1024_R3, // kem.nid
|
54
|
+
kOIDKyber1024r3, // kem.oid
|
55
|
+
sizeof(kOIDKyber1024r3), // kem.oid_len
|
56
|
+
"Kyber1024 Round-3", // kem.comment
|
57
|
+
KYBER1024_R3_PUBLIC_KEY_BYTES, // kem.public_key_len
|
58
|
+
KYBER1024_R3_SECRET_KEY_BYTES, // kem.secret_key_len
|
59
|
+
KYBER1024_R3_CIPHERTEXT_BYTES, // kem.ciphertext_len
|
60
|
+
KYBER_R3_SHARED_SECRET_LEN, // kem.shared_secret_len
|
61
|
+
&kem_kyber1024r3_method, // kem.method
|
61
62
|
},
|
62
63
|
};
|
63
64
|
|
@@ -9,6 +9,20 @@
|
|
9
9
|
#include <openssl/base.h>
|
10
10
|
#include <openssl/evp.h>
|
11
11
|
|
12
|
+
#define KYBER_R3_SHARED_SECRET_LEN 32
|
13
|
+
|
14
|
+
#define KYBER512_R3_PUBLIC_KEY_BYTES 800
|
15
|
+
#define KYBER512_R3_SECRET_KEY_BYTES 1632
|
16
|
+
#define KYBER512_R3_CIPHERTEXT_BYTES 768
|
17
|
+
|
18
|
+
#define KYBER768_R3_PUBLIC_KEY_BYTES 1184
|
19
|
+
#define KYBER768_R3_SECRET_KEY_BYTES 2400
|
20
|
+
#define KYBER768_R3_CIPHERTEXT_BYTES 1088
|
21
|
+
|
22
|
+
#define KYBER1024_R3_PUBLIC_KEY_BYTES 1568
|
23
|
+
#define KYBER1024_R3_SECRET_KEY_BYTES 3168
|
24
|
+
#define KYBER1024_R3_CIPHERTEXT_BYTES 1568
|
25
|
+
|
12
26
|
int kyber512r3_keypair(uint8_t *public_key /* OUT */,
|
13
27
|
uint8_t *secret_key /* OUT */);
|
14
28
|
|
@@ -56,7 +56,7 @@
|
|
56
56
|
|
57
57
|
/* This file is generated by crypto/obj/objects.go. */
|
58
58
|
|
59
|
-
#define NUM_NID
|
59
|
+
#define NUM_NID 983
|
60
60
|
|
61
61
|
static const uint8_t kObjectData[] = {
|
62
62
|
/* NID_rsadsi */
|
@@ -7188,6 +7188,36 @@ static const uint8_t kObjectData[] = {
|
|
7188
7188
|
0x07,
|
7189
7189
|
0x06,
|
7190
7190
|
0x05,
|
7191
|
+
/* NID_sha512_224 */
|
7192
|
+
0x60,
|
7193
|
+
0x86,
|
7194
|
+
0x48,
|
7195
|
+
0x01,
|
7196
|
+
0x65,
|
7197
|
+
0x03,
|
7198
|
+
0x04,
|
7199
|
+
0x02,
|
7200
|
+
0x05,
|
7201
|
+
/* NID_shake128 */
|
7202
|
+
0x60,
|
7203
|
+
0x86,
|
7204
|
+
0x48,
|
7205
|
+
0x01,
|
7206
|
+
0x65,
|
7207
|
+
0x03,
|
7208
|
+
0x04,
|
7209
|
+
0x02,
|
7210
|
+
0x0b,
|
7211
|
+
/* NID_shake256 */
|
7212
|
+
0x60,
|
7213
|
+
0x86,
|
7214
|
+
0x48,
|
7215
|
+
0x01,
|
7216
|
+
0x65,
|
7217
|
+
0x03,
|
7218
|
+
0x04,
|
7219
|
+
0x02,
|
7220
|
+
0x0c,
|
7191
7221
|
};
|
7192
7222
|
|
7193
7223
|
static const ASN1_OBJECT kObjects[NUM_NID] = {
|
@@ -8850,6 +8880,13 @@ static const ASN1_OBJECT kObjects[NUM_NID] = {
|
|
8850
8880
|
&kObjectData[6232], 0},
|
8851
8881
|
{"ffdhe2048", "ffdhe2048", NID_ffdhe2048, 0, NULL, 0},
|
8852
8882
|
{"ffdhe4096", "ffdhe4096", NID_ffdhe4096, 0, NULL, 0},
|
8883
|
+
{"SHA512-224", "sha512-224", NID_sha512_224, 9, &kObjectData[6243], 0},
|
8884
|
+
{"SHAKE128", "shake128", NID_shake128, 9, &kObjectData[6252], 0},
|
8885
|
+
{"SHAKE256", "shake256", NID_shake256, 9, &kObjectData[6261], 0},
|
8886
|
+
{"SecP256r1Kyber768Draft00", "SecP256r1Kyber768Draft00",
|
8887
|
+
NID_SecP256r1Kyber768Draft00, 0, NULL, 0},
|
8888
|
+
{"X25519Kyber768Draft00", "X25519Kyber768Draft00",
|
8889
|
+
NID_X25519Kyber768Draft00, 0, NULL, 0},
|
8853
8890
|
};
|
8854
8891
|
|
8855
8892
|
static const uint16_t kNIDsInShortNameOrder[] = {
|
@@ -9051,15 +9088,20 @@ static const uint16_t kNIDsInShortNameOrder[] = {
|
|
9051
9088
|
968 /* SHA3-512 */,
|
9052
9089
|
673 /* SHA384 */,
|
9053
9090
|
674 /* SHA512 */,
|
9091
|
+
978 /* SHA512-224 */,
|
9054
9092
|
962 /* SHA512-256 */,
|
9093
|
+
979 /* SHAKE128 */,
|
9094
|
+
980 /* SHAKE256 */,
|
9055
9095
|
188 /* SMIME */,
|
9056
9096
|
167 /* SMIME-CAPS */,
|
9057
9097
|
100 /* SN */,
|
9058
9098
|
16 /* ST */,
|
9059
9099
|
143 /* SXNetID */,
|
9100
|
+
981 /* SecP256r1Kyber768Draft00 */,
|
9060
9101
|
458 /* UID */,
|
9061
9102
|
0 /* UNDEF */,
|
9062
9103
|
948 /* X25519 */,
|
9104
|
+
982 /* X25519Kyber768Draft00 */,
|
9063
9105
|
961 /* X448 */,
|
9064
9106
|
11 /* X500 */,
|
9065
9107
|
378 /* X500algorithms */,
|
@@ -9927,6 +9969,7 @@ static const uint16_t kNIDsInLongNameOrder[] = {
|
|
9927
9969
|
188 /* S/MIME */,
|
9928
9970
|
167 /* S/MIME Capabilities */,
|
9929
9971
|
387 /* SNMPv2 */,
|
9972
|
+
981 /* SecP256r1Kyber768Draft00 */,
|
9930
9973
|
512 /* Secure Electronic Transactions */,
|
9931
9974
|
386 /* Security */,
|
9932
9975
|
394 /* Selected Attribute Types */,
|
@@ -9937,6 +9980,7 @@ static const uint16_t kNIDsInLongNameOrder[] = {
|
|
9937
9980
|
133 /* Time Stamping */,
|
9938
9981
|
375 /* Trust Root */,
|
9939
9982
|
948 /* X25519 */,
|
9983
|
+
982 /* X25519Kyber768Draft00 */,
|
9940
9984
|
961 /* X448 */,
|
9941
9985
|
12 /* X509 */,
|
9942
9986
|
402 /* X509v3 AC Targeting */,
|
@@ -10741,9 +10785,12 @@ static const uint16_t kNIDsInLongNameOrder[] = {
|
|
10741
10785
|
673 /* sha384 */,
|
10742
10786
|
669 /* sha384WithRSAEncryption */,
|
10743
10787
|
674 /* sha512 */,
|
10788
|
+
978 /* sha512-224 */,
|
10744
10789
|
962 /* sha512-256 */,
|
10745
10790
|
670 /* sha512WithRSAEncryption */,
|
10746
10791
|
42 /* shaWithRSAEncryption */,
|
10792
|
+
979 /* shake128 */,
|
10793
|
+
980 /* shake256 */,
|
10747
10794
|
52 /* signingTime */,
|
10748
10795
|
454 /* simpleSecurityObject */,
|
10749
10796
|
496 /* singleLevelQuality */,
|
@@ -10795,8 +10842,8 @@ static const uint16_t kNIDsInLongNameOrder[] = {
|
|
10795
10842
|
static const uint16_t kNIDsInOIDOrder[] = {
|
10796
10843
|
434 /* 0.9 (OBJ_data) */,
|
10797
10844
|
182 /* 1.2 (OBJ_member_body) */,
|
10798
|
-
379 /* 1.3 (OBJ_org) */,
|
10799
10845
|
676 /* 1.3 (OBJ_identified_organization) */,
|
10846
|
+
379 /* 1.3 (OBJ_org) */,
|
10800
10847
|
11 /* 2.5 (OBJ_X500) */,
|
10801
10848
|
647 /* 2.23 (OBJ_international_organizations) */,
|
10802
10849
|
380 /* 1.3.6 (OBJ_dod) */,
|
@@ -11501,11 +11548,14 @@ static const uint16_t kNIDsInOIDOrder[] = {
|
|
11501
11548
|
673 /* 2.16.840.1.101.3.4.2.2 (OBJ_sha384) */,
|
11502
11549
|
674 /* 2.16.840.1.101.3.4.2.3 (OBJ_sha512) */,
|
11503
11550
|
675 /* 2.16.840.1.101.3.4.2.4 (OBJ_sha224) */,
|
11551
|
+
978 /* 2.16.840.1.101.3.4.2.5 (OBJ_sha512_224) */,
|
11504
11552
|
962 /* 2.16.840.1.101.3.4.2.6 (OBJ_sha512_256) */,
|
11505
11553
|
965 /* 2.16.840.1.101.3.4.2.7 (OBJ_sha3_224) */,
|
11506
11554
|
966 /* 2.16.840.1.101.3.4.2.8 (OBJ_sha3_256) */,
|
11507
11555
|
967 /* 2.16.840.1.101.3.4.2.9 (OBJ_sha3_384) */,
|
11508
11556
|
968 /* 2.16.840.1.101.3.4.2.10 (OBJ_sha3_512) */,
|
11557
|
+
979 /* 2.16.840.1.101.3.4.2.11 (OBJ_shake128) */,
|
11558
|
+
980 /* 2.16.840.1.101.3.4.2.12 (OBJ_shake256) */,
|
11509
11559
|
802 /* 2.16.840.1.101.3.4.3.1 (OBJ_dsa_with_SHA224) */,
|
11510
11560
|
803 /* 2.16.840.1.101.3.4.3.2 (OBJ_dsa_with_SHA256) */,
|
11511
11561
|
71 /* 2.16.840.1.113730.1.1 (OBJ_netscape_cert_type) */,
|
@@ -131,6 +131,10 @@ secg-ellipticCurve 39 : sect571r1
|
|
131
131
|
: ffdhe2048
|
132
132
|
: ffdhe4096
|
133
133
|
|
134
|
+
# PQ Groups
|
135
|
+
: SecP256r1Kyber768Draft00
|
136
|
+
: X25519Kyber768Draft00
|
137
|
+
|
134
138
|
# WAP/TLS curve OIDs (http://www.wapforum.org/)
|
135
139
|
!Alias wap-wsg-idm-ecid wap-wsg 4
|
136
140
|
wap-wsg-idm-ecid 1 : wap-wsg-idm-ecid-wtls1
|
@@ -909,6 +913,7 @@ nist_hashalgs 1 : SHA256 : sha256
|
|
909
913
|
nist_hashalgs 2 : SHA384 : sha384
|
910
914
|
nist_hashalgs 3 : SHA512 : sha512
|
911
915
|
nist_hashalgs 4 : SHA224 : sha224
|
916
|
+
nist_hashalgs 5 : SHA512-224 : sha512-224
|
912
917
|
nist_hashalgs 6 : SHA512-256 : sha512-256
|
913
918
|
|
914
919
|
# OIDs for dsa-with-sha224 and dsa-with-sha256
|
@@ -1368,6 +1373,8 @@ nist_sha3hashalgs 7 : SHA3-224 : sha3-224
|
|
1368
1373
|
nist_sha3hashalgs 8 : SHA3-256 : sha3-256
|
1369
1374
|
nist_sha3hashalgs 9 : SHA3-384 : sha3-384
|
1370
1375
|
nist_sha3hashalgs 10 : SHA3-512 : sha3-512
|
1376
|
+
nist_sha3hashalgs 11 : SHAKE128 : shake128
|
1377
|
+
nist_sha3hashalgs 12 : SHAKE256 : shake256
|
1371
1378
|
|
1372
1379
|
: HKDF : hkdf
|
1373
1380
|
|
@@ -153,9 +153,9 @@ sub expand_line {
|
|
153
153
|
|
154
154
|
my ($arch_defines, $target_defines);
|
155
155
|
if ($flavour =~ /32/) {
|
156
|
-
$arch_defines = "defined(
|
156
|
+
$arch_defines = "defined(OPENSSL_ARM)";
|
157
157
|
} elsif ($flavour =~ /64/) {
|
158
|
-
$arch_defines = "defined(
|
158
|
+
$arch_defines = "defined(OPENSSL_AARCH64)";
|
159
159
|
} else {
|
160
160
|
die "unknown architecture: $flavour";
|
161
161
|
}
|
@@ -177,18 +177,11 @@ print <<___;
|
|
177
177
|
// This file is generated from a similarly-named Perl script in the BoringSSL
|
178
178
|
// source tree. Do not edit by hand.
|
179
179
|
|
180
|
-
#
|
181
|
-
#define __has_feature(x) 0
|
182
|
-
#endif
|
183
|
-
#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM)
|
184
|
-
#define OPENSSL_NO_ASM
|
185
|
-
#endif
|
180
|
+
#include <openssl/asm_base.h>
|
186
181
|
|
187
182
|
#if !defined(OPENSSL_NO_ASM) && $arch_defines && $target_defines
|
188
183
|
___
|
189
184
|
|
190
|
-
print "#include <openssl/boringssl_prefix_symbols_asm.h>\n";
|
191
|
-
|
192
185
|
while(my $line=<>) {
|
193
186
|
|
194
187
|
if ($line =~ m/^\s*(#|@|\/\/)/) { print $line; next; }
|
@@ -258,10 +251,6 @@ while(my $line=<>) {
|
|
258
251
|
|
259
252
|
print <<___;
|
260
253
|
#endif // !OPENSSL_NO_ASM && $arch_defines && $target_defines
|
261
|
-
#if defined(__ELF__)
|
262
|
-
// See https://www.airs.com/blog/archives/518.
|
263
|
-
.section .note.GNU-stack,"",\%progbits
|
264
|
-
#endif
|
265
254
|
___
|
266
255
|
|
267
256
|
close STDOUT or die "error closing STDOUT: $!";
|
@@ -259,11 +259,7 @@ print <<___;
|
|
259
259
|
// This file is generated from a similarly-named Perl script in the BoringSSL
|
260
260
|
// source tree. Do not edit by hand.
|
261
261
|
|
262
|
-
#
|
263
|
-
#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM)
|
264
|
-
#define OPENSSL_NO_ASM
|
265
|
-
#endif
|
266
|
-
#endif
|
262
|
+
#include <openssl/asm_base.h>
|
267
263
|
|
268
264
|
#if !defined(OPENSSL_NO_ASM) && defined(__powerpc64__) && defined(__ELF__)
|
269
265
|
#include <openssl/boringssl_prefix_symbols_asm.h>
|
@@ -1520,14 +1520,9 @@ if ($gas) {
|
|
1520
1520
|
die "unknown target: $flavour";
|
1521
1521
|
}
|
1522
1522
|
print <<___;
|
1523
|
-
#
|
1524
|
-
|
1525
|
-
#
|
1526
|
-
#endif
|
1527
|
-
#endif
|
1528
|
-
|
1529
|
-
#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM) && $target
|
1530
|
-
#include <openssl/boringssl_prefix_symbols_asm.h>
|
1523
|
+
#include <openssl/asm_base.h>
|
1524
|
+
|
1525
|
+
#if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86_64) && $target
|
1531
1526
|
___
|
1532
1527
|
}
|
1533
1528
|
|
@@ -1623,13 +1618,7 @@ print "\n$current_segment\tENDS\n" if ($current_segment && $masm);
|
|
1623
1618
|
if ($masm) {
|
1624
1619
|
print "END\n";
|
1625
1620
|
} elsif ($gas) {
|
1626
|
-
print
|
1627
|
-
#endif
|
1628
|
-
#if defined(__ELF__)
|
1629
|
-
// See https://www.airs.com/blog/archives/518.
|
1630
|
-
.section .note.GNU-stack,"",\%progbits
|
1631
|
-
#endif
|
1632
|
-
___
|
1621
|
+
print "#endif\n";
|
1633
1622
|
} elsif ($nasm) {
|
1634
1623
|
print <<___;
|
1635
1624
|
\%else
|
@@ -305,22 +305,13 @@ ___
|
|
305
305
|
}
|
306
306
|
|
307
307
|
print <<___;
|
308
|
-
#
|
309
|
-
|
310
|
-
#
|
311
|
-
#endif
|
312
|
-
#endif
|
313
|
-
|
314
|
-
#if !defined(OPENSSL_NO_ASM) && defined(__i386__) && $target
|
315
|
-
#include <openssl/boringssl_prefix_symbols_asm.h>
|
308
|
+
#include <openssl/asm_base.h>
|
309
|
+
|
310
|
+
#if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86) && $target
|
316
311
|
___
|
317
312
|
print @out;
|
318
313
|
print <<___;
|
319
|
-
#endif // !defined(OPENSSL_NO_ASM) && defined(
|
320
|
-
#if defined(__ELF__)
|
321
|
-
// See https://www.airs.com/blog/archives/518.
|
322
|
-
.section .note.GNU-stack,"",\%progbits
|
323
|
-
#endif
|
314
|
+
#endif // !defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86) && $target
|
324
315
|
___
|
325
316
|
}
|
326
317
|
}
|
@@ -1,12 +1,6 @@
|
|
1
|
-
#
|
2
|
-
#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM)
|
3
|
-
#define OPENSSL_NO_ASM
|
4
|
-
#endif
|
5
|
-
#endif
|
1
|
+
#include <openssl/asm_base.h>
|
6
2
|
|
7
|
-
#if defined(
|
8
|
-
|
9
|
-
#include <openssl/boringssl_prefix_symbols_asm.h>
|
3
|
+
#if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_ARM) && defined(__ELF__)
|
10
4
|
|
11
5
|
# This implementation was taken from the public domain, neon2 version in
|
12
6
|
# SUPERCOP by D. J. Bernstein and Peter Schwabe.
|
@@ -2020,8 +2014,4 @@ vst1.8 d4,[r0,: 64]
|
|
2020
2014
|
add sp,sp,#0
|
2021
2015
|
bx lr
|
2022
2016
|
|
2023
|
-
#endif /*
|
2024
|
-
|
2025
|
-
#if defined(__ELF__)
|
2026
|
-
.section .note.GNU-stack,"",%progbits
|
2027
|
-
#endif
|
2017
|
+
#endif /* !OPENSSL_NO_ASM && OPENSSL_ARM && __ELF__ */
|
@@ -14,14 +14,15 @@
|
|
14
14
|
|
15
15
|
#include <openssl/rand.h>
|
16
16
|
|
17
|
-
#
|
17
|
+
#include "../fipsmodule/rand/internal.h"
|
18
|
+
|
19
|
+
#if defined(OPENSSL_RAND_DETERMINISTIC)
|
18
20
|
|
19
21
|
#include <string.h>
|
20
22
|
|
21
23
|
#include <openssl/chacha.h>
|
22
24
|
|
23
25
|
#include "../internal.h"
|
24
|
-
#include "../fipsmodule/rand/internal.h"
|
25
26
|
|
26
27
|
|
27
28
|
// g_num_calls is the number of calls to |CRYPTO_sysrand| that have occurred.
|
@@ -53,4 +54,4 @@ void CRYPTO_sysrand_for_seed(uint8_t *out, size_t requested) {
|
|
53
54
|
CRYPTO_sysrand(out, requested);
|
54
55
|
}
|
55
56
|
|
56
|
-
#endif //
|
57
|
+
#endif // OPENSSL_RAND_DETERMINISTIC
|
@@ -14,15 +14,15 @@
|
|
14
14
|
|
15
15
|
#include <openssl/rand.h>
|
16
16
|
|
17
|
-
#
|
17
|
+
#include "../fipsmodule/rand/internal.h"
|
18
|
+
|
19
|
+
#if defined(OPENSSL_RAND_FUCHSIA)
|
18
20
|
|
19
21
|
#include <limits.h>
|
20
22
|
#include <stdlib.h>
|
21
23
|
|
22
24
|
#include <zircon/syscalls.h>
|
23
25
|
|
24
|
-
#include "../fipsmodule/rand/internal.h"
|
25
|
-
|
26
26
|
void CRYPTO_sysrand(uint8_t *out, size_t requested) {
|
27
27
|
zx_cprng_draw(out, requested);
|
28
28
|
}
|
@@ -31,4 +31,4 @@ void CRYPTO_sysrand_for_seed(uint8_t *out, size_t requested) {
|
|
31
31
|
CRYPTO_sysrand(out, requested);
|
32
32
|
}
|
33
33
|
|
34
|
-
#endif //
|
34
|
+
#endif // OPENSSL_RAND_FUCHSIA
|