grpc 1.69.0 → 1.70.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Makefile +251 -249
- data/include/grpc/support/atm.h +0 -13
- data/src/core/call/request_buffer.cc +224 -0
- data/src/core/call/request_buffer.h +192 -0
- data/src/core/client_channel/client_channel.cc +2 -3
- data/src/core/client_channel/client_channel_args.h +21 -0
- data/src/core/client_channel/client_channel_filter.h +1 -3
- data/src/core/client_channel/retry_interceptor.cc +406 -0
- data/src/core/client_channel/retry_interceptor.h +157 -0
- data/src/core/client_channel/retry_service_config.h +13 -0
- data/src/core/client_channel/retry_throttle.cc +33 -18
- data/src/core/client_channel/retry_throttle.h +3 -3
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +596 -94
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +189 -13
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +1 -0
- data/src/core/ext/transport/chttp2/transport/frame_security.cc +1 -3
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +40 -1
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +3 -1
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +66 -36
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +19 -17
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +116 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +31 -5
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +67 -6
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +12 -8
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb.h +151 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.c +60 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.h +32 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +228 -21
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +65 -17
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.h +6 -0
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +7 -106
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +7 -28
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +85 -0
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +25 -3
- data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +2 -1
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +152 -0
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +40 -10
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +135 -4
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +41 -9
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.c +0 -1
- data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +16 -0
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +3 -2
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +60 -0
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.c +13 -2
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.c +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +102 -24
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +28 -19
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +251 -18
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +41 -16
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +2 -1
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.c +11 -10
- data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.c +418 -413
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.c +161 -153
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.c +267 -261
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.c +46 -0
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.h +33 -0
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.c +29 -19
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.h +15 -0
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.c +58 -65
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.h +0 -5
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.c +73 -63
- data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.c +49 -48
- data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.c +117 -100
- data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.c +905 -897
- data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.c +15 -18
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +460 -457
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.c +16 -19
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +95 -95
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +202 -191
- data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.c +148 -135
- data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.c +23 -22
- data/src/core/filter/filter_args.h +112 -0
- data/src/core/handshaker/http_connect/http_connect_handshaker.cc +1 -1
- data/src/core/lib/channel/promise_based_filter.h +5 -79
- data/src/core/lib/debug/trace_flags.cc +2 -0
- data/src/core/lib/debug/trace_flags.h +1 -0
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +14 -0
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +7 -2
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +0 -2
- data/src/core/lib/event_engine/windows/windows_engine.cc +1 -0
- data/src/core/lib/experiments/experiments.cc +90 -39
- data/src/core/lib/experiments/experiments.h +43 -24
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +1 -1
- data/src/core/lib/promise/activity.cc +2 -0
- data/src/core/lib/promise/activity.h +29 -8
- data/src/core/lib/promise/map.h +42 -0
- data/src/core/lib/promise/party.cc +36 -1
- data/src/core/lib/promise/party.h +13 -5
- data/src/core/lib/promise/sleep.h +1 -0
- data/src/core/lib/promise/status_flag.h +10 -0
- data/src/core/lib/resource_quota/arena.h +8 -0
- data/src/core/lib/resource_quota/connection_quota.h +4 -0
- data/src/core/lib/surface/call_utils.h +2 -0
- data/src/core/lib/surface/client_call.cc +43 -35
- data/src/core/lib/surface/client_call.h +5 -0
- data/src/core/lib/surface/event_string.cc +7 -1
- data/src/core/lib/surface/init_internally.h +13 -2
- data/src/core/lib/surface/server_call.cc +100 -85
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/call_filters.cc +10 -4
- data/src/core/lib/transport/call_filters.h +8 -0
- data/src/core/lib/transport/call_spine.cc +36 -71
- data/src/core/lib/transport/call_spine.h +131 -7
- data/src/core/lib/transport/call_state.h +132 -39
- data/src/core/lib/transport/interception_chain.cc +8 -0
- data/src/core/lib/transport/interception_chain.h +9 -0
- data/src/core/load_balancing/endpoint_list.cc +10 -0
- data/src/core/load_balancing/endpoint_list.h +13 -6
- data/src/core/load_balancing/lb_policy.h +0 -8
- data/src/core/load_balancing/pick_first/pick_first.cc +89 -56
- data/src/core/load_balancing/ring_hash/ring_hash.cc +158 -70
- data/src/core/load_balancing/ring_hash/ring_hash.h +4 -11
- data/src/core/load_balancing/round_robin/round_robin.cc +9 -14
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +12 -15
- data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +4 -4
- data/src/core/resolver/xds/xds_dependency_manager.cc +139 -135
- data/src/core/resolver/xds/xds_dependency_manager.h +24 -18
- data/src/core/resolver/xds/xds_resolver.cc +28 -47
- data/src/core/server/server.cc +290 -24
- data/src/core/server/server.h +199 -61
- data/src/core/server/xds_server_config_fetcher.cc +78 -142
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +1 -1
- data/src/core/util/backoff.cc +15 -4
- data/src/core/util/http_client/httpcli.cc +66 -18
- data/src/core/util/http_client/httpcli.h +14 -4
- data/src/core/util/matchers.h +5 -10
- data/src/core/util/ref_counted.h +1 -0
- data/src/core/util/ref_counted_ptr.h +1 -1
- data/src/core/util/useful.h +9 -11
- data/src/core/xds/grpc/xds_endpoint_parser.cc +54 -23
- data/src/core/xds/grpc/xds_metadata.h +8 -0
- data/src/core/xds/xds_client/xds_api.cc +0 -223
- data/src/core/xds/xds_client/xds_api.h +1 -133
- data/src/core/xds/xds_client/xds_client.cc +599 -466
- data/src/core/xds/xds_client/xds_client.h +107 -26
- data/src/core/xds/xds_client/xds_resource_type_impl.h +10 -5
- data/src/ruby/ext/grpc/extconf.rb +1 -0
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_bitstr.c → a_bitstr.cc} +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_d2i_fp.c → a_d2i_fp.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_dup.c → a_dup.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_i2d_fp.c → a_i2d_fp.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_int.c → a_int.cc} +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_mbstr.c → a_mbstr.cc} +9 -7
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_object.c → a_object.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_strnid.c → a_strnid.cc} +7 -4
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_type.c → a_type.cc} +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{asn1_lib.c → asn1_lib.cc} +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{asn_pack.c → asn_pack.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{posix_time.c → posix_time.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_dec.c → tasn_dec.cc} +4 -3
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_enc.c → tasn_enc.cc} +9 -6
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_fre.c → tasn_fre.cc} +14 -20
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_new.c → tasn_new.cc} +7 -6
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_utl.c → tasn_utl.cc} +13 -10
- data/third_party/boringssl-with-bazel/src/crypto/base64/{base64.c → base64.cc} +9 -12
- data/third_party/boringssl-with-bazel/src/crypto/bcm_support.h +7 -1
- data/third_party/boringssl-with-bazel/src/crypto/bio/{bio.c → bio.cc} +32 -58
- data/third_party/boringssl-with-bazel/src/crypto/bio/{bio_mem.c → bio_mem.cc} +8 -7
- data/third_party/boringssl-with-bazel/src/crypto/bio/{connect.c → connect.cc} +24 -16
- data/third_party/boringssl-with-bazel/src/crypto/bio/{file.c → file.cc} +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/bio/{pair.c → pair.cc} +22 -20
- data/third_party/boringssl-with-bazel/src/crypto/bio/{printf.c → printf.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/bio/{socket_helper.c → socket_helper.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/blake2/{blake2.c → blake2.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/bn_extra/{bn_asn1.c → bn_asn1.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/bn_extra/{convert.c → convert.cc} +21 -21
- data/third_party/boringssl-with-bazel/src/crypto/buf/{buf.c → buf.cc} +6 -3
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/{asn1_compat.c → asn1_compat.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/{ber.c → ber.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/{cbb.c → cbb.cc} +33 -49
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/{cbs.c → cbs.cc} +20 -27
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/{unicode.c → unicode.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/chacha/{chacha.c → chacha.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_aesctrhmac.c → e_aesctrhmac.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_aesgcmsiv.c → e_aesgcmsiv.cc} +23 -26
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_chacha20poly1305.c → e_chacha20poly1305.cc} +1 -8
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_des.c → e_des.cc} +61 -49
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_null.c → e_null.cc} +12 -9
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_rc2.c → e_rc2.cc} +23 -19
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_rc4.c → e_rc4.cc} +10 -8
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_tls.c → e_tls.cc} +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/conf/{conf.c → conf.cc} +17 -14
- data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_apple.c → cpu_aarch64_apple.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_fuchsia.c → cpu_aarch64_fuchsia.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_linux.c → cpu_aarch64_linux.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_openbsd.c → cpu_aarch64_openbsd.cc} +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_sysreg.c → cpu_aarch64_sysreg.cc} +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_win.c → cpu_aarch64_win.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_arm_freebsd.c → cpu_arm_freebsd.cc} +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_arm_linux.c → cpu_arm_linux.cc} +5 -5
- data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_intel.c → cpu_intel.cc} +47 -32
- data/third_party/boringssl-with-bazel/src/crypto/{crypto.c → crypto.cc} +6 -11
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/{curve25519.c → curve25519.cc} +28 -31
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/{curve25519_64_adx.c → curve25519_64_adx.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/{spake25519.c → spake25519.cc} +20 -16
- data/third_party/boringssl-with-bazel/src/crypto/dh_extra/{dh_asn1.c → dh_asn1.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/digest_extra/{digest_extra.c → digest_extra.cc} +113 -31
- data/third_party/boringssl-with-bazel/src/crypto/dsa/{dsa.c → dsa.cc} +153 -154
- data/third_party/boringssl-with-bazel/src/crypto/dsa/{dsa_asn1.c → dsa_asn1.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +1 -3
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/{ec_asn1.c → ec_asn1.cc} +35 -0
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/{ec_derive.c → ec_derive.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/{hash_to_curve.c → hash_to_curve.cc} +66 -64
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/{ecdsa_asn1.c → ecdsa_asn1.cc} +15 -25
- data/third_party/boringssl-with-bazel/src/crypto/engine/{engine.c → engine.cc} +12 -8
- data/third_party/boringssl-with-bazel/src/crypto/err/{err.c → err.cc} +24 -27
- data/third_party/boringssl-with-bazel/src/crypto/err/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/evp/{evp.c → evp.cc} +8 -9
- data/third_party/boringssl-with-bazel/src/crypto/evp/{evp_ctx.c → evp_ctx.cc} +7 -8
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_dh.c → p_dh.cc} +23 -14
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_dh_asn1.c → p_dh_asn1.cc} +38 -21
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_dsa_asn1.c → p_dsa_asn1.cc} +19 -24
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_ec.c → p_ec.cc} +20 -23
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_ec_asn1.c → p_ec_asn1.cc} +20 -20
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_ed25519.c → p_ed25519.cc} +22 -19
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_ed25519_asn1.c → p_ed25519_asn1.cc} +14 -13
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_hkdf.c → p_hkdf.cc} +18 -14
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_rsa.c → p_rsa.cc} +38 -37
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_rsa_asn1.c → p_rsa_asn1.cc} +16 -18
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_x25519.c → p_x25519.cc} +22 -19
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_x25519_asn1.c → p_x25519_asn1.cc} +18 -17
- data/third_party/boringssl-with-bazel/src/crypto/evp/{pbkdf.c → pbkdf.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/evp/{print.c → print.cc} +4 -5
- data/third_party/boringssl-with-bazel/src/crypto/evp/{scrypt.c → scrypt.cc} +7 -5
- data/third_party/boringssl-with-bazel/src/crypto/{ex_data.c → ex_data.cc} +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{aes_nohw.c.inc → aes_nohw.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +1 -5
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{key_wrap.c.inc → key_wrap.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/{bcm.c → bcm.cc} +96 -101
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm_interface.h +165 -12
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{add.c.inc → add.cc.inc} +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/{x86_64-gcc.c.inc → x86_64-gcc.cc.inc} +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{bn.c.inc → bn.cc.inc} +12 -24
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{ctx.c.inc → ctx.cc.inc} +5 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{div.c.inc → div.cc.inc} +29 -38
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{div_extra.c.inc → div_extra.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{exponentiation.c.inc → exponentiation.cc.inc} +22 -22
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{gcd.c.inc → gcd.cc.inc} +3 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{gcd_extra.c.inc → gcd_extra.cc.inc} +33 -25
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{montgomery.c.inc → montgomery.cc.inc} +10 -17
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{mul.c.inc → mul.cc.inc} +11 -15
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{prime.c.inc → prime.cc.inc} +31 -34
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{shift.c.inc → shift.cc.inc} +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{aead.c.inc → aead.cc.inc} +18 -10
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{cipher.c.inc → cipher.cc.inc} +6 -9
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{e_aes.c.inc → e_aes.cc.inc} +46 -54
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/{cmac.c.inc → cmac.cc.inc} +6 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +14 -10
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/{dh.c.inc → dh.cc.inc} +15 -19
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +1 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/{digest.c.inc → digest.cc.inc} +17 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/{digests.c.inc → digests.cc.inc} +29 -113
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/{digestsign.c.inc → digestsign.cc.inc} +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/builtin_curves.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec.c.inc → ec.cc.inc} +10 -15
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec_key.c.inc → ec_key.cc.inc} +12 -14
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{felem.c.inc → felem.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{oct.c.inc → oct.cc.inc} +5 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p224-64.c.inc → p224-64.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz-table.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-nistz.c.inc → p256-nistz.cc.inc} +15 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256.c.inc → p256.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{scalar.c.inc → scalar.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{simple_mul.c.inc → simple_mul.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{util.c.inc → util.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{wnaf.c.inc → wnaf.cc.inc} +24 -15
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/{ecdh.c.inc → ecdh.cc.inc} +14 -5
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/{ecdsa.c.inc → ecdsa.cc.inc} +6 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/{fips_shared_support.c → fips_shared_support.cc} +2 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/{hkdf.c.inc → hkdf.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/{hmac.c.inc → hmac.cc.inc} +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{gcm.c.inc → gcm.cc.inc} +69 -21
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{gcm_nohw.c.inc → gcm_nohw.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +53 -33
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{polyval.c.inc → polyval.cc.inc} +2 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/{ctrdrbg.c.inc → ctrdrbg.cc.inc} +5 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/{rand.c.inc → rand.cc.inc} +20 -18
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{blinding.c.inc → blinding.cc.inc} +5 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{padding.c.inc → padding.cc.inc} +21 -21
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{rsa.c.inc → rsa.cc.inc} +77 -73
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{rsa_impl.c.inc → rsa_impl.cc.inc} +50 -53
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/{fips.c.inc → fips.cc.inc} +14 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/{self_check.c.inc → self_check.cc.inc} +56 -52
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/{service_indicator.c.inc → service_indicator.cc.inc} +10 -11
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +2 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/{sha1.c.inc → sha1.cc.inc} +26 -33
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/{sha256.c.inc → sha256.cc.inc} +37 -55
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/{sha512.c.inc → sha512.cc.inc} +48 -76
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/hpke/{hpke.c → hpke.cc} +7 -4
- data/third_party/boringssl-with-bazel/src/crypto/hrss/{hrss.c → hrss.cc} +53 -110
- data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +191 -248
- data/third_party/boringssl-with-bazel/src/crypto/keccak/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/keccak/{keccak.c → keccak.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/kyber/{kyber.c → kyber.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/lhash/{lhash.c → lhash.cc} +8 -7
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/md4/md4.c.inc → md4/md4.cc} +8 -12
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/md5 → md5}/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/md5/md5.c.inc → md5/md5.cc} +4 -3
- data/third_party/boringssl-with-bazel/src/crypto/{mem.c → mem.cc} +34 -22
- data/third_party/boringssl-with-bazel/src/crypto/mldsa/internal.h +4 -1
- data/third_party/boringssl-with-bazel/src/crypto/mldsa/{mldsa.c → mldsa.cc} +646 -543
- data/third_party/boringssl-with-bazel/src/crypto/mlkem/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/mlkem/mlkem.cc +8 -8
- data/third_party/boringssl-with-bazel/src/crypto/obj/{obj.c → obj.cc} +27 -30
- data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_info.c → pem_info.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_lib.c → pem_lib.cc} +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_oth.c → pem_oth.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/{pkcs7.c → pkcs7.cc} +5 -5
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/{pkcs7_x509.c → pkcs7_x509.cc} +26 -25
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/{p5_pbev2.c → p5_pbev2.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/{pkcs8.c → pkcs8.cc} +159 -158
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/{pkcs8_x509.c → pkcs8_x509.cc} +90 -97
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/{poly1305.c → poly1305.cc} +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/{poly1305_arm.c → poly1305_arm.cc} +4 -2
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/{poly1305_vec.c → poly1305_vec.cc} +14 -11
- data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/pool/{pool.c → pool.cc} +12 -11
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{deterministic.c → deterministic.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{fork_detect.c → fork_detect.cc} +11 -12
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{forkunsafe.c → forkunsafe.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{getentropy.c → getentropy.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getrandom_fillin.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{ios.c → ios.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{passive.c → passive.cc} +22 -18
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{rand_extra.c → rand_extra.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/sysrand_internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{trusty.c → trusty.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{urandom.c → urandom.cc} +7 -7
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{windows.c → windows.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/{refcount.c → refcount.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/{rsa_asn1.c → rsa_asn1.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/{rsa_crypt.c → rsa_crypt.cc} +81 -78
- data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_extra.cc +17 -0
- data/third_party/boringssl-with-bazel/src/crypto/sha/sha1.cc +52 -0
- data/third_party/boringssl-with-bazel/src/crypto/sha/sha256.cc +87 -0
- data/third_party/boringssl-with-bazel/src/crypto/sha/sha512.cc +104 -0
- data/third_party/boringssl-with-bazel/src/crypto/siphash/{siphash.c → siphash.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/address.h +123 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/fors.cc +169 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/fors.h +58 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/internal.h +63 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/merkle.cc +161 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/merkle.h +70 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/params.h +83 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/slhdsa.cc +307 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/thash.cc +173 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/thash.h +85 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/wots.cc +171 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/wots.h +50 -0
- data/third_party/boringssl-with-bazel/src/crypto/stack/{stack.c → stack.cc} +10 -6
- data/third_party/boringssl-with-bazel/src/crypto/{thread_none.c → thread_none.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/{thread_pthread.c → thread_pthread.cc} +9 -8
- data/third_party/boringssl-with-bazel/src/crypto/{thread_win.c → thread_win.cc} +21 -17
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/{pmbtoken.c → pmbtoken.cc} +146 -158
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/{trust_token.c → trust_token.cc} +19 -21
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/{voprf.c → voprf.cc} +165 -169
- data/third_party/boringssl-with-bazel/src/crypto/x509/{a_digest.c → a_digest.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/{a_sign.c → a_sign.cc} +37 -34
- data/third_party/boringssl-with-bazel/src/crypto/x509/{a_verify.c → a_verify.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/{algorithm.c → algorithm.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/{asn1_gen.c → asn1_gen.cc} +5 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509/{by_dir.c → by_dir.cc} +7 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509/{policy.c → policy.cc} +188 -178
- data/third_party/boringssl-with-bazel/src/crypto/x509/{rsa_pss.c → rsa_pss.cc} +48 -44
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_akey.c → v3_akey.cc} +4 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_alt.c → v3_alt.cc} +5 -5
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_bcons.c → v3_bcons.cc} +3 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_bitst.c → v3_bitst.cc} +6 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_conf.c → v3_conf.cc} +5 -5
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_cpols.c → v3_cpols.cc} +47 -41
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_crld.c → v3_crld.cc} +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_enum.c → v3_enum.cc} +5 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_extku.c → v3_extku.cc} +3 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_genn.c → v3_genn.cc} +7 -7
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_ia5.c → v3_ia5.cc} +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_info.c → v3_info.cc} +4 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_int.c → v3_int.cc} +3 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_lib.c → v3_lib.cc} +9 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_ncons.c → v3_ncons.cc} +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_ocsp.c → v3_ocsp.cc} +4 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_pcons.c → v3_pcons.cc} +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_pmaps.c → v3_pmaps.cc} +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_prn.c → v3_prn.cc} +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_purp.c → v3_purp.cc} +16 -8
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_skey.c → v3_skey.cc} +6 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_utl.c → v3_utl.cc} +15 -10
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_att.c → x509_att.cc} +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_lu.c → x509_lu.cc} +6 -5
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_v3.c → x509_v3.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_vfy.c → x509_vfy.cc} +216 -212
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_vpm.c → x509_vpm.cc} +55 -13
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509spki.c → x509spki.cc} +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x_all.c → x_all.cc} +10 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x_crl.c → x_crl.cc} +6 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x_name.c → x_name.cc} +39 -32
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x_pubkey.c → x_pubkey.cc} +4 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x_x509.c → x_x509.cc} +48 -44
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x_x509a.c → x_x509a.cc} +4 -2
- data/third_party/boringssl-with-bazel/src/gen/crypto/{err_data.c → err_data.cc} +359 -358
- data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/asm_base.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1_mac.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +237 -275
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +12 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/bcm_public.h +82 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/buffer.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/cmac.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +13 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/curve25519.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +4 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +6 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +4 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/dtls1.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/e_os2.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +17 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/engine.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/experimental/kyber.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/is_boringssl.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/kdf.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/mldsa.h +8 -8
- data/third_party/boringssl-with-bazel/src/include/openssl/mlkem.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/obj_mac.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/objects.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/opensslv.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/ossl_typ.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs12.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +2 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/poly1305.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/posix_time.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +10 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/safestack.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/sha.h +2 -40
- data/third_party/boringssl-with-bazel/src/include/openssl/siphash.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/slhdsa.h +133 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/span.h +6 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/srtp.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +160 -116
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/target.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +2 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/time.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3_errors.h +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +2 -6
- data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +667 -322
- data/third_party/boringssl-with-bazel/src/ssl/d1_lib.cc +116 -119
- data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +163 -21
- data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +4 -12
- data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +94 -49
- data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +296 -198
- data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +23 -14
- data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +363 -343
- data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +48 -58
- data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +44 -36
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +145 -159
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +65 -58
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +910 -356
- data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +29 -41
- data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +13 -11
- data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +90 -183
- data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +38 -64
- data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +103 -44
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +210 -220
- data/third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc +70 -12
- data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +20 -17
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +146 -169
- data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +15 -16
- data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +79 -95
- data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +3 -9
- data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +91 -16
- data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +30 -16
- data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +51 -56
- data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +22 -25
- data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +43 -27
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +63 -59
- data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +204 -121
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +86 -59
- data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +51 -62
- data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +37 -25
- data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h +6 -0
- data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h +6 -0
- data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_adx.h +4 -1
- data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +1 -1
- data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h +3 -0
- metadata +339 -339
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb.h +0 -426
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.c +0 -87
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.h +0 -32
- data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb.h +0 -408
- data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.c +0 -124
- data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.h +0 -38
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.c +0 -108
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.h +0 -33
- data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.c +0 -67
- data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.h +0 -48
- data/src/core/util/atm.cc +0 -34
- data/third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c +0 -1539
- data/third_party/boringssl-with-bazel/src/crypto/dilithium/internal.h +0 -58
- data/third_party/boringssl-with-bazel/src/crypto/spx/address.c +0 -101
- data/third_party/boringssl-with-bazel/src/crypto/spx/address.h +0 -50
- data/third_party/boringssl-with-bazel/src/crypto/spx/fors.c +0 -133
- data/third_party/boringssl-with-bazel/src/crypto/spx/fors.h +0 -54
- data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.c +0 -150
- data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.h +0 -61
- data/third_party/boringssl-with-bazel/src/crypto/spx/params.h +0 -71
- data/third_party/boringssl-with-bazel/src/crypto/spx/spx.c +0 -140
- data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.c +0 -53
- data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.h +0 -44
- data/third_party/boringssl-with-bazel/src/crypto/spx/thash.c +0 -136
- data/third_party/boringssl-with-bazel/src/crypto/spx/thash.h +0 -70
- data/third_party/boringssl-with-bazel/src/crypto/spx/wots.c +0 -135
- data/third_party/boringssl-with-bazel/src/crypto/spx/wots.h +0 -45
- data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +0 -129
- data/third_party/boringssl-with-bazel/src/include/openssl/experimental/spx.h +0 -90
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_bool.c → a_bool.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_gentm.c → a_gentm.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_octet.c → a_octet.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_strex.c → a_strex.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_time.c → a_time.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_utctm.c → a_utctm.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{asn1_par.c → asn1_par.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{f_int.c → f_int.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{f_string.c → f_string.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_typ.c → tasn_typ.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/bio/{errno.c → errno.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/bio/{fd.c → fd.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/bio/{hexdump.c → hexdump.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/bio/{socket.c → socket.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{cipher_extra.c → cipher_extra.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{derive_key.c → derive_key.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{tls_cbc.c → tls_cbc.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/des/{des.c → des.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/dh_extra/{params.c → params.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/{ecdh_extra.c → ecdh_extra.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/evp/{evp_asn1.c → evp_asn1.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/evp/{sign.c → sign.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{aes.c.inc → aes.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{mode_wrappers.c.inc → mode_wrappers.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{bytes.c.inc → bytes.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{cmp.c.inc → cmp.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{generic.c.inc → generic.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{jacobi.c.inc → jacobi.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{montgomery_inv.c.inc → montgomery_inv.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{random.c.inc → random.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{rsaz_exp.c.inc → rsaz_exp.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{sqrt.c.inc → sqrt.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{e_aesccm.c.inc → e_aesccm.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/{check.c.inc → check.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec_montgomery.c.inc → ec_montgomery.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{simple.c.inc → simple.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{cbc.c.inc → cbc.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{cfb.c.inc → cfb.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{ctr.c.inc → ctr.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{ofb.c.inc → ofb.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/{kdf.c.inc → kdf.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/obj/{obj_xref.c → obj_xref.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_all.c → pem_all.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_pk8.c → pem_pk8.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_pkey.c → pem_pkey.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_x509.c → pem_x509.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_xaux.c → pem_xaux.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/rc4/{rc4.c → rc4.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/{rsa_print.c → rsa_print.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/{thread.c → thread.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{by_file.c → by_file.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{i2d_pr.c → i2d_pr.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{name_print.c → name_print.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{t_crl.c → t_crl.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{t_req.c → t_req.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{t_x509.c → t_x509.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{t_x509a.c → t_x509a.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_akeya.c → v3_akeya.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509.c → x509.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_cmp.c → x509_cmp.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_d2.c → x509_d2.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_def.c → x509_def.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_ext.c → x509_ext.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_obj.c → x509_obj.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_req.c → x509_req.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_set.c → x509_set.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_trs.c → x509_trs.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_txt.c → x509_txt.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509cset.c → x509cset.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509name.c → x509name.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509rset.c → x509rset.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_algor.c → x_algor.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_attrib.c → x_attrib.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_exten.c → x_exten.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_req.c → x_req.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_sig.c → x_sig.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_spki.c → x_spki.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_val.c → x_val.cc} +0 -0
data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{rsa_impl.c.inc → rsa_impl.cc.inc}
RENAMED
@@ -79,10 +79,8 @@ int rsa_check_public_key(const RSA *rsa) {
|
|
79
79
|
return 0;
|
80
80
|
}
|
81
81
|
|
82
|
-
// TODO(davidben): 16384-bit RSA is huge. Can we bring this down to a limit of
|
83
|
-
// 8192-bit?
|
84
82
|
unsigned n_bits = BN_num_bits(rsa->n);
|
85
|
-
if (n_bits >
|
83
|
+
if (n_bits > OPENSSL_RSA_MAX_MODULUS_BITS) {
|
86
84
|
OPENSSL_PUT_ERROR(RSA, RSA_R_MODULUS_TOO_LARGE);
|
87
85
|
return 0;
|
88
86
|
}
|
@@ -149,8 +147,7 @@ static int ensure_fixed_copy(BIGNUM **out, const BIGNUM *in, int width) {
|
|
149
147
|
return 1;
|
150
148
|
}
|
151
149
|
BIGNUM *copy = BN_dup(in);
|
152
|
-
if (copy == NULL ||
|
153
|
-
!bn_resize_words(copy, width)) {
|
150
|
+
if (copy == NULL || !bn_resize_words(copy, width)) {
|
154
151
|
BN_free(copy);
|
155
152
|
return 0;
|
156
153
|
}
|
@@ -173,6 +170,7 @@ static int freeze_private_key(RSA *rsa, BN_CTX *ctx) {
|
|
173
170
|
}
|
174
171
|
|
175
172
|
int ret = 0;
|
173
|
+
const BIGNUM *n_fixed;
|
176
174
|
CRYPTO_MUTEX_lock_write(&rsa->lock);
|
177
175
|
if (rsa->private_key_frozen) {
|
178
176
|
ret = 1;
|
@@ -196,7 +194,7 @@ static int freeze_private_key(RSA *rsa, BN_CTX *ctx) {
|
|
196
194
|
goto err;
|
197
195
|
}
|
198
196
|
}
|
199
|
-
|
197
|
+
n_fixed = &rsa->mont_n->N;
|
200
198
|
|
201
199
|
// The only public upper-bound of |rsa->d| is the bit length of |rsa->n|. The
|
202
200
|
// ASN.1 serialization of RSA private keys unfortunately leaks the byte length
|
@@ -233,9 +231,8 @@ static int freeze_private_key(RSA *rsa, BN_CTX *ctx) {
|
|
233
231
|
// Key generation relies on this function to compute |iqmp|.
|
234
232
|
if (rsa->iqmp == NULL) {
|
235
233
|
BIGNUM *iqmp = BN_new();
|
236
|
-
if (iqmp == NULL ||
|
237
|
-
|
238
|
-
rsa->mont_p)) {
|
234
|
+
if (iqmp == NULL || !bn_mod_inverse_secret_prime(iqmp, rsa->q, rsa->p,
|
235
|
+
ctx, rsa->mont_p)) {
|
239
236
|
BN_free(iqmp);
|
240
237
|
goto err;
|
241
238
|
}
|
@@ -302,9 +299,7 @@ void rsa_invalidate_key(RSA *rsa) {
|
|
302
299
|
rsa->blinding_fork_generation = 0;
|
303
300
|
}
|
304
301
|
|
305
|
-
size_t rsa_default_size(const RSA *rsa) {
|
306
|
-
return BN_num_bytes(rsa->n);
|
307
|
-
}
|
302
|
+
size_t rsa_default_size(const RSA *rsa) { return BN_num_bytes(rsa->n); }
|
308
303
|
|
309
304
|
// MAX_BLINDINGS_PER_RSA defines the maximum number of cached BN_BLINDINGs per
|
310
305
|
// RSA*. Then this limit is exceeded, BN_BLINDING objects will be created and
|
@@ -344,8 +339,11 @@ static BN_BLINDING *rsa_blinding_get(RSA *rsa, size_t *index_used,
|
|
344
339
|
rsa->blinding_fork_generation = fork_generation;
|
345
340
|
}
|
346
341
|
|
347
|
-
uint8_t *const free_inuse_flag =
|
348
|
-
OPENSSL_memchr(rsa->blindings_inuse, 0, rsa->num_blindings);
|
342
|
+
uint8_t *const free_inuse_flag = reinterpret_cast<uint8_t *>(
|
343
|
+
OPENSSL_memchr(rsa->blindings_inuse, 0, rsa->num_blindings));
|
344
|
+
size_t new_num_blindings;
|
345
|
+
BN_BLINDING **new_blindings;
|
346
|
+
uint8_t *new_blindings_inuse;
|
349
347
|
if (free_inuse_flag != NULL) {
|
350
348
|
*free_inuse_flag = 1;
|
351
349
|
*index_used = free_inuse_flag - rsa->blindings_inuse;
|
@@ -365,7 +363,7 @@ static BN_BLINDING *rsa_blinding_get(RSA *rsa, size_t *index_used,
|
|
365
363
|
// Double the length of the cache.
|
366
364
|
static_assert(MAX_BLINDINGS_PER_RSA < UINT_MAX / 2,
|
367
365
|
"MAX_BLINDINGS_PER_RSA too large");
|
368
|
-
|
366
|
+
new_num_blindings = rsa->num_blindings * 2;
|
369
367
|
if (new_num_blindings == 0) {
|
370
368
|
new_num_blindings = 1;
|
371
369
|
}
|
@@ -374,9 +372,10 @@ static BN_BLINDING *rsa_blinding_get(RSA *rsa, size_t *index_used,
|
|
374
372
|
}
|
375
373
|
assert(new_num_blindings > rsa->num_blindings);
|
376
374
|
|
377
|
-
|
378
|
-
OPENSSL_calloc(new_num_blindings, sizeof(BN_BLINDING *));
|
379
|
-
|
375
|
+
new_blindings = reinterpret_cast<BN_BLINDING **>(
|
376
|
+
OPENSSL_calloc(new_num_blindings, sizeof(BN_BLINDING *)));
|
377
|
+
new_blindings_inuse =
|
378
|
+
reinterpret_cast<uint8_t *>(OPENSSL_malloc(new_num_blindings));
|
380
379
|
if (new_blindings == NULL || new_blindings_inuse == NULL) {
|
381
380
|
goto err;
|
382
381
|
}
|
@@ -447,7 +446,7 @@ int rsa_default_sign_raw(RSA *rsa, size_t *out_len, uint8_t *out,
|
|
447
446
|
return 0;
|
448
447
|
}
|
449
448
|
|
450
|
-
buf = OPENSSL_malloc(rsa_size);
|
449
|
+
buf = reinterpret_cast<uint8_t *>(OPENSSL_malloc(rsa_size));
|
451
450
|
if (buf == NULL) {
|
452
451
|
goto err;
|
453
452
|
}
|
@@ -529,7 +528,7 @@ int rsa_verify_raw_no_self_test(RSA *rsa, size_t *out_len, uint8_t *out,
|
|
529
528
|
buf = out;
|
530
529
|
} else {
|
531
530
|
// Allocate a temporary buffer to hold the padded plaintext.
|
532
|
-
buf = OPENSSL_malloc(rsa_size);
|
531
|
+
buf = reinterpret_cast<uint8_t *>(OPENSSL_malloc(rsa_size));
|
533
532
|
if (buf == NULL) {
|
534
533
|
goto err;
|
535
534
|
}
|
@@ -582,9 +581,8 @@ err:
|
|
582
581
|
return ret;
|
583
582
|
}
|
584
583
|
|
585
|
-
int RSA_verify_raw(RSA *rsa, size_t *out_len, uint8_t *out,
|
586
|
-
|
587
|
-
size_t in_len, int padding) {
|
584
|
+
int RSA_verify_raw(RSA *rsa, size_t *out_len, uint8_t *out, size_t max_out,
|
585
|
+
const uint8_t *in, size_t in_len, int padding) {
|
588
586
|
boringssl_ensure_rsa_self_test();
|
589
587
|
return rsa_verify_raw_no_self_test(rsa, out_len, out, max_out, in, in_len,
|
590
588
|
padding);
|
@@ -601,7 +599,7 @@ int rsa_default_private_transform(RSA *rsa, uint8_t *out, const uint8_t *in,
|
|
601
599
|
BN_CTX *ctx = NULL;
|
602
600
|
size_t blinding_index = 0;
|
603
601
|
BN_BLINDING *blinding = NULL;
|
604
|
-
int ret = 0;
|
602
|
+
int ret = 0, do_blinding;
|
605
603
|
|
606
604
|
ctx = BN_CTX_new();
|
607
605
|
if (ctx == NULL) {
|
@@ -634,7 +632,7 @@ int rsa_default_private_transform(RSA *rsa, uint8_t *out, const uint8_t *in,
|
|
634
632
|
goto err;
|
635
633
|
}
|
636
634
|
|
637
|
-
|
635
|
+
do_blinding =
|
638
636
|
(rsa->flags & (RSA_FLAG_NO_BLINDING | RSA_FLAG_NO_PUBLIC_EXPONENT)) == 0;
|
639
637
|
|
640
638
|
if (rsa->e == NULL && do_blinding) {
|
@@ -697,8 +695,7 @@ int rsa_default_private_transform(RSA *rsa, uint8_t *out, const uint8_t *in,
|
|
697
695
|
}
|
698
696
|
}
|
699
697
|
|
700
|
-
if (do_blinding &&
|
701
|
-
!BN_BLINDING_invert(result, blinding, rsa->mont_n, ctx)) {
|
698
|
+
if (do_blinding && !BN_BLINDING_invert(result, blinding, rsa->mont_n, ctx)) {
|
702
699
|
goto err;
|
703
700
|
}
|
704
701
|
|
@@ -741,7 +738,7 @@ static int mod_montgomery(BIGNUM *r, const BIGNUM *I, const BIGNUM *p,
|
|
741
738
|
return 0;
|
742
739
|
}
|
743
740
|
|
744
|
-
if (// Reduce mod p with Montgomery reduction. This computes I * R^-1 mod p.
|
741
|
+
if ( // Reduce mod p with Montgomery reduction. This computes I * R^-1 mod p.
|
745
742
|
!BN_from_montgomery(r, I, mont_p, ctx) ||
|
746
743
|
// Multiply by R^2 and do another Montgomery reduction to compute
|
747
744
|
// I * R^-1 * R^2 * R^-1 = I mod p.
|
@@ -777,8 +774,8 @@ static int mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx) {
|
|
777
774
|
BN_CTX_start(ctx);
|
778
775
|
r1 = BN_CTX_get(ctx);
|
779
776
|
m1 = BN_CTX_get(ctx);
|
780
|
-
|
781
|
-
|
777
|
+
BIGNUM *n, *p, *q;
|
778
|
+
if (r1 == NULL || m1 == NULL) {
|
782
779
|
goto err;
|
783
780
|
}
|
784
781
|
|
@@ -789,15 +786,15 @@ static int mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx) {
|
|
789
786
|
// Use the minimal-width versions of |n|, |p|, and |q|. Either works, but if
|
790
787
|
// someone gives us non-minimal values, these will be slightly more efficient
|
791
788
|
// on the non-Montgomery operations.
|
792
|
-
|
793
|
-
|
794
|
-
|
789
|
+
n = &rsa->mont_n->N;
|
790
|
+
p = &rsa->mont_p->N;
|
791
|
+
q = &rsa->mont_q->N;
|
795
792
|
|
796
793
|
// This is a pre-condition for |mod_montgomery|. It was already checked by the
|
797
794
|
// caller.
|
798
795
|
declassify_assert(BN_ucmp(I, n) < 0);
|
799
796
|
|
800
|
-
if (// |m1| is the result modulo |q|.
|
797
|
+
if ( // |m1| is the result modulo |q|.
|
801
798
|
!mod_montgomery(r1, I, q, rsa->mont_q, p, ctx) ||
|
802
799
|
!BN_mod_exp_mont_consttime(m1, r1, rsa->dmq1_fixed, q, ctx,
|
803
800
|
rsa->mont_q) ||
|
@@ -883,10 +880,12 @@ static int ensure_bignum(BIGNUM **out) {
|
|
883
880
|
// then []
|
884
881
|
// else let (high, low) = divrem 64 x in low : bnWords high
|
885
882
|
//
|
886
|
-
// showWord x = let (high, low) = divrem 32 x in printf "TOBN(0x%08x, 0x%08x)"
|
883
|
+
// showWord x = let (high, low) = divrem 32 x in printf "TOBN(0x%08x, 0x%08x)"
|
884
|
+
// high low
|
887
885
|
//
|
888
886
|
// output :: String
|
889
|
-
// output = intercalate ", " $ map showWord $ bnWords $ converge (2 ^ (pow2
|
887
|
+
// output = intercalate ", " $ map showWord $ bnWords $ converge (2 ^ (pow2
|
888
|
+
// `div` 2))
|
890
889
|
//
|
891
890
|
// To verify this number, check that n² < 2⁴⁰⁹⁵ < (n+1)², where n is value
|
892
891
|
// represented here. Note the components are listed in little-endian order. Here
|
@@ -964,7 +963,7 @@ static int generate_prime(BIGNUM *out, int bits, const BIGNUM *e,
|
|
964
963
|
// 22.21518251065506
|
965
964
|
// >>> f(2048, 3, 8*2048)
|
966
965
|
// 22.211701985875937
|
967
|
-
if (bits >= INT_MAX/32) {
|
966
|
+
if (bits >= INT_MAX / 32) {
|
968
967
|
OPENSSL_PUT_ERROR(RSA, RSA_R_MODULUS_TOO_LARGE);
|
969
968
|
return 0;
|
970
969
|
}
|
@@ -1088,16 +1087,18 @@ static int rsa_generate_key_impl(RSA *rsa, int bits, const BIGNUM *e_value,
|
|
1088
1087
|
int ret = 0;
|
1089
1088
|
int prime_bits = bits / 2;
|
1090
1089
|
BN_CTX *ctx = BN_CTX_new();
|
1090
|
+
BIGNUM *totient, *pm1, *qm1, *sqrt2, *pow2_prime_bits_100, *pow2_prime_bits;
|
1091
|
+
int sqrt2_bits;
|
1091
1092
|
if (ctx == NULL) {
|
1092
1093
|
goto bn_err;
|
1093
1094
|
}
|
1094
1095
|
BN_CTX_start(ctx);
|
1095
|
-
|
1096
|
-
|
1097
|
-
|
1098
|
-
|
1099
|
-
|
1100
|
-
|
1096
|
+
totient = BN_CTX_get(ctx);
|
1097
|
+
pm1 = BN_CTX_get(ctx);
|
1098
|
+
qm1 = BN_CTX_get(ctx);
|
1099
|
+
sqrt2 = BN_CTX_get(ctx);
|
1100
|
+
pow2_prime_bits_100 = BN_CTX_get(ctx);
|
1101
|
+
pow2_prime_bits = BN_CTX_get(ctx);
|
1101
1102
|
if (totient == NULL || pm1 == NULL || qm1 == NULL || sqrt2 == NULL ||
|
1102
1103
|
pow2_prime_bits_100 == NULL || pow2_prime_bits == NULL ||
|
1103
1104
|
!BN_set_bit(pow2_prime_bits_100, prime_bits - 100) ||
|
@@ -1106,12 +1107,9 @@ static int rsa_generate_key_impl(RSA *rsa, int bits, const BIGNUM *e_value,
|
|
1106
1107
|
}
|
1107
1108
|
|
1108
1109
|
// We need the RSA components non-NULL.
|
1109
|
-
if (!ensure_bignum(&rsa->n) ||
|
1110
|
-
!ensure_bignum(&rsa->
|
1111
|
-
!ensure_bignum(&rsa->
|
1112
|
-
!ensure_bignum(&rsa->p) ||
|
1113
|
-
!ensure_bignum(&rsa->q) ||
|
1114
|
-
!ensure_bignum(&rsa->dmp1) ||
|
1110
|
+
if (!ensure_bignum(&rsa->n) || !ensure_bignum(&rsa->d) ||
|
1111
|
+
!ensure_bignum(&rsa->e) || !ensure_bignum(&rsa->p) ||
|
1112
|
+
!ensure_bignum(&rsa->q) || !ensure_bignum(&rsa->dmp1) ||
|
1115
1113
|
!ensure_bignum(&rsa->dmq1)) {
|
1116
1114
|
goto bn_err;
|
1117
1115
|
}
|
@@ -1124,7 +1122,7 @@ static int rsa_generate_key_impl(RSA *rsa, int bits, const BIGNUM *e_value,
|
|
1124
1122
|
if (!bn_set_words(sqrt2, kBoringSSLRSASqrtTwo, kBoringSSLRSASqrtTwoLen)) {
|
1125
1123
|
goto bn_err;
|
1126
1124
|
}
|
1127
|
-
|
1125
|
+
sqrt2_bits = kBoringSSLRSASqrtTwoLen * BN_BITS2;
|
1128
1126
|
assert(sqrt2_bits == (int)BN_num_bits(sqrt2));
|
1129
1127
|
if (sqrt2_bits > prime_bits) {
|
1130
1128
|
// For key sizes up to 4096 (prime_bits = 2048), this is exactly
|
@@ -1185,7 +1183,7 @@ static int rsa_generate_key_impl(RSA *rsa, int bits, const BIGNUM *e_value,
|
|
1185
1183
|
|
1186
1184
|
assert(BN_num_bits(pm1) == (unsigned)prime_bits);
|
1187
1185
|
assert(BN_num_bits(qm1) == (unsigned)prime_bits);
|
1188
|
-
if (// Calculate n.
|
1186
|
+
if ( // Calculate n.
|
1189
1187
|
!bn_mul_consttime(rsa->n, rsa->p, rsa->q, ctx) ||
|
1190
1188
|
// Calculate d mod (p-1).
|
1191
1189
|
!bn_div_consttime(NULL, rsa->dmp1, rsa->d, pm1, prime_bits, ctx) ||
|
@@ -1331,8 +1329,7 @@ int RSA_generate_key_fips(RSA *rsa, int bits, BN_GENCB *cb) {
|
|
1331
1329
|
}
|
1332
1330
|
|
1333
1331
|
BIGNUM *e = BN_new();
|
1334
|
-
int ret = e != NULL &&
|
1335
|
-
BN_set_word(e, RSA_F4) &&
|
1332
|
+
int ret = e != NULL && BN_set_word(e, RSA_F4) &&
|
1336
1333
|
RSA_generate_key_ex_maybe_fips(rsa, bits, e, cb, /*check_fips=*/1);
|
1337
1334
|
BN_free(e);
|
1338
1335
|
|
data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/{fips.c.inc → fips.cc.inc}
RENAMED
@@ -1,4 +1,4 @@
|
|
1
|
-
/* Copyright
|
1
|
+
/* Copyright 2017 The BoringSSL Authors
|
2
2
|
*
|
3
3
|
* Permission to use, copy, modify, and/or distribute this software for any
|
4
4
|
* purpose with or without fee is hereby granted, provided that the above
|
@@ -30,6 +30,14 @@ int FIPS_mode_set(int on) { return on == FIPS_mode(); }
|
|
30
30
|
|
31
31
|
const char *FIPS_module_name(void) { return "BoringCrypto"; }
|
32
32
|
|
33
|
+
int CRYPTO_has_asm(void) {
|
34
|
+
#if defined(OPENSSL_NO_ASM)
|
35
|
+
return 0;
|
36
|
+
#else
|
37
|
+
return 1;
|
38
|
+
#endif
|
39
|
+
}
|
40
|
+
|
33
41
|
uint32_t FIPS_version(void) {
|
34
42
|
return 0;
|
35
43
|
}
|
@@ -77,8 +85,8 @@ size_t FIPS_read_counter(enum fips_counter_t counter) {
|
|
77
85
|
abort();
|
78
86
|
}
|
79
87
|
|
80
|
-
const size_t *array =
|
81
|
-
CRYPTO_get_thread_local(OPENSSL_THREAD_LOCAL_FIPS_COUNTERS);
|
88
|
+
const size_t *array = reinterpret_cast<const size_t *>(
|
89
|
+
CRYPTO_get_thread_local(OPENSSL_THREAD_LOCAL_FIPS_COUNTERS));
|
82
90
|
if (!array) {
|
83
91
|
return 0;
|
84
92
|
}
|
@@ -92,11 +100,11 @@ void boringssl_fips_inc_counter(enum fips_counter_t counter) {
|
|
92
100
|
abort();
|
93
101
|
}
|
94
102
|
|
95
|
-
size_t *array =
|
96
|
-
CRYPTO_get_thread_local(OPENSSL_THREAD_LOCAL_FIPS_COUNTERS);
|
103
|
+
size_t *array = reinterpret_cast<size_t *>(
|
104
|
+
CRYPTO_get_thread_local(OPENSSL_THREAD_LOCAL_FIPS_COUNTERS));
|
97
105
|
if (!array) {
|
98
106
|
const size_t num_bytes = sizeof(size_t) * (fips_counter_max + 1);
|
99
|
-
array = OPENSSL_zalloc(num_bytes);
|
107
|
+
array = reinterpret_cast<size_t *>(OPENSSL_zalloc(num_bytes));
|
100
108
|
if (!array) {
|
101
109
|
return;
|
102
110
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
/* Copyright
|
1
|
+
/* Copyright 2017 The BoringSSL Authors
|
2
2
|
*
|
3
3
|
* Permission to use, copy, modify, and/or distribute this software for any
|
4
4
|
* purpose with or without fee is hereby granted, provided that the above
|
@@ -24,14 +24,15 @@
|
|
24
24
|
#include <openssl/dh.h>
|
25
25
|
#include <openssl/digest.h>
|
26
26
|
#include <openssl/ec.h>
|
27
|
-
#include <openssl/ecdsa.h>
|
28
27
|
#include <openssl/ec_key.h>
|
28
|
+
#include <openssl/ecdsa.h>
|
29
29
|
#include <openssl/hkdf.h>
|
30
30
|
#include <openssl/hmac.h>
|
31
31
|
#include <openssl/nid.h>
|
32
32
|
#include <openssl/rsa.h>
|
33
33
|
#include <openssl/sha.h>
|
34
34
|
|
35
|
+
#include "../../bcm_support.h"
|
35
36
|
#include "../../internal.h"
|
36
37
|
#include "../delocate.h"
|
37
38
|
#include "../dh/internal.h"
|
@@ -47,27 +48,27 @@
|
|
47
48
|
// compile the real logic.
|
48
49
|
#if defined(_MSC_VER)
|
49
50
|
|
50
|
-
int BORINGSSL_self_test(void) {
|
51
|
-
return 0;
|
52
|
-
}
|
51
|
+
int BORINGSSL_self_test(void) { return 0; }
|
53
52
|
|
54
53
|
#else
|
55
54
|
|
56
|
-
static void hexdump(const
|
55
|
+
static void hexdump(FILE *out, const void *in, size_t len) {
|
56
|
+
const uint8_t *in8 = reinterpret_cast<const uint8_t *>(in);
|
57
57
|
for (size_t i = 0; i < len; i++) {
|
58
|
-
fprintf(
|
58
|
+
fprintf(out, "%02x", in8[i]);
|
59
59
|
}
|
60
60
|
}
|
61
61
|
|
62
62
|
static int check_test(const void *expected, const void *actual,
|
63
63
|
size_t expected_len, const char *name) {
|
64
64
|
if (OPENSSL_memcmp(actual, expected, expected_len) != 0) {
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
65
|
+
FILE *err = CRYPTO_get_stderr();
|
66
|
+
fprintf(err, "%s failed.\nExpected: ", name);
|
67
|
+
hexdump(err, expected, expected_len);
|
68
|
+
fprintf(err, "\nCalculated: ");
|
69
|
+
hexdump(err, actual, expected_len);
|
70
|
+
fprintf(err, "\n");
|
71
|
+
fflush(err);
|
71
72
|
return 0;
|
72
73
|
}
|
73
74
|
return 1;
|
@@ -195,7 +196,7 @@ static RSA *self_test_rsa_key(void) {
|
|
195
196
|
};
|
196
197
|
|
197
198
|
RSA *rsa = RSA_new();
|
198
|
-
if (rsa == NULL ||
|
199
|
+
if (rsa == NULL || //
|
199
200
|
!set_bignum(&rsa->n, kN, sizeof(kN)) ||
|
200
201
|
!set_bignum(&rsa->e, kE, sizeof(kE)) ||
|
201
202
|
!set_bignum(&rsa->d, kD, sizeof(kD)) ||
|
@@ -294,7 +295,7 @@ static int boringssl_self_test_rsa(void) {
|
|
294
295
|
|
295
296
|
RSA *const rsa_key = self_test_rsa_key();
|
296
297
|
if (rsa_key == NULL) {
|
297
|
-
fprintf(
|
298
|
+
fprintf(CRYPTO_get_stderr(), "RSA key construction failed\n");
|
298
299
|
goto err;
|
299
300
|
}
|
300
301
|
// Disable blinding for the power-on tests because it's not needed and
|
@@ -338,7 +339,7 @@ static int boringssl_self_test_rsa(void) {
|
|
338
339
|
output, &sig_len, rsa_key) ||
|
339
340
|
!check_test(kRSASignSignature, output, sizeof(kRSASignSignature),
|
340
341
|
"RSA-sign KAT")) {
|
341
|
-
fprintf(
|
342
|
+
fprintf(CRYPTO_get_stderr(), "RSA signing test failed.\n");
|
342
343
|
goto err;
|
343
344
|
}
|
344
345
|
|
@@ -376,7 +377,7 @@ static int boringssl_self_test_rsa(void) {
|
|
376
377
|
if (!rsa_verify_no_self_test(NID_sha256, kRSAVerifyDigest,
|
377
378
|
sizeof(kRSAVerifyDigest), kRSAVerifySignature,
|
378
379
|
sizeof(kRSAVerifySignature), rsa_key)) {
|
379
|
-
fprintf(
|
380
|
+
fprintf(CRYPTO_get_stderr(), "RSA-verify KAT failed.\n");
|
380
381
|
goto err;
|
381
382
|
}
|
382
383
|
|
@@ -394,10 +395,15 @@ static int boringssl_self_test_ecc(void) {
|
|
394
395
|
EC_POINT *ec_point_in = NULL;
|
395
396
|
EC_POINT *ec_point_out = NULL;
|
396
397
|
BIGNUM *ec_scalar = NULL;
|
398
|
+
const EC_GROUP *ec_group = NULL;
|
399
|
+
|
400
|
+
// The 'k' value for ECDSA is fixed to avoid an entropy draw.
|
401
|
+
uint8_t ecdsa_k[32] = {0};
|
402
|
+
ecdsa_k[31] = 42;
|
397
403
|
|
398
404
|
ec_key = self_test_ecdsa_key();
|
399
405
|
if (ec_key == NULL) {
|
400
|
-
fprintf(
|
406
|
+
fprintf(CRYPTO_get_stderr(), "ECDSA KeyGen failed\n");
|
401
407
|
goto err;
|
402
408
|
}
|
403
409
|
|
@@ -417,10 +423,6 @@ static int boringssl_self_test_ecc(void) {
|
|
417
423
|
0x70, 0xb5, 0xbb, 0x0d, 0xfd, 0x8e, 0x0c, 0x02, 0x3f,
|
418
424
|
};
|
419
425
|
|
420
|
-
// The 'k' value for ECDSA is fixed to avoid an entropy draw.
|
421
|
-
uint8_t ecdsa_k[32] = {0};
|
422
|
-
ecdsa_k[31] = 42;
|
423
|
-
|
424
426
|
uint8_t ecdsa_sign_output[64];
|
425
427
|
size_t ecdsa_sign_output_len;
|
426
428
|
if (!ecdsa_sign_fixed_with_nonce_for_known_answer_test(
|
@@ -429,7 +431,7 @@ static int boringssl_self_test_ecc(void) {
|
|
429
431
|
sizeof(ecdsa_k)) ||
|
430
432
|
!check_test(kECDSASignSig, ecdsa_sign_output, sizeof(ecdsa_sign_output),
|
431
433
|
"ECDSA-sign signature")) {
|
432
|
-
fprintf(
|
434
|
+
fprintf(CRYPTO_get_stderr(), "ECDSA-sign KAT failed.\n");
|
433
435
|
goto err;
|
434
436
|
}
|
435
437
|
|
@@ -450,7 +452,7 @@ static int boringssl_self_test_ecc(void) {
|
|
450
452
|
if (!ecdsa_verify_fixed_no_self_test(
|
451
453
|
kECDSAVerifyDigest, sizeof(kECDSAVerifyDigest), kECDSAVerifySig,
|
452
454
|
sizeof(kECDSAVerifySig), ec_key)) {
|
453
|
-
fprintf(
|
455
|
+
fprintf(CRYPTO_get_stderr(), "ECDSA-verify KAT failed.\n");
|
454
456
|
goto err;
|
455
457
|
}
|
456
458
|
|
@@ -481,7 +483,7 @@ static int boringssl_self_test_ecc(void) {
|
|
481
483
|
0x7c, 0x41, 0x8f, 0xaf, 0x9c, 0x40, 0xaf, 0x2e, 0x4a, 0x0c,
|
482
484
|
};
|
483
485
|
|
484
|
-
|
486
|
+
ec_group = EC_group_p256();
|
485
487
|
ec_point_in = EC_POINT_new(ec_group);
|
486
488
|
ec_point_out = EC_POINT_new(ec_group);
|
487
489
|
ec_scalar = BN_new();
|
@@ -496,7 +498,7 @@ static int boringssl_self_test_ecc(void) {
|
|
496
498
|
z_comp_result, sizeof(z_comp_result), NULL) ||
|
497
499
|
!check_test(kP256PointResult, z_comp_result, sizeof(z_comp_result),
|
498
500
|
"Z Computation Result")) {
|
499
|
-
fprintf(
|
501
|
+
fprintf(CRYPTO_get_stderr(), "Z-computation KAT failed.\n");
|
500
502
|
goto err;
|
501
503
|
}
|
502
504
|
|
@@ -575,7 +577,7 @@ static int boringssl_self_test_ffdh(void) {
|
|
575
577
|
dh_compute_key_padded_no_self_test(dh_out, ffdhe2048_value, dh) !=
|
576
578
|
sizeof(dh_out) ||
|
577
579
|
!check_test(kDHOutput, dh_out, sizeof(dh_out), "FFC DH")) {
|
578
|
-
fprintf(
|
580
|
+
fprintf(CRYPTO_get_stderr(), "FFDH failed.\n");
|
579
581
|
goto err;
|
580
582
|
}
|
581
583
|
|
@@ -598,7 +600,7 @@ static void run_self_test_rsa(void) {
|
|
598
600
|
FIPS_service_indicator_unlock_state();
|
599
601
|
}
|
600
602
|
|
601
|
-
DEFINE_STATIC_ONCE(g_self_test_once_rsa)
|
603
|
+
DEFINE_STATIC_ONCE(g_self_test_once_rsa)
|
602
604
|
|
603
605
|
void boringssl_ensure_rsa_self_test(void) {
|
604
606
|
CRYPTO_once(g_self_test_once_rsa_bss_get(), run_self_test_rsa);
|
@@ -612,7 +614,7 @@ static void run_self_test_ecc(void) {
|
|
612
614
|
FIPS_service_indicator_unlock_state();
|
613
615
|
}
|
614
616
|
|
615
|
-
DEFINE_STATIC_ONCE(g_self_test_once_ecc)
|
617
|
+
DEFINE_STATIC_ONCE(g_self_test_once_ecc)
|
616
618
|
|
617
619
|
void boringssl_ensure_ecc_self_test(void) {
|
618
620
|
CRYPTO_once(g_self_test_once_ecc_bss_get(), run_self_test_ecc);
|
@@ -626,7 +628,7 @@ static void run_self_test_ffdh(void) {
|
|
626
628
|
FIPS_service_indicator_unlock_state();
|
627
629
|
}
|
628
630
|
|
629
|
-
DEFINE_STATIC_ONCE(g_self_test_once_ffdh)
|
631
|
+
DEFINE_STATIC_ONCE(g_self_test_once_ffdh)
|
630
632
|
|
631
633
|
void boringssl_ensure_ffdh_self_test(void) {
|
632
634
|
CRYPTO_once(g_self_test_once_ffdh_bss_get(), run_self_test_ffdh);
|
@@ -699,7 +701,10 @@ int boringssl_self_test_hmac_sha256(void) {
|
|
699
701
|
}
|
700
702
|
|
701
703
|
static int boringssl_self_test_fast(void) {
|
702
|
-
static const uint8_t kAESKey[16] =
|
704
|
+
static const uint8_t kAESKey[16] = {
|
705
|
+
'B', 'o', 'r', 'i', 'n', 'g', 'C', 'r',
|
706
|
+
'y', 'p', 't', 'o', ' ', 'K', 'e', 'y',
|
707
|
+
};
|
703
708
|
static const uint8_t kAESIV[16] = {0};
|
704
709
|
|
705
710
|
EVP_AEAD_CTX aead_ctx;
|
@@ -723,7 +728,7 @@ static int boringssl_self_test_fast(void) {
|
|
723
728
|
};
|
724
729
|
memcpy(aes_iv, kAESIV, sizeof(kAESIV));
|
725
730
|
if (AES_set_encrypt_key(kAESKey, 8 * sizeof(kAESKey), &aes_key) != 0) {
|
726
|
-
fprintf(
|
731
|
+
fprintf(CRYPTO_get_stderr(), "AES_set_encrypt_key failed.\n");
|
727
732
|
goto err;
|
728
733
|
}
|
729
734
|
AES_cbc_encrypt(kAESCBCEncPlaintext, output, sizeof(kAESCBCEncPlaintext),
|
@@ -746,7 +751,7 @@ static int boringssl_self_test_fast(void) {
|
|
746
751
|
};
|
747
752
|
memcpy(aes_iv, kAESIV, sizeof(kAESIV));
|
748
753
|
if (AES_set_decrypt_key(kAESKey, 8 * sizeof(kAESKey), &aes_key) != 0) {
|
749
|
-
fprintf(
|
754
|
+
fprintf(CRYPTO_get_stderr(), "AES_set_decrypt_key failed.\n");
|
750
755
|
goto err;
|
751
756
|
}
|
752
757
|
AES_cbc_encrypt(kAESCBCDecCiphertext, output, sizeof(kAESCBCDecCiphertext),
|
@@ -761,7 +766,7 @@ static int boringssl_self_test_fast(void) {
|
|
761
766
|
OPENSSL_memset(nonce, 0, sizeof(nonce));
|
762
767
|
if (!EVP_AEAD_CTX_init(&aead_ctx, EVP_aead_aes_128_gcm(), kAESKey,
|
763
768
|
sizeof(kAESKey), 0, NULL)) {
|
764
|
-
fprintf(
|
769
|
+
fprintf(CRYPTO_get_stderr(), "EVP_AEAD_CTX_init for AES-128-GCM failed.\n");
|
765
770
|
goto err;
|
766
771
|
}
|
767
772
|
|
@@ -783,7 +788,7 @@ static int boringssl_self_test_fast(void) {
|
|
783
788
|
0) ||
|
784
789
|
!check_test(kAESGCMCiphertext, output, sizeof(kAESGCMCiphertext),
|
785
790
|
"AES-GCM-encrypt KAT")) {
|
786
|
-
fprintf(
|
791
|
+
fprintf(CRYPTO_get_stderr(), "EVP_AEAD_CTX_seal for AES-128-GCM failed.\n");
|
787
792
|
goto err;
|
788
793
|
}
|
789
794
|
|
@@ -806,7 +811,7 @@ static int boringssl_self_test_fast(void) {
|
|
806
811
|
NULL, 0) ||
|
807
812
|
!check_test(kAESGCMDecPlaintext, output, sizeof(kAESGCMDecPlaintext),
|
808
813
|
"AES-GCM-decrypt KAT")) {
|
809
|
-
fprintf(
|
814
|
+
fprintf(CRYPTO_get_stderr(),
|
810
815
|
"AES-GCM-decrypt KAT failed because EVP_AEAD_CTX_open failed.\n");
|
811
816
|
goto err;
|
812
817
|
}
|
@@ -821,13 +826,11 @@ static int boringssl_self_test_fast(void) {
|
|
821
826
|
0x09, 0x11, 0x6d, 0x1a, 0xfd, 0x0f, 0x1e, 0x11, 0xe3, 0xcb,
|
822
827
|
};
|
823
828
|
SHA1(kSHA1Input, sizeof(kSHA1Input), output);
|
824
|
-
if (!check_test(kSHA1Digest, output, sizeof(kSHA1Digest),
|
825
|
-
"SHA-1 KAT")) {
|
829
|
+
if (!check_test(kSHA1Digest, output, sizeof(kSHA1Digest), "SHA-1 KAT")) {
|
826
830
|
goto err;
|
827
831
|
}
|
828
832
|
|
829
|
-
if (!boringssl_self_test_sha256() ||
|
830
|
-
!boringssl_self_test_sha512() ||
|
833
|
+
if (!boringssl_self_test_sha256() || !boringssl_self_test_sha512() ||
|
831
834
|
!boringssl_self_test_hmac_sha256()) {
|
832
835
|
goto err;
|
833
836
|
}
|
@@ -839,8 +842,11 @@ static int boringssl_self_test_fast(void) {
|
|
839
842
|
0x3f, 0x17, 0x4c, 0xf4, 0x78, 0x7a, 0x4f, 0x1a, 0x40, 0xc2, 0xb5, 0x0b,
|
840
843
|
0xab, 0xe1, 0x4a, 0xae, 0x53, 0x0b, 0xe5, 0x88, 0x6d, 0x91, 0x0a, 0x27,
|
841
844
|
};
|
842
|
-
static const uint8_t kDRBGPersonalization[18] =
|
843
|
-
|
845
|
+
static const uint8_t kDRBGPersonalization[18] = {
|
846
|
+
'B', 'C', 'M', 'P', 'e', 'r', 's', 'o', 'n',
|
847
|
+
'a', 'l', 'i', 'z', 'a', 't', 'i', 'o', 'n'};
|
848
|
+
static const uint8_t kDRBGAD[16] = {'B', 'C', 'M', ' ', 'D', 'R', 'B', 'G',
|
849
|
+
' ', 'K', 'A', 'T', ' ', 'A', 'D', ' '};
|
844
850
|
static const uint8_t kDRBGOutput[64] = {
|
845
851
|
0x19, 0x1f, 0x2b, 0x49, 0x76, 0x85, 0xfd, 0x51, 0xb6, 0x56, 0xbc,
|
846
852
|
0x1c, 0x7d, 0xd5, 0xdd, 0x44, 0x76, 0xa3, 0x5e, 0x17, 0x9b, 0x8e,
|
@@ -875,7 +881,7 @@ static int boringssl_self_test_fast(void) {
|
|
875
881
|
sizeof(kDRBGAD)) ||
|
876
882
|
!check_test(kDRBGReseedOutput, output, sizeof(kDRBGReseedOutput),
|
877
883
|
"DRBG-reseed KAT")) {
|
878
|
-
fprintf(
|
884
|
+
fprintf(CRYPTO_get_stderr(), "CTR-DRBG failed.\n");
|
879
885
|
goto err;
|
880
886
|
}
|
881
887
|
CTR_DRBG_clear(&drbg);
|
@@ -914,7 +920,7 @@ static int boringssl_self_test_fast(void) {
|
|
914
920
|
kTLSSeed2, sizeof(kTLSSeed2)) ||
|
915
921
|
!check_test(kTLS10Output, tls10_output, sizeof(kTLS10Output),
|
916
922
|
"TLS10-KDF KAT")) {
|
917
|
-
fprintf(
|
923
|
+
fprintf(CRYPTO_get_stderr(), "TLS KDF failed.\n");
|
918
924
|
goto err;
|
919
925
|
}
|
920
926
|
|
@@ -935,7 +941,7 @@ static int boringssl_self_test_fast(void) {
|
|
935
941
|
kTLSSeed2, sizeof(kTLSSeed2)) ||
|
936
942
|
!check_test(kTLS12Output, tls12_output, sizeof(kTLS12Output),
|
937
943
|
"TLS12-KDF KAT")) {
|
938
|
-
fprintf(
|
944
|
+
fprintf(CRYPTO_get_stderr(), "TLS KDF failed.\n");
|
939
945
|
goto err;
|
940
946
|
}
|
941
947
|
|
@@ -975,7 +981,7 @@ static int boringssl_self_test_fast(void) {
|
|
975
981
|
!check_test(kTLS13ExpandLabelOutput, tls13_expand_label_output,
|
976
982
|
sizeof(kTLS13ExpandLabelOutput),
|
977
983
|
"CRYPTO_tls13_hkdf_expand_label")) {
|
978
|
-
fprintf(
|
984
|
+
fprintf(CRYPTO_get_stderr(), "TLS13-KDF failed.\n");
|
979
985
|
goto err;
|
980
986
|
}
|
981
987
|
|
@@ -1005,7 +1011,7 @@ static int boringssl_self_test_fast(void) {
|
|
1005
1011
|
sizeof(kHKDFSecret), kHKDFSalt, sizeof(kHKDFSalt), kHKDFInfo,
|
1006
1012
|
sizeof(kHKDFInfo)) ||
|
1007
1013
|
!check_test(kHKDFOutput, hkdf_output, sizeof(kHKDFOutput), "HKDF")) {
|
1008
|
-
fprintf(
|
1014
|
+
fprintf(CRYPTO_get_stderr(), "HKDF failed.\n");
|
1009
1015
|
goto err;
|
1010
1016
|
}
|
1011
1017
|
|
@@ -1020,8 +1026,8 @@ err:
|
|
1020
1026
|
int BORINGSSL_self_test(void) {
|
1021
1027
|
if (!boringssl_self_test_fast() ||
|
1022
1028
|
// When requested to run self tests, also run the lazy tests.
|
1023
|
-
!boringssl_self_test_rsa() ||
|
1024
|
-
!boringssl_self_test_ecc() ||
|
1029
|
+
!boringssl_self_test_rsa() || //
|
1030
|
+
!boringssl_self_test_ecc() || //
|
1025
1031
|
!boringssl_self_test_ffdh()) {
|
1026
1032
|
return 0;
|
1027
1033
|
}
|
@@ -1030,9 +1036,7 @@ int BORINGSSL_self_test(void) {
|
|
1030
1036
|
}
|
1031
1037
|
|
1032
1038
|
#if defined(BORINGSSL_FIPS)
|
1033
|
-
int boringssl_self_test_startup(void) {
|
1034
|
-
return boringssl_self_test_fast();
|
1035
|
-
}
|
1039
|
+
int boringssl_self_test_startup(void) { return boringssl_self_test_fast(); }
|
1036
1040
|
#endif
|
1037
1041
|
|
1038
1042
|
#endif // !_MSC_VER
|