grpc 1.84.0 → 1.85.0.pre1
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 +40 -27
- data/include/grpc/event_engine/memory_allocator.h +1 -0
- data/include/grpc/grpc.h +3 -0
- data/include/grpc/grpc_security_constants.h +2 -0
- data/include/grpc/impl/channel_arg_names.h +4 -0
- data/src/core/call/call_filters.h +10 -10
- data/src/core/{lib/security/authorization → call}/evaluate_args.cc +22 -1
- data/src/core/{lib/security/authorization → call}/evaluate_args.h +19 -5
- data/src/core/call/filter_fusion.h +15 -15
- data/src/core/call/interception_chain.h +3 -3
- data/src/core/call/metadata_batch.cc +1 -0
- data/src/core/call/metadata_batch.h +45 -33
- data/src/core/call/parsed_metadata.h +3 -3
- data/src/core/call/request_buffer.cc +6 -6
- data/src/core/call/request_buffer.h +1 -1
- data/src/core/channelz/channel_trace.cc +5 -5
- data/src/core/channelz/channel_trace.h +1 -1
- data/src/core/channelz/channelz.cc +9 -9
- data/src/core/channelz/channelz.h +12 -12
- data/src/core/channelz/channelz_registry.cc +10 -10
- data/src/core/channelz/ztrace_collector.h +5 -5
- data/src/core/client_channel/client_channel.cc +4 -4
- data/src/core/client_channel/client_channel_filter.cc +14 -14
- data/src/core/client_channel/global_subchannel_pool.cc +4 -4
- data/src/core/client_channel/subchannel.cc +24 -23
- data/src/core/client_channel/subchannel_stream_client.cc +5 -5
- data/src/core/credentials/call/external/aws_external_account_credentials.cc +7 -7
- data/src/core/credentials/call/external/aws_request_signer.cc +16 -0
- data/src/core/credentials/call/external/external_account_credentials.cc +4 -4
- data/src/core/credentials/call/regional_access_boundary_fetcher.cc +9 -9
- data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.cc +4 -4
- data/src/core/credentials/transport/google_default/google_default_credentials.cc +3 -3
- data/src/core/credentials/transport/ssl/ssl_security_connector.cc +1 -1
- data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.cc +9 -9
- data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.h +1 -1
- data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.cc +6 -6
- data/src/core/credentials/transport/tls/grpc_tls_certificate_verifier.cc +3 -3
- data/src/core/credentials/transport/tls/grpc_tls_crl_provider.cc +4 -4
- data/src/core/credentials/transport/tls/ssl_utils.cc +10 -0
- data/src/core/credentials/transport/tls/tls_security_connector.cc +10 -10
- data/src/core/credentials/transport/tls/tls_security_connector.h +6 -6
- data/src/core/credentials/transport/tls/tls_utils.h +9 -0
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +1 -1
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +1 -1
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +2 -2
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +1 -1
- data/src/core/ext/filters/http/message_compress/compression_filter.cc +15 -0
- data/src/core/ext/filters/rbac/rbac_filter.h +1 -1
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +5 -5
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +30 -21
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +5 -11
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +14 -11
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +1 -0
- data/src/core/ext/transport/chttp2/transport/flow_control.h +0 -4
- data/src/core/ext/transport/chttp2/transport/frame.h +9 -0
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +12 -9
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +4 -2
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +16 -18
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +2 -1
- data/src/core/ext/transport/chttp2/transport/http2_server_transport.cc +277 -189
- data/src/core/ext/transport/chttp2/transport/http2_server_transport.h +40 -17
- data/src/core/ext/transport/chttp2/transport/http2_transport.cc +12 -24
- data/src/core/ext/transport/chttp2/transport/http2_transport.h +3 -29
- data/src/core/ext/transport/chttp2/transport/internal.h +2 -2
- data/src/core/ext/transport/chttp2/transport/parsing.cc +3 -2
- data/src/core/ext/transport/chttp2/transport/read_context.h +96 -3
- data/src/core/ext/transport/chttp2/transport/reclaimer.cc +32 -0
- data/src/core/ext/transport/chttp2/transport/reclaimer.h +64 -0
- data/src/core/ext/transport/chttp2/transport/security_frame.h +8 -8
- data/src/core/ext/transport/chttp2/transport/stream_data_queue.h +17 -9
- data/src/core/ext/transport/chttp2/transport/write_cycle.h +23 -3
- data/src/core/ext/transport/inproc/inproc_transport.cc +5 -5
- data/src/core/ext/upb-gen/grpc/channelz/v1/channelz.upb.h +137 -73
- data/src/core/ext/upb-gen/grpc/channelz/v1/channelz.upb_minitable.c +45 -25
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/gcp/altscontext.upb.h +6 -6
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/gcp/altscontext.upb_minitable.c +4 -4
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/gcp/altscontext.upb_minitable.h +5 -5
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/gcp/handshaker.upb.h +46 -26
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/gcp/handshaker.upb_minitable.c +17 -14
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/gcp/handshaker.upb_minitable.h +5 -5
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/gcp/transport_security_common.upb.h +5 -5
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/gcp/transport_security_common.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/gcp/transport_security_common.upb_minitable.h +5 -5
- data/src/core/ext/upb-gen/grpc/health/v1/health.upb.h +329 -0
- data/src/core/ext/upb-gen/grpc/health/v1/health.upb_minitable.c +128 -0
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/health/v1/health.upb_minitable.h +8 -5
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/lb/v1/load_balancer.upb.h +5 -5
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/lb/v1/load_balancer.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/lb/v1/load_balancer.upb_minitable.h +5 -5
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/lookup/v1/rls.upb.h +185 -23
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/lookup/v1/rls.upb_minitable.c +20 -12
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/lookup/v1/rls.upb_minitable.h +5 -5
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/lookup/v1/rls_config.upb.h +58 -42
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/lookup/v1/rls_config.upb_minitable.c +17 -12
- data/src/core/ext/upb-gen/{src/proto/grpc → grpc}/lookup/v1/rls_config.upb_minitable.h +5 -5
- data/src/core/ext/upbdefs-gen/grpc/channelz/v1/channelz.upbdefs.c +567 -549
- data/src/core/ext/upbdefs-gen/grpc/lookup/v1/rls_config.upbdefs.c +182 -0
- data/src/core/ext/upbdefs-gen/{src/proto/grpc → grpc}/lookup/v1/rls_config.upbdefs.h +14 -14
- data/src/core/filter/ext_proc/ext_proc_filter.cc +1603 -46
- data/src/core/filter/ext_proc/ext_proc_filter.h +55 -22
- data/src/core/filter/ext_proc/ext_proc_messages.cc +106 -51
- data/src/core/filter/ext_proc/ext_proc_messages.h +36 -9
- data/src/core/handshaker/handshaker.cc +4 -4
- data/src/core/handshaker/http_connect/http_connect_client_handshaker.cc +3 -3
- data/src/core/handshaker/security/pipelined_secure_endpoint.cc +10 -10
- data/src/core/handshaker/security/secure_endpoint.cc +13 -13
- data/src/core/handshaker/security/security_handshaker.cc +6 -6
- data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +4 -4
- data/src/core/lib/channel/channel_args.cc +20 -0
- data/src/core/lib/channel/channel_args.h +17 -17
- data/src/core/lib/channel/promise_based_filter.cc +2 -2
- data/src/core/lib/channel/promise_based_filter.h +66 -27
- 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/ares_resolver.cc +14 -14
- data/src/core/lib/event_engine/cf_engine/cf_engine.cc +7 -7
- data/src/core/lib/event_engine/cf_engine/cfsocket_listener.cc +4 -4
- data/src/core/lib/event_engine/default_event_engine.cc +5 -5
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +9 -9
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +16 -14
- data/src/core/lib/event_engine/posix_engine/file_descriptor_collection.cc +6 -6
- data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +3 -3
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +7 -7
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +17 -17
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +3 -3
- data/src/core/lib/event_engine/posix_engine/timer.cc +5 -5
- data/src/core/lib/event_engine/posix_engine/timer_manager.cc +5 -5
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +3 -3
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +1 -1
- data/src/core/lib/event_engine/thread_pool/thread_count.cc +1 -1
- data/src/core/lib/event_engine/thread_pool/thread_count.h +3 -3
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +50 -21
- data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +3 -3
- data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +3 -3
- data/src/core/lib/event_engine/windows/windows_engine.cc +15 -15
- data/src/core/lib/event_engine/windows/windows_listener.cc +6 -6
- data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +6 -6
- data/src/core/lib/experiments/experiments.cc +48 -0
- data/src/core/lib/experiments/experiments.h +24 -0
- data/src/core/lib/iomgr/buffer_list.cc +3 -3
- data/src/core/lib/iomgr/buffer_list.h +1 -1
- data/src/core/lib/iomgr/combiner.cc +0 -1
- data/src/core/lib/iomgr/ev_apple.cc +4 -4
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +2 -2
- data/src/core/lib/iomgr/tcp_client_posix.cc +3 -3
- data/src/core/lib/iomgr/tcp_posix.cc +7 -7
- data/src/core/lib/promise/activity.cc +1 -1
- data/src/core/lib/promise/activity.h +1 -1
- data/src/core/lib/promise/arena_promise.h +7 -7
- data/src/core/lib/promise/detail/promise_factory.h +8 -8
- data/src/core/lib/promise/detail/promise_like.h +4 -4
- data/src/core/lib/promise/inter_activity_latch.h +6 -6
- data/src/core/lib/promise/inter_activity_pipe.h +1 -1
- data/src/core/lib/promise/observable.h +3 -3
- data/src/core/lib/promise/party.cc +1 -1
- data/src/core/lib/promise/try_seq.h +2 -2
- data/src/core/lib/resource_quota/arena.h +3 -3
- data/src/core/lib/resource_quota/memory_quota.cc +16 -16
- data/src/core/lib/resource_quota/memory_quota.h +1 -1
- data/src/core/lib/resource_quota/thread_quota.cc +3 -3
- data/src/core/lib/security/authorization/audit_logging.cc +5 -5
- data/src/core/lib/security/authorization/authorization_engine.h +1 -1
- data/src/core/lib/security/authorization/grpc_authorization_engine.h +1 -1
- data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +1 -1
- data/src/core/lib/security/authorization/grpc_server_authz_filter.h +1 -1
- data/src/core/lib/security/authorization/matchers.h +1 -1
- data/src/core/lib/surface/call.cc +8 -7
- data/src/core/lib/surface/call.h +3 -3
- data/src/core/lib/surface/call_utils.h +4 -0
- data/src/core/lib/surface/channel.cc +1 -1
- data/src/core/lib/surface/channel.h +1 -1
- data/src/core/lib/surface/channel_init.cc +1 -1
- data/src/core/lib/surface/init.cc +7 -7
- data/src/core/lib/surface/lame_client.cc +1 -1
- data/src/core/lib/surface/legacy_channel.cc +2 -2
- data/src/core/lib/surface/version.cc +1 -1
- data/src/core/lib/transport/transport_framing_endpoint_extension.h +3 -3
- data/src/core/load_balancing/autosharding/autosharding.cc +931 -0
- data/src/core/load_balancing/autosharding/autosharding.h +78 -0
- data/src/core/load_balancing/grpclb/grpclb_client_stats.cc +2 -2
- data/src/core/load_balancing/grpclb/load_balancer_api.cc +1 -1
- data/src/core/load_balancing/grpclb/load_balancer_api.h +3 -1
- data/src/core/load_balancing/health_check_client.cc +7 -7
- data/src/core/load_balancing/lb_policy.cc +1 -1
- data/src/core/load_balancing/oob_backend_metric.cc +5 -5
- data/src/core/load_balancing/outlier_detection/outlier_detection.cc +2 -2
- data/src/core/load_balancing/ring_hash/ring_hash.cc +109 -37
- data/src/core/load_balancing/rls/rls.cc +23 -17
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +10 -10
- data/src/core/load_balancing/xds/cds.cc +6 -5
- data/src/core/load_balancing/xds/xds_cluster_impl.cc +2 -2
- data/src/core/load_balancing/xds/xds_override_host.cc +10 -10
- data/src/core/mitigation_engine/mitigation_engine.h +28 -4
- data/src/core/plugin_registry/grpc_plugin_registry.cc +2 -0
- data/src/core/resolver/dns/dns_resolver.cc +7 -7
- data/src/core/resolver/fake/fake_resolver.cc +5 -5
- data/src/core/resolver/google_c2p/google_c2p_resolver.cc +38 -30
- data/src/core/server/server.cc +30 -30
- data/src/core/server/server.h +4 -3
- data/src/core/server/server_config_selector_filter.cc +3 -3
- data/src/core/server/xds_server_config_fetcher_legacy.cc +15 -15
- data/src/core/telemetry/default_tcp_tracer.cc +1 -1
- data/src/core/telemetry/instrument.cc +30 -16
- data/src/core/telemetry/instrument.h +3 -3
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +3 -3
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +4 -4
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +2 -2
- data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +1 -1
- data/src/core/tsi/alts/handshaker/transport_security_common_api.h +1 -1
- data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +5 -5
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +3 -3
- data/src/core/tsi/ssl_transport_security.cc +46 -13
- data/src/core/tsi/ssl_transport_security.h +7 -0
- data/src/core/tsi/ssl_transport_security_utils.cc +16 -6
- data/src/core/util/event_log.cc +3 -3
- data/src/core/util/http_client/httpcli.cc +5 -5
- data/src/core/util/http_client/httpcli.h +1 -1
- data/src/core/util/json/json_object_loader.cc +7 -0
- data/src/core/util/json/json_object_loader.h +17 -2
- data/src/core/util/latent_see.cc +123 -36
- data/src/core/util/latent_see.h +14 -1
- data/src/core/util/mpscq.cc +1 -1
- data/src/core/util/notification.h +4 -4
- data/src/core/util/sync.h +20 -6
- data/src/core/util/table.h +20 -22
- data/src/core/util/work_serializer.cc +2 -2
- data/src/core/xds/grpc/blackboard.cc +4 -3
- data/src/core/xds/grpc/certificate_provider_store.cc +2 -2
- data/src/core/xds/grpc/streaming_call_promise_wrapper.cc +181 -0
- data/src/core/xds/grpc/streaming_call_promise_wrapper.h +213 -0
- data/src/core/xds/grpc/xds_bootstrap_grpc_builder.cc +2 -2
- data/src/core/xds/grpc/xds_client_grpc.cc +8 -8
- data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +2 -2
- data/src/core/xds/grpc/xds_endpoint.cc +1 -1
- data/src/core/xds/grpc/xds_endpoint_parser.cc +11 -0
- data/src/core/xds/grpc/xds_grpc_service_parser.cc +12 -10
- data/src/core/xds/grpc/xds_http_ext_proc_filter.cc +17 -14
- data/src/core/xds/grpc/xds_matcher.h +2 -2
- data/src/core/xds/grpc/xds_transport_grpc.cc +125 -85
- data/src/core/xds/grpc/xds_transport_grpc.h +19 -4
- data/src/core/xds/xds_client/lrs_client.cc +22 -19
- data/src/core/xds/xds_client/xds_client.cc +19 -16
- data/src/core/xds/xds_client/xds_transport.h +49 -3
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +2 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +3 -0
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/README.md +1 -1
- data/src/ruby/pb/generate_proto_ruby.sh +1 -1
- data/third_party/abseil-cpp/absl/algorithm/algorithm.h +34 -2
- data/third_party/abseil-cpp/absl/algorithm/container.h +345 -147
- data/third_party/abseil-cpp/absl/base/attributes.h +67 -44
- data/third_party/abseil-cpp/absl/base/call_once.h +1 -0
- data/third_party/abseil-cpp/absl/base/casts.cc +61 -0
- data/third_party/abseil-cpp/absl/base/casts.h +135 -2
- data/third_party/abseil-cpp/absl/base/config.h +63 -41
- data/third_party/abseil-cpp/absl/base/fast_type_id.h +30 -2
- data/third_party/abseil-cpp/absl/base/internal/dynamic_annotations.h +1 -1
- data/third_party/abseil-cpp/absl/base/internal/hardening.h +136 -0
- data/third_party/abseil-cpp/absl/base/internal/iterator_traits.h +6 -2
- data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +39 -4
- data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h +6 -0
- data/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +77 -15
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +3 -4
- data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +26 -24
- data/third_party/abseil-cpp/absl/base/internal/spinlock.h +74 -29
- data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +1 -11
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +52 -0
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +5 -1
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +5 -0
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +1 -1
- data/third_party/abseil-cpp/absl/base/macros.h +76 -37
- data/third_party/abseil-cpp/absl/base/nullability.h +5 -5
- data/third_party/abseil-cpp/absl/base/optimization.h +4 -5
- data/third_party/abseil-cpp/absl/base/options.h +46 -18
- data/third_party/abseil-cpp/absl/base/policy_checks.h +5 -5
- data/third_party/abseil-cpp/absl/base/{internal/throw_delegate.cc → throw_delegate.cc} +9 -7
- data/third_party/abseil-cpp/absl/base/{internal/throw_delegate.h → throw_delegate.h} +4 -14
- data/third_party/abseil-cpp/absl/cleanup/cleanup.h +7 -2
- data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +3 -2
- data/third_party/abseil-cpp/absl/container/btree_map.h +60 -10
- data/third_party/abseil-cpp/absl/container/btree_set.h +61 -15
- data/third_party/abseil-cpp/absl/container/fixed_array.h +19 -21
- data/third_party/abseil-cpp/absl/container/flat_hash_map.h +49 -27
- data/third_party/abseil-cpp/absl/container/flat_hash_set.h +50 -26
- data/third_party/abseil-cpp/absl/container/inlined_vector.h +42 -36
- data/third_party/abseil-cpp/absl/container/internal/btree.h +32 -24
- data/third_party/abseil-cpp/absl/container/internal/btree_container.h +30 -22
- data/third_party/abseil-cpp/absl/container/internal/common.h +57 -5
- data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +1 -1
- data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +40 -36
- data/third_party/abseil-cpp/absl/container/internal/container_memory.h +119 -39
- data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +14 -2
- data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +14 -22
- data/third_party/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +52 -52
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +7 -7
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +7 -7
- data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +32 -40
- data/third_party/abseil-cpp/absl/container/internal/layout.h +13 -13
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +95 -72
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +633 -365
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1016 -749
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl.h +0 -1
- data/third_party/abseil-cpp/absl/container/node_hash_map.h +58 -35
- data/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc +23 -6
- data/third_party/abseil-cpp/absl/crc/internal/cpu_detect.h +7 -1
- data/third_party/abseil-cpp/absl/crc/internal/crc.cc +4 -6
- data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +41 -0
- data/third_party/abseil-cpp/absl/crc/internal/crc_internal.h +0 -16
- data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc +5 -0
- data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +304 -188
- data/third_party/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h +4 -2
- data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +2 -2
- data/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.h +8 -0
- data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +4 -4
- data/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc +15 -1
- data/third_party/abseil-cpp/absl/debugging/internal/examine_stack.h +7 -1
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +12 -1
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +6 -5
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +13 -11
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +14 -7
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +3 -2
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +6 -1
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +14 -8
- data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +48 -38
- data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +4 -0
- data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +63 -118
- data/third_party/abseil-cpp/absl/debugging/stacktrace.h +7 -47
- data/third_party/abseil-cpp/absl/debugging/symbolize.cc +20 -2
- data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +83 -149
- data/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +4 -17
- data/third_party/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +4 -4
- data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +2 -4
- data/third_party/abseil-cpp/absl/flags/commandlineflag.h +8 -6
- data/third_party/abseil-cpp/absl/flags/declare.h +9 -0
- data/third_party/abseil-cpp/absl/flags/flag.h +2 -1
- data/third_party/abseil-cpp/absl/flags/internal/commandlineflag.h +1 -1
- data/third_party/abseil-cpp/absl/flags/internal/flag.cc +19 -18
- data/third_party/abseil-cpp/absl/flags/internal/flag.h +33 -34
- data/third_party/abseil-cpp/absl/flags/internal/program_name.cc +2 -2
- data/third_party/abseil-cpp/absl/flags/marshalling.cc +1 -16
- data/third_party/abseil-cpp/absl/flags/marshalling.h +2 -28
- data/third_party/abseil-cpp/absl/flags/reflection.cc +11 -7
- data/third_party/abseil-cpp/absl/flags/usage_config.cc +2 -2
- data/third_party/abseil-cpp/absl/functional/any_invocable.h +22 -19
- data/third_party/abseil-cpp/absl/functional/bind_front.h +7 -1
- data/third_party/abseil-cpp/absl/functional/function_ref.h +125 -20
- data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +43 -31
- data/third_party/abseil-cpp/absl/functional/internal/front_binder.h +4 -4
- data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +44 -6
- data/third_party/abseil-cpp/absl/hash/hash.h +1 -1
- data/third_party/abseil-cpp/absl/hash/internal/city.cc +39 -51
- data/third_party/abseil-cpp/absl/hash/internal/hash.cc +379 -14
- data/third_party/abseil-cpp/absl/hash/internal/hash.h +457 -353
- data/third_party/abseil-cpp/absl/log/absl_vlog_is_on.h +0 -2
- data/third_party/abseil-cpp/absl/log/internal/check_impl.h +2 -1
- data/third_party/abseil-cpp/absl/log/internal/check_op.cc +4 -0
- data/third_party/abseil-cpp/absl/log/internal/check_op.h +128 -50
- data/third_party/abseil-cpp/absl/log/internal/conditions.h +38 -35
- data/third_party/abseil-cpp/absl/log/internal/log_impl.h +108 -110
- data/third_party/abseil-cpp/absl/log/internal/log_message.cc +10 -6
- data/third_party/abseil-cpp/absl/log/internal/log_message.h +19 -1
- data/third_party/abseil-cpp/absl/log/internal/log_sink_set.cc +4 -4
- data/third_party/abseil-cpp/absl/log/internal/nullstream.h +1 -1
- data/third_party/abseil-cpp/absl/log/internal/proto.cc +13 -0
- data/third_party/abseil-cpp/absl/log/internal/strip.h +30 -31
- data/third_party/abseil-cpp/absl/log/internal/structured_proto.cc +5 -5
- data/third_party/abseil-cpp/absl/log/internal/structured_proto.h +6 -5
- data/third_party/abseil-cpp/absl/log/internal/vlog_config.cc +30 -30
- data/third_party/abseil-cpp/absl/log/internal/vlog_config.h +0 -1
- data/third_party/abseil-cpp/absl/log/log.h +2 -2
- data/third_party/abseil-cpp/absl/log/log_entry.cc +263 -0
- data/third_party/abseil-cpp/absl/log/log_entry.h +2 -0
- data/third_party/abseil-cpp/absl/log/vlog_is_on.h +0 -2
- data/third_party/abseil-cpp/absl/memory/memory.h +55 -5
- data/third_party/abseil-cpp/absl/meta/type_traits.h +161 -56
- data/third_party/abseil-cpp/absl/numeric/int128.h +41 -21
- data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +16 -22
- data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +5 -7
- data/third_party/abseil-cpp/absl/numeric/internal/bits.h +32 -4
- data/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h +9 -9
- data/third_party/abseil-cpp/absl/random/beta_distribution.h +2 -2
- data/third_party/abseil-cpp/absl/random/bit_gen_ref.h +26 -53
- data/third_party/abseil-cpp/absl/random/discrete_distribution.h +1 -1
- data/third_party/abseil-cpp/absl/random/distributions.h +17 -17
- data/third_party/abseil-cpp/absl/random/exponential_distribution.h +1 -1
- data/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +8 -21
- data/third_party/abseil-cpp/absl/random/internal/entropy_pool.cc +2 -2
- data/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h +1 -1
- data/third_party/abseil-cpp/absl/random/internal/generate_real.h +1 -1
- data/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h +2 -2
- data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +2 -2
- data/third_party/abseil-cpp/absl/random/internal/pcg_engine.h +6 -6
- data/third_party/abseil-cpp/absl/random/internal/platform.h +0 -13
- data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +6 -6
- data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +2 -2
- data/third_party/abseil-cpp/absl/random/internal/salted_seed_seq.h +6 -5
- data/third_party/abseil-cpp/absl/random/internal/seed_material.cc +5 -31
- data/third_party/abseil-cpp/absl/random/internal/seed_material.h +2 -1
- data/third_party/abseil-cpp/absl/random/internal/traits.h +21 -0
- data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +23 -23
- data/third_party/abseil-cpp/absl/random/mocking_access.h +74 -0
- data/third_party/abseil-cpp/absl/random/uniform_real_distribution.h +1 -1
- data/third_party/abseil-cpp/absl/status/internal/status_internal.cc +63 -18
- data/third_party/abseil-cpp/absl/status/internal/status_internal.h +30 -4
- data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +225 -63
- data/third_party/abseil-cpp/absl/status/status.cc +66 -70
- data/third_party/abseil-cpp/absl/status/status.h +254 -23
- data/third_party/abseil-cpp/absl/status/status_payload_printer.h +3 -2
- data/third_party/abseil-cpp/absl/status/statusor.h +117 -137
- data/third_party/abseil-cpp/absl/strings/ascii.h +10 -6
- data/third_party/abseil-cpp/absl/strings/cord.cc +41 -17
- data/third_party/abseil-cpp/absl/strings/cord.h +26 -17
- data/third_party/abseil-cpp/absl/strings/cord_buffer.h +4 -2
- data/third_party/abseil-cpp/absl/strings/escaping.cc +305 -125
- data/third_party/abseil-cpp/absl/strings/escaping.h +12 -2
- data/third_party/abseil-cpp/absl/strings/internal/append_and_overwrite.h +93 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +2 -2
- data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +6 -6
- data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +27 -21
- data/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +11 -19
- data/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc +6 -0
- data/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h +1 -0
- data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +0 -141
- data/third_party/abseil-cpp/absl/strings/internal/escaping.h +2 -24
- data/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h +31 -36
- data/third_party/abseil-cpp/absl/strings/internal/stl_type_traits.h +39 -39
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +14 -22
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +2 -2
- data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +2 -4
- data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +921 -231
- data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +18 -16
- data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +16 -12
- data/third_party/abseil-cpp/absl/strings/internal/stringify_sink.h +12 -0
- data/third_party/abseil-cpp/absl/strings/numbers.cc +477 -8
- data/third_party/abseil-cpp/absl/strings/numbers.h +29 -12
- data/third_party/abseil-cpp/absl/strings/resize_and_overwrite.h +198 -0
- data/third_party/abseil-cpp/absl/strings/str_cat.cc +96 -91
- data/third_party/abseil-cpp/absl/strings/str_cat.h +53 -13
- data/third_party/abseil-cpp/absl/strings/str_split.h +14 -9
- data/third_party/abseil-cpp/absl/strings/string_view.h +10 -716
- data/third_party/abseil-cpp/absl/strings/substitute.cc +24 -24
- data/third_party/abseil-cpp/absl/strings/substitute.h +2 -2
- data/third_party/abseil-cpp/absl/synchronization/barrier.cc +1 -1
- data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +2 -2
- data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +24 -3
- data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +30 -33
- data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +2 -2
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +5 -0
- data/third_party/abseil-cpp/absl/synchronization/mutex.cc +41 -29
- data/third_party/abseil-cpp/absl/synchronization/mutex.h +199 -94
- data/third_party/abseil-cpp/absl/synchronization/notification.cc +5 -5
- data/third_party/abseil-cpp/absl/synchronization/notification.h +1 -1
- data/third_party/abseil-cpp/absl/time/clock.cc +29 -30
- data/third_party/abseil-cpp/absl/time/clock.h +3 -0
- data/third_party/abseil-cpp/absl/time/duration.cc +2 -2
- data/third_party/abseil-cpp/absl/time/format.cc +3 -10
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +12 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +131 -91
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +6 -103
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.cc +185 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.h +37 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +10 -15
- data/third_party/abseil-cpp/absl/time/time.cc +4 -4
- data/third_party/abseil-cpp/absl/time/time.h +14 -13
- data/third_party/abseil-cpp/absl/types/compare.h +64 -63
- data/third_party/abseil-cpp/absl/types/internal/span.h +6 -6
- data/third_party/abseil-cpp/absl/types/optional.h +31 -4
- data/third_party/abseil-cpp/absl/types/optional_ref.h +295 -0
- data/third_party/{boringssl-with-bazel/crypto/x509/x_val.cc → abseil-cpp/absl/types/source_location.cc} +4 -14
- data/third_party/abseil-cpp/absl/types/source_location.h +172 -0
- data/third_party/abseil-cpp/absl/types/span.h +67 -38
- data/third_party/abseil-cpp/absl/types/variant.h +75 -18
- data/third_party/abseil-cpp/absl/utility/utility.h +112 -16
- data/third_party/boringssl-with-bazel/crypto/aes/aes.cc +3 -0
- data/third_party/boringssl-with-bazel/crypto/armv8_feature_parsing.h +67 -0
- data/third_party/boringssl-with-bazel/crypto/asn1/a_bitstr.cc +143 -105
- data/third_party/boringssl-with-bazel/crypto/asn1/a_bool.cc +5 -8
- data/third_party/boringssl-with-bazel/crypto/asn1/a_d2i_fp.cc +3 -3
- data/third_party/boringssl-with-bazel/crypto/asn1/a_dup.cc +6 -6
- data/third_party/boringssl-with-bazel/crypto/asn1/a_gentm.cc +33 -12
- data/third_party/boringssl-with-bazel/crypto/asn1/a_i2d_fp.cc +7 -6
- data/third_party/boringssl-with-bazel/crypto/asn1/a_int.cc +80 -52
- data/third_party/boringssl-with-bazel/crypto/asn1/a_mbstr.cc +7 -4
- data/third_party/boringssl-with-bazel/crypto/asn1/a_object.cc +70 -72
- data/third_party/boringssl-with-bazel/crypto/asn1/a_strex.cc +38 -42
- data/third_party/boringssl-with-bazel/crypto/asn1/a_strnid.cc +41 -39
- data/third_party/boringssl-with-bazel/crypto/asn1/a_time.cc +59 -35
- data/third_party/boringssl-with-bazel/crypto/asn1/a_type.cc +275 -15
- data/third_party/boringssl-with-bazel/crypto/asn1/a_utctm.cc +32 -13
- data/third_party/boringssl-with-bazel/crypto/asn1/asn1_lib.cc +128 -30
- data/third_party/boringssl-with-bazel/crypto/asn1/asn_pack.cc +10 -10
- data/third_party/boringssl-with-bazel/crypto/asn1/f_int.cc +1 -1
- data/third_party/boringssl-with-bazel/crypto/asn1/f_string.cc +1 -1
- data/third_party/boringssl-with-bazel/crypto/asn1/internal.h +261 -115
- data/third_party/boringssl-with-bazel/crypto/asn1/posix_time.cc +8 -5
- data/third_party/boringssl-with-bazel/crypto/asn1/tasn_dec.cc +373 -725
- data/third_party/boringssl-with-bazel/crypto/asn1/tasn_enc.cc +211 -526
- data/third_party/boringssl-with-bazel/crypto/asn1/tasn_fre.cc +22 -19
- data/third_party/boringssl-with-bazel/crypto/asn1/tasn_new.cc +26 -24
- data/third_party/boringssl-with-bazel/crypto/asn1/tasn_typ.cc +19 -5
- data/third_party/boringssl-with-bazel/crypto/asn1/tasn_utl.cc +47 -51
- data/third_party/boringssl-with-bazel/crypto/base64/base64.cc +14 -15
- data/third_party/boringssl-with-bazel/crypto/bcm_support.h +7 -29
- data/third_party/boringssl-with-bazel/crypto/bio/bio.cc +234 -176
- data/third_party/boringssl-with-bazel/crypto/bio/bio_mem.cc +72 -86
- data/third_party/boringssl-with-bazel/crypto/bio/connect.cc +153 -199
- data/third_party/boringssl-with-bazel/crypto/bio/errno.cc +3 -1
- data/third_party/boringssl-with-bazel/crypto/bio/fd.cc +56 -55
- data/third_party/boringssl-with-bazel/crypto/bio/file.cc +70 -78
- data/third_party/boringssl-with-bazel/crypto/bio/hexdump.cc +6 -4
- data/third_party/boringssl-with-bazel/crypto/bio/internal.h +69 -17
- data/third_party/boringssl-with-bazel/crypto/bio/pair.cc +117 -136
- data/third_party/boringssl-with-bazel/crypto/bio/printf.cc +1 -1
- data/third_party/boringssl-with-bazel/crypto/bio/socket.cc +116 -50
- data/third_party/boringssl-with-bazel/crypto/bio/socket_helper.cc +53 -5
- data/third_party/boringssl-with-bazel/crypto/blake2/blake2.cc +9 -5
- data/third_party/boringssl-with-bazel/crypto/bn/bn_asn1.cc +2 -2
- data/third_party/boringssl-with-bazel/crypto/bn/convert.cc +56 -70
- data/third_party/boringssl-with-bazel/crypto/bn/div.cc +102 -0
- data/third_party/boringssl-with-bazel/crypto/bn/exponentiation.cc +26 -42
- data/third_party/boringssl-with-bazel/crypto/bn/sqrt.cc +93 -0
- data/third_party/boringssl-with-bazel/crypto/buf/buf.cc +6 -5
- data/third_party/boringssl-with-bazel/crypto/bytestring/asn1_compat.cc +6 -5
- data/third_party/boringssl-with-bazel/crypto/bytestring/ber.cc +22 -20
- data/third_party/boringssl-with-bazel/crypto/bytestring/cbb.cc +119 -59
- data/third_party/boringssl-with-bazel/crypto/bytestring/cbs.cc +115 -31
- data/third_party/boringssl-with-bazel/crypto/bytestring/internal.h +79 -24
- data/third_party/boringssl-with-bazel/crypto/bytestring/unicode.cc +2 -2
- data/third_party/boringssl-with-bazel/crypto/chacha/chacha.cc +5 -3
- data/third_party/boringssl-with-bazel/crypto/chacha/internal.h +23 -22
- data/third_party/boringssl-with-bazel/crypto/cipher/derive_key.cc +14 -18
- data/third_party/boringssl-with-bazel/crypto/cipher/e_aesctrhmac.cc +73 -58
- data/third_party/boringssl-with-bazel/crypto/cipher/e_aeseax.cc +132 -70
- data/third_party/boringssl-with-bazel/crypto/cipher/e_aesgcmsiv.cc +390 -249
- data/third_party/boringssl-with-bazel/crypto/cipher/e_chacha20poly1305.cc +200 -137
- data/third_party/boringssl-with-bazel/crypto/cipher/e_des.cc +45 -29
- data/third_party/boringssl-with-bazel/crypto/cipher/e_null.cc +9 -5
- data/third_party/boringssl-with-bazel/crypto/cipher/e_rc2.cc +43 -28
- data/third_party/boringssl-with-bazel/crypto/cipher/e_rc4.cc +7 -5
- data/third_party/boringssl-with-bazel/crypto/cipher/e_tls.cc +250 -237
- data/third_party/boringssl-with-bazel/crypto/cipher/get_cipher.cc +12 -12
- data/third_party/boringssl-with-bazel/crypto/cipher/internal.h +59 -59
- data/third_party/boringssl-with-bazel/crypto/cipher/tls_cbc.cc +111 -111
- data/third_party/boringssl-with-bazel/crypto/cms/cms.cc +48 -42
- data/third_party/boringssl-with-bazel/crypto/conf/conf.cc +69 -63
- data/third_party/boringssl-with-bazel/crypto/conf/internal.h +11 -12
- data/third_party/boringssl-with-bazel/crypto/cpu_aarch64_apple.cc +8 -5
- data/third_party/boringssl-with-bazel/crypto/cpu_aarch64_fuchsia.cc +6 -1
- data/third_party/boringssl-with-bazel/crypto/cpu_aarch64_linux.cc +7 -1
- data/third_party/boringssl-with-bazel/crypto/cpu_aarch64_openbsd.cc +7 -21
- data/third_party/boringssl-with-bazel/crypto/cpu_aarch64_sysreg.cc +15 -41
- data/third_party/boringssl-with-bazel/crypto/cpu_aarch64_win.cc +16 -3
- data/third_party/boringssl-with-bazel/crypto/cpu_arm_freebsd.cc +4 -2
- data/third_party/boringssl-with-bazel/crypto/cpu_arm_linux.cc +54 -31
- data/third_party/boringssl-with-bazel/crypto/cpu_arm_linux.h +79 -101
- data/third_party/boringssl-with-bazel/crypto/cpu_intel.cc +51 -45
- data/third_party/boringssl-with-bazel/crypto/crypto.cc +26 -55
- data/third_party/boringssl-with-bazel/crypto/curve25519/curve25519.cc +28 -25
- data/third_party/boringssl-with-bazel/crypto/curve25519/curve25519_tables.h +6 -6
- data/third_party/boringssl-with-bazel/crypto/curve25519/internal.h +14 -15
- data/third_party/boringssl-with-bazel/crypto/curve25519/spake25519.cc +23 -20
- data/third_party/boringssl-with-bazel/crypto/des/des.cc +27 -19
- data/third_party/boringssl-with-bazel/crypto/des/internal.h +4 -9
- data/third_party/boringssl-with-bazel/crypto/dh/dh_asn1.cc +34 -49
- data/third_party/boringssl-with-bazel/crypto/dh/params.cc +44 -41
- data/third_party/boringssl-with-bazel/crypto/digest/digest_extra.cc +87 -40
- data/third_party/boringssl-with-bazel/crypto/dsa/dsa.cc +237 -260
- data/third_party/boringssl-with-bazel/crypto/dsa/dsa_asn1.cc +100 -173
- data/third_party/boringssl-with-bazel/crypto/dsa/internal.h +23 -21
- data/third_party/boringssl-with-bazel/crypto/ec/ec_asn1.cc +181 -209
- data/third_party/boringssl-with-bazel/crypto/ec/ec_derive.cc +26 -28
- data/third_party/boringssl-with-bazel/crypto/ec/hash_to_curve.cc +265 -174
- data/third_party/boringssl-with-bazel/crypto/ec/internal.h +54 -18
- data/third_party/boringssl-with-bazel/crypto/ecdh/ecdh.cc +7 -5
- data/third_party/boringssl-with-bazel/crypto/ecdsa/ecdsa_asn1.cc +50 -70
- data/third_party/boringssl-with-bazel/crypto/ecdsa/ecdsa_p1363.cc +54 -0
- data/third_party/boringssl-with-bazel/crypto/engine/engine.cc +7 -7
- data/third_party/boringssl-with-bazel/crypto/err/err.cc +116 -105
- data/third_party/boringssl-with-bazel/crypto/err/internal.h +8 -21
- data/third_party/boringssl-with-bazel/crypto/evp/evp.cc +238 -166
- data/third_party/boringssl-with-bazel/crypto/evp/evp_asn1.cc +202 -234
- data/third_party/boringssl-with-bazel/crypto/evp/evp_ctx.cc +260 -159
- data/third_party/boringssl-with-bazel/crypto/evp/evp_kem.cc +82 -0
- data/third_party/boringssl-with-bazel/crypto/evp/internal.h +292 -137
- data/third_party/boringssl-with-bazel/crypto/evp/p_dh.cc +198 -25
- data/third_party/boringssl-with-bazel/crypto/evp/p_dsa.cc +333 -0
- data/third_party/boringssl-with-bazel/crypto/evp/p_ec.cc +427 -42
- data/third_party/boringssl-with-bazel/crypto/evp/p_ed25519.cc +270 -14
- data/third_party/boringssl-with-bazel/crypto/evp/p_hkdf.cc +70 -102
- data/third_party/boringssl-with-bazel/crypto/evp/p_mldsa.cc +549 -0
- data/third_party/boringssl-with-bazel/crypto/evp/p_mlkem.cc +485 -0
- data/third_party/boringssl-with-bazel/crypto/evp/p_rsa.cc +666 -158
- data/third_party/boringssl-with-bazel/crypto/evp/p_x25519.cc +290 -28
- data/third_party/boringssl-with-bazel/crypto/evp/p_xwing.cc +273 -0
- data/third_party/boringssl-with-bazel/crypto/evp/pbkdf.cc +14 -7
- data/third_party/boringssl-with-bazel/crypto/evp/print.cc +34 -89
- data/third_party/boringssl-with-bazel/crypto/evp/scrypt.cc +23 -21
- data/third_party/boringssl-with-bazel/crypto/evp/sign.cc +23 -42
- data/third_party/boringssl-with-bazel/crypto/ex_data.cc +40 -41
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/aes/aes.cc.inc +34 -28
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/aes/aes_nohw.cc.inc +119 -121
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/aes/cbc.cc.inc +16 -14
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/aes/cfb.cc.inc +12 -10
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/aes/ctr.cc.inc +7 -5
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/aes/gcm.cc.inc +39 -29
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/aes/gcm_nohw.cc.inc +15 -13
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/aes/internal.h +193 -177
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/aes/key_wrap.cc.inc +5 -3
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/aes/mode_wrappers.cc.inc +7 -3
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/aes/ofb.cc.inc +7 -5
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bcm.cc +24 -19
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bcm_interface.h +512 -384
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/add.cc.inc +7 -5
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +63 -44
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/bn.cc.inc +40 -37
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/bytes.cc.inc +27 -22
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/cmp.cc.inc +9 -7
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/ctx.cc.inc +62 -126
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/div.cc.inc +92 -167
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/div_extra.cc.inc +15 -12
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/exponentiation.cc.inc +96 -93
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/gcd.cc.inc +73 -92
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/gcd_extra.cc.inc +59 -71
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/generic.cc.inc +54 -57
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/internal.h +333 -255
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/jacobi.cc.inc +12 -19
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/montgomery.cc.inc +80 -95
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/montgomery_inv.cc.inc +53 -96
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/mul.cc.inc +58 -419
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/prime.cc.inc +164 -213
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/random.cc.inc +27 -26
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/rsaz_exp.cc.inc +12 -10
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/rsaz_exp.h +47 -49
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/shift.cc.inc +14 -17
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/bn/sqrt.cc.inc +19 -108
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/cipher/aead.cc.inc +427 -105
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/cipher/cipher.cc.inc +412 -212
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/cipher/e_aes.cc.inc +230 -225
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/cipher/e_aesccm.cc.inc +115 -84
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/cipher/internal.h +374 -27
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/cmac/cmac.cc.inc +28 -23
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/delocate.h +36 -40
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/dh/check.cc.inc +68 -78
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/dh/dh.cc.inc +154 -196
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/dh/internal.h +24 -24
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/digest/digest.cc.inc +40 -69
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/digest/digests.cc.inc +13 -7
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/digest/internal.h +13 -11
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/digest/md32_common.h +86 -81
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/digestsign/digestsign.cc.inc +38 -34
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/ec.cc.inc +187 -196
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/ec_key.cc.inc +196 -154
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/ec_montgomery.cc.inc +65 -125
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/felem.cc.inc +85 -22
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/internal.h +281 -287
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/oct.cc.inc +23 -22
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/p256.cc.inc +514 -573
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/p256_internal.h +193 -0
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/scalar.cc.inc +44 -39
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/simple.cc.inc +58 -90
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/simple_mul.cc.inc +39 -34
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/util.cc.inc +6 -3
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/wnaf.cc.inc +23 -20
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ecdh/ecdh.cc.inc +6 -3
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +47 -37
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ecdsa/internal.h +5 -10
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/entropy/internal.h +38 -0
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/entropy/jitter.cc.inc +463 -0
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/entropy/sha512.cc.inc +329 -0
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/hkdf/hkdf.cc.inc +8 -6
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/hmac/hmac.cc.inc +19 -16
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/keccak/internal.h +41 -15
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/keccak/keccak.cc.inc +172 -44
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/mldsa/fips_known_values.inc +5 -5
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/mldsa/mldsa.cc.inc +1632 -766
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/mlkem/fips_known_values.inc +5 -5
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/mlkem/mlkem.cc.inc +740 -436
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/rand/android_entropy_client.cc.inc +82 -0
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/rand/ctrdrbg.cc.inc +240 -53
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/rand/internal.h +41 -26
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/rand/rand.cc.inc +221 -218
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/rsa/internal.h +64 -67
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/rsa/padding.cc.inc +49 -57
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/rsa/rsa.cc.inc +247 -234
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/rsa/rsa_impl.cc.inc +392 -692
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/self_check/fips.cc.inc +10 -10
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/self_check/self_check.cc.inc +479 -449
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/service_indicator/internal.h +34 -11
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +46 -43
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/sha/internal.h +61 -70
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/sha/sha1.cc.inc +27 -13
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/sha/sha256.cc.inc +46 -30
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/sha/sha512.cc.inc +47 -47
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/slhdsa/address.h +98 -73
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/slhdsa/fors.cc.inc +108 -98
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/slhdsa/fors.h +14 -24
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/slhdsa/merkle.cc.inc +94 -91
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/slhdsa/merkle.h +19 -31
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/slhdsa/params.h +156 -56
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +318 -132
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/slhdsa/thash.cc.inc +234 -81
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/slhdsa/thash.h +20 -34
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/slhdsa/wots.cc.inc +97 -96
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/slhdsa/wots.h +10 -20
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/tls/internal.h +2 -16
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/tls/kdf.cc.inc +26 -26
- data/third_party/boringssl-with-bazel/crypto/fuzzer_mode.cc +5 -5
- data/third_party/boringssl-with-bazel/crypto/hpke/hpke.cc +461 -97
- data/third_party/boringssl-with-bazel/crypto/hrss/hrss.cc +153 -149
- data/third_party/boringssl-with-bazel/crypto/hrss/internal.h +9 -13
- data/third_party/boringssl-with-bazel/crypto/internal.h +531 -394
- data/third_party/boringssl-with-bazel/crypto/kyber/internal.h +117 -12
- data/third_party/boringssl-with-bazel/crypto/kyber/kyber.cc +59 -58
- data/third_party/boringssl-with-bazel/crypto/lhash/internal.h +38 -37
- data/third_party/boringssl-with-bazel/crypto/lhash/lhash.cc +68 -65
- data/third_party/boringssl-with-bazel/crypto/md4/md4.cc +19 -6
- data/third_party/boringssl-with-bazel/crypto/md5/internal.h +6 -9
- data/third_party/boringssl-with-bazel/crypto/md5/md5.cc +18 -6
- data/third_party/boringssl-with-bazel/crypto/mem.cc +61 -65
- data/third_party/boringssl-with-bazel/crypto/mem_internal.h +671 -0
- data/third_party/boringssl-with-bazel/crypto/mldsa/mldsa.cc +238 -32
- data/third_party/boringssl-with-bazel/crypto/mlkem/mlkem.cc +21 -65
- data/third_party/boringssl-with-bazel/crypto/obj/obj.cc +132 -157
- data/third_party/boringssl-with-bazel/crypto/obj/obj_dat.h +79 -1
- data/third_party/boringssl-with-bazel/crypto/obj/obj_xref.cc +14 -11
- data/third_party/boringssl-with-bazel/crypto/params_internal.h +30 -0
- data/third_party/boringssl-with-bazel/crypto/pem/internal.h +20 -15
- data/third_party/boringssl-with-bazel/crypto/pem/pem_all.cc +20 -19
- data/third_party/boringssl-with-bazel/crypto/pem/pem_info.cc +72 -76
- data/third_party/boringssl-with-bazel/crypto/pem/pem_lib.cc +215 -217
- data/third_party/boringssl-with-bazel/crypto/pem/pem_oth.cc +6 -6
- data/third_party/boringssl-with-bazel/crypto/pem/pem_pk8.cc +13 -13
- data/third_party/boringssl-with-bazel/crypto/pem/pem_pkey.cc +11 -11
- data/third_party/boringssl-with-bazel/crypto/pkcs7/internal.h +12 -17
- data/third_party/boringssl-with-bazel/crypto/pkcs7/pkcs7.cc +29 -27
- data/third_party/boringssl-with-bazel/crypto/pkcs7/pkcs7_x509.cc +55 -49
- data/third_party/boringssl-with-bazel/crypto/pkcs8/internal.h +21 -26
- data/third_party/boringssl-with-bazel/crypto/pkcs8/p5_pbev2.cc +33 -31
- data/third_party/boringssl-with-bazel/crypto/pkcs8/pkcs8.cc +73 -81
- data/third_party/boringssl-with-bazel/crypto/pkcs8/pkcs8_x509.cc +139 -138
- data/third_party/boringssl-with-bazel/crypto/poly1305/internal.h +3 -7
- data/third_party/boringssl-with-bazel/crypto/poly1305/poly1305.cc +5 -4
- data/third_party/boringssl-with-bazel/crypto/poly1305/poly1305_arm.cc +43 -47
- data/third_party/boringssl-with-bazel/crypto/poly1305/poly1305_vec.cc +29 -26
- data/third_party/boringssl-with-bazel/crypto/pool/internal.h +64 -20
- data/third_party/boringssl-with-bazel/crypto/pool/pool.cc +177 -157
- data/third_party/boringssl-with-bazel/crypto/rand/deterministic.cc +9 -16
- data/third_party/boringssl-with-bazel/crypto/rand/fork_detect.cc +70 -42
- data/third_party/boringssl-with-bazel/crypto/rand/forkunsafe.cc +7 -7
- data/third_party/boringssl-with-bazel/crypto/rand/getentropy.cc +6 -13
- data/third_party/boringssl-with-bazel/crypto/rand/internal.h +16 -4
- data/third_party/boringssl-with-bazel/crypto/rand/ios.cc +4 -11
- data/third_party/boringssl-with-bazel/crypto/rand/rand.cc +11 -9
- data/third_party/boringssl-with-bazel/crypto/rand/trusty.cc +4 -11
- data/third_party/boringssl-with-bazel/crypto/rand/urandom.cc +16 -195
- data/third_party/boringssl-with-bazel/crypto/rand/windows.cc +12 -19
- data/third_party/boringssl-with-bazel/crypto/refcount.cc +7 -17
- data/third_party/boringssl-with-bazel/crypto/rsa/internal.h +22 -7
- data/third_party/boringssl-with-bazel/crypto/rsa/rsa_asn1.cc +199 -78
- data/third_party/boringssl-with-bazel/crypto/rsa/rsa_crypt.cc +49 -50
- data/third_party/boringssl-with-bazel/crypto/rsa/rsa_extra.cc +11 -0
- data/third_party/boringssl-with-bazel/crypto/rsa/rsa_print.cc +4 -6
- data/third_party/boringssl-with-bazel/crypto/sha/sha1.cc +3 -0
- data/third_party/boringssl-with-bazel/crypto/sha/sha256.cc +3 -1
- data/third_party/boringssl-with-bazel/crypto/sha/sha512.cc +6 -4
- data/third_party/boringssl-with-bazel/crypto/siphash/siphash.cc +2 -0
- data/third_party/boringssl-with-bazel/crypto/slhdsa/slhdsa.cc +43 -6
- data/third_party/boringssl-with-bazel/crypto/spake2plus/internal.h +31 -31
- data/third_party/boringssl-with-bazel/crypto/spake2plus/spake2plus.cc +1 -1
- data/third_party/boringssl-with-bazel/crypto/stack/stack.cc +89 -130
- data/third_party/boringssl-with-bazel/crypto/thread.cc +14 -14
- data/third_party/boringssl-with-bazel/crypto/thread_none.cc +10 -13
- data/third_party/boringssl-with-bazel/crypto/thread_pthread.cc +22 -35
- data/third_party/boringssl-with-bazel/crypto/thread_win.cc +29 -40
- data/third_party/boringssl-with-bazel/crypto/trust_token/internal.h +81 -88
- data/third_party/boringssl-with-bazel/crypto/trust_token/pmbtoken.cc +160 -144
- data/third_party/boringssl-with-bazel/crypto/trust_token/trust_token.cc +96 -80
- data/third_party/boringssl-with-bazel/crypto/trust_token/voprf.cc +90 -87
- data/third_party/boringssl-with-bazel/crypto/x509/a_digest.cc +5 -5
- data/third_party/boringssl-with-bazel/crypto/x509/a_sign.cc +51 -48
- data/third_party/boringssl-with-bazel/crypto/x509/a_verify.cc +30 -34
- data/third_party/boringssl-with-bazel/crypto/x509/algorithm.cc +47 -16
- data/third_party/boringssl-with-bazel/crypto/x509/asn1_gen.cc +41 -43
- data/third_party/boringssl-with-bazel/crypto/x509/by_dir.cc +183 -237
- data/third_party/boringssl-with-bazel/crypto/x509/by_file.cc +29 -30
- data/third_party/boringssl-with-bazel/crypto/x509/internal.h +276 -180
- data/third_party/boringssl-with-bazel/crypto/x509/name_print.cc +15 -13
- data/third_party/boringssl-with-bazel/crypto/x509/policy.cc +415 -525
- data/third_party/boringssl-with-bazel/crypto/x509/rsa_pss.cc +94 -271
- data/third_party/boringssl-with-bazel/crypto/x509/t_crl.cc +11 -8
- data/third_party/boringssl-with-bazel/crypto/x509/t_req.cc +26 -23
- data/third_party/boringssl-with-bazel/crypto/x509/t_x509.cc +26 -22
- data/third_party/boringssl-with-bazel/crypto/x509/t_x509a.cc +3 -1
- data/third_party/boringssl-with-bazel/crypto/x509/v3_akey.cc +69 -76
- data/third_party/boringssl-with-bazel/crypto/x509/v3_akeya.cc +2 -2
- data/third_party/boringssl-with-bazel/crypto/x509/v3_alt.cc +112 -69
- data/third_party/boringssl-with-bazel/crypto/x509/v3_bcons.cc +15 -14
- data/third_party/boringssl-with-bazel/crypto/x509/v3_bitst.cc +16 -18
- data/third_party/boringssl-with-bazel/crypto/x509/v3_conf.cc +62 -67
- data/third_party/boringssl-with-bazel/crypto/x509/v3_cpols.cc +143 -170
- data/third_party/boringssl-with-bazel/crypto/x509/v3_crld.cc +121 -165
- data/third_party/boringssl-with-bazel/crypto/x509/v3_enum.cc +13 -12
- data/third_party/boringssl-with-bazel/crypto/x509/v3_extku.cc +17 -34
- data/third_party/boringssl-with-bazel/crypto/x509/v3_genn.cc +20 -10
- data/third_party/boringssl-with-bazel/crypto/x509/v3_ia5.cc +22 -18
- data/third_party/boringssl-with-bazel/crypto/x509/v3_info.cc +45 -47
- data/third_party/boringssl-with-bazel/crypto/x509/v3_int.cc +35 -33
- data/third_party/boringssl-with-bazel/crypto/x509/v3_lib.cc +106 -61
- data/third_party/boringssl-with-bazel/crypto/x509/v3_ncons.cc +642 -358
- data/third_party/boringssl-with-bazel/crypto/x509/v3_ocsp.cc +25 -22
- data/third_party/boringssl-with-bazel/crypto/x509/v3_pcons.cc +15 -14
- data/third_party/boringssl-with-bazel/crypto/x509/v3_pmaps.cc +16 -15
- data/third_party/boringssl-with-bazel/crypto/x509/v3_prn.cc +6 -6
- data/third_party/boringssl-with-bazel/crypto/x509/v3_purp.cc +150 -137
- data/third_party/boringssl-with-bazel/crypto/x509/v3_skey.cc +23 -26
- data/third_party/boringssl-with-bazel/crypto/x509/v3_utl.cc +151 -178
- data/third_party/boringssl-with-bazel/crypto/x509/x509.cc +1 -1
- data/third_party/boringssl-with-bazel/crypto/x509/x509_att.cc +32 -30
- data/third_party/boringssl-with-bazel/crypto/x509/x509_cmp.cc +95 -88
- data/third_party/boringssl-with-bazel/crypto/x509/x509_d2.cc +9 -9
- data/third_party/boringssl-with-bazel/crypto/x509/x509_def.cc +6 -8
- data/third_party/boringssl-with-bazel/crypto/x509/x509_ext.cc +46 -24
- data/third_party/boringssl-with-bazel/crypto/x509/x509_lu.cc +211 -195
- data/third_party/boringssl-with-bazel/crypto/x509/x509_obj.cc +20 -16
- data/third_party/boringssl-with-bazel/crypto/x509/x509_req.cc +37 -46
- data/third_party/boringssl-with-bazel/crypto/x509/x509_set.cc +62 -90
- data/third_party/boringssl-with-bazel/crypto/x509/x509_trs.cc +18 -13
- data/third_party/boringssl-with-bazel/crypto/x509/x509_v3.cc +33 -33
- data/third_party/boringssl-with-bazel/crypto/x509/x509_vfy.cc +109 -110
- data/third_party/boringssl-with-bazel/crypto/x509/x509_vpm.cc +56 -47
- data/third_party/boringssl-with-bazel/crypto/x509/x509cset.cc +27 -40
- data/third_party/boringssl-with-bazel/crypto/x509/x509name.cc +77 -67
- data/third_party/boringssl-with-bazel/crypto/x509/x509rset.cc +5 -17
- data/third_party/boringssl-with-bazel/crypto/x509/x509spki.cc +13 -13
- data/third_party/boringssl-with-bazel/crypto/x509/x_algor.cc +131 -24
- data/third_party/boringssl-with-bazel/crypto/x509/x_all.cc +72 -39
- data/third_party/boringssl-with-bazel/crypto/x509/x_attrib.cc +10 -4
- data/third_party/boringssl-with-bazel/crypto/x509/x_crl.cc +77 -44
- data/third_party/boringssl-with-bazel/crypto/x509/x_exten.cc +6 -0
- data/third_party/boringssl-with-bazel/crypto/x509/x_name.cc +311 -383
- data/third_party/boringssl-with-bazel/crypto/x509/x_pubkey.cc +129 -82
- data/third_party/boringssl-with-bazel/crypto/x509/x_req.cc +11 -6
- data/third_party/boringssl-with-bazel/crypto/x509/x_sig.cc +4 -4
- data/third_party/boringssl-with-bazel/crypto/x509/x_spki.cc +11 -1
- data/third_party/boringssl-with-bazel/crypto/x509/x_x509.cc +285 -280
- data/third_party/boringssl-with-bazel/crypto/x509/x_x509a.cc +60 -60
- data/third_party/boringssl-with-bazel/crypto/xwing/xwing.cc +257 -0
- data/third_party/boringssl-with-bazel/gen/boringssl_prefix_symbols_internal_x86_64_win_asm.inc +301 -0
- data/third_party/boringssl-with-bazel/gen/boringssl_prefix_symbols_internal_x86_win_asm.inc +301 -0
- data/third_party/boringssl-with-bazel/gen/crypto/err_data.cc +526 -500
- data/third_party/boringssl-with-bazel/include/openssl/aead.h +286 -114
- data/third_party/boringssl-with-bazel/include/openssl/aes.h +43 -43
- data/third_party/boringssl-with-bazel/include/openssl/asm_base.h +29 -16
- data/third_party/boringssl-with-bazel/include/openssl/asn1.h +641 -631
- data/third_party/boringssl-with-bazel/include/openssl/asn1t.h +7 -9
- data/third_party/boringssl-with-bazel/include/openssl/base.h +34 -54
- data/third_party/boringssl-with-bazel/include/openssl/base64.h +30 -30
- data/third_party/boringssl-with-bazel/include/openssl/bio.h +373 -316
- data/third_party/boringssl-with-bazel/include/openssl/blake2.h +15 -11
- data/third_party/boringssl-with-bazel/include/openssl/blowfish.h +10 -3
- data/third_party/boringssl-with-bazel/include/openssl/bn.h +298 -306
- data/third_party/boringssl-with-bazel/include/openssl/buf.h +14 -14
- data/third_party/boringssl-with-bazel/include/openssl/bytestring.h +272 -207
- data/third_party/boringssl-with-bazel/include/openssl/cast.h +45 -8
- data/third_party/boringssl-with-bazel/include/openssl/chacha.h +3 -3
- data/third_party/boringssl-with-bazel/include/openssl/cipher.h +334 -152
- data/third_party/boringssl-with-bazel/include/openssl/cmac.h +13 -13
- data/third_party/boringssl-with-bazel/include/openssl/cms.h +35 -34
- data/third_party/boringssl-with-bazel/include/openssl/conf.h +15 -14
- data/third_party/boringssl-with-bazel/include/openssl/crypto.h +15 -13
- data/third_party/boringssl-with-bazel/include/openssl/ctrdrbg.h +49 -15
- data/third_party/boringssl-with-bazel/include/openssl/curve25519.h +24 -24
- data/third_party/boringssl-with-bazel/include/openssl/des.h +22 -16
- data/third_party/boringssl-with-bazel/include/openssl/dh.h +95 -95
- data/third_party/boringssl-with-bazel/include/openssl/digest.h +140 -71
- data/third_party/boringssl-with-bazel/include/openssl/dsa.h +101 -101
- data/third_party/boringssl-with-bazel/include/openssl/ec.h +143 -119
- data/third_party/boringssl-with-bazel/include/openssl/ec_key.h +97 -97
- data/third_party/boringssl-with-bazel/include/openssl/ecdh.h +9 -9
- data/third_party/boringssl-with-bazel/include/openssl/ecdsa.h +89 -46
- data/third_party/boringssl-with-bazel/include/openssl/engine.h +5 -5
- data/third_party/boringssl-with-bazel/include/openssl/err.h +73 -71
- data/third_party/boringssl-with-bazel/include/openssl/evp.h +824 -344
- data/third_party/boringssl-with-bazel/include/openssl/evp_errors.h +9 -2
- data/third_party/boringssl-with-bazel/include/openssl/ex_data.h +27 -32
- data/third_party/boringssl-with-bazel/include/openssl/hkdf.h +6 -6
- data/third_party/boringssl-with-bazel/include/openssl/hmac.h +31 -31
- data/third_party/boringssl-with-bazel/include/openssl/hpke.h +133 -117
- data/third_party/boringssl-with-bazel/include/openssl/hrss.h +14 -8
- data/third_party/boringssl-with-bazel/include/openssl/kdf.h +20 -19
- data/third_party/boringssl-with-bazel/include/openssl/lhash.h +4 -25
- data/third_party/boringssl-with-bazel/include/openssl/md4.h +14 -7
- data/third_party/boringssl-with-bazel/include/openssl/md5.h +7 -7
- data/third_party/boringssl-with-bazel/include/openssl/mem.h +38 -38
- data/third_party/boringssl-with-bazel/include/openssl/mldsa.h +380 -24
- data/third_party/boringssl-with-bazel/include/openssl/mlkem.h +43 -43
- data/third_party/boringssl-with-bazel/include/openssl/nid.h +1297 -2
- data/third_party/boringssl-with-bazel/include/openssl/obj.h +49 -49
- data/third_party/boringssl-with-bazel/include/openssl/opensslconf.h +30 -0
- data/third_party/boringssl-with-bazel/include/openssl/params.h +42 -0
- data/third_party/boringssl-with-bazel/include/openssl/pem.h +39 -30
- data/third_party/boringssl-with-bazel/include/openssl/pkcs7.h +40 -40
- data/third_party/boringssl-with-bazel/include/openssl/pkcs8.h +69 -63
- data/third_party/boringssl-with-bazel/include/openssl/poly1305.h +8 -5
- data/third_party/boringssl-with-bazel/include/openssl/pool.h +54 -25
- data/third_party/boringssl-with-bazel/include/openssl/posix_time.h +6 -6
- data/third_party/boringssl-with-bazel/include/openssl/prefix_symbols.h +7866 -0
- data/third_party/boringssl-with-bazel/include/openssl/prefix_symbols_internal_S.h +585 -0
- data/third_party/boringssl-with-bazel/include/openssl/prefix_symbols_internal_c.h +305 -0
- data/third_party/boringssl-with-bazel/include/openssl/rand.h +18 -18
- data/third_party/boringssl-with-bazel/include/openssl/rc4.h +4 -4
- data/third_party/boringssl-with-bazel/include/openssl/ripemd.h +15 -10
- data/third_party/boringssl-with-bazel/include/openssl/rsa.h +272 -235
- data/third_party/boringssl-with-bazel/include/openssl/service_indicator.h +4 -81
- data/third_party/boringssl-with-bazel/include/openssl/sha.h +43 -166
- data/third_party/boringssl-with-bazel/include/openssl/sha2.h +201 -0
- data/third_party/boringssl-with-bazel/include/openssl/slhdsa.h +100 -48
- data/third_party/boringssl-with-bazel/include/openssl/span.h +190 -75
- data/third_party/boringssl-with-bazel/include/openssl/ssl.h +2168 -1567
- data/third_party/boringssl-with-bazel/include/openssl/ssl3.h +11 -69
- data/third_party/boringssl-with-bazel/include/openssl/stack.h +135 -80
- data/third_party/boringssl-with-bazel/include/openssl/target.h +13 -1
- data/third_party/boringssl-with-bazel/include/openssl/thread.h +0 -10
- data/third_party/boringssl-with-bazel/include/openssl/tls1.h +31 -310
- data/third_party/boringssl-with-bazel/include/openssl/tls_prf.h +47 -0
- data/third_party/boringssl-with-bazel/include/openssl/trust_token.h +97 -92
- data/third_party/boringssl-with-bazel/include/openssl/type_check.h +1 -1
- data/third_party/boringssl-with-bazel/include/openssl/x509.h +1805 -1857
- data/third_party/boringssl-with-bazel/include/openssl/x509v3.h +1 -1
- data/third_party/boringssl-with-bazel/include/openssl/xwing.h +115 -0
- data/third_party/boringssl-with-bazel/ssl/bio_ssl.cc +24 -19
- data/third_party/boringssl-with-bazel/ssl/d1_both.cc +59 -57
- data/third_party/boringssl-with-bazel/ssl/d1_lib.cc +53 -42
- data/third_party/boringssl-with-bazel/ssl/d1_pkt.cc +4 -4
- data/third_party/boringssl-with-bazel/ssl/d1_srtp.cc +2 -2
- data/third_party/boringssl-with-bazel/ssl/dtls_method.cc +10 -10
- data/third_party/boringssl-with-bazel/ssl/dtls_record.cc +6 -6
- data/third_party/boringssl-with-bazel/ssl/encrypted_client_hello.cc +61 -71
- data/third_party/boringssl-with-bazel/ssl/extensions.cc +967 -366
- data/third_party/boringssl-with-bazel/ssl/handoff.cc +77 -38
- data/third_party/boringssl-with-bazel/ssl/handshake.cc +63 -30
- data/third_party/boringssl-with-bazel/ssl/handshake_client.cc +129 -85
- data/third_party/boringssl-with-bazel/ssl/handshake_server.cc +116 -68
- data/third_party/boringssl-with-bazel/ssl/internal.h +983 -1207
- data/third_party/boringssl-with-bazel/ssl/s3_both.cc +34 -29
- data/third_party/boringssl-with-bazel/ssl/s3_lib.cc +4 -3
- data/third_party/boringssl-with-bazel/ssl/s3_pkt.cc +12 -12
- data/third_party/boringssl-with-bazel/ssl/ssl_aead_ctx.cc +5 -5
- data/third_party/boringssl-with-bazel/ssl/ssl_asn1.cc +114 -59
- data/third_party/boringssl-with-bazel/ssl/ssl_buffer.cc +17 -18
- data/third_party/boringssl-with-bazel/ssl/ssl_cert.cc +99 -61
- data/third_party/boringssl-with-bazel/ssl/ssl_cipher.cc +143 -134
- data/third_party/boringssl-with-bazel/ssl/ssl_credential.cc +188 -90
- data/third_party/boringssl-with-bazel/ssl/ssl_file.cc +132 -225
- data/third_party/boringssl-with-bazel/ssl/ssl_key_share.cc +79 -7
- data/third_party/boringssl-with-bazel/ssl/ssl_lib.cc +698 -302
- data/third_party/boringssl-with-bazel/ssl/ssl_privkey.cc +102 -45
- data/third_party/boringssl-with-bazel/ssl/ssl_session.cc +117 -102
- data/third_party/boringssl-with-bazel/ssl/ssl_transcript.cc +3 -3
- data/third_party/boringssl-with-bazel/ssl/ssl_versions.cc +24 -24
- data/third_party/boringssl-with-bazel/ssl/ssl_x509.cc +184 -170
- data/third_party/boringssl-with-bazel/ssl/t1_enc.cc +12 -10
- data/third_party/boringssl-with-bazel/ssl/tls13_both.cc +86 -54
- data/third_party/boringssl-with-bazel/ssl/tls13_client.cc +176 -90
- data/third_party/boringssl-with-bazel/ssl/tls13_enc.cc +166 -112
- data/third_party/boringssl-with-bazel/ssl/tls13_server.cc +188 -97
- data/third_party/boringssl-with-bazel/ssl/tls_method.cc +23 -23
- data/third_party/boringssl-with-bazel/ssl/tls_record.cc +17 -14
- data/third_party/boringssl-with-bazel/third_party/fiat/bedrock_unverified_bareminimum.c.inc +47 -0
- data/third_party/boringssl-with-bazel/third_party/fiat/bedrock_unverified_platform.c.inc +137 -0
- data/third_party/boringssl-with-bazel/third_party/fiat/curve25519_64_adx.h +37 -33
- data/third_party/boringssl-with-bazel/third_party/fiat/p256_64.h +4 -93
- data/third_party/boringssl-with-bazel/third_party/fiat/p256_64_msvc.h +4 -69
- data/third_party/boringssl-with-bazel/third_party/fiat/p256_field_32.br.c.inc +71 -0
- data/third_party/boringssl-with-bazel/third_party/fiat/p256_field_64.br.c.inc +84 -0
- data/third_party/boringssl-with-bazel/third_party/fiat/p256_point.br.c.inc +166 -0
- metadata +77 -52
- data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +0 -240
- data/src/core/ext/transport/chttp2/transport/bin_decoder.h +0 -56
- data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb.h +0 -157
- data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.c +0 -72
- data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +0 -181
- data/third_party/abseil-cpp/absl/base/internal/identity.h +0 -39
- data/third_party/abseil-cpp/absl/base/internal/nullability_deprecated.h +0 -106
- data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +0 -105
- data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h +0 -50
- data/third_party/abseil-cpp/absl/strings/string_view.cc +0 -257
- data/third_party/boringssl-with-bazel/crypto/evp/p_dh_asn1.cc +0 -142
- data/third_party/boringssl-with-bazel/crypto/evp/p_dsa_asn1.cc +0 -279
- data/third_party/boringssl-with-bazel/crypto/evp/p_ec_asn1.cc +0 -286
- data/third_party/boringssl-with-bazel/crypto/evp/p_ed25519_asn1.cc +0 -225
- data/third_party/boringssl-with-bazel/crypto/evp/p_rsa_asn1.cc +0 -198
- data/third_party/boringssl-with-bazel/crypto/evp/p_x25519_asn1.cc +0 -237
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/p224-64.cc.inc +0 -1163
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/p256-nistz.cc.inc +0 -741
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/ec/p256-nistz.h +0 -207
- data/third_party/boringssl-with-bazel/crypto/fipsmodule/rsa/blinding.cc.inc +0 -147
- data/third_party/boringssl-with-bazel/crypto/rand/getrandom_fillin.h +0 -64
- data/third_party/boringssl-with-bazel/crypto/rand/passive.cc +0 -178
- data/third_party/boringssl-with-bazel/crypto/x509/ext_dat.h +0 -92
- data/third_party/boringssl-with-bazel/include/openssl/bcm_public.h +0 -82
- data/third_party/boringssl-with-bazel/include/openssl/experimental/kyber.h +0 -146
|
@@ -583,7 +583,7 @@ class FrameProtector : public RefCounted<FrameProtector> {
|
|
|
583
583
|
// Therefore, any valid plaintext has already been fully delivered, and
|
|
584
584
|
// read_staging_buffer_ contains only unused, leftover memory capacity.
|
|
585
585
|
void ResetReadStagingBuffer() {
|
|
586
|
-
MutexLock lock(
|
|
586
|
+
MutexLock lock(read_mu_);
|
|
587
587
|
CSliceUnref(read_staging_buffer_);
|
|
588
588
|
read_staging_buffer_ = grpc_empty_slice();
|
|
589
589
|
}
|
|
@@ -698,7 +698,7 @@ static void on_read(void* user_data, grpc_error_handle error) {
|
|
|
698
698
|
secure_endpoint* ep = reinterpret_cast<secure_endpoint*>(user_data);
|
|
699
699
|
|
|
700
700
|
{
|
|
701
|
-
grpc_core::MutexLock lock(ep->frame_protector.read_mu());
|
|
701
|
+
grpc_core::MutexLock lock(*ep->frame_protector.read_mu());
|
|
702
702
|
// If we were shut down after this callback was scheduled with OK
|
|
703
703
|
// status but before it was invoked, we need to treat that as an error.
|
|
704
704
|
if (ep->wrapped_ep == nullptr && error.ok()) {
|
|
@@ -752,7 +752,7 @@ static void endpoint_write(
|
|
|
752
752
|
secure_endpoint* ep = reinterpret_cast<secure_endpoint*>(secure_ep);
|
|
753
753
|
tsi_result result;
|
|
754
754
|
{
|
|
755
|
-
grpc_core::MutexLock lock(ep->frame_protector.write_mu());
|
|
755
|
+
grpc_core::MutexLock lock(*ep->frame_protector.write_mu());
|
|
756
756
|
result = ep->frame_protector.Protect(slices, args.max_frame_size());
|
|
757
757
|
}
|
|
758
758
|
|
|
@@ -968,7 +968,7 @@ class SecureEndpoint final : public EventEngine::Endpoint,
|
|
|
968
968
|
{
|
|
969
969
|
// This mutex should not have any contention since we can only have
|
|
970
970
|
// one outstanding Read() at a time.
|
|
971
|
-
grpc_core::MutexLock lock(
|
|
971
|
+
grpc_core::MutexLock lock(read_settings_mu_);
|
|
972
972
|
if (rpc_receive_coalescing_enabled_) {
|
|
973
973
|
// TODO(aananthv): Make required_read_bytes_ a separate field in
|
|
974
974
|
// ReadArgs to avoid confusion between min_progress_size and
|
|
@@ -1015,7 +1015,7 @@ class SecureEndpoint final : public EventEngine::Endpoint,
|
|
|
1015
1015
|
// If we get a zero length frame, just complete without looking at
|
|
1016
1016
|
// anything further
|
|
1017
1017
|
if (data->Length() == 0) return true;
|
|
1018
|
-
grpc_core::MutexLock lock(
|
|
1018
|
+
grpc_core::MutexLock lock(write_queue_mu_);
|
|
1019
1019
|
// If there's been a failure observed asynchronously, then fail out with
|
|
1020
1020
|
// that error.
|
|
1021
1021
|
if (!writing_.ok()) {
|
|
@@ -1054,7 +1054,7 @@ class SecureEndpoint final : public EventEngine::Endpoint,
|
|
|
1054
1054
|
}
|
|
1055
1055
|
// A small write: encrypt inline and write to the socket.
|
|
1056
1056
|
{
|
|
1057
|
-
grpc_core::MutexLock lock(frame_protector_.write_mu());
|
|
1057
|
+
grpc_core::MutexLock lock(*frame_protector_.write_mu());
|
|
1058
1058
|
result = frame_protector_.Protect(data->c_slice_buffer(),
|
|
1059
1059
|
args.max_frame_size());
|
|
1060
1060
|
}
|
|
@@ -1088,7 +1088,7 @@ class SecureEndpoint final : public EventEngine::Endpoint,
|
|
|
1088
1088
|
|
|
1089
1089
|
void EnableRpcReceiveCoalescing() {
|
|
1090
1090
|
{
|
|
1091
|
-
grpc_core::MutexLock lock(
|
|
1091
|
+
grpc_core::MutexLock lock(read_settings_mu_);
|
|
1092
1092
|
rpc_receive_coalescing_enabled_ = true;
|
|
1093
1093
|
}
|
|
1094
1094
|
frame_protector_.ResetReadStagingBuffer();
|
|
@@ -1099,7 +1099,7 @@ class SecureEndpoint final : public EventEngine::Endpoint,
|
|
|
1099
1099
|
|
|
1100
1100
|
void DisableRpcReceiveCoalescing() {
|
|
1101
1101
|
{
|
|
1102
|
-
grpc_core::MutexLock lock(
|
|
1102
|
+
grpc_core::MutexLock lock(read_settings_mu_);
|
|
1103
1103
|
rpc_receive_coalescing_enabled_ = false;
|
|
1104
1104
|
}
|
|
1105
1105
|
}
|
|
@@ -1110,8 +1110,8 @@ class SecureEndpoint final : public EventEngine::Endpoint,
|
|
|
1110
1110
|
|
|
1111
1111
|
void Shutdown() {
|
|
1112
1112
|
std::unique_ptr<EventEngine::Endpoint> wrapped_ep;
|
|
1113
|
-
grpc_core::MutexLock write_lock(frame_protector_.write_mu());
|
|
1114
|
-
grpc_core::MutexLock read_lock(frame_protector_.read_mu());
|
|
1113
|
+
grpc_core::MutexLock write_lock(*frame_protector_.write_mu());
|
|
1114
|
+
grpc_core::MutexLock read_lock(*frame_protector_.read_mu());
|
|
1115
1115
|
wrapped_ep = std::move(wrapped_ep_);
|
|
1116
1116
|
frame_protector_.Shutdown();
|
|
1117
1117
|
GRPC_TRACE_LOG(secure_endpoint, INFO)
|
|
@@ -1126,7 +1126,7 @@ class SecureEndpoint final : public EventEngine::Endpoint,
|
|
|
1126
1126
|
private:
|
|
1127
1127
|
bool MaybeFinishReadImmediately() {
|
|
1128
1128
|
GRPC_LATENT_SEE_ALWAYS_ON_SCOPE("secure_endpoint maybe finish read");
|
|
1129
|
-
grpc_core::MutexLock lock(frame_protector_.read_mu());
|
|
1129
|
+
grpc_core::MutexLock lock(*frame_protector_.read_mu());
|
|
1130
1130
|
// If the read is large, since we got the bytes whilst still calling read,
|
|
1131
1131
|
// offload the decryption to event engine.
|
|
1132
1132
|
// That way we can do the decryption off this thread (which is usually
|
|
@@ -1159,7 +1159,7 @@ class SecureEndpoint final : public EventEngine::Endpoint,
|
|
|
1159
1159
|
absl::Status status) {
|
|
1160
1160
|
GRPC_LATENT_SEE_ALWAYS_ON_SCOPE("secure endpoint finish async read");
|
|
1161
1161
|
{
|
|
1162
|
-
grpc_core::MutexLock lock(impl->frame_protector_.read_mu());
|
|
1162
|
+
grpc_core::MutexLock lock(*impl->frame_protector_.read_mu());
|
|
1163
1163
|
if (status.ok() && impl->wrapped_ep_ == nullptr) {
|
|
1164
1164
|
status = absl::CancelledError("secure endpoint shutdown");
|
|
1165
1165
|
}
|
|
@@ -1191,7 +1191,7 @@ class SecureEndpoint final : public EventEngine::Endpoint,
|
|
|
1191
1191
|
|
|
1192
1192
|
bool had_source_data = false;
|
|
1193
1193
|
{
|
|
1194
|
-
grpc_core::MutexLock lock(frame_protector_.read_mu());
|
|
1194
|
+
grpc_core::MutexLock lock(*frame_protector_.read_mu());
|
|
1195
1195
|
if (status.ok() && wrapped_ep_ == nullptr) {
|
|
1196
1196
|
status = absl::CancelledError("secure endpoint shutdown");
|
|
1197
1197
|
} else {
|
|
@@ -214,7 +214,7 @@ MakeChannelzSecurityFromAuthContext(grpc_auth_context* auth_context) {
|
|
|
214
214
|
} // namespace
|
|
215
215
|
|
|
216
216
|
void SecurityHandshaker::OnPeerCheckedFn(grpc_error_handle error) {
|
|
217
|
-
MutexLock lock(
|
|
217
|
+
MutexLock lock(mu_);
|
|
218
218
|
on_peer_checked_ = nullptr;
|
|
219
219
|
if (!error.ok() || is_shutdown_) {
|
|
220
220
|
HandshakeFailedLocked(error);
|
|
@@ -408,7 +408,7 @@ void SecurityHandshaker::OnHandshakeNextDoneGrpcWrapper(
|
|
|
408
408
|
size_t bytes_to_send_size, tsi_handshaker_result* handshaker_result) {
|
|
409
409
|
RefCountedPtr<SecurityHandshaker> h(
|
|
410
410
|
static_cast<SecurityHandshaker*>(user_data));
|
|
411
|
-
MutexLock lock(
|
|
411
|
+
MutexLock lock(h->mu_);
|
|
412
412
|
grpc_error_handle error = h->OnHandshakeNextDoneLocked(
|
|
413
413
|
result, bytes_to_send, bytes_to_send_size, handshaker_result);
|
|
414
414
|
if (!error.ok()) {
|
|
@@ -455,7 +455,7 @@ void SecurityHandshaker::OnHandshakeDataReceivedFromPeerFnScheduler(
|
|
|
455
455
|
}
|
|
456
456
|
|
|
457
457
|
void SecurityHandshaker::OnHandshakeDataReceivedFromPeerFn(absl::Status error) {
|
|
458
|
-
MutexLock lock(
|
|
458
|
+
MutexLock lock(mu_);
|
|
459
459
|
if (!error.ok() || is_shutdown_) {
|
|
460
460
|
HandshakeFailedLocked(
|
|
461
461
|
GRPC_ERROR_CREATE_REFERENCING("Handshake read failed", &error, 1),
|
|
@@ -487,7 +487,7 @@ void SecurityHandshaker::OnHandshakeDataSentToPeerFnScheduler(
|
|
|
487
487
|
}
|
|
488
488
|
|
|
489
489
|
void SecurityHandshaker::OnHandshakeDataSentToPeerFn(absl::Status error) {
|
|
490
|
-
MutexLock lock(
|
|
490
|
+
MutexLock lock(mu_);
|
|
491
491
|
if (!error.ok() || is_shutdown_) {
|
|
492
492
|
HandshakeFailedLocked(
|
|
493
493
|
GRPC_ERROR_CREATE_REFERENCING("Handshake write failed", &error, 1),
|
|
@@ -517,7 +517,7 @@ void SecurityHandshaker::OnHandshakeDataSentToPeerFn(absl::Status error) {
|
|
|
517
517
|
//
|
|
518
518
|
|
|
519
519
|
void SecurityHandshaker::Shutdown(grpc_error_handle error) {
|
|
520
|
-
MutexLock lock(
|
|
520
|
+
MutexLock lock(mu_);
|
|
521
521
|
if (!is_shutdown_) {
|
|
522
522
|
is_shutdown_ = true;
|
|
523
523
|
connector_->cancel_check_peer(on_peer_checked_, std::move(error));
|
|
@@ -529,7 +529,7 @@ void SecurityHandshaker::Shutdown(grpc_error_handle error) {
|
|
|
529
529
|
void SecurityHandshaker::DoHandshake(
|
|
530
530
|
HandshakerArgs* args,
|
|
531
531
|
absl::AnyInvocable<void(absl::Status)> on_handshake_done) {
|
|
532
|
-
MutexLock lock(
|
|
532
|
+
MutexLock lock(mu_);
|
|
533
533
|
args_ = args;
|
|
534
534
|
on_handshake_done_ = std::move(on_handshake_done);
|
|
535
535
|
size_t bytes_received_size = MoveReadBufferIntoHandshakeBuffer();
|
|
@@ -101,7 +101,7 @@ TCPConnectHandshaker::TCPConnectHandshaker(grpc_pollset_set* pollset_set)
|
|
|
101
101
|
void TCPConnectHandshaker::Shutdown(absl::Status /*error*/) {
|
|
102
102
|
// TODO(anramach): After migration to EventEngine, cancel the in-progress
|
|
103
103
|
// TCP connection attempt.
|
|
104
|
-
MutexLock lock(
|
|
104
|
+
MutexLock lock(mu_);
|
|
105
105
|
if (!shutdown_) {
|
|
106
106
|
shutdown_ = true;
|
|
107
107
|
// If we are shutting down while connecting, respond back with
|
|
@@ -127,7 +127,7 @@ void TCPConnectHandshaker::DoHandshake(
|
|
|
127
127
|
return;
|
|
128
128
|
}
|
|
129
129
|
{
|
|
130
|
-
MutexLock lock(
|
|
130
|
+
MutexLock lock(mu_);
|
|
131
131
|
on_handshake_done_ = std::move(on_handshake_done);
|
|
132
132
|
}
|
|
133
133
|
args_ = args;
|
|
@@ -135,7 +135,7 @@ void TCPConnectHandshaker::DoHandshake(
|
|
|
135
135
|
args->args.GetString(GRPC_ARG_TCP_HANDSHAKER_RESOLVED_ADDRESS).value();
|
|
136
136
|
absl::StatusOr<URI> uri = URI::Parse(resolved_address_text);
|
|
137
137
|
if (!uri.ok() || !grpc_parse_uri(*uri, &addr_)) {
|
|
138
|
-
MutexLock lock(
|
|
138
|
+
MutexLock lock(mu_);
|
|
139
139
|
FinishLocked(GRPC_ERROR_CREATE(absl::StrCat(
|
|
140
140
|
"Resolved address in invalid format: ", resolved_address_text)));
|
|
141
141
|
return;
|
|
@@ -167,7 +167,7 @@ void TCPConnectHandshaker::Connected(void* arg, grpc_error_handle error) {
|
|
|
167
167
|
RefCountedPtr<TCPConnectHandshaker> self(
|
|
168
168
|
static_cast<TCPConnectHandshaker*>(arg));
|
|
169
169
|
{
|
|
170
|
-
MutexLock lock(
|
|
170
|
+
MutexLock lock(self->mu_);
|
|
171
171
|
if (!error.ok() || self->shutdown_) {
|
|
172
172
|
if (error.ok()) {
|
|
173
173
|
error = GRPC_ERROR_CREATE("tcp handshaker shutdown");
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
#include "src/core/lib/channel/channel_args.h"
|
|
20
20
|
|
|
21
|
+
#include <grpc/grpc.h>
|
|
21
22
|
#include <grpc/impl/channel_arg_names.h>
|
|
22
23
|
#include <grpc/support/alloc.h>
|
|
23
24
|
#include <grpc/support/port_platform.h>
|
|
@@ -660,6 +661,25 @@ grpc_arg grpc_channel_arg_pointer_create(
|
|
|
660
661
|
return arg;
|
|
661
662
|
}
|
|
662
663
|
|
|
664
|
+
static void* channel_args_copy(void* p) {
|
|
665
|
+
return grpc_channel_args_copy(static_cast<grpc_channel_args*>(p));
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
static void channel_args_destroy(void* p) {
|
|
669
|
+
return grpc_channel_args_destroy(static_cast<grpc_channel_args*>(p));
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
static int channel_args_compare(void* p1, void* p2) {
|
|
673
|
+
return grpc_channel_args_compare(static_cast<grpc_channel_args*>(p1),
|
|
674
|
+
static_cast<grpc_channel_args*>(p2));
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
const grpc_arg_pointer_vtable* grpc_channel_args_arg_vtable(void) {
|
|
678
|
+
static const grpc_arg_pointer_vtable vtable = {
|
|
679
|
+
channel_args_copy, channel_args_destroy, channel_args_compare};
|
|
680
|
+
return &vtable;
|
|
681
|
+
}
|
|
682
|
+
|
|
663
683
|
std::string grpc_channel_args_string(const grpc_channel_args* args) {
|
|
664
684
|
return grpc_core::ChannelArgs::FromC(args).ToString();
|
|
665
685
|
}
|
|
@@ -125,7 +125,7 @@ struct has_channel_args_compare<
|
|
|
125
125
|
// static int ChannelArgsCompare(const T* a, const T* b);
|
|
126
126
|
template <typename T>
|
|
127
127
|
struct ChannelArgTypeTraits<
|
|
128
|
-
T,
|
|
128
|
+
T, std::enable_if_t<
|
|
129
129
|
!channel_args_detail::IsRawPointerTagged<T>::kValue &&
|
|
130
130
|
(std::is_base_of<RefCounted<channel_args_detail::RefType<T>>,
|
|
131
131
|
channel_args_detail::RefType<T>>::value ||
|
|
@@ -162,7 +162,7 @@ struct ChannelArgTypeTraits<
|
|
|
162
162
|
|
|
163
163
|
template <typename T>
|
|
164
164
|
struct ChannelArgTypeTraits<
|
|
165
|
-
T,
|
|
165
|
+
T, std::enable_if_t<channel_args_detail::is_shared_ptr<T>::value, void>> {
|
|
166
166
|
static void* TakeUnownedPointer(T* p) { return p; }
|
|
167
167
|
static const grpc_arg_pointer_vtable* VTable() {
|
|
168
168
|
static const grpc_arg_pointer_vtable tbl = {
|
|
@@ -228,9 +228,9 @@ struct GetObjectImpl;
|
|
|
228
228
|
template <typename T>
|
|
229
229
|
struct GetObjectImpl<
|
|
230
230
|
T,
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
231
|
+
std::enable_if_t<!ChannelArgPointerShouldBeConst<T>::kValue &&
|
|
232
|
+
channel_args_detail::SupportedSharedPtrType<T>::value,
|
|
233
|
+
void>> {
|
|
234
234
|
using Result = T*;
|
|
235
235
|
using ReffedResult = std::shared_ptr<T>;
|
|
236
236
|
using StoredType = std::shared_ptr<T>*;
|
|
@@ -251,10 +251,10 @@ struct GetObjectImpl<
|
|
|
251
251
|
// RefCountedPtr
|
|
252
252
|
template <typename T>
|
|
253
253
|
struct GetObjectImpl<
|
|
254
|
-
T,
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
254
|
+
T,
|
|
255
|
+
std::enable_if_t<!ChannelArgPointerShouldBeConst<T>::kValue &&
|
|
256
|
+
!channel_args_detail::SupportedSharedPtrType<T>::value,
|
|
257
|
+
void>> {
|
|
258
258
|
using Result = T*;
|
|
259
259
|
using ReffedResult = RefCountedPtr<T>;
|
|
260
260
|
using StoredType = Result;
|
|
@@ -272,10 +272,10 @@ struct GetObjectImpl<
|
|
|
272
272
|
|
|
273
273
|
template <typename T>
|
|
274
274
|
struct GetObjectImpl<
|
|
275
|
-
T,
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
275
|
+
T,
|
|
276
|
+
std::enable_if_t<ChannelArgPointerShouldBeConst<T>::kValue &&
|
|
277
|
+
!channel_args_detail::SupportedSharedPtrType<T>::value,
|
|
278
|
+
void>> {
|
|
279
279
|
using Result = const T*;
|
|
280
280
|
using ReffedResult = RefCountedPtr<const T>;
|
|
281
281
|
using StoredType = Result;
|
|
@@ -454,7 +454,7 @@ class ChannelArgs {
|
|
|
454
454
|
const char* value) const;
|
|
455
455
|
GRPC_MUST_USE_RESULT ChannelArgs Set(grpc_arg arg) const;
|
|
456
456
|
template <typename T>
|
|
457
|
-
GRPC_MUST_USE_RESULT
|
|
457
|
+
GRPC_MUST_USE_RESULT std::enable_if_t<
|
|
458
458
|
std::is_same<const grpc_arg_pointer_vtable*,
|
|
459
459
|
decltype(ChannelArgTypeTraits<T>::VTable())>::value,
|
|
460
460
|
ChannelArgs>
|
|
@@ -465,7 +465,7 @@ class ChannelArgs {
|
|
|
465
465
|
template <typename T>
|
|
466
466
|
GRPC_MUST_USE_RESULT auto Set(absl::string_view name,
|
|
467
467
|
RefCountedPtr<T> value) const
|
|
468
|
-
->
|
|
468
|
+
-> std::enable_if_t<
|
|
469
469
|
!ChannelArgPointerShouldBeConst<T>::kValue &&
|
|
470
470
|
std::is_same<const grpc_arg_pointer_vtable*,
|
|
471
471
|
decltype(ChannelArgTypeTraits<
|
|
@@ -478,7 +478,7 @@ class ChannelArgs {
|
|
|
478
478
|
template <typename T>
|
|
479
479
|
GRPC_MUST_USE_RESULT auto Set(absl::string_view name,
|
|
480
480
|
RefCountedPtr<const T> value) const
|
|
481
|
-
->
|
|
481
|
+
-> std::enable_if_t<
|
|
482
482
|
ChannelArgPointerShouldBeConst<T>::kValue &&
|
|
483
483
|
std::is_same<const grpc_arg_pointer_vtable*,
|
|
484
484
|
decltype(ChannelArgTypeTraits<
|
|
@@ -489,7 +489,7 @@ class ChannelArgs {
|
|
|
489
489
|
ChannelArgTypeTraits<absl::remove_cvref_t<T>>::VTable()));
|
|
490
490
|
}
|
|
491
491
|
template <typename T>
|
|
492
|
-
GRPC_MUST_USE_RESULT
|
|
492
|
+
GRPC_MUST_USE_RESULT std::enable_if_t<
|
|
493
493
|
std::is_same<
|
|
494
494
|
const grpc_arg_pointer_vtable*,
|
|
495
495
|
decltype(ChannelArgTypeTraits<std::shared_ptr<T>>::VTable())>::value,
|
|
@@ -105,7 +105,7 @@ class BaseCallData::WeakWakerHandle final : public Wakeable, public Orphanable {
|
|
|
105
105
|
void Drop(WakeupMask) override { Unref(); }
|
|
106
106
|
|
|
107
107
|
std::string ActivityDebugTag(WakeupMask) const override {
|
|
108
|
-
MutexLock lock(
|
|
108
|
+
MutexLock lock(mu_);
|
|
109
109
|
return base_ == nullptr ? "<unknown>" : base_->DebugTag();
|
|
110
110
|
}
|
|
111
111
|
|
|
@@ -113,7 +113,7 @@ class BaseCallData::WeakWakerHandle final : public Wakeable, public Orphanable {
|
|
|
113
113
|
void WakeupGeneric(WakeupMask wakeup_mask) {
|
|
114
114
|
BaseCallData* wakeup_base = nullptr;
|
|
115
115
|
{
|
|
116
|
-
MutexLock lock(
|
|
116
|
+
MutexLock lock(mu_);
|
|
117
117
|
if (base_ != nullptr) {
|
|
118
118
|
auto* call_stack = base_->call_stack();
|
|
119
119
|
if (call_stack->refcount.refs.RefIfNonZero(DEBUG_LOCATION, "waker")) {
|
|
@@ -1110,16 +1110,16 @@ struct InterceptFinalize<Derived, void (Call::*)(const grpc_call_final_info*,
|
|
|
1110
1110
|
};
|
|
1111
1111
|
|
|
1112
1112
|
template <typename Derived>
|
|
1113
|
-
|
|
1114
|
-
|
|
1113
|
+
std::enable_if_t<std::is_empty<FilterCallData<Derived>>::value,
|
|
1114
|
+
FilterCallData<Derived>*>
|
|
1115
1115
|
MakeFilterCall(Derived*) {
|
|
1116
1116
|
static FilterCallData<Derived> call{nullptr};
|
|
1117
1117
|
return &call;
|
|
1118
1118
|
}
|
|
1119
1119
|
|
|
1120
1120
|
template <typename Derived>
|
|
1121
|
-
|
|
1122
|
-
|
|
1121
|
+
std::enable_if_t<!std::is_empty<FilterCallData<Derived>>::value,
|
|
1122
|
+
FilterCallData<Derived>*>
|
|
1123
1123
|
MakeFilterCall(Derived* derived) {
|
|
1124
1124
|
return GetContext<Arena>()->ManagedNew<FilterCallData<Derived>>(derived);
|
|
1125
1125
|
}
|
|
@@ -1361,23 +1361,28 @@ class V3InterceptorToV2Bridge : public ChannelFilter, public Interceptor {
|
|
|
1361
1361
|
[](bool x) { return StatusFlag(x); });
|
|
1362
1362
|
});
|
|
1363
1363
|
});
|
|
1364
|
-
call_args.client_to_server_messages
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
.
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1364
|
+
call_args.client_to_server_messages
|
|
1365
|
+
->InterceptAndMapWithHalfClose(
|
|
1366
|
+
[initiator, handler,
|
|
1367
|
+
pipe_owner](MessageHandle message) mutable {
|
|
1368
|
+
// Step 1: Push the message onto the v3 initiator in
|
|
1369
|
+
// its activity.
|
|
1370
|
+
initiator.SpawnPushMessage(std::move(message));
|
|
1371
|
+
// Step 3: Here in the v2 activity, read the message
|
|
1372
|
+
// from the inter-activity pipe and return it.
|
|
1373
|
+
return Map(
|
|
1374
|
+
pipe_owner->client_to_server_messages.receiver
|
|
1375
|
+
.Next(),
|
|
1376
|
+
[](InterActivityPipe<MessageHandle,
|
|
1377
|
+
1>::NextResult message)
|
|
1378
|
+
-> std::optional<MessageHandle> {
|
|
1379
|
+
if (!message.has_value()) return std::nullopt;
|
|
1380
|
+
return std::move(*message);
|
|
1381
|
+
});
|
|
1382
|
+
},
|
|
1383
|
+
[initiator]() mutable {
|
|
1384
|
+
initiator.SpawnFinishSends();
|
|
1385
|
+
});
|
|
1381
1386
|
// For server initial metadata, we do a similar thing, but
|
|
1382
1387
|
// in the opposite direction, and using an inter-activity
|
|
1383
1388
|
// latch instead of a pipe:
|
|
@@ -1496,8 +1501,42 @@ class V3InterceptorToV2Bridge : public ChannelFilter, public Interceptor {
|
|
|
1496
1501
|
return Seq(
|
|
1497
1502
|
next_promise_factory(std::move(call_args)),
|
|
1498
1503
|
[handler](ServerMetadataHandle metadata) mutable {
|
|
1504
|
+
// Hand the v3 handler its own copy of the
|
|
1505
|
+
// metadata.
|
|
1506
|
+
//
|
|
1507
|
+
// On the client side the v2 stack gives us a
|
|
1508
|
+
// non-owning alias of
|
|
1509
|
+
// FilterStackCall::recv_trailing_metadata_:
|
|
1510
|
+
// ClientCallData::PollTrailingMetadata() wraps
|
|
1511
|
+
// that batch in a handle with a no-op deleter.
|
|
1512
|
+
// The v3 call runs in its own party, so pushing
|
|
1513
|
+
// the alias across lets v2-owned memory escape
|
|
1514
|
+
// the v2 activity. That is usually harmless,
|
|
1515
|
+
// since this arm returns Never and only
|
|
1516
|
+
// completes once the v3 side pushes the metadata
|
|
1517
|
+
// back. But if the v2 stack is cancelled,
|
|
1518
|
+
// ClientCallData destroys this promise and
|
|
1519
|
+
// propagates the batch straight up to the
|
|
1520
|
+
// surface without consulting it; the surface
|
|
1521
|
+
// then Takes/clears the batch while the v3
|
|
1522
|
+
// interceptor is still reading it.
|
|
1523
|
+
//
|
|
1524
|
+
// Copying keeps the two buffers independent.
|
|
1525
|
+
// Mutations made by the v3 interceptor still
|
|
1526
|
+
// come back through the latch, and
|
|
1527
|
+
// ClientCallData::WakeInsideCombiner() copies
|
|
1528
|
+
// them into recv_trailing_metadata_ because the
|
|
1529
|
+
// pointers now differ. Note we copy rather than
|
|
1530
|
+
// move: moving would leave the v2 batch empty,
|
|
1531
|
+
// so the cancellation path above would report an
|
|
1532
|
+
// empty status instead of the transport's.
|
|
1533
|
+
ServerMetadataHandle md;
|
|
1534
|
+
if (metadata != nullptr) {
|
|
1535
|
+
md = Arena::MakePooled<ServerMetadata>(
|
|
1536
|
+
metadata->Copy());
|
|
1537
|
+
}
|
|
1499
1538
|
handler.SpawnPushServerTrailingMetadata(
|
|
1500
|
-
std::move(
|
|
1539
|
+
std::move(md));
|
|
1501
1540
|
// We return a lambda (promise) here instead of
|
|
1502
1541
|
// returning `Pending{}` directly to make this
|
|
1503
1542
|
// step safe for subsequent polls. During V2 call
|
|
@@ -2374,9 +2413,9 @@ struct ChannelFilterWithFlagsMethods {
|
|
|
2374
2413
|
// ChannelArgs channel_args, ChannelFilter::Args filter_args);
|
|
2375
2414
|
// };
|
|
2376
2415
|
template <typename F, FilterEndpoint kEndpoint, uint8_t kFlags = 0>
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
-
|
|
2416
|
+
std::enable_if_t<std::is_base_of<ChannelFilter, F>::value &&
|
|
2417
|
+
!std::is_base_of<ImplementChannelFilterTag, F>::value,
|
|
2418
|
+
grpc_channel_filter>
|
|
2380
2419
|
MakePromiseBasedFilter() {
|
|
2381
2420
|
using CallData = promise_filter_detail::CallData<kEndpoint>;
|
|
2382
2421
|
|
|
@@ -2413,8 +2452,8 @@ MakePromiseBasedFilter() {
|
|
|
2413
2452
|
}
|
|
2414
2453
|
|
|
2415
2454
|
template <typename F, FilterEndpoint kEndpoint, uint8_t kFlags = 0>
|
|
2416
|
-
|
|
2417
|
-
|
|
2455
|
+
std::enable_if_t<std::is_base_of<ImplementChannelFilterTag, F>::value,
|
|
2456
|
+
grpc_channel_filter>
|
|
2418
2457
|
MakePromiseBasedFilter() {
|
|
2419
2458
|
using CallData = promise_filter_detail::CallData<kEndpoint>;
|
|
2420
2459
|
|
|
@@ -51,6 +51,7 @@ DebugOnlyTraceFlag work_serializer_trace(false, "work_serializer");
|
|
|
51
51
|
DebugOnlyTraceFlag ztrace_trace(false, "ztrace");
|
|
52
52
|
TraceFlag api_trace(false, "api");
|
|
53
53
|
TraceFlag apple_polling_trace(false, "apple_polling");
|
|
54
|
+
TraceFlag autosharding_lb_trace(false, "autosharding_lb");
|
|
54
55
|
TraceFlag backend_metric_trace(false, "backend_metric");
|
|
55
56
|
TraceFlag backend_metric_filter_trace(false, "backend_metric_filter");
|
|
56
57
|
TraceFlag bdp_estimator_trace(false, "bdp_estimator");
|
|
@@ -138,6 +139,7 @@ const absl::flat_hash_map<std::string, TraceFlag*>& GetAllTraceFlags() {
|
|
|
138
139
|
absl::flat_hash_map<std::string, TraceFlag*>({
|
|
139
140
|
{"api", &api_trace},
|
|
140
141
|
{"apple_polling", &apple_polling_trace},
|
|
142
|
+
{"autosharding_lb", &autosharding_lb_trace},
|
|
141
143
|
{"backend_metric", &backend_metric_trace},
|
|
142
144
|
{"backend_metric_filter", &backend_metric_filter_trace},
|
|
143
145
|
{"bdp_estimator", &bdp_estimator_trace},
|
|
@@ -50,6 +50,7 @@ extern DebugOnlyTraceFlag work_serializer_trace;
|
|
|
50
50
|
extern DebugOnlyTraceFlag ztrace_trace;
|
|
51
51
|
extern TraceFlag api_trace;
|
|
52
52
|
extern TraceFlag apple_polling_trace;
|
|
53
|
+
extern TraceFlag autosharding_lb_trace;
|
|
53
54
|
extern TraceFlag backend_metric_trace;
|
|
54
55
|
extern TraceFlag backend_metric_filter_trace;
|
|
55
56
|
extern TraceFlag bdp_estimator_trace;
|
|
@@ -255,19 +255,19 @@ AresResolver::ReinitHandle::ReinitHandle(AresResolver* resolver)
|
|
|
255
255
|
: resolver_(resolver) {}
|
|
256
256
|
|
|
257
257
|
void AresResolver::ReinitHandle::OnResolverGone() {
|
|
258
|
-
grpc_core::MutexLock lock(
|
|
258
|
+
grpc_core::MutexLock lock(mutex_);
|
|
259
259
|
resolver_ = nullptr;
|
|
260
260
|
}
|
|
261
261
|
|
|
262
262
|
void AresResolver::ReinitHandle::Reset(const absl::Status& status) {
|
|
263
|
-
grpc_core::MutexLock lock(
|
|
263
|
+
grpc_core::MutexLock lock(mutex_);
|
|
264
264
|
if (resolver_ != nullptr) {
|
|
265
265
|
resolver_->Reset(status);
|
|
266
266
|
}
|
|
267
267
|
}
|
|
268
268
|
|
|
269
269
|
void AresResolver::ReinitHandle::Restart() {
|
|
270
|
-
grpc_core::MutexLock lock(
|
|
270
|
+
grpc_core::MutexLock lock(mutex_);
|
|
271
271
|
if (resolver_ != nullptr) {
|
|
272
272
|
resolver_->Restart();
|
|
273
273
|
}
|
|
@@ -323,14 +323,14 @@ void AresResolver::Orphan() {
|
|
|
323
323
|
// Do this before locking &mutex_ - ensures there will be no deadlock if
|
|
324
324
|
// resolver is being orphaned during fork.
|
|
325
325
|
{
|
|
326
|
-
grpc_core::MutexLock handle_lock(
|
|
326
|
+
grpc_core::MutexLock handle_lock(reinit_handle_mu_);
|
|
327
327
|
if (reinit_handle_ != nullptr) {
|
|
328
328
|
reinit_handle_->OnResolverGone();
|
|
329
329
|
}
|
|
330
330
|
}
|
|
331
331
|
#endif
|
|
332
332
|
{
|
|
333
|
-
grpc_core::MutexLock lock(
|
|
333
|
+
grpc_core::MutexLock lock(mutex_);
|
|
334
334
|
shutting_down_ = true;
|
|
335
335
|
ShutdownLocked(absl::CancelledError("AresResolver::Orphan"),
|
|
336
336
|
"resolver orphaned");
|
|
@@ -396,7 +396,7 @@ void AresResolver::LookupHostname(
|
|
|
396
396
|
});
|
|
397
397
|
return;
|
|
398
398
|
}
|
|
399
|
-
grpc_core::MutexLock lock(
|
|
399
|
+
grpc_core::MutexLock lock(mutex_);
|
|
400
400
|
callback_map_.emplace(++id_, std::move(callback));
|
|
401
401
|
auto* resolver_arg = new HostnameQueryArg(this, id_, name, port);
|
|
402
402
|
GRPC_CHECK_NE(channel_, nullptr);
|
|
@@ -444,7 +444,7 @@ void AresResolver::LookupSRV(
|
|
|
444
444
|
});
|
|
445
445
|
return;
|
|
446
446
|
}
|
|
447
|
-
grpc_core::MutexLock lock(
|
|
447
|
+
grpc_core::MutexLock lock(mutex_);
|
|
448
448
|
callback_map_.emplace(++id_, std::move(callback));
|
|
449
449
|
auto* resolver_arg = new QueryArg(this, id_, host);
|
|
450
450
|
GRPC_CHECK_NE(channel_, nullptr);
|
|
@@ -480,7 +480,7 @@ void AresResolver::LookupTXT(
|
|
|
480
480
|
});
|
|
481
481
|
return;
|
|
482
482
|
}
|
|
483
|
-
grpc_core::MutexLock lock(
|
|
483
|
+
grpc_core::MutexLock lock(mutex_);
|
|
484
484
|
callback_map_.emplace(++id_, std::move(callback));
|
|
485
485
|
auto* resolver_arg = new QueryArg(this, id_, host);
|
|
486
486
|
GRPC_CHECK_NE(channel_, nullptr);
|
|
@@ -607,7 +607,7 @@ void AresResolver::MaybeStartTimerLocked() {
|
|
|
607
607
|
}
|
|
608
608
|
|
|
609
609
|
void AresResolver::OnReadable(FdNode* fd_node, absl::Status status) {
|
|
610
|
-
grpc_core::MutexLock lock(
|
|
610
|
+
grpc_core::MutexLock lock(mutex_);
|
|
611
611
|
GRPC_CHECK(fd_node->readable_registered);
|
|
612
612
|
fd_node->readable_registered = false;
|
|
613
613
|
GRPC_TRACE_LOG(cares_resolver, INFO)
|
|
@@ -629,7 +629,7 @@ void AresResolver::OnReadable(FdNode* fd_node, absl::Status status) {
|
|
|
629
629
|
}
|
|
630
630
|
|
|
631
631
|
void AresResolver::OnWritable(FdNode* fd_node, absl::Status status) {
|
|
632
|
-
grpc_core::MutexLock lock(
|
|
632
|
+
grpc_core::MutexLock lock(mutex_);
|
|
633
633
|
GRPC_CHECK(fd_node->writable_registered);
|
|
634
634
|
fd_node->writable_registered = false;
|
|
635
635
|
GRPC_TRACE_LOG(cares_resolver, INFO)
|
|
@@ -657,7 +657,7 @@ void AresResolver::OnWritable(FdNode* fd_node, absl::Status status) {
|
|
|
657
657
|
// For the latter, we use this backup poller. Also see
|
|
658
658
|
// https://github.com/grpc/grpc/pull/17688 description for more details.
|
|
659
659
|
void AresResolver::OnAresBackupPollAlarm() {
|
|
660
|
-
grpc_core::MutexLock lock(
|
|
660
|
+
grpc_core::MutexLock lock(mutex_);
|
|
661
661
|
ares_backup_poll_alarm_handle_.reset();
|
|
662
662
|
GRPC_TRACE_LOG(cares_resolver, INFO)
|
|
663
663
|
<< "(EventEngine c-ares resolver) request:" << this
|
|
@@ -906,7 +906,7 @@ void AresResolver::OnTXTDoneLocked(void* arg, int status, int /*timeouts*/,
|
|
|
906
906
|
#ifdef GRPC_ENABLE_FORK_SUPPORT
|
|
907
907
|
|
|
908
908
|
std::weak_ptr<AresResolver::ReinitHandle> AresResolver::GetReinitHandle() {
|
|
909
|
-
grpc_core::MutexLock lock(
|
|
909
|
+
grpc_core::MutexLock lock(reinit_handle_mu_);
|
|
910
910
|
if (reinit_handle_ == nullptr) {
|
|
911
911
|
reinit_handle_ = ReinitHandle::New(this);
|
|
912
912
|
}
|
|
@@ -918,7 +918,7 @@ void AresResolver::Reset(const absl::Status& reason) {
|
|
|
918
918
|
if (self == nullptr) {
|
|
919
919
|
return;
|
|
920
920
|
}
|
|
921
|
-
grpc_core::MutexLock lock(
|
|
921
|
+
grpc_core::MutexLock lock(mutex_);
|
|
922
922
|
for (auto& [_, callback] : callback_map_) {
|
|
923
923
|
event_engine_->Run(
|
|
924
924
|
[callback = std::move(callback), reason = reason]() mutable {
|
|
@@ -934,7 +934,7 @@ void AresResolver::Reset(const absl::Status& reason) {
|
|
|
934
934
|
}
|
|
935
935
|
|
|
936
936
|
void AresResolver::Restart() {
|
|
937
|
-
grpc_core::MutexLock lock(
|
|
937
|
+
grpc_core::MutexLock lock(mutex_);
|
|
938
938
|
polled_fd_factory_ = polled_fd_factory_->NewEmptyInstance();
|
|
939
939
|
polled_fd_factory_->Initialize(&mutex_, event_engine_.get());
|
|
940
940
|
GRPC_CHECK_EQ(channel_, nullptr);
|