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
@@ -242,12 +242,13 @@ OPENSSL_EXPORT int SSL_is_server(const SSL *ssl);
|
|
242
242
|
// SSL_is_dtls returns one if |ssl| is a DTLS connection and zero otherwise.
|
243
243
|
OPENSSL_EXPORT int SSL_is_dtls(const SSL *ssl);
|
244
244
|
|
245
|
+
// SSL_is_quic returns one if |ssl| is a QUIC connection and zero otherwise.
|
246
|
+
OPENSSL_EXPORT int SSL_is_quic(const SSL *ssl);
|
247
|
+
|
245
248
|
// SSL_set_bio configures |ssl| to read from |rbio| and write to |wbio|. |ssl|
|
246
249
|
// takes ownership of the two |BIO|s. If |rbio| and |wbio| are the same, |ssl|
|
247
|
-
// only takes ownership of one reference.
|
248
|
-
//
|
249
|
-
// In DTLS, |rbio| must be non-blocking to properly handle timeouts and
|
250
|
-
// retransmits.
|
250
|
+
// only takes ownership of one reference. See |SSL_set0_rbio| and
|
251
|
+
// |SSL_set0_wbio| for requirements on |rbio| and |wbio|, respectively.
|
251
252
|
//
|
252
253
|
// If |rbio| is the same as the currently configured |BIO| for reading, that
|
253
254
|
// side is left untouched and is not freed.
|
@@ -263,14 +264,19 @@ OPENSSL_EXPORT int SSL_is_dtls(const SSL *ssl);
|
|
263
264
|
OPENSSL_EXPORT void SSL_set_bio(SSL *ssl, BIO *rbio, BIO *wbio);
|
264
265
|
|
265
266
|
// SSL_set0_rbio configures |ssl| to read from |rbio|. It takes ownership of
|
266
|
-
// |rbio|.
|
267
|
+
// |rbio|. |rbio| may be a custom |BIO|, in which case it must implement
|
268
|
+
// |BIO_read| with |BIO_meth_set_read|. In DTLS, |rbio| must be non-blocking to
|
269
|
+
// properly handle timeouts and retransmits.
|
267
270
|
//
|
268
271
|
// Note that, although this function and |SSL_set0_wbio| may be called on the
|
269
272
|
// same |BIO|, each call takes a reference. Use |BIO_up_ref| to balance this.
|
270
273
|
OPENSSL_EXPORT void SSL_set0_rbio(SSL *ssl, BIO *rbio);
|
271
274
|
|
272
275
|
// SSL_set0_wbio configures |ssl| to write to |wbio|. It takes ownership of
|
273
|
-
// |wbio|.
|
276
|
+
// |wbio|. |wbio| may be a custom |BIO|, in which case it must implement
|
277
|
+
// |BIO_write| with |BIO_meth_set_write|. It must additionally implement
|
278
|
+
// |BIO_flush| with |BIO_meth_set_ctrl| and |BIO_CTRL_FLUSH|. If flushing is
|
279
|
+
// unnecessary with |wbio|, |BIO_flush| should return one and do nothing.
|
274
280
|
//
|
275
281
|
// Note that, although this function and |SSL_set0_rbio| may be called on the
|
276
282
|
// same |BIO|, each call takes a reference. Use |BIO_up_ref| to balance this.
|
@@ -329,11 +335,19 @@ OPENSSL_EXPORT int SSL_set_wfd(SSL *ssl, int fd);
|
|
329
335
|
// returns <= 0. The caller should pass the value into |SSL_get_error| to
|
330
336
|
// determine how to proceed.
|
331
337
|
//
|
332
|
-
// In DTLS, the caller must drive retransmissions.
|
333
|
-
//
|
334
|
-
// current timeout. If it expires before the next
|
335
|
-
// |DTLSv1_handle_timeout|. Note that DTLS handshake retransmissions
|
336
|
-
// sequence numbers, so it is not sufficient to replay packets at the
|
338
|
+
// In DTLS, the caller must drive retransmissions and timeouts. After calling
|
339
|
+
// this function, the caller must use |DTLSv1_get_timeout| to determine the
|
340
|
+
// current timeout, if any. If it expires before the application next calls into
|
341
|
+
// |ssl|, call |DTLSv1_handle_timeout|. Note that DTLS handshake retransmissions
|
342
|
+
// use fresh sequence numbers, so it is not sufficient to replay packets at the
|
343
|
+
// transport.
|
344
|
+
//
|
345
|
+
// After the DTLS handshake, some retransmissions may remain. If |ssl| wrote
|
346
|
+
// last in the handshake, it may need to retransmit the final flight in case of
|
347
|
+
// packet loss. Additionally, in DTLS 1.3, it may need to retransmit
|
348
|
+
// post-handshake messages. To handle these, the caller must always be prepared
|
349
|
+
// to receive packets and process them with |SSL_read|, even when the
|
350
|
+
// application protocol would otherwise not read from the connection.
|
337
351
|
//
|
338
352
|
// TODO(davidben): Ensure 0 is only returned on transport EOF.
|
339
353
|
// https://crbug.com/466303.
|
@@ -352,6 +366,12 @@ OPENSSL_EXPORT int SSL_accept(SSL *ssl);
|
|
352
366
|
// returns the number of bytes read. Otherwise, it returns <= 0. The caller
|
353
367
|
// should pass the value into |SSL_get_error| to determine how to proceed.
|
354
368
|
//
|
369
|
+
// In DTLS 1.3, the caller must also drive timeouts from retransmitting the
|
370
|
+
// final flight of the handshake, as well as post-handshake messages. After
|
371
|
+
// calling this function, the caller must use |DTLSv1_get_timeout| to determine
|
372
|
+
// the current timeout, if any. If it expires before the application next calls
|
373
|
+
// into |ssl|, call |DTLSv1_handle_timeout|.
|
374
|
+
//
|
355
375
|
// TODO(davidben): Ensure 0 is only returned on transport EOF.
|
356
376
|
// https://crbug.com/466303.
|
357
377
|
OPENSSL_EXPORT int SSL_read(SSL *ssl, void *buf, int num);
|
@@ -478,16 +498,12 @@ OPENSSL_EXPORT int SSL_get_error(const SSL *ssl, int ret_code);
|
|
478
498
|
#define SSL_ERROR_NONE 0
|
479
499
|
|
480
500
|
// SSL_ERROR_SSL indicates the operation failed within the library. The caller
|
481
|
-
// may inspect the error queue for more information.
|
501
|
+
// may inspect the error queue (see |ERR_get_error|) for more information.
|
482
502
|
#define SSL_ERROR_SSL 1
|
483
503
|
|
484
504
|
// SSL_ERROR_WANT_READ indicates the operation failed attempting to read from
|
485
505
|
// the transport. The caller may retry the operation when the transport is ready
|
486
506
|
// for reading.
|
487
|
-
//
|
488
|
-
// If signaled by a DTLS handshake, the caller must also call
|
489
|
-
// |DTLSv1_get_timeout| and |DTLSv1_handle_timeout| as appropriate. See
|
490
|
-
// |SSL_do_handshake|.
|
491
507
|
#define SSL_ERROR_WANT_READ 2
|
492
508
|
|
493
509
|
// SSL_ERROR_WANT_WRITE indicates the operation failed attempting to write to
|
@@ -600,28 +616,29 @@ OPENSSL_EXPORT int SSL_set_mtu(SSL *ssl, unsigned mtu);
|
|
600
616
|
// DTLSv1_set_initial_timeout_duration sets the initial duration for a DTLS
|
601
617
|
// handshake timeout.
|
602
618
|
//
|
603
|
-
// This duration overrides the default of
|
604
|
-
// recommendation of RFC
|
605
|
-
// situations where a shorter timeout would be beneficial, such as for
|
606
|
-
// time-sensitive applications.
|
619
|
+
// This duration overrides the default of 400 milliseconds, which is
|
620
|
+
// recommendation of RFC 9147 for real-time protocols.
|
607
621
|
OPENSSL_EXPORT void DTLSv1_set_initial_timeout_duration(SSL *ssl,
|
608
|
-
|
622
|
+
uint32_t duration_ms);
|
609
623
|
|
610
|
-
// DTLSv1_get_timeout queries the
|
611
|
-
//
|
612
|
-
// Otherwise, it returns zero.
|
624
|
+
// DTLSv1_get_timeout queries the running DTLS timers. If there are any in
|
625
|
+
// progress, it sets |*out| to the time remaining until the first timer expires
|
626
|
+
// and returns one. Otherwise, it returns zero. Timers may be scheduled both
|
627
|
+
// during and after the handshake.
|
613
628
|
//
|
614
629
|
// When the timeout expires, call |DTLSv1_handle_timeout| to handle the
|
615
630
|
// retransmit behavior.
|
616
631
|
//
|
617
|
-
// NOTE: This function must be queried again whenever the
|
618
|
-
//
|
632
|
+
// NOTE: This function must be queried again whenever the state machine changes,
|
633
|
+
// including when |DTLSv1_handle_timeout| is called.
|
619
634
|
OPENSSL_EXPORT int DTLSv1_get_timeout(const SSL *ssl, struct timeval *out);
|
620
635
|
|
621
|
-
// DTLSv1_handle_timeout is called when a DTLS
|
622
|
-
//
|
623
|
-
//
|
624
|
-
//
|
636
|
+
// DTLSv1_handle_timeout is called when a DTLS timeout expires. If no timeout
|
637
|
+
// had expired, it returns 0. Otherwise, it handles the timeout and returns 1 on
|
638
|
+
// success or -1 on error.
|
639
|
+
//
|
640
|
+
// This function may write to the transport (e.g. to retransmit messages) or
|
641
|
+
// update |ssl|'s internal state and schedule an updated timer.
|
625
642
|
//
|
626
643
|
// The caller's external timer should be compatible with the one |ssl| queries
|
627
644
|
// within some fudge factor. Otherwise, the call will be a no-op, but
|
@@ -629,12 +646,16 @@ OPENSSL_EXPORT int DTLSv1_get_timeout(const SSL *ssl, struct timeval *out);
|
|
629
646
|
//
|
630
647
|
// If the function returns -1, checking if |SSL_get_error| returns
|
631
648
|
// |SSL_ERROR_WANT_WRITE| may be used to determine if the retransmit failed due
|
632
|
-
// to a non-fatal error at the write |BIO|.
|
633
|
-
// retried
|
649
|
+
// to a non-fatal error at the write |BIO|. In this case, when the |BIO| is
|
650
|
+
// writable, the operation may be retried by calling the original function,
|
651
|
+
// |SSL_do_handshake| or |SSL_read|.
|
634
652
|
//
|
635
653
|
// WARNING: This function breaks the usual return value convention.
|
636
654
|
//
|
637
|
-
// TODO(davidben):
|
655
|
+
// TODO(davidben): We can make this function entirely optional by just checking
|
656
|
+
// the timers in |SSL_do_handshake| or |SSL_read|. Then timers behave like any
|
657
|
+
// other retry condition: rerun the operation and the library will make what
|
658
|
+
// progress it can.
|
638
659
|
OPENSSL_EXPORT int DTLSv1_handle_timeout(SSL *ssl);
|
639
660
|
|
640
661
|
|
@@ -651,17 +672,7 @@ OPENSSL_EXPORT int DTLSv1_handle_timeout(SSL *ssl);
|
|
651
672
|
|
652
673
|
#define DTLS1_VERSION 0xfeff
|
653
674
|
#define DTLS1_2_VERSION 0xfefd
|
654
|
-
|
655
|
-
// 1.3.
|
656
|
-
//
|
657
|
-
// WARNING: Do not use this value. BoringSSL's DTLS 1.3 implementation is still
|
658
|
-
// under development. The code enabled by this value is neither stable nor
|
659
|
-
// secure. It does not correspond to any real protocol. It is also incompatible
|
660
|
-
// with other DTLS implementations, and it is not compatible with future or past
|
661
|
-
// versions of BoringSSL.
|
662
|
-
//
|
663
|
-
// When the DTLS 1.3 implementation is complete, this symbol will be replaced.
|
664
|
-
#define DTLS1_3_EXPERIMENTAL_VERSION 0xfc25
|
675
|
+
#define DTLS1_3_VERSION 0xfefc
|
665
676
|
|
666
677
|
// SSL_CTX_set_min_proto_version sets the minimum protocol version for |ctx| to
|
667
678
|
// |version|. If |version| is zero, the default minimum version is used. It
|
@@ -864,8 +875,9 @@ OPENSSL_EXPORT void SSL_CTX_set0_buffer_pool(SSL_CTX *ctx,
|
|
864
875
|
// |SSL_CTX| and |SSL| objects maintain lists of credentials in preference
|
865
876
|
// order. During the handshake, BoringSSL will select the first usable
|
866
877
|
// credential from the list. Non-credential APIs, such as
|
867
|
-
// |SSL_CTX_use_certificate|, configure a "
|
868
|
-
// appended to this list if configured.
|
878
|
+
// |SSL_CTX_use_certificate|, configure a "legacy credential", which is
|
879
|
+
// appended to this list if configured. Using the legacy credential is the same
|
880
|
+
// as configuring an equivalent credential with the |SSL_CREDENTIAL| API.
|
869
881
|
//
|
870
882
|
// When selecting credentials, BoringSSL considers the credential's type, its
|
871
883
|
// cryptographic capabilities, and capabilities advertised by the peer. This
|
@@ -969,7 +981,7 @@ OPENSSL_EXPORT int SSL_CTX_add1_credential(SSL_CTX *ctx, SSL_CREDENTIAL *cred);
|
|
969
981
|
OPENSSL_EXPORT int SSL_add1_credential(SSL *ssl, SSL_CREDENTIAL *cred);
|
970
982
|
|
971
983
|
// SSL_certs_clear removes all credentials configured on |ssl|. It also removes
|
972
|
-
// the certificate chain and private key on the
|
984
|
+
// the certificate chain and private key on the legacy credential.
|
973
985
|
OPENSSL_EXPORT void SSL_certs_clear(SSL *ssl);
|
974
986
|
|
975
987
|
// SSL_get0_selected_credential returns the credential in use in the current
|
@@ -1000,8 +1012,9 @@ OPENSSL_EXPORT const SSL_CREDENTIAL *SSL_get0_selected_credential(
|
|
1000
1012
|
// than return an error. Additionally, overwriting a previously-configured
|
1001
1013
|
// certificate and key pair only works if the certificate is configured first.
|
1002
1014
|
//
|
1003
|
-
// Each of these functions configures the
|
1004
|
-
//
|
1015
|
+
// Each of these functions configures the single "legacy credential" on the
|
1016
|
+
// |SSL_CTX| or |SSL|. To select between multiple certificates, use
|
1017
|
+
// |SSL_CREDENTIAL_new_x509| and other APIs to configure a list of credentials.
|
1005
1018
|
|
1006
1019
|
// SSL_CTX_use_certificate sets |ctx|'s leaf certificate to |x509|. It returns
|
1007
1020
|
// one on success and zero on failure. If |ctx| has a private key which is
|
@@ -1138,9 +1151,8 @@ SSL_get0_peer_verify_algorithms(const SSL *ssl, const uint16_t **out_sigalgs);
|
|
1138
1151
|
// The behavior of this function is undefined except during the callbacks set by
|
1139
1152
|
// by |SSL_CTX_set_cert_cb| and |SSL_CTX_set_client_cert_cb| or when the
|
1140
1153
|
// handshake is paused because of them.
|
1141
|
-
OPENSSL_EXPORT size_t
|
1142
|
-
|
1143
|
-
const uint16_t **out_sigalgs);
|
1154
|
+
OPENSSL_EXPORT size_t SSL_get0_peer_delegation_algorithms(
|
1155
|
+
const SSL *ssl, const uint16_t **out_sigalgs);
|
1144
1156
|
|
1145
1157
|
// SSL_CTX_get0_certificate returns |ctx|'s leaf certificate.
|
1146
1158
|
OPENSSL_EXPORT X509 *SSL_CTX_get0_certificate(const SSL_CTX *ctx);
|
@@ -1198,8 +1210,7 @@ OPENSSL_EXPORT int SSL_CTX_set_ocsp_response(SSL_CTX *ctx,
|
|
1198
1210
|
// SSL_set_ocsp_response sets the OCSP response that is sent to clients which
|
1199
1211
|
// request it. It returns one on success and zero on error. The caller retains
|
1200
1212
|
// ownership of |response|.
|
1201
|
-
OPENSSL_EXPORT int SSL_set_ocsp_response(SSL *ssl,
|
1202
|
-
const uint8_t *response,
|
1213
|
+
OPENSSL_EXPORT int SSL_set_ocsp_response(SSL *ssl, const uint8_t *response,
|
1203
1214
|
size_t response_len);
|
1204
1215
|
|
1205
1216
|
// SSL_SIGN_* are signature algorithm values as defined in TLS 1.3.
|
@@ -1359,8 +1370,7 @@ OPENSSL_EXPORT int SSL_use_RSAPrivateKey_ASN1(SSL *ssl, const uint8_t *der,
|
|
1359
1370
|
#define SSL_FILETYPE_ASN1 2
|
1360
1371
|
|
1361
1372
|
OPENSSL_EXPORT int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx,
|
1362
|
-
const char *file,
|
1363
|
-
int type);
|
1373
|
+
const char *file, int type);
|
1364
1374
|
OPENSSL_EXPORT int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file,
|
1365
1375
|
int type);
|
1366
1376
|
|
@@ -1503,6 +1513,24 @@ OPENSSL_EXPORT void SSL_CTX_set_private_key_method(
|
|
1503
1513
|
OPENSSL_EXPORT int SSL_CREDENTIAL_set_private_key_method(
|
1504
1514
|
SSL_CREDENTIAL *cred, const SSL_PRIVATE_KEY_METHOD *key_method);
|
1505
1515
|
|
1516
|
+
// SSL_CREDENTIAL_set_must_match_issuer sets the flag that this credential
|
1517
|
+
// should be considered only when it matches a peer request for a particular
|
1518
|
+
// issuer via a negotiation mechanism (such as the certificate_authorities
|
1519
|
+
// extension).
|
1520
|
+
OPENSSL_EXPORT void SSL_CREDENTIAL_set_must_match_issuer(SSL_CREDENTIAL *cred);
|
1521
|
+
|
1522
|
+
// SSL_CREDENTIAL_clear_must_match_issuer clears the flag requiring issuer
|
1523
|
+
// matching, indicating this credential should be considered regardless of peer
|
1524
|
+
// issuer matching requests. (This is the default).
|
1525
|
+
OPENSSL_EXPORT void SSL_CREDENTIAL_clear_must_match_issuer(
|
1526
|
+
SSL_CREDENTIAL *cred);
|
1527
|
+
|
1528
|
+
// SSL_CREDENTIAL_must_match_issuer returns the value of the flag indicating
|
1529
|
+
// that this credential should be considered only when it matches a peer request
|
1530
|
+
// for a particular issuer via a negotiation mechanism (such as the
|
1531
|
+
// certificate_authorities extension).
|
1532
|
+
OPENSSL_EXPORT int SSL_CREDENTIAL_must_match_issuer(const SSL_CREDENTIAL *cred);
|
1533
|
+
|
1506
1534
|
// SSL_can_release_private_key returns one if |ssl| will no longer call into the
|
1507
1535
|
// private key and zero otherwise. If the function returns one, the caller can
|
1508
1536
|
// release state associated with the private key.
|
@@ -1822,8 +1850,8 @@ OPENSSL_EXPORT STACK_OF(X509) *SSL_get_peer_full_cert_chain(const SSL *ssl);
|
|
1822
1850
|
// verification. The caller does not take ownership of the result.
|
1823
1851
|
//
|
1824
1852
|
// This is the |CRYPTO_BUFFER| variant of |SSL_get_peer_full_cert_chain|.
|
1825
|
-
OPENSSL_EXPORT const STACK_OF(CRYPTO_BUFFER) *
|
1826
|
-
|
1853
|
+
OPENSSL_EXPORT const STACK_OF(CRYPTO_BUFFER) *SSL_get0_peer_certificates(
|
1854
|
+
const SSL *ssl);
|
1827
1855
|
|
1828
1856
|
// SSL_get0_signed_cert_timestamp_list sets |*out| and |*out_len| to point to
|
1829
1857
|
// |*out_len| bytes of SCT information from the server. This is only valid if
|
@@ -1937,8 +1965,9 @@ OPENSSL_EXPORT int SSL_SESSION_to_bytes_for_ticket(const SSL_SESSION *in,
|
|
1937
1965
|
|
1938
1966
|
// SSL_SESSION_from_bytes parses |in_len| bytes from |in| as an SSL_SESSION. It
|
1939
1967
|
// returns a newly-allocated |SSL_SESSION| on success or NULL on error.
|
1940
|
-
OPENSSL_EXPORT SSL_SESSION *SSL_SESSION_from_bytes(
|
1941
|
-
|
1968
|
+
OPENSSL_EXPORT SSL_SESSION *SSL_SESSION_from_bytes(const uint8_t *in,
|
1969
|
+
size_t in_len,
|
1970
|
+
const SSL_CTX *ctx);
|
1942
1971
|
|
1943
1972
|
// SSL_SESSION_get_version returns a string describing the TLS or DTLS version
|
1944
1973
|
// |session| was established at. For example, "TLSv1.2" or "DTLSv1".
|
@@ -2000,7 +2029,7 @@ OPENSSL_EXPORT X509 *SSL_SESSION_get0_peer(const SSL_SESSION *session);
|
|
2000
2029
|
// unverified list of certificates as sent by the peer, not the final chain
|
2001
2030
|
// built during verification. The caller does not take ownership of the result.
|
2002
2031
|
OPENSSL_EXPORT const STACK_OF(CRYPTO_BUFFER) *
|
2003
|
-
|
2032
|
+
SSL_SESSION_get0_peer_certificates(const SSL_SESSION *session);
|
2004
2033
|
|
2005
2034
|
// SSL_SESSION_get0_signed_cert_timestamp_list sets |*out| and |*out_len| to
|
2006
2035
|
// point to |*out_len| bytes of SCT information stored in |session|. This is
|
@@ -2188,7 +2217,7 @@ OPENSSL_EXPORT void SSL_SESSION_get0_peer_sha256(const SSL_SESSION *session,
|
|
2188
2217
|
// SSL_SESS_CACHE_NO_INTERNAL, on a server, disables the internal session
|
2189
2218
|
// cache.
|
2190
2219
|
#define SSL_SESS_CACHE_NO_INTERNAL \
|
2191
|
-
|
2220
|
+
(SSL_SESS_CACHE_NO_INTERNAL_LOOKUP | SSL_SESS_CACHE_NO_INTERNAL_STORE)
|
2192
2221
|
|
2193
2222
|
// SSL_CTX_set_session_cache_mode sets the session cache mode bits for |ctx| to
|
2194
2223
|
// |mode|. It returns the previous value.
|
@@ -2433,21 +2462,22 @@ OPENSSL_EXPORT int SSL_CTX_set_tlsext_ticket_keys(SSL_CTX *ctx, const void *in,
|
|
2433
2462
|
// When encrypting a new ticket, |encrypt| will be one. It writes a public
|
2434
2463
|
// 16-byte key name to |key_name| and a fresh IV to |iv|. The output IV length
|
2435
2464
|
// must match |EVP_CIPHER_CTX_iv_length| of the cipher selected. In this mode,
|
2436
|
-
// |callback| returns 1 on success and -1 on
|
2465
|
+
// |callback| returns 1 on success, 0 to decline sending a ticket, and -1 on
|
2466
|
+
// error.
|
2437
2467
|
//
|
2438
2468
|
// When decrypting a ticket, |encrypt| will be zero. |key_name| will point to a
|
2439
2469
|
// 16-byte key name and |iv| points to an IV. The length of the IV consumed must
|
2440
2470
|
// match |EVP_CIPHER_CTX_iv_length| of the cipher selected. In this mode,
|
2441
|
-
// |callback| returns -1 to abort the handshake, 0 if
|
2442
|
-
//
|
2443
|
-
// This may be used to re-key the ticket.
|
2471
|
+
// |callback| returns -1 to abort the handshake, 0 if the ticket key was
|
2472
|
+
// unrecognized, and 1 or 2 on success. If it returns 2, the ticket will be
|
2473
|
+
// renewed. This may be used to re-key the ticket.
|
2444
2474
|
//
|
2445
2475
|
// WARNING: |callback| wildly breaks the usual return value convention and is
|
2446
2476
|
// called in two different modes.
|
2447
2477
|
OPENSSL_EXPORT int SSL_CTX_set_tlsext_ticket_key_cb(
|
2448
|
-
SSL_CTX *ctx,
|
2449
|
-
|
2450
|
-
|
2478
|
+
SSL_CTX *ctx,
|
2479
|
+
int (*callback)(SSL *ssl, uint8_t *key_name, uint8_t *iv,
|
2480
|
+
EVP_CIPHER_CTX *ctx, HMAC_CTX *hmac_ctx, int encrypt));
|
2451
2481
|
|
2452
2482
|
// ssl_ticket_aead_result_t enumerates the possible results from decrypting a
|
2453
2483
|
// ticket with an |SSL_TICKET_AEAD_METHOD|.
|
@@ -2477,7 +2507,8 @@ struct ssl_ticket_aead_method_st {
|
|
2477
2507
|
// seal encrypts and authenticates |in_len| bytes from |in|, writes, at most,
|
2478
2508
|
// |max_out_len| bytes to |out|, and puts the number of bytes written in
|
2479
2509
|
// |*out_len|. The |in| and |out| buffers may be equal but will not otherwise
|
2480
|
-
// alias. It returns one on success or zero on error.
|
2510
|
+
// alias. It returns one on success or zero on error. If the function returns
|
2511
|
+
// but |*out_len| is zero, BoringSSL will skip sending a ticket.
|
2481
2512
|
int (*seal)(SSL *ssl, uint8_t *out, size_t *out_len, size_t max_out_len,
|
2482
2513
|
const uint8_t *in, size_t in_len);
|
2483
2514
|
|
@@ -2810,8 +2841,7 @@ OPENSSL_EXPORT int SSL_CTX_set1_param(SSL_CTX *ctx,
|
|
2810
2841
|
|
2811
2842
|
// SSL_set1_param sets verification parameters from |param|. It returns one on
|
2812
2843
|
// success and zero on failure. The caller retains ownership of |param|.
|
2813
|
-
OPENSSL_EXPORT int SSL_set1_param(SSL *ssl,
|
2814
|
-
const X509_VERIFY_PARAM *param);
|
2844
|
+
OPENSSL_EXPORT int SSL_set1_param(SSL *ssl, const X509_VERIFY_PARAM *param);
|
2815
2845
|
|
2816
2846
|
// SSL_CTX_get0_param returns |ctx|'s |X509_VERIFY_PARAM| for certificate
|
2817
2847
|
// verification. The caller must not release the returned pointer but may call
|
@@ -2979,6 +3009,12 @@ OPENSSL_EXPORT void SSL_CTX_set_client_CA_list(SSL_CTX *ctx,
|
|
2979
3009
|
OPENSSL_EXPORT void SSL_set0_client_CAs(SSL *ssl,
|
2980
3010
|
STACK_OF(CRYPTO_BUFFER) *name_list);
|
2981
3011
|
|
3012
|
+
// SSL_set0_CA_names sets |ssl|'s CA name list for the certificate authorities
|
3013
|
+
// extension to |name_list|, which should contain DER-encoded distinguished
|
3014
|
+
// names (RFC 5280). It takes ownership of |name_list|.
|
3015
|
+
OPENSSL_EXPORT void SSL_set0_CA_names(SSL *ssl,
|
3016
|
+
STACK_OF(CRYPTO_BUFFER) *name_list);
|
3017
|
+
|
2982
3018
|
// SSL_CTX_set0_client_CAs sets |ctx|'s client certificate CA list to
|
2983
3019
|
// |name_list|, which should contain DER-encoded distinguished names (RFC 5280).
|
2984
3020
|
// It takes ownership of |name_list|.
|
@@ -3002,12 +3038,12 @@ OPENSSL_EXPORT STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *ssl);
|
|
3002
3038
|
//
|
3003
3039
|
// The returned stack is owned by |ssl|, as are its contents. It should not be
|
3004
3040
|
// used past the point where the handshake is restarted after the callback.
|
3005
|
-
OPENSSL_EXPORT const STACK_OF(CRYPTO_BUFFER) *
|
3006
|
-
|
3041
|
+
OPENSSL_EXPORT const STACK_OF(CRYPTO_BUFFER) *SSL_get0_server_requested_CAs(
|
3042
|
+
const SSL *ssl);
|
3007
3043
|
|
3008
3044
|
// SSL_CTX_get_client_CA_list returns |ctx|'s client certificate CA list.
|
3009
|
-
OPENSSL_EXPORT STACK_OF(X509_NAME) *
|
3010
|
-
|
3045
|
+
OPENSSL_EXPORT STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(
|
3046
|
+
const SSL_CTX *ctx);
|
3011
3047
|
|
3012
3048
|
// SSL_add_client_CA appends |x509|'s subject to the client certificate CA list.
|
3013
3049
|
// It returns one on success or zero on error. The caller retains ownership of
|
@@ -3162,8 +3198,9 @@ OPENSSL_EXPORT int SSL_set_alpn_protos(SSL *ssl, const uint8_t *protos,
|
|
3162
3198
|
// |SSL_get_pending_cipher| to query the cipher suite. This may be used to
|
3163
3199
|
// implement HTTP/2's cipher suite constraints.
|
3164
3200
|
OPENSSL_EXPORT void SSL_CTX_set_alpn_select_cb(
|
3165
|
-
SSL_CTX *ctx,
|
3166
|
-
|
3201
|
+
SSL_CTX *ctx,
|
3202
|
+
int (*cb)(SSL *ssl, const uint8_t **out, uint8_t *out_len,
|
3203
|
+
const uint8_t *in, unsigned in_len, void *arg),
|
3167
3204
|
void *arg);
|
3168
3205
|
|
3169
3206
|
// SSL_get0_alpn_selected gets the selected ALPN protocol (if any) from |ssl|.
|
@@ -3328,8 +3365,9 @@ OPENSSL_EXPORT void SSL_CTX_set_next_protos_advertised_cb(
|
|
3328
3365
|
// the client to offer NPN in the ClientHello. Callers thus should not configure
|
3329
3366
|
// this callback in TLS client contexts that are not intended to use NPN.
|
3330
3367
|
OPENSSL_EXPORT void SSL_CTX_set_next_proto_select_cb(
|
3331
|
-
SSL_CTX *ctx,
|
3332
|
-
|
3368
|
+
SSL_CTX *ctx,
|
3369
|
+
int (*cb)(SSL *ssl, uint8_t **out, uint8_t *out_len, const uint8_t *in,
|
3370
|
+
unsigned in_len, void *arg),
|
3333
3371
|
void *arg);
|
3334
3372
|
|
3335
3373
|
// SSL_get0_next_proto_negotiated sets |*out_data| and |*out_len| to point to
|
@@ -3445,10 +3483,10 @@ DEFINE_CONST_STACK_OF(SRTP_PROTECTION_PROFILE)
|
|
3445
3483
|
#define SRTP_AES128_CM_SHA1_32 0x0002
|
3446
3484
|
#define SRTP_AES128_F8_SHA1_80 0x0003
|
3447
3485
|
#define SRTP_AES128_F8_SHA1_32 0x0004
|
3448
|
-
#define SRTP_NULL_SHA1_80
|
3449
|
-
#define SRTP_NULL_SHA1_32
|
3450
|
-
#define SRTP_AEAD_AES_128_GCM
|
3451
|
-
#define SRTP_AEAD_AES_256_GCM
|
3486
|
+
#define SRTP_NULL_SHA1_80 0x0005
|
3487
|
+
#define SRTP_NULL_SHA1_32 0x0006
|
3488
|
+
#define SRTP_AEAD_AES_128_GCM 0x0007
|
3489
|
+
#define SRTP_AEAD_AES_256_GCM 0x0008
|
3452
3490
|
|
3453
3491
|
// SSL_CTX_set_srtp_profiles enables SRTP for all SSL objects created from
|
3454
3492
|
// |ctx|. |profile| contains a colon-separated list of profile names. It returns
|
@@ -4393,18 +4431,18 @@ OPENSSL_EXPORT int SSL_set_handshake_hints(SSL *ssl, const uint8_t *hints,
|
|
4393
4431
|
|
4394
4432
|
// SSL_CTX_set_msg_callback installs |cb| as the message callback for |ctx|.
|
4395
4433
|
// This callback will be called when sending or receiving low-level record
|
4396
|
-
// headers, complete handshake messages, ChangeCipherSpec, and
|
4397
|
-
// |write_p| is one for outgoing messages and zero for incoming messages.
|
4434
|
+
// headers, complete handshake messages, ChangeCipherSpec, alerts, and DTLS
|
4435
|
+
// ACKs. |write_p| is one for outgoing messages and zero for incoming messages.
|
4398
4436
|
//
|
4399
4437
|
// For each record header, |cb| is called with |version| = 0 and |content_type|
|
4400
4438
|
// = |SSL3_RT_HEADER|. The |len| bytes from |buf| contain the header. Note that
|
4401
4439
|
// this does not include the record body. If the record is sealed, the length
|
4402
4440
|
// in the header is the length of the ciphertext.
|
4403
4441
|
//
|
4404
|
-
// For each handshake message, ChangeCipherSpec, and
|
4405
|
-
// protocol version and |content_type| is the corresponding record type.
|
4406
|
-
// |len| bytes from |buf| contain the handshake message, one-byte
|
4407
|
-
// ChangeCipherSpec body,
|
4442
|
+
// For each handshake message, ChangeCipherSpec, alert, and DTLS ACK, |version|
|
4443
|
+
// is the protocol version and |content_type| is the corresponding record type.
|
4444
|
+
// The |len| bytes from |buf| contain the handshake message, one-byte
|
4445
|
+
// ChangeCipherSpec body, two-byte alert, and ACK respectively.
|
4408
4446
|
//
|
4409
4447
|
// In connections that enable ECH, |cb| is additionally called with
|
4410
4448
|
// |content_type| = |SSL3_RT_CLIENT_HELLO_INNER| for each ClientHelloInner that
|
@@ -4609,6 +4647,8 @@ struct ssl_early_callback_ctx {
|
|
4609
4647
|
size_t random_len;
|
4610
4648
|
const uint8_t *session_id;
|
4611
4649
|
size_t session_id_len;
|
4650
|
+
const uint8_t *dtls_cookie;
|
4651
|
+
size_t dtls_cookie_len;
|
4612
4652
|
const uint8_t *cipher_suites;
|
4613
4653
|
size_t cipher_suites_len;
|
4614
4654
|
const uint8_t *compression_methods;
|
@@ -4761,8 +4801,9 @@ OPENSSL_EXPORT int SSL_was_key_usage_invalid(const SSL *ssl);
|
|
4761
4801
|
// a server (respectively, client) handshake completes, fails, or is paused.
|
4762
4802
|
// The |value| argument is one if the handshake succeeded and <= 0
|
4763
4803
|
// otherwise.
|
4764
|
-
OPENSSL_EXPORT void SSL_CTX_set_info_callback(
|
4765
|
-
|
4804
|
+
OPENSSL_EXPORT void SSL_CTX_set_info_callback(SSL_CTX *ctx,
|
4805
|
+
void (*cb)(const SSL *ssl,
|
4806
|
+
int type, int value));
|
4766
4807
|
|
4767
4808
|
// SSL_CTX_get_info_callback returns the callback set by
|
4768
4809
|
// |SSL_CTX_set_info_callback|.
|
@@ -4772,8 +4813,9 @@ OPENSSL_EXPORT void (*SSL_CTX_get_info_callback(SSL_CTX *ctx))(const SSL *ssl,
|
|
4772
4813
|
|
4773
4814
|
// SSL_set_info_callback configures a callback to be run at various events
|
4774
4815
|
// during a connection's lifetime. See |SSL_CTX_set_info_callback|.
|
4775
|
-
OPENSSL_EXPORT void SSL_set_info_callback(
|
4776
|
-
|
4816
|
+
OPENSSL_EXPORT void SSL_set_info_callback(SSL *ssl,
|
4817
|
+
void (*cb)(const SSL *ssl, int type,
|
4818
|
+
int value));
|
4777
4819
|
|
4778
4820
|
// SSL_get_info_callback returns the callback set by |SSL_set_info_callback|.
|
4779
4821
|
OPENSSL_EXPORT void (*SSL_get_info_callback(const SSL *ssl))(const SSL *ssl,
|
@@ -5178,16 +5220,16 @@ OPENSSL_EXPORT int SSL_set1_sigalgs_list(SSL *ssl, const char *str);
|
|
5178
5220
|
|
5179
5221
|
#define SSL_get_cipher(ssl) SSL_CIPHER_get_name(SSL_get_current_cipher(ssl))
|
5180
5222
|
#define SSL_get_cipher_bits(ssl, out_alg_bits) \
|
5181
|
-
|
5223
|
+
SSL_CIPHER_get_bits(SSL_get_current_cipher(ssl), out_alg_bits)
|
5182
5224
|
#define SSL_get_cipher_version(ssl) \
|
5183
|
-
|
5225
|
+
SSL_CIPHER_get_version(SSL_get_current_cipher(ssl))
|
5184
5226
|
#define SSL_get_cipher_name(ssl) \
|
5185
|
-
|
5227
|
+
SSL_CIPHER_get_name(SSL_get_current_cipher(ssl))
|
5186
5228
|
#define SSL_get_time(session) SSL_SESSION_get_time(session)
|
5187
5229
|
#define SSL_set_time(session, time) SSL_SESSION_set_time((session), (time))
|
5188
5230
|
#define SSL_get_timeout(session) SSL_SESSION_get_timeout(session)
|
5189
5231
|
#define SSL_set_timeout(session, timeout) \
|
5190
|
-
|
5232
|
+
SSL_SESSION_set_timeout((session), (timeout))
|
5191
5233
|
|
5192
5234
|
struct ssl_comp_st {
|
5193
5235
|
int id;
|
@@ -5288,19 +5330,19 @@ OPENSSL_EXPORT int SSL_want(const SSL *ssl);
|
|
5288
5330
|
#define SSL_want_read(ssl) (SSL_want(ssl) == SSL_READING)
|
5289
5331
|
#define SSL_want_write(ssl) (SSL_want(ssl) == SSL_WRITING)
|
5290
5332
|
|
5291
|
-
|
5292
|
-
|
5293
|
-
|
5294
|
-
|
5295
|
-
|
5333
|
+
// SSL_get_finished writes up to |count| bytes of the Finished message sent by
|
5334
|
+
// |ssl| to |buf|. It returns the total untruncated length or zero if none has
|
5335
|
+
// been sent yet. At TLS 1.3 and later, it returns zero.
|
5336
|
+
//
|
5337
|
+
// Use |SSL_get_tls_unique| instead.
|
5296
5338
|
OPENSSL_EXPORT size_t SSL_get_finished(const SSL *ssl, void *buf, size_t count);
|
5297
5339
|
|
5298
|
-
|
5299
|
-
|
5300
|
-
|
5301
|
-
|
5302
|
-
|
5303
|
-
|
5340
|
+
// SSL_get_peer_finished writes up to |count| bytes of the Finished message
|
5341
|
+
// received from |ssl|'s peer to |buf|. It returns the total untruncated length
|
5342
|
+
// or zero if none has been received yet. At TLS 1.3 and later, it returns
|
5343
|
+
// zero.
|
5344
|
+
//
|
5345
|
+
// Use |SSL_get_tls_unique| instead.
|
5304
5346
|
OPENSSL_EXPORT size_t SSL_get_peer_finished(const SSL *ssl, void *buf,
|
5305
5347
|
size_t count);
|
5306
5348
|
|
@@ -5776,7 +5818,7 @@ OPENSSL_EXPORT int SSL_set_compliance_policy(
|
|
5776
5818
|
#define SSL_CTX_set_session_cache_mode SSL_CTX_set_session_cache_mode
|
5777
5819
|
#define SSL_CTX_set_tlsext_servername_arg SSL_CTX_set_tlsext_servername_arg
|
5778
5820
|
#define SSL_CTX_set_tlsext_servername_callback \
|
5779
|
-
|
5821
|
+
SSL_CTX_set_tlsext_servername_callback
|
5780
5822
|
#define SSL_CTX_set_tlsext_ticket_key_cb SSL_CTX_set_tlsext_ticket_key_cb
|
5781
5823
|
#define SSL_CTX_set_tlsext_ticket_keys SSL_CTX_set_tlsext_ticket_keys
|
5782
5824
|
#define SSL_CTX_set_tmp_dh SSL_CTX_set_tmp_dh
|
@@ -5794,7 +5836,7 @@ OPENSSL_EXPORT int SSL_set_compliance_policy(
|
|
5794
5836
|
#define SSL_get_negotiated_group SSL_get_negotiated_group
|
5795
5837
|
#define SSL_get_options SSL_get_options
|
5796
5838
|
#define SSL_get_secure_renegotiation_support \
|
5797
|
-
|
5839
|
+
SSL_get_secure_renegotiation_support
|
5798
5840
|
#define SSL_need_tmp_RSA SSL_need_tmp_RSA
|
5799
5841
|
#define SSL_num_renegotiations SSL_num_renegotiations
|
5800
5842
|
#define SSL_session_reused SSL_session_reused
|
@@ -5814,7 +5856,7 @@ OPENSSL_EXPORT int SSL_set_compliance_policy(
|
|
5814
5856
|
#define SSL_set_tmp_rsa SSL_set_tmp_rsa
|
5815
5857
|
#define SSL_total_renegotiations SSL_total_renegotiations
|
5816
5858
|
|
5817
|
-
#endif
|
5859
|
+
#endif // !defined(BORINGSSL_PREFIX)
|
5818
5860
|
|
5819
5861
|
|
5820
5862
|
#if defined(__cplusplus)
|
@@ -5894,9 +5936,12 @@ OPENSSL_EXPORT bool SSL_serialize_handback(const SSL *ssl, CBB *out);
|
|
5894
5936
|
OPENSSL_EXPORT bool SSL_apply_handback(SSL *ssl, Span<const uint8_t> handback);
|
5895
5937
|
|
5896
5938
|
// SSL_get_traffic_secrets sets |*out_read_traffic_secret| and
|
5897
|
-
// |*out_write_traffic_secret| to reference the TLS 1.3 traffic secrets
|
5898
|
-
// |ssl|.
|
5899
|
-
//
|
5939
|
+
// |*out_write_traffic_secret| to reference the current TLS 1.3 traffic secrets
|
5940
|
+
// for |ssl|. It returns true on success and false on error.
|
5941
|
+
//
|
5942
|
+
// This function is only valid on TLS 1.3 connections that have completed the
|
5943
|
+
// handshake. It is not valid for QUIC or DTLS, where multiple traffic secrets
|
5944
|
+
// may be active at a time.
|
5900
5945
|
OPENSSL_EXPORT bool SSL_get_traffic_secrets(
|
5901
5946
|
const SSL *ssl, Span<const uint8_t> *out_read_traffic_secret,
|
5902
5947
|
Span<const uint8_t> *out_write_traffic_secret);
|
@@ -6101,7 +6146,6 @@ BSSL_NAMESPACE_END
|
|
6101
6146
|
#define SSL_R_WRONG_VERSION_ON_EARLY_DATA 278
|
6102
6147
|
#define SSL_R_UNEXPECTED_EXTENSION_ON_EARLY_DATA 279
|
6103
6148
|
#define SSL_R_NO_SUPPORTED_VERSIONS_ENABLED 280
|
6104
|
-
#define SSL_R_APPLICATION_DATA_INSTEAD_OF_HANDSHAKE 281
|
6105
6149
|
#define SSL_R_EMPTY_HELLO_RETRY_REQUEST 282
|
6106
6150
|
#define SSL_R_EARLY_DATA_NOT_IN_USE 283
|
6107
6151
|
#define SSL_R_HANDSHAKE_NOT_COMPLETE 284
|
@@ -79,8 +79,8 @@ typedef uint32_t CRYPTO_refcount_t;
|
|
79
79
|
// Deprecated functions.
|
80
80
|
//
|
81
81
|
// Historically, OpenSSL required callers to provide locking callbacks.
|
82
|
-
// BoringSSL
|
83
|
-
// and so no-op implementations are provided.
|
82
|
+
// BoringSSL does not use external callbacks for locking, but some old code
|
83
|
+
// calls these functions and so no-op implementations are provided.
|
84
84
|
|
85
85
|
// These defines do nothing but are provided to make old code easier to
|
86
86
|
// compile.
|
@@ -1,5 +1,5 @@
|
|
1
|
-
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
|
2
|
-
*
|
1
|
+
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL project
|
2
|
+
* 1999. */
|
3
3
|
/* ====================================================================
|
4
4
|
* Copyright (c) 1999-2004 The OpenSSL Project. All rights reserved.
|
5
5
|
*
|