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
@@ -97,7 +97,7 @@ using ReadDelayHandle = XdsClient::ReadDelayHandle;
|
|
97
97
|
|
98
98
|
// A server config fetcher that fetches the information for configuring server
|
99
99
|
// listeners from the xDS control plane.
|
100
|
-
class XdsServerConfigFetcher final : public
|
100
|
+
class XdsServerConfigFetcher final : public ServerConfigFetcher {
|
101
101
|
public:
|
102
102
|
XdsServerConfigFetcher(RefCountedPtr<GrpcXdsClient> xds_client,
|
103
103
|
grpc_server_xds_status_notifier notifier);
|
@@ -106,12 +106,11 @@ class XdsServerConfigFetcher final : public grpc_server_config_fetcher {
|
|
106
106
|
xds_client_.reset(DEBUG_LOCATION, "XdsServerConfigFetcher");
|
107
107
|
}
|
108
108
|
|
109
|
-
void StartWatch(
|
110
|
-
|
111
|
-
|
109
|
+
void StartWatch(
|
110
|
+
std::string listening_address,
|
111
|
+
std::unique_ptr<ServerConfigFetcher::WatcherInterface> watcher) override;
|
112
112
|
|
113
|
-
void CancelWatch(
|
114
|
-
grpc_server_config_fetcher::WatcherInterface* watcher) override;
|
113
|
+
void CancelWatch(ServerConfigFetcher::WatcherInterface* watcher) override;
|
115
114
|
|
116
115
|
// Return the interested parties from the xds client so that it can be polled.
|
117
116
|
grpc_pollset_set* interested_parties() override {
|
@@ -124,7 +123,7 @@ class XdsServerConfigFetcher final : public grpc_server_config_fetcher {
|
|
124
123
|
RefCountedPtr<GrpcXdsClient> xds_client_;
|
125
124
|
const grpc_server_xds_status_notifier serving_status_notifier_;
|
126
125
|
Mutex mu_;
|
127
|
-
std::map<
|
126
|
+
std::map<ServerConfigFetcher::WatcherInterface*, ListenerWatcher*>
|
128
127
|
listener_watchers_ ABSL_GUARDED_BY(mu_);
|
129
128
|
};
|
130
129
|
|
@@ -142,7 +141,7 @@ class XdsServerConfigFetcher::ListenerWatcher final
|
|
142
141
|
: public XdsListenerResourceType::WatcherInterface {
|
143
142
|
public:
|
144
143
|
ListenerWatcher(RefCountedPtr<GrpcXdsClient> xds_client,
|
145
|
-
std::unique_ptr<
|
144
|
+
std::unique_ptr<ServerConfigFetcher::WatcherInterface>
|
146
145
|
server_config_watcher,
|
147
146
|
grpc_server_xds_status_notifier serving_status_notifier,
|
148
147
|
std::string listening_address);
|
@@ -152,13 +151,11 @@ class XdsServerConfigFetcher::ListenerWatcher final
|
|
152
151
|
}
|
153
152
|
|
154
153
|
void OnResourceChanged(
|
155
|
-
std::shared_ptr<const XdsListenerResource
|
154
|
+
absl::StatusOr<std::shared_ptr<const XdsListenerResource>> listener,
|
156
155
|
RefCountedPtr<ReadDelayHandle> read_delay_handle) override;
|
157
156
|
|
158
|
-
void
|
159
|
-
|
160
|
-
|
161
|
-
void OnResourceDoesNotExist(
|
157
|
+
void OnAmbientError(
|
158
|
+
absl::Status status,
|
162
159
|
RefCountedPtr<ReadDelayHandle> read_delay_handle) override;
|
163
160
|
|
164
161
|
const std::string& listening_address() const { return listening_address_; }
|
@@ -182,7 +179,7 @@ class XdsServerConfigFetcher::ListenerWatcher final
|
|
182
179
|
ABSL_EXCLUSIVE_LOCKS_REQUIRED(&mu_);
|
183
180
|
|
184
181
|
RefCountedPtr<GrpcXdsClient> xds_client_;
|
185
|
-
const std::unique_ptr<
|
182
|
+
const std::unique_ptr<ServerConfigFetcher::WatcherInterface>
|
186
183
|
server_config_watcher_;
|
187
184
|
const grpc_server_xds_status_notifier serving_status_notifier_;
|
188
185
|
const std::string listening_address_;
|
@@ -199,7 +196,7 @@ class XdsServerConfigFetcher::ListenerWatcher final
|
|
199
196
|
// args that configure the right mTLS certs and cause the right set of HTTP
|
200
197
|
// filters to be injected.
|
201
198
|
class XdsServerConfigFetcher::ListenerWatcher::FilterChainMatchManager final
|
202
|
-
: public
|
199
|
+
: public ServerConfigFetcher::ConnectionManager {
|
203
200
|
public:
|
204
201
|
FilterChainMatchManager(RefCountedPtr<GrpcXdsClient> xds_client,
|
205
202
|
XdsListenerResource::FilterChainMap filter_chain_map,
|
@@ -248,9 +245,9 @@ class XdsServerConfigFetcher::ListenerWatcher::FilterChainMatchManager final
|
|
248
245
|
// RDS resources.
|
249
246
|
void OnRouteConfigChanged(
|
250
247
|
const std::string& resource_name,
|
251
|
-
std::shared_ptr<const XdsRouteConfigResource
|
252
|
-
|
253
|
-
void
|
248
|
+
absl::StatusOr<std::shared_ptr<const XdsRouteConfigResource>>
|
249
|
+
route_config);
|
250
|
+
void OnAmbientError(const std::string& resource_name, absl::Status status);
|
254
251
|
|
255
252
|
RefCountedPtr<GrpcXdsClient> xds_client_;
|
256
253
|
// This ref is only kept around till the FilterChainMatchManager becomes
|
@@ -288,21 +285,18 @@ class XdsServerConfigFetcher::ListenerWatcher::FilterChainMatchManager::
|
|
288
285
|
filter_chain_match_manager_(std::move(filter_chain_match_manager)) {}
|
289
286
|
|
290
287
|
void OnResourceChanged(
|
291
|
-
std::shared_ptr<const XdsRouteConfigResource
|
288
|
+
absl::StatusOr<std::shared_ptr<const XdsRouteConfigResource>>
|
289
|
+
route_config,
|
292
290
|
RefCountedPtr<ReadDelayHandle> /* read_delay_handle */) override {
|
293
291
|
filter_chain_match_manager_->OnRouteConfigChanged(resource_name_,
|
294
292
|
std::move(route_config));
|
295
293
|
}
|
296
294
|
|
297
|
-
void
|
295
|
+
void OnAmbientError(
|
298
296
|
absl::Status status,
|
299
297
|
RefCountedPtr<ReadDelayHandle> /* read_delay_handle */) override {
|
300
|
-
filter_chain_match_manager_->
|
301
|
-
|
302
|
-
|
303
|
-
void OnResourceDoesNotExist(
|
304
|
-
RefCountedPtr<ReadDelayHandle> /* read_delay_handle */) override {
|
305
|
-
filter_chain_match_manager_->OnResourceDoesNotExist(resource_name_);
|
298
|
+
filter_chain_match_manager_->OnAmbientError(resource_name_,
|
299
|
+
std::move(status));
|
306
300
|
}
|
307
301
|
|
308
302
|
private:
|
@@ -458,9 +452,8 @@ class XdsServerConfigFetcher::ListenerWatcher::FilterChainMatchManager::
|
|
458
452
|
|
459
453
|
void Orphaned() override;
|
460
454
|
void OnRouteConfigChanged(
|
461
|
-
std::shared_ptr<const XdsRouteConfigResource
|
462
|
-
void
|
463
|
-
void OnResourceDoesNotExist();
|
455
|
+
absl::StatusOr<std::shared_ptr<const XdsRouteConfigResource>> rds_update);
|
456
|
+
void OnAmbientError(absl::Status status);
|
464
457
|
|
465
458
|
RefCountedPtr<GrpcXdsClient> xds_client_;
|
466
459
|
std::string resource_name_;
|
@@ -488,20 +481,16 @@ class XdsServerConfigFetcher::ListenerWatcher::FilterChainMatchManager::
|
|
488
481
|
: parent_(std::move(parent)) {}
|
489
482
|
|
490
483
|
void OnResourceChanged(
|
491
|
-
std::shared_ptr<const XdsRouteConfigResource
|
484
|
+
absl::StatusOr<std::shared_ptr<const XdsRouteConfigResource>>
|
485
|
+
route_config,
|
492
486
|
RefCountedPtr<ReadDelayHandle> /* read_delay_handle */) override {
|
493
487
|
parent_->OnRouteConfigChanged(std::move(route_config));
|
494
488
|
}
|
495
489
|
|
496
|
-
void
|
490
|
+
void OnAmbientError(
|
497
491
|
absl::Status status,
|
498
492
|
RefCountedPtr<ReadDelayHandle> /* read_delay_handle */) override {
|
499
|
-
parent_->
|
500
|
-
}
|
501
|
-
|
502
|
-
void OnResourceDoesNotExist(
|
503
|
-
RefCountedPtr<ReadDelayHandle> /* read_delay_handle */) override {
|
504
|
-
parent_->OnResourceDoesNotExist();
|
493
|
+
parent_->OnAmbientError(std::move(status));
|
505
494
|
}
|
506
495
|
|
507
496
|
private:
|
@@ -532,8 +521,8 @@ std::string ListenerResourceName(absl::string_view resource_name_template,
|
|
532
521
|
|
533
522
|
void XdsServerConfigFetcher::StartWatch(
|
534
523
|
std::string listening_address,
|
535
|
-
std::unique_ptr<
|
536
|
-
|
524
|
+
std::unique_ptr<ServerConfigFetcher::WatcherInterface> watcher) {
|
525
|
+
ServerConfigFetcher::WatcherInterface* watcher_ptr = watcher.get();
|
537
526
|
auto listener_watcher = MakeRefCounted<ListenerWatcher>(
|
538
527
|
xds_client_.Ref(DEBUG_LOCATION, "ListenerWatcher"), std::move(watcher),
|
539
528
|
serving_status_notifier_, listening_address);
|
@@ -550,7 +539,7 @@ void XdsServerConfigFetcher::StartWatch(
|
|
550
539
|
}
|
551
540
|
|
552
541
|
void XdsServerConfigFetcher::CancelWatch(
|
553
|
-
|
542
|
+
ServerConfigFetcher::WatcherInterface* watcher) {
|
554
543
|
MutexLock lock(&mu_);
|
555
544
|
auto it = listener_watchers_.find(watcher);
|
556
545
|
if (it != listener_watchers_.end()) {
|
@@ -572,7 +561,7 @@ void XdsServerConfigFetcher::CancelWatch(
|
|
572
561
|
|
573
562
|
XdsServerConfigFetcher::ListenerWatcher::ListenerWatcher(
|
574
563
|
RefCountedPtr<GrpcXdsClient> xds_client,
|
575
|
-
std::unique_ptr<
|
564
|
+
std::unique_ptr<ServerConfigFetcher::WatcherInterface>
|
576
565
|
server_config_watcher,
|
577
566
|
grpc_server_xds_status_notifier serving_status_notifier,
|
578
567
|
std::string listening_address)
|
@@ -582,13 +571,20 @@ XdsServerConfigFetcher::ListenerWatcher::ListenerWatcher(
|
|
582
571
|
listening_address_(std::move(listening_address)) {}
|
583
572
|
|
584
573
|
void XdsServerConfigFetcher::ListenerWatcher::OnResourceChanged(
|
585
|
-
std::shared_ptr<const XdsListenerResource
|
574
|
+
absl::StatusOr<std::shared_ptr<const XdsListenerResource>> listener,
|
586
575
|
RefCountedPtr<ReadDelayHandle> /* read_delay_handle */) {
|
576
|
+
if (!listener.ok()) {
|
577
|
+
MutexLock lock(&mu_);
|
578
|
+
OnFatalError(absl::Status(
|
579
|
+
listener.status().code(),
|
580
|
+
absl::StrCat("LDS resource: ", listener.status().message())));
|
581
|
+
return;
|
582
|
+
}
|
587
583
|
GRPC_TRACE_LOG(xds_server_config_fetcher, INFO)
|
588
584
|
<< "[ListenerWatcher " << this << "] Received LDS update from xds client "
|
589
|
-
<< xds_client_.get() << ": " << listener->ToString();
|
585
|
+
<< xds_client_.get() << ": " << (*listener)->ToString();
|
590
586
|
auto* tcp_listener =
|
591
|
-
absl::get_if<XdsListenerResource::TcpListener>(&listener->listener);
|
587
|
+
absl::get_if<XdsListenerResource::TcpListener>(&(*listener)->listener);
|
592
588
|
if (tcp_listener == nullptr) {
|
593
589
|
MutexLock lock(&mu_);
|
594
590
|
OnFatalError(
|
@@ -617,27 +613,12 @@ void XdsServerConfigFetcher::ListenerWatcher::OnResourceChanged(
|
|
617
613
|
}
|
618
614
|
}
|
619
615
|
|
620
|
-
void XdsServerConfigFetcher::ListenerWatcher::
|
621
|
-
absl::Status status,
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
LOG(ERROR) << "ListenerWatcher:" << this
|
627
|
-
<< " XdsClient reports error: " << status << " for "
|
628
|
-
<< listening_address_
|
629
|
-
<< "; ignoring in favor of existing resource";
|
630
|
-
} else {
|
631
|
-
if (serving_status_notifier_.on_serving_status_update != nullptr) {
|
632
|
-
serving_status_notifier_.on_serving_status_update(
|
633
|
-
serving_status_notifier_.user_data, listening_address_.c_str(),
|
634
|
-
{GRPC_STATUS_UNAVAILABLE, status.ToString().c_str()});
|
635
|
-
} else {
|
636
|
-
LOG(ERROR) << "ListenerWatcher:" << this
|
637
|
-
<< " error obtaining xDS Listener resource: " << status
|
638
|
-
<< "; not serving on " << listening_address_;
|
639
|
-
}
|
640
|
-
}
|
616
|
+
void XdsServerConfigFetcher::ListenerWatcher::OnAmbientError(
|
617
|
+
absl::Status status, RefCountedPtr<ReadDelayHandle> /*read_delay_handle*/) {
|
618
|
+
LOG(ERROR) << "ListenerWatcher:" << this
|
619
|
+
<< " XdsClient reports ambient error: " << status << " for "
|
620
|
+
<< listening_address_
|
621
|
+
<< "; ignoring in favor of existing resource";
|
641
622
|
}
|
642
623
|
|
643
624
|
void XdsServerConfigFetcher::ListenerWatcher::OnFatalError(
|
@@ -660,12 +641,6 @@ void XdsServerConfigFetcher::ListenerWatcher::OnFatalError(
|
|
660
641
|
}
|
661
642
|
}
|
662
643
|
|
663
|
-
void XdsServerConfigFetcher::ListenerWatcher::OnResourceDoesNotExist(
|
664
|
-
RefCountedPtr<ReadDelayHandle> /* read_delay_handle */) {
|
665
|
-
MutexLock lock(&mu_);
|
666
|
-
OnFatalError(absl::NotFoundError("Requested listener does not exist"));
|
667
|
-
}
|
668
|
-
|
669
644
|
void XdsServerConfigFetcher::ListenerWatcher::
|
670
645
|
PendingFilterChainMatchManagerReadyLocked(
|
671
646
|
XdsServerConfigFetcher::ListenerWatcher::FilterChainMatchManager*
|
@@ -843,7 +818,8 @@ XdsServerConfigFetcher::ListenerWatcher::FilterChainMatchManager::
|
|
843
818
|
void XdsServerConfigFetcher::ListenerWatcher::FilterChainMatchManager::
|
844
819
|
OnRouteConfigChanged(
|
845
820
|
const std::string& resource_name,
|
846
|
-
std::shared_ptr<const XdsRouteConfigResource
|
821
|
+
absl::StatusOr<std::shared_ptr<const XdsRouteConfigResource>>
|
822
|
+
route_config) {
|
847
823
|
RefCountedPtr<ListenerWatcher> listener_watcher;
|
848
824
|
{
|
849
825
|
MutexLock lock(&mu_);
|
@@ -853,32 +829,12 @@ void XdsServerConfigFetcher::ListenerWatcher::FilterChainMatchManager::
|
|
853
829
|
listener_watcher = std::move(listener_watcher_);
|
854
830
|
}
|
855
831
|
}
|
856
|
-
|
857
|
-
|
858
|
-
|
859
|
-
|
860
|
-
if (listener_watcher != nullptr) {
|
861
|
-
listener_watcher->PendingFilterChainMatchManagerReady(this);
|
862
|
-
}
|
863
|
-
}
|
864
|
-
|
865
|
-
void XdsServerConfigFetcher::ListenerWatcher::FilterChainMatchManager::OnError(
|
866
|
-
const std::string& resource_name, absl::Status status) {
|
867
|
-
RefCountedPtr<ListenerWatcher> listener_watcher;
|
868
|
-
{
|
869
|
-
MutexLock lock(&mu_);
|
870
|
-
auto& state = rds_map_[resource_name];
|
871
|
-
if (!state.rds_update.has_value()) {
|
872
|
-
if (--rds_resources_yet_to_fetch_ == 0) {
|
873
|
-
listener_watcher = std::move(listener_watcher_);
|
874
|
-
}
|
875
|
-
state.rds_update = status;
|
876
|
-
} else {
|
877
|
-
// Prefer existing good version over current errored version
|
878
|
-
if (!state.rds_update->ok()) {
|
879
|
-
state.rds_update = status;
|
880
|
-
}
|
832
|
+
if (!route_config.ok()) {
|
833
|
+
route_config = absl::UnavailableError(
|
834
|
+
absl::StrCat("RDS resource ", resource_name, ": ",
|
835
|
+
route_config.status().message()));
|
881
836
|
}
|
837
|
+
state.rds_update = std::move(route_config);
|
882
838
|
}
|
883
839
|
// Promote the filter chain match manager object if all the referenced
|
884
840
|
// resources are fetched.
|
@@ -888,24 +844,10 @@ void XdsServerConfigFetcher::ListenerWatcher::FilterChainMatchManager::OnError(
|
|
888
844
|
}
|
889
845
|
|
890
846
|
void XdsServerConfigFetcher::ListenerWatcher::FilterChainMatchManager::
|
891
|
-
|
892
|
-
|
893
|
-
|
894
|
-
|
895
|
-
auto& state = rds_map_[resource_name];
|
896
|
-
if (!state.rds_update.has_value()) {
|
897
|
-
if (--rds_resources_yet_to_fetch_ == 0) {
|
898
|
-
listener_watcher = std::move(listener_watcher_);
|
899
|
-
}
|
900
|
-
}
|
901
|
-
state.rds_update =
|
902
|
-
absl::NotFoundError("Requested route config does not exist");
|
903
|
-
}
|
904
|
-
// Promote the filter chain match manager object if all the referenced
|
905
|
-
// resources are fetched.
|
906
|
-
if (listener_watcher != nullptr) {
|
907
|
-
listener_watcher->PendingFilterChainMatchManagerReady(this);
|
908
|
-
}
|
847
|
+
OnAmbientError(const std::string& resource_name, absl::Status status) {
|
848
|
+
LOG(ERROR) << "RouteConfigWatcher:" << this
|
849
|
+
<< " XdsClient reports ambient error: " << status << " for "
|
850
|
+
<< resource_name << "; ignoring in favor of existing resource";
|
909
851
|
}
|
910
852
|
|
911
853
|
const XdsListenerResource::FilterChainData* FindFilterChainDataForSourcePort(
|
@@ -1309,8 +1251,13 @@ void XdsServerConfigFetcher::ListenerWatcher::FilterChainMatchManager::
|
|
1309
1251
|
|
1310
1252
|
void XdsServerConfigFetcher::ListenerWatcher::FilterChainMatchManager::
|
1311
1253
|
DynamicXdsServerConfigSelectorProvider::OnRouteConfigChanged(
|
1312
|
-
std::shared_ptr<const XdsRouteConfigResource
|
1254
|
+
absl::StatusOr<std::shared_ptr<const XdsRouteConfigResource>>
|
1255
|
+
rds_update) {
|
1313
1256
|
MutexLock lock(&mu_);
|
1257
|
+
if (!rds_update.ok()) {
|
1258
|
+
rds_update = absl::UnavailableError(absl::StrCat(
|
1259
|
+
"RDS resource ", resource_name_, ": ", rds_update.status().message()));
|
1260
|
+
}
|
1314
1261
|
resource_ = std::move(rds_update);
|
1315
1262
|
if (watcher_ == nullptr) {
|
1316
1263
|
return;
|
@@ -1319,34 +1266,22 @@ void XdsServerConfigFetcher::ListenerWatcher::FilterChainMatchManager::
|
|
1319
1266
|
// DynamicXdsServerConfigSelectorProvider while holding a lock, but if that
|
1320
1267
|
// ever changes, we would want to invoke the update outside the critical
|
1321
1268
|
// region with the use of a WorkSerializer.
|
1322
|
-
|
1323
|
-
|
1324
|
-
|
1325
|
-
|
1326
|
-
|
1327
|
-
|
1328
|
-
|
1329
|
-
DynamicXdsServerConfigSelectorProvider::OnError(absl::Status status) {
|
1330
|
-
MutexLock lock(&mu_);
|
1331
|
-
// Prefer existing good update.
|
1332
|
-
if (resource_.ok()) {
|
1333
|
-
return;
|
1334
|
-
}
|
1335
|
-
resource_ = status;
|
1336
|
-
if (watcher_ == nullptr) {
|
1337
|
-
return;
|
1269
|
+
if (!resource_.ok()) {
|
1270
|
+
watcher_->OnServerConfigSelectorUpdate(resource_.status());
|
1271
|
+
} else {
|
1272
|
+
watcher_->OnServerConfigSelectorUpdate(XdsServerConfigSelector::Create(
|
1273
|
+
static_cast<const GrpcXdsBootstrap&>(xds_client_->bootstrap())
|
1274
|
+
.http_filter_registry(),
|
1275
|
+
*resource_, http_filters_));
|
1338
1276
|
}
|
1339
|
-
watcher_->OnServerConfigSelectorUpdate(resource_.status());
|
1340
1277
|
}
|
1341
1278
|
|
1342
1279
|
void XdsServerConfigFetcher::ListenerWatcher::FilterChainMatchManager::
|
1343
|
-
DynamicXdsServerConfigSelectorProvider::
|
1344
|
-
|
1345
|
-
|
1346
|
-
|
1347
|
-
|
1348
|
-
}
|
1349
|
-
watcher_->OnServerConfigSelectorUpdate(resource_.status());
|
1280
|
+
DynamicXdsServerConfigSelectorProvider::OnAmbientError(
|
1281
|
+
absl::Status status) {
|
1282
|
+
LOG(ERROR) << "RouteConfigWatcher:" << this
|
1283
|
+
<< " XdsClient reports ambient error: " << status << " for "
|
1284
|
+
<< resource_name_ << "; ignoring in favor of existing resource";
|
1350
1285
|
}
|
1351
1286
|
|
1352
1287
|
} // namespace
|
@@ -1379,6 +1314,7 @@ grpc_server_config_fetcher* grpc_server_config_fetcher_xds_create(
|
|
1379
1314
|
"bootstrap file.";
|
1380
1315
|
return nullptr;
|
1381
1316
|
}
|
1382
|
-
return new grpc_core::XdsServerConfigFetcher(std::move(*xds_client),
|
1383
|
-
|
1317
|
+
return (new grpc_core::XdsServerConfigFetcher(std::move(*xds_client),
|
1318
|
+
notifier))
|
1319
|
+
->c_ptr();
|
1384
1320
|
}
|
@@ -298,7 +298,7 @@ void alts_handshaker_client_handle_response(alts_handshaker_client* c,
|
|
298
298
|
if (details.size > 0) {
|
299
299
|
error = absl::StrCat("Status ", code, " from handshaker service: ",
|
300
300
|
absl::string_view(details.data, details.size));
|
301
|
-
|
301
|
+
LOG_EVERY_N_SEC(INFO, 1) << error;
|
302
302
|
}
|
303
303
|
}
|
304
304
|
// TODO(apolcyn): consider short ciruiting handle_response_done and
|
data/src/core/util/backoff.cc
CHANGED
@@ -22,16 +22,27 @@
|
|
22
22
|
|
23
23
|
#include <algorithm>
|
24
24
|
|
25
|
+
#include "src/core/lib/experiments/experiments.h"
|
26
|
+
|
25
27
|
namespace grpc_core {
|
26
28
|
|
27
29
|
BackOff::BackOff(const Options& options) : options_(options) { Reset(); }
|
28
30
|
|
29
31
|
Duration BackOff::NextAttemptDelay() {
|
30
|
-
if (
|
31
|
-
initial_
|
32
|
+
if (IsBackoffCapInitialAtMaxEnabled()) {
|
33
|
+
if (initial_) {
|
34
|
+
initial_ = false;
|
35
|
+
} else {
|
36
|
+
current_backoff_ *= options_.multiplier();
|
37
|
+
}
|
38
|
+
current_backoff_ = std::min(current_backoff_, options_.max_backoff());
|
32
39
|
} else {
|
33
|
-
|
34
|
-
|
40
|
+
if (initial_) {
|
41
|
+
initial_ = false;
|
42
|
+
} else {
|
43
|
+
current_backoff_ = std::min(current_backoff_ * options_.multiplier(),
|
44
|
+
options_.max_backoff());
|
45
|
+
}
|
35
46
|
}
|
36
47
|
const double jitter =
|
37
48
|
absl::Uniform(rand_gen_, 1 - options_.jitter(), 1 + options_.jitter());
|
@@ -35,9 +35,10 @@
|
|
35
35
|
#include "src/core/handshaker/handshaker.h"
|
36
36
|
#include "src/core/handshaker/handshaker_registry.h"
|
37
37
|
#include "src/core/handshaker/tcp_connect/tcp_connect_handshaker.h"
|
38
|
-
#include "src/core/lib/address_utils/sockaddr_utils.h"
|
39
38
|
#include "src/core/lib/channel/channel_args.h"
|
40
39
|
#include "src/core/lib/channel/channel_args_preconditioning.h"
|
40
|
+
#include "src/core/lib/event_engine/resolved_address_internal.h"
|
41
|
+
#include "src/core/lib/event_engine/tcp_socket_utils.h"
|
41
42
|
#include "src/core/lib/iomgr/endpoint.h"
|
42
43
|
#include "src/core/lib/iomgr/iomgr_internal.h"
|
43
44
|
#include "src/core/lib/iomgr/pollset_set.h"
|
@@ -55,6 +56,9 @@ namespace grpc_core {
|
|
55
56
|
|
56
57
|
namespace {
|
57
58
|
|
59
|
+
using grpc_event_engine::experimental::EventEngine;
|
60
|
+
using grpc_event_engine::experimental::ResolvedAddressToURI;
|
61
|
+
|
58
62
|
grpc_httpcli_get_override g_get_override;
|
59
63
|
grpc_httpcli_post_override g_post_override;
|
60
64
|
grpc_httpcli_put_override g_put_override;
|
@@ -171,7 +175,15 @@ HttpRequest::HttpRequest(
|
|
171
175
|
pollent_(pollent),
|
172
176
|
pollset_set_(grpc_pollset_set_create()),
|
173
177
|
test_only_generate_response_(std::move(test_only_generate_response)),
|
174
|
-
|
178
|
+
use_event_engine_dns_resolver_(IsEventEngineDnsNonClientChannelEnabled()),
|
179
|
+
resolver_(!use_event_engine_dns_resolver_ ? GetDNSResolver() : nullptr),
|
180
|
+
ee_resolver_(
|
181
|
+
use_event_engine_dns_resolver_
|
182
|
+
? ChannelArgs::FromC(channel_args_)
|
183
|
+
.GetObjectRef<EventEngine>()
|
184
|
+
->GetDNSResolver(
|
185
|
+
EventEngine::DNSResolver::ResolverOptions())
|
186
|
+
: absl::InternalError("EventEngine DNS is not enabled")) {
|
175
187
|
grpc_http_parser_init(&parser_, GRPC_HTTP_RESPONSE, response);
|
176
188
|
grpc_slice_buffer_init(&incoming_);
|
177
189
|
grpc_slice_buffer_init(&outgoing_);
|
@@ -204,11 +216,39 @@ void HttpRequest::Start() {
|
|
204
216
|
if (test_only_generate_response_.has_value()) {
|
205
217
|
if (test_only_generate_response_.value()()) return;
|
206
218
|
}
|
219
|
+
if (use_event_engine_dns_resolver_ && !ee_resolver_.ok()) {
|
220
|
+
Finish(ee_resolver_.status());
|
221
|
+
return;
|
222
|
+
}
|
207
223
|
Ref().release(); // ref held by pending DNS resolution
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
224
|
+
if (use_event_engine_dns_resolver_) {
|
225
|
+
(*ee_resolver_)
|
226
|
+
->LookupHostname(
|
227
|
+
[this](absl::StatusOr<std::vector<EventEngine::ResolvedAddress>>
|
228
|
+
addresses_or) {
|
229
|
+
ApplicationCallbackExecCtx callback_exec_ctx;
|
230
|
+
ExecCtx exec_ctx;
|
231
|
+
OnResolved(addresses_or);
|
232
|
+
},
|
233
|
+
uri_.authority(), uri_.scheme());
|
234
|
+
} else {
|
235
|
+
dns_request_handle_ = resolver_->LookupHostname(
|
236
|
+
[this](absl::StatusOr<std::vector<grpc_resolved_address>> addresses) {
|
237
|
+
if (addresses.ok()) {
|
238
|
+
std::vector<EventEngine::ResolvedAddress> ee_addresses;
|
239
|
+
for (const auto& addr : *addresses) {
|
240
|
+
ee_addresses.push_back(
|
241
|
+
grpc_event_engine::experimental::CreateResolvedAddress(addr));
|
242
|
+
}
|
243
|
+
OnResolved(ee_addresses);
|
244
|
+
} else {
|
245
|
+
OnResolved(addresses.status());
|
246
|
+
}
|
247
|
+
},
|
248
|
+
uri_.authority(), uri_.scheme(), kDefaultDNSRequestTimeout,
|
249
|
+
pollset_set_,
|
250
|
+
/*name_server=*/"");
|
251
|
+
}
|
212
252
|
}
|
213
253
|
|
214
254
|
void HttpRequest::Orphan() {
|
@@ -217,10 +257,16 @@ void HttpRequest::Orphan() {
|
|
217
257
|
CHECK(!cancelled_);
|
218
258
|
cancelled_ = true;
|
219
259
|
// cancel potentially pending DNS resolution.
|
220
|
-
if (
|
221
|
-
|
222
|
-
|
223
|
-
|
260
|
+
if (use_event_engine_dns_resolver_) {
|
261
|
+
if (*ee_resolver_ != nullptr) {
|
262
|
+
ee_resolver_->reset();
|
263
|
+
}
|
264
|
+
} else {
|
265
|
+
if (dns_request_handle_.has_value() &&
|
266
|
+
resolver_->Cancel(dns_request_handle_.value())) {
|
267
|
+
Finish(GRPC_ERROR_CREATE("cancelled during DNS resolution"));
|
268
|
+
Unref();
|
269
|
+
}
|
224
270
|
}
|
225
271
|
if (handshake_mgr_ != nullptr) {
|
226
272
|
// Shutdown will cancel any ongoing tcp connect.
|
@@ -236,8 +282,7 @@ void HttpRequest::AppendError(grpc_error_handle error) {
|
|
236
282
|
if (overall_error_.ok()) {
|
237
283
|
overall_error_ = GRPC_ERROR_CREATE("Failed HTTP/1 client request");
|
238
284
|
}
|
239
|
-
|
240
|
-
auto addr_text = grpc_sockaddr_to_uri(addr);
|
285
|
+
auto addr_text = ResolvedAddressToURI(addresses_[next_address_ - 1]);
|
241
286
|
if (addr_text.ok()) error = AddMessagePrefix(*addr_text, std::move(error));
|
242
287
|
overall_error_ = grpc_error_add_child(overall_error_, std::move(error));
|
243
288
|
}
|
@@ -311,7 +356,7 @@ void HttpRequest::OnHandshakeDone(absl::StatusOr<HandshakerArgs*> result) {
|
|
311
356
|
StartWrite();
|
312
357
|
}
|
313
358
|
|
314
|
-
void HttpRequest::DoHandshake(const
|
359
|
+
void HttpRequest::DoHandshake(const EventEngine::ResolvedAddress& addr) {
|
315
360
|
// Create the security connector using the credentials and target name.
|
316
361
|
ChannelArgs args = ChannelArgs::FromC(channel_args_);
|
317
362
|
RefCountedPtr<grpc_channel_security_connector> sc =
|
@@ -322,7 +367,7 @@ void HttpRequest::DoHandshake(const grpc_resolved_address* addr) {
|
|
322
367
|
&overall_error_, 1));
|
323
368
|
return;
|
324
369
|
}
|
325
|
-
absl::StatusOr<std::string> address =
|
370
|
+
absl::StatusOr<std::string> address = ResolvedAddressToURI(addr);
|
326
371
|
if (!address.ok()) {
|
327
372
|
Finish(GRPC_ERROR_CREATE_REFERENCING("Failed to extract URI from address",
|
328
373
|
&overall_error_, 1));
|
@@ -355,15 +400,18 @@ void HttpRequest::NextAddress(grpc_error_handle error) {
|
|
355
400
|
&overall_error_, 1));
|
356
401
|
return;
|
357
402
|
}
|
358
|
-
|
359
|
-
DoHandshake(addr);
|
403
|
+
DoHandshake(addresses_[next_address_++]);
|
360
404
|
}
|
361
405
|
|
362
406
|
void HttpRequest::OnResolved(
|
363
|
-
absl::StatusOr<std::vector<
|
407
|
+
absl::StatusOr<std::vector<EventEngine::ResolvedAddress>> addresses_or) {
|
364
408
|
RefCountedPtr<HttpRequest> unreffer(this);
|
365
409
|
MutexLock lock(&mu_);
|
366
|
-
|
410
|
+
if (use_event_engine_dns_resolver_) {
|
411
|
+
ee_resolver_->reset();
|
412
|
+
} else {
|
413
|
+
dns_request_handle_.reset();
|
414
|
+
}
|
367
415
|
if (cancelled_) {
|
368
416
|
Finish(GRPC_ERROR_CREATE("cancelled during DNS resolution"));
|
369
417
|
return;
|
@@ -19,6 +19,7 @@
|
|
19
19
|
#ifndef GRPC_SRC_CORE_UTIL_HTTP_CLIENT_HTTPCLI_H
|
20
20
|
#define GRPC_SRC_CORE_UTIL_HTTP_CLIENT_HTTPCLI_H
|
21
21
|
|
22
|
+
#include <grpc/event_engine/event_engine.h>
|
22
23
|
#include <grpc/grpc.h>
|
23
24
|
#include <grpc/slice.h>
|
24
25
|
#include <grpc/support/port_platform.h>
|
@@ -42,7 +43,6 @@
|
|
42
43
|
#include "src/core/lib/iomgr/iomgr_internal.h"
|
43
44
|
#include "src/core/lib/iomgr/polling_entity.h"
|
44
45
|
#include "src/core/lib/iomgr/resolve_address.h"
|
45
|
-
#include "src/core/lib/iomgr/resolved_address.h"
|
46
46
|
#include "src/core/lib/resource_quota/resource_quota.h"
|
47
47
|
#include "src/core/util/debug_location.h"
|
48
48
|
#include "src/core/util/http_client/parser.h"
|
@@ -225,13 +225,16 @@ class HttpRequest : public InternallyRefCounted<HttpRequest> {
|
|
225
225
|
|
226
226
|
void OnHandshakeDone(absl::StatusOr<HandshakerArgs*> result);
|
227
227
|
|
228
|
-
void DoHandshake(
|
228
|
+
void DoHandshake(
|
229
|
+
const grpc_event_engine::experimental::EventEngine::ResolvedAddress& addr)
|
229
230
|
ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu_);
|
230
231
|
|
231
232
|
void NextAddress(grpc_error_handle error) ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu_);
|
232
233
|
|
233
234
|
void OnResolved(
|
234
|
-
absl::StatusOr<std::vector<
|
235
|
+
absl::StatusOr<std::vector<
|
236
|
+
grpc_event_engine::experimental::EventEngine::ResolvedAddress>>
|
237
|
+
addresses_or);
|
235
238
|
|
236
239
|
const URI uri_;
|
237
240
|
const grpc_slice request_text_;
|
@@ -252,16 +255,23 @@ class HttpRequest : public InternallyRefCounted<HttpRequest> {
|
|
252
255
|
RefCountedPtr<HandshakeManager> handshake_mgr_ ABSL_GUARDED_BY(mu_);
|
253
256
|
bool cancelled_ ABSL_GUARDED_BY(mu_) = false;
|
254
257
|
grpc_http_parser parser_ ABSL_GUARDED_BY(mu_);
|
255
|
-
std::vector<
|
258
|
+
std::vector<grpc_event_engine::experimental::EventEngine::ResolvedAddress>
|
259
|
+
addresses_ ABSL_GUARDED_BY(mu_);
|
256
260
|
size_t next_address_ ABSL_GUARDED_BY(mu_) = 0;
|
257
261
|
int have_read_byte_ ABSL_GUARDED_BY(mu_) = 0;
|
258
262
|
grpc_iomgr_object iomgr_obj_ ABSL_GUARDED_BY(mu_);
|
259
263
|
grpc_slice_buffer incoming_ ABSL_GUARDED_BY(mu_);
|
260
264
|
grpc_slice_buffer outgoing_ ABSL_GUARDED_BY(mu_);
|
261
265
|
grpc_error_handle overall_error_ ABSL_GUARDED_BY(mu_) = absl::OkStatus();
|
266
|
+
// TODO(yijiem): remove these once event_engine_dns_non_client_channel
|
267
|
+
// experiment is fully enabled.
|
268
|
+
bool use_event_engine_dns_resolver_;
|
262
269
|
std::shared_ptr<DNSResolver> resolver_;
|
263
270
|
absl::optional<DNSResolver::TaskHandle> dns_request_handle_
|
264
271
|
ABSL_GUARDED_BY(mu_) = DNSResolver::kNullHandle;
|
272
|
+
absl::StatusOr<std::unique_ptr<
|
273
|
+
grpc_event_engine::experimental::EventEngine::DNSResolver>>
|
274
|
+
ee_resolver_;
|
265
275
|
};
|
266
276
|
|
267
277
|
} // namespace grpc_core
|