grpc 1.84.0.pre1 → 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
|
@@ -718,7 +718,7 @@ class ExternalStateWatcher : public RefCounted<ExternalStateWatcher> {
|
|
|
718
718
|
Timestamp deadline)
|
|
719
719
|
: channel_(std::move(channel)), cq_(cq), tag_(tag) {
|
|
720
720
|
grpc_cq_begin_op(cq, tag);
|
|
721
|
-
MutexLock lock(
|
|
721
|
+
MutexLock lock(mu_);
|
|
722
722
|
// Start watch. This inherits the ref from creation.
|
|
723
723
|
auto watcher =
|
|
724
724
|
MakeOrphanable<Watcher>(RefCountedPtr<ExternalStateWatcher>(this));
|
|
@@ -756,7 +756,7 @@ class ExternalStateWatcher : public RefCounted<ExternalStateWatcher> {
|
|
|
756
756
|
// on the first call. Subsequent calls will be ignored, because
|
|
757
757
|
// events can come in asynchronously.
|
|
758
758
|
void MaybeStartCompletion(absl::Status status) {
|
|
759
|
-
MutexLock lock(
|
|
759
|
+
MutexLock lock(mu_);
|
|
760
760
|
if (watcher_ == nullptr) return; // Ignore subsequent notifications.
|
|
761
761
|
// Cancel watch.
|
|
762
762
|
channel_->RemoveConnectivityWatcher(watcher_);
|
|
@@ -818,7 +818,7 @@ void ClientChannel::RemoveConnectivityWatcher(
|
|
|
818
818
|
}
|
|
819
819
|
|
|
820
820
|
void ClientChannel::GetInfo(const grpc_channel_info* info) {
|
|
821
|
-
MutexLock lock(
|
|
821
|
+
MutexLock lock(info_mu_);
|
|
822
822
|
if (info->lb_policy_name != nullptr) {
|
|
823
823
|
*info->lb_policy_name = gpr_strdup(info_lb_policy_name_.c_str());
|
|
824
824
|
}
|
|
@@ -1345,7 +1345,7 @@ void ClientChannel::UpdateServiceConfigInControlPlaneLocked(
|
|
|
1345
1345
|
saved_config_selector_ = std::move(config_selector);
|
|
1346
1346
|
// Update the data used by GetChannelInfo().
|
|
1347
1347
|
{
|
|
1348
|
-
MutexLock lock(
|
|
1348
|
+
MutexLock lock(info_mu_);
|
|
1349
1349
|
info_lb_policy_name_ = std::move(lb_policy_name);
|
|
1350
1350
|
info_service_config_json_ = std::move(service_config_json);
|
|
1351
1351
|
}
|
|
@@ -683,7 +683,7 @@ ClientChannelFilter::ExternalConnectivityWatcher::ExternalConnectivityWatcher(
|
|
|
683
683
|
chand_->interested_parties_);
|
|
684
684
|
GRPC_CHANNEL_STACK_REF(chand_->owning_stack_, "ExternalConnectivityWatcher");
|
|
685
685
|
{
|
|
686
|
-
MutexLock lock(
|
|
686
|
+
MutexLock lock(chand_->external_watchers_mu_);
|
|
687
687
|
// Will be deleted when the watch is complete.
|
|
688
688
|
GRPC_CHECK(chand->external_watchers_[on_complete] == nullptr);
|
|
689
689
|
// Store a ref to the watcher in the external_watchers_ map.
|
|
@@ -713,7 +713,7 @@ void ClientChannelFilter::ExternalConnectivityWatcher::
|
|
|
713
713
|
bool cancel) {
|
|
714
714
|
RefCountedPtr<ExternalConnectivityWatcher> watcher;
|
|
715
715
|
{
|
|
716
|
-
MutexLock lock(
|
|
716
|
+
MutexLock lock(chand->external_watchers_mu_);
|
|
717
717
|
auto it = chand->external_watchers_.find(on_complete);
|
|
718
718
|
if (it != chand->external_watchers_.end()) {
|
|
719
719
|
watcher = std::move(it->second);
|
|
@@ -1299,7 +1299,7 @@ void ClientChannelFilter::OnResolverErrorLocked(absl::Status status) {
|
|
|
1299
1299
|
UpdateStateLocked(GRPC_CHANNEL_TRANSIENT_FAILURE, status,
|
|
1300
1300
|
"resolver failure");
|
|
1301
1301
|
{
|
|
1302
|
-
MutexLock lock(
|
|
1302
|
+
MutexLock lock(resolution_mu_);
|
|
1303
1303
|
// Update resolver transient failure.
|
|
1304
1304
|
resolver_transient_failure_error_ =
|
|
1305
1305
|
MaybeRewriteIllegalStatusCode(status, "resolver");
|
|
@@ -1375,7 +1375,7 @@ void ClientChannelFilter::UpdateServiceConfigInControlPlaneLocked(
|
|
|
1375
1375
|
saved_service_config_ = std::move(service_config);
|
|
1376
1376
|
// Swap out the data used by GetChannelInfo().
|
|
1377
1377
|
{
|
|
1378
|
-
MutexLock lock(
|
|
1378
|
+
MutexLock lock(info_mu_);
|
|
1379
1379
|
info_lb_policy_name_ = std::move(lb_policy_name);
|
|
1380
1380
|
info_service_config_json_ = std::move(service_config_json);
|
|
1381
1381
|
}
|
|
@@ -1451,7 +1451,7 @@ void ClientChannelFilter::UpdateServiceConfigInDataPlaneLocked(
|
|
|
1451
1451
|
// We defer unreffing the old values (and deallocating memory) until
|
|
1452
1452
|
// after releasing the lock to keep the critical section small.
|
|
1453
1453
|
{
|
|
1454
|
-
MutexLock lock(
|
|
1454
|
+
MutexLock lock(resolution_mu_);
|
|
1455
1455
|
resolver_transient_failure_error_ = absl::OkStatus();
|
|
1456
1456
|
// Update service config.
|
|
1457
1457
|
received_service_config_data_ = true;
|
|
@@ -1496,7 +1496,7 @@ void ClientChannelFilter::DestroyResolverAndLbPolicyLocked() {
|
|
|
1496
1496
|
RefCountedPtr<ServiceConfig> service_config_to_unref;
|
|
1497
1497
|
RefCountedPtr<ConfigSelector> config_selector_to_unref;
|
|
1498
1498
|
{
|
|
1499
|
-
MutexLock lock(
|
|
1499
|
+
MutexLock lock(resolution_mu_);
|
|
1500
1500
|
received_service_config_data_ = false;
|
|
1501
1501
|
service_config_to_unref = std::move(service_config_);
|
|
1502
1502
|
config_selector_to_unref = std::move(config_selector_);
|
|
@@ -1544,7 +1544,7 @@ void ClientChannelFilter::UpdateStateAndPickerLocked(
|
|
|
1544
1544
|
// Grab the LB lock to update the picker and trigger reprocessing of the
|
|
1545
1545
|
// queued picks.
|
|
1546
1546
|
// Old picker will be unreffed after releasing the lock.
|
|
1547
|
-
MutexLock lock(
|
|
1547
|
+
MutexLock lock(lb_mu_);
|
|
1548
1548
|
picker_.swap(picker);
|
|
1549
1549
|
// Reprocess queued picks.
|
|
1550
1550
|
for (auto& call : lb_queued_calls_) {
|
|
@@ -1594,7 +1594,7 @@ grpc_error_handle ClientChannelFilter::DoPingLocked(grpc_transport_op* op) {
|
|
|
1594
1594
|
}
|
|
1595
1595
|
LoadBalancingPolicy::PickResult result;
|
|
1596
1596
|
{
|
|
1597
|
-
MutexLock lock(
|
|
1597
|
+
MutexLock lock(lb_mu_);
|
|
1598
1598
|
result = picker_->Pick(LoadBalancingPolicy::PickArgs());
|
|
1599
1599
|
}
|
|
1600
1600
|
return HandlePickResult<grpc_error_handle>(
|
|
@@ -1699,7 +1699,7 @@ void ClientChannelFilter::StartTransportOp(grpc_channel_element* elem,
|
|
|
1699
1699
|
void ClientChannelFilter::GetChannelInfo(grpc_channel_element* elem,
|
|
1700
1700
|
const grpc_channel_info* info) {
|
|
1701
1701
|
auto* chand = static_cast<ClientChannelFilter*>(elem->channel_data);
|
|
1702
|
-
MutexLock lock(
|
|
1702
|
+
MutexLock lock(chand->info_mu_);
|
|
1703
1703
|
if (info->lb_policy_name != nullptr) {
|
|
1704
1704
|
*info->lb_policy_name = gpr_strdup(chand->info_lb_policy_name_.c_str());
|
|
1705
1705
|
}
|
|
@@ -1767,7 +1767,7 @@ class ClientChannelFilter::CallData::ResolverQueuedCallCanceller final {
|
|
|
1767
1767
|
auto* calld = self->calld_;
|
|
1768
1768
|
auto* chand = calld->chand();
|
|
1769
1769
|
{
|
|
1770
|
-
MutexLock lock(
|
|
1770
|
+
MutexLock lock(chand->resolution_mu_);
|
|
1771
1771
|
GRPC_TRACE_LOG(client_channel_call, INFO)
|
|
1772
1772
|
<< "chand=" << chand << " calld=" << calld
|
|
1773
1773
|
<< ": cancelling resolver queued pick: "
|
|
@@ -1873,7 +1873,7 @@ std::optional<absl::Status> ClientChannelFilter::CallData::CheckResolution(
|
|
|
1873
1873
|
// Check if we have a resolver result to use.
|
|
1874
1874
|
absl::StatusOr<RefCountedPtr<ConfigSelector>> config_selector;
|
|
1875
1875
|
{
|
|
1876
|
-
MutexLock lock(
|
|
1876
|
+
MutexLock lock(chand()->resolution_mu_);
|
|
1877
1877
|
bool result_ready = CheckResolutionLocked(&config_selector);
|
|
1878
1878
|
// If no result is available, queue the call.
|
|
1879
1879
|
if (!result_ready) {
|
|
@@ -2239,7 +2239,7 @@ class ClientChannelFilter::LoadBalancedCall::LbQueuedCallCanceller final {
|
|
|
2239
2239
|
auto* lb_call = self->lb_call_.get();
|
|
2240
2240
|
auto* chand = lb_call->chand_;
|
|
2241
2241
|
{
|
|
2242
|
-
MutexLock lock(
|
|
2242
|
+
MutexLock lock(chand->lb_mu_);
|
|
2243
2243
|
GRPC_TRACE_LOG(client_channel_lb_call, INFO)
|
|
2244
2244
|
<< "chand=" << chand << " lb_call=" << lb_call
|
|
2245
2245
|
<< ": cancelling queued pick: error=" << StatusToString(error)
|
|
@@ -2393,7 +2393,7 @@ ClientChannelFilter::LoadBalancedCall::PickSubchannel(bool was_queued) {
|
|
|
2393
2393
|
<< "chand=" << chand_ << " lb_call=" << this
|
|
2394
2394
|
<< ": grabbing LB mutex to get picker";
|
|
2395
2395
|
{
|
|
2396
|
-
MutexLock lock(
|
|
2396
|
+
MutexLock lock(chand_->lb_mu_);
|
|
2397
2397
|
picker = chand_->picker_;
|
|
2398
2398
|
}
|
|
2399
2399
|
while (true) {
|
|
@@ -2413,7 +2413,7 @@ ClientChannelFilter::LoadBalancedCall::PickSubchannel(bool was_queued) {
|
|
|
2413
2413
|
bool pick_complete = PickSubchannelImpl(picker.get(), &error);
|
|
2414
2414
|
if (!pick_complete) {
|
|
2415
2415
|
RefCountedPtr<LoadBalancingPolicy::SubchannelPicker> old_picker;
|
|
2416
|
-
MutexLock lock(
|
|
2416
|
+
MutexLock lock(chand_->lb_mu_);
|
|
2417
2417
|
// If picker has been swapped out since we grabbed it, try again.
|
|
2418
2418
|
if (picker != chand_->picker_) {
|
|
2419
2419
|
GRPC_TRACE_LOG(client_channel_lb_call, INFO)
|
|
@@ -38,7 +38,7 @@ RefCountedPtr<Subchannel> GlobalSubchannelPool::RegisterSubchannel(
|
|
|
38
38
|
auto& read_shard = read_shards_[shard_index];
|
|
39
39
|
SubchannelMap old_map1;
|
|
40
40
|
SubchannelMap old_map2;
|
|
41
|
-
MutexLock lock(
|
|
41
|
+
MutexLock lock(write_shard.mu);
|
|
42
42
|
auto* existing = write_shard.map.Lookup(key);
|
|
43
43
|
if (existing != nullptr) {
|
|
44
44
|
auto existing_ref = (*existing)->RefIfNonZero();
|
|
@@ -46,7 +46,7 @@ RefCountedPtr<Subchannel> GlobalSubchannelPool::RegisterSubchannel(
|
|
|
46
46
|
}
|
|
47
47
|
old_map1 = std::exchange(write_shard.map,
|
|
48
48
|
write_shard.map.Add(key, constructed->WeakRef()));
|
|
49
|
-
MutexLock lock_read(
|
|
49
|
+
MutexLock lock_read(read_shard.mu);
|
|
50
50
|
old_map2 = std::exchange(read_shard.map, write_shard.map);
|
|
51
51
|
return constructed;
|
|
52
52
|
}
|
|
@@ -58,13 +58,13 @@ void GlobalSubchannelPool::UnregisterSubchannel(const SubchannelKey& key,
|
|
|
58
58
|
auto& read_shard = read_shards_[shard_index];
|
|
59
59
|
SubchannelMap old_map1;
|
|
60
60
|
SubchannelMap old_map2;
|
|
61
|
-
MutexLock lock(
|
|
61
|
+
MutexLock lock(write_shard.mu);
|
|
62
62
|
auto* existing = write_shard.map.Lookup(key);
|
|
63
63
|
// delete only if key hasn't been re-registered to a different subchannel
|
|
64
64
|
// between strong-unreffing and unregistration of subchannel.
|
|
65
65
|
if (existing == nullptr || existing->get() != subchannel) return;
|
|
66
66
|
old_map1 = std::exchange(write_shard.map, write_shard.map.Remove(key));
|
|
67
|
-
MutexLock lock_read(
|
|
67
|
+
MutexLock lock_read(read_shard.mu);
|
|
68
68
|
old_map2 = std::exchange(read_shard.map, write_shard.map);
|
|
69
69
|
}
|
|
70
70
|
|
|
@@ -580,7 +580,7 @@ class Subchannel::QueuedCall::Canceller final {
|
|
|
580
580
|
auto* self = static_cast<Canceller*>(arg);
|
|
581
581
|
bool cancelled = false;
|
|
582
582
|
{
|
|
583
|
-
MutexLock lock(
|
|
583
|
+
MutexLock lock(self->call_->subchannel_->mu_);
|
|
584
584
|
if (self->call_->canceller_ == self && !error.ok()) {
|
|
585
585
|
GRPC_TRACE_LOG(subchannel_call, INFO)
|
|
586
586
|
<< "subchannel " << self->call_->subchannel_.get()
|
|
@@ -592,7 +592,7 @@ class Subchannel::QueuedCall::Canceller final {
|
|
|
592
592
|
}
|
|
593
593
|
}
|
|
594
594
|
if (cancelled) {
|
|
595
|
-
MutexLock lock(
|
|
595
|
+
MutexLock lock(self->call_->mu_);
|
|
596
596
|
// Fail pending batches on the call.
|
|
597
597
|
self->call_->buffered_call_.Fail(
|
|
598
598
|
error, BufferedCall::YieldCallCombinerIfPendingBatchesFound);
|
|
@@ -626,7 +626,7 @@ Subchannel::QueuedCall::~QueuedCall() {
|
|
|
626
626
|
|
|
627
627
|
void Subchannel::QueuedCall::SetAfterCallStackDestroy(grpc_closure* closure) {
|
|
628
628
|
GRPC_CHECK_NE(closure, nullptr);
|
|
629
|
-
MutexLock lock(
|
|
629
|
+
MutexLock lock(mu_);
|
|
630
630
|
if (subchannel_call_ != nullptr) {
|
|
631
631
|
subchannel_call_->SetAfterCallStackDestroy(closure);
|
|
632
632
|
} else {
|
|
@@ -641,7 +641,7 @@ void Subchannel::QueuedCall::StartTransportStreamOpBatch(
|
|
|
641
641
|
<< "subchannel " << subchannel_.get() << " queued call " << this
|
|
642
642
|
<< ": starting batch: "
|
|
643
643
|
<< grpc_transport_stream_op_batch_string(batch, false);
|
|
644
|
-
MutexLock lock(
|
|
644
|
+
MutexLock lock(mu_);
|
|
645
645
|
// If we already have a real subchannel call, pass the batch down to it.
|
|
646
646
|
if (subchannel_call_ != nullptr) {
|
|
647
647
|
subchannel_call_->StartTransportStreamOpBatch(batch);
|
|
@@ -706,7 +706,7 @@ void Subchannel::QueuedCall::ResumeOnConnectionLocked(
|
|
|
706
706
|
<< ": resuming on connected_subchannel " << connected_subchannel;
|
|
707
707
|
canceller_ = nullptr;
|
|
708
708
|
queue_entry_ = nullptr;
|
|
709
|
-
MutexLock lock(
|
|
709
|
+
MutexLock lock(mu_);
|
|
710
710
|
grpc_error_handle error;
|
|
711
711
|
subchannel_call_ = connected_subchannel->CreateCall(args_, &error);
|
|
712
712
|
if (after_call_stack_destroy_ != nullptr) {
|
|
@@ -739,7 +739,7 @@ void Subchannel::QueuedCall::FailLocked(absl::Status status) {
|
|
|
739
739
|
canceller_ = nullptr;
|
|
740
740
|
queue_entry_ = nullptr;
|
|
741
741
|
is_retriable_.store(true);
|
|
742
|
-
MutexLock lock(
|
|
742
|
+
MutexLock lock(mu_);
|
|
743
743
|
cancel_error_ = status;
|
|
744
744
|
buffered_call_.Fail(status,
|
|
745
745
|
BufferedCall::YieldCallCombinerIfPendingBatchesFound);
|
|
@@ -790,7 +790,8 @@ class Subchannel::NewConnectedSubchannel final : public ConnectedSubchannel {
|
|
|
790
790
|
}
|
|
791
791
|
|
|
792
792
|
void Ping(absl::AnyInvocable<void(absl::Status)>) override {
|
|
793
|
-
// TODO(
|
|
793
|
+
// TODO(akshitpatel) : [PH2][P2][Client] : add new transport API for this in
|
|
794
|
+
// v3 stack
|
|
794
795
|
Crash("not implemented");
|
|
795
796
|
}
|
|
796
797
|
|
|
@@ -840,7 +841,7 @@ class Subchannel::ConnectionStateWatcher final
|
|
|
840
841
|
? disconnect_info.keepalive_time->ToString()
|
|
841
842
|
: "<unset>")
|
|
842
843
|
<< ")";
|
|
843
|
-
MutexLock lock(
|
|
844
|
+
MutexLock lock(subchannel->mu_);
|
|
844
845
|
// Handle keepalive update.
|
|
845
846
|
if (disconnect_info.keepalive_time.has_value()) {
|
|
846
847
|
subchannel->ThrottleKeepaliveTimeLocked(*disconnect_info.keepalive_time);
|
|
@@ -1124,7 +1125,7 @@ RefCountedPtr<Subchannel> Subchannel::Create(
|
|
|
1124
1125
|
}
|
|
1125
1126
|
|
|
1126
1127
|
void Subchannel::ThrottleKeepaliveTime(Duration new_keepalive_time) {
|
|
1127
|
-
MutexLock lock(
|
|
1128
|
+
MutexLock lock(mu_);
|
|
1128
1129
|
ThrottleKeepaliveTimeLocked(new_keepalive_time);
|
|
1129
1130
|
}
|
|
1130
1131
|
|
|
@@ -1145,7 +1146,7 @@ channelz::SubchannelNode* Subchannel::channelz_node() {
|
|
|
1145
1146
|
|
|
1146
1147
|
void Subchannel::WatchConnectivityState(
|
|
1147
1148
|
RefCountedPtr<ConnectivityStateWatcherInterface> watcher) {
|
|
1148
|
-
MutexLock lock(
|
|
1149
|
+
MutexLock lock(mu_);
|
|
1149
1150
|
grpc_pollset_set* interested_parties = watcher->interested_parties();
|
|
1150
1151
|
if (interested_parties != nullptr) {
|
|
1151
1152
|
grpc_pollset_set_add_pollset_set(pollset_set_, interested_parties);
|
|
@@ -1163,7 +1164,7 @@ void Subchannel::WatchConnectivityState(
|
|
|
1163
1164
|
|
|
1164
1165
|
void Subchannel::CancelConnectivityStateWatch(
|
|
1165
1166
|
ConnectivityStateWatcherInterface* watcher) {
|
|
1166
|
-
MutexLock lock(
|
|
1167
|
+
MutexLock lock(mu_);
|
|
1167
1168
|
grpc_pollset_set* interested_parties = watcher->interested_parties();
|
|
1168
1169
|
if (interested_parties != nullptr) {
|
|
1169
1170
|
grpc_pollset_set_del_pollset_set(pollset_set_, interested_parties);
|
|
@@ -1175,7 +1176,7 @@ void Subchannel::RequestConnection() {
|
|
|
1175
1176
|
GRPC_TRACE_LOG(subchannel, INFO)
|
|
1176
1177
|
<< "subchannel " << this << " " << key_.ToString()
|
|
1177
1178
|
<< ": RequestConnection()";
|
|
1178
|
-
MutexLock lock(
|
|
1179
|
+
MutexLock lock(mu_);
|
|
1179
1180
|
if (state_ == GRPC_CHANNEL_IDLE) {
|
|
1180
1181
|
StartConnectingLocked();
|
|
1181
1182
|
}
|
|
@@ -1188,7 +1189,7 @@ void Subchannel::ResetBackoff() {
|
|
|
1188
1189
|
// does not eliminate the last ref and destroy the Subchannel before the
|
|
1189
1190
|
// method returns.
|
|
1190
1191
|
auto self = WeakRef(DEBUG_LOCATION, "ResetBackoff");
|
|
1191
|
-
MutexLock lock(
|
|
1192
|
+
MutexLock lock(mu_);
|
|
1192
1193
|
backoff_.Reset();
|
|
1193
1194
|
if (retry_timer_handle_.has_value() &&
|
|
1194
1195
|
event_engine_->Cancel(*retry_timer_handle_)) {
|
|
@@ -1207,7 +1208,7 @@ void Subchannel::Orphaned() {
|
|
|
1207
1208
|
subchannel_pool_->UnregisterSubchannel(key_, this);
|
|
1208
1209
|
subchannel_pool_.reset();
|
|
1209
1210
|
}
|
|
1210
|
-
MutexLock lock(
|
|
1211
|
+
MutexLock lock(mu_);
|
|
1211
1212
|
GRPC_CHECK(!shutdown_);
|
|
1212
1213
|
shutdown_ = true;
|
|
1213
1214
|
connector_.reset();
|
|
@@ -1220,13 +1221,13 @@ void Subchannel::Orphaned() {
|
|
|
1220
1221
|
void Subchannel::GetOrAddDataProducer(
|
|
1221
1222
|
UniqueTypeName type,
|
|
1222
1223
|
std::function<void(DataProducerInterface**)> get_or_add) {
|
|
1223
|
-
MutexLock lock(
|
|
1224
|
+
MutexLock lock(mu_);
|
|
1224
1225
|
auto it = data_producer_map_.emplace(type, nullptr).first;
|
|
1225
1226
|
get_or_add(&it->second);
|
|
1226
1227
|
}
|
|
1227
1228
|
|
|
1228
1229
|
void Subchannel::RemoveDataProducer(DataProducerInterface* data_producer) {
|
|
1229
|
-
MutexLock lock(
|
|
1230
|
+
MutexLock lock(mu_);
|
|
1230
1231
|
auto it = data_producer_map_.find(data_producer->type());
|
|
1231
1232
|
if (it != data_producer_map_.end() && it->second == data_producer) {
|
|
1232
1233
|
data_producer_map_.erase(it);
|
|
@@ -1315,7 +1316,7 @@ bool Subchannel::RemoveConnectionLocked(
|
|
|
1315
1316
|
}
|
|
1316
1317
|
|
|
1317
1318
|
void Subchannel::OnRetryTimer() {
|
|
1318
|
-
MutexLock lock(
|
|
1319
|
+
MutexLock lock(mu_);
|
|
1319
1320
|
OnRetryTimerLocked();
|
|
1320
1321
|
}
|
|
1321
1322
|
|
|
@@ -1351,7 +1352,7 @@ void Subchannel::StartConnectingLocked() {
|
|
|
1351
1352
|
void Subchannel::OnConnectingFinished(void* arg, grpc_error_handle error) {
|
|
1352
1353
|
WeakRefCountedPtr<Subchannel> c(static_cast<Subchannel*>(arg));
|
|
1353
1354
|
{
|
|
1354
|
-
MutexLock lock(
|
|
1355
|
+
MutexLock lock(c->mu_);
|
|
1355
1356
|
c->OnConnectingFinishedLocked(error);
|
|
1356
1357
|
}
|
|
1357
1358
|
c.reset(DEBUG_LOCATION, "Connect");
|
|
@@ -1513,7 +1514,7 @@ RefCountedPtr<Subchannel::Call> Subchannel::CreateCall(
|
|
|
1513
1514
|
CreateCallArgs args, grpc_error_handle* error) {
|
|
1514
1515
|
RefCountedPtr<ConnectedSubchannel> connected_subchannel;
|
|
1515
1516
|
{
|
|
1516
|
-
MutexLock lock(
|
|
1517
|
+
MutexLock lock(mu_);
|
|
1517
1518
|
// If we hit a race condition where the LB picker chose the subchannel
|
|
1518
1519
|
// at the same time as the last connection was closed, then tell the
|
|
1519
1520
|
// channel to re-queue the pick.
|
|
@@ -1539,10 +1540,10 @@ RefCountedPtr<Subchannel::Call> Subchannel::CreateCall(
|
|
|
1539
1540
|
}
|
|
1540
1541
|
|
|
1541
1542
|
RefCountedPtr<UnstartedCallDestination> Subchannel::call_destination() {
|
|
1542
|
-
// TODO(roth): Implement connection scaling for v3.
|
|
1543
|
+
// TODO(roth) : [PH2][P2][Client] : Implement connection scaling for v3.
|
|
1543
1544
|
RefCountedPtr<ConnectedSubchannel> connected_subchannel;
|
|
1544
1545
|
{
|
|
1545
|
-
MutexLock lock(
|
|
1546
|
+
MutexLock lock(mu_);
|
|
1546
1547
|
if (!connections_.empty()) connected_subchannel = connections_[0];
|
|
1547
1548
|
}
|
|
1548
1549
|
if (connected_subchannel == nullptr) return nullptr;
|
|
@@ -1582,7 +1583,7 @@ Subchannel::ChooseConnectionLocked() {
|
|
|
1582
1583
|
}
|
|
1583
1584
|
|
|
1584
1585
|
void Subchannel::RetryQueuedRpcs() {
|
|
1585
|
-
MutexLock lock(
|
|
1586
|
+
MutexLock lock(mu_);
|
|
1586
1587
|
if (shutdown_) return;
|
|
1587
1588
|
RetryQueuedRpcsLocked();
|
|
1588
1589
|
}
|
|
@@ -1644,7 +1645,7 @@ void Subchannel::Ping(absl::AnyInvocable<void(absl::Status)>) {
|
|
|
1644
1645
|
absl::Status Subchannel::Ping(grpc_closure* on_initiate, grpc_closure* on_ack) {
|
|
1645
1646
|
RefCountedPtr<ConnectedSubchannel> connected_subchannel;
|
|
1646
1647
|
{
|
|
1647
|
-
MutexLock lock(
|
|
1648
|
+
MutexLock lock(mu_);
|
|
1648
1649
|
if (!connections_.empty()) connected_subchannel = connections_[0];
|
|
1649
1650
|
}
|
|
1650
1651
|
if (connected_subchannel == nullptr) {
|
|
@@ -90,7 +90,7 @@ void SubchannelStreamClient::Orphan() {
|
|
|
90
90
|
<< ": SubchannelStreamClient shutting down";
|
|
91
91
|
}
|
|
92
92
|
{
|
|
93
|
-
MutexLock lock(
|
|
93
|
+
MutexLock lock(mu_);
|
|
94
94
|
event_handler_.reset();
|
|
95
95
|
call_state_.reset();
|
|
96
96
|
if (retry_timer_handle_.has_value()) {
|
|
@@ -102,7 +102,7 @@ void SubchannelStreamClient::Orphan() {
|
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
void SubchannelStreamClient::StartCall() {
|
|
105
|
-
MutexLock lock(
|
|
105
|
+
MutexLock lock(mu_);
|
|
106
106
|
StartCallLocked();
|
|
107
107
|
}
|
|
108
108
|
|
|
@@ -150,7 +150,7 @@ void SubchannelStreamClient::StartRetryTimerLocked() {
|
|
|
150
150
|
}
|
|
151
151
|
|
|
152
152
|
void SubchannelStreamClient::OnRetryTimer() {
|
|
153
|
-
MutexLock lock(
|
|
153
|
+
MutexLock lock(mu_);
|
|
154
154
|
if (event_handler_ != nullptr && retry_timer_handle_.has_value() &&
|
|
155
155
|
call_state_ == nullptr) {
|
|
156
156
|
if (GPR_UNLIKELY(tracer_ != nullptr)) {
|
|
@@ -353,7 +353,7 @@ void SubchannelStreamClient::CallState::RecvMessageReady() {
|
|
|
353
353
|
}
|
|
354
354
|
// Report payload.
|
|
355
355
|
{
|
|
356
|
-
MutexLock lock(
|
|
356
|
+
MutexLock lock(subchannel_stream_client_->mu_);
|
|
357
357
|
if (subchannel_stream_client_->event_handler_ != nullptr) {
|
|
358
358
|
absl::Status status =
|
|
359
359
|
subchannel_stream_client_->event_handler_->RecvMessageReadyLocked(
|
|
@@ -418,7 +418,7 @@ void SubchannelStreamClient::CallState::RecvTrailingMetadataReady(
|
|
|
418
418
|
// that it lives long enough for us to release the mutex, since the
|
|
419
419
|
// call to CallEndedLocked() may release the last ref.
|
|
420
420
|
auto subchannel_stream_client = self->subchannel_stream_client_->Ref();
|
|
421
|
-
MutexLock lock(
|
|
421
|
+
MutexLock lock(self->subchannel_stream_client_->mu_);
|
|
422
422
|
if (self->subchannel_stream_client_->event_handler_ != nullptr) {
|
|
423
423
|
self->subchannel_stream_client_->event_handler_
|
|
424
424
|
->RecvTrailingMetadataReadyLocked(self->subchannel_stream_client_.get(),
|
|
@@ -91,7 +91,7 @@ AwsExternalAccountCredentials::AwsFetchBody::AwsFetchBody(
|
|
|
91
91
|
absl::AnyInvocable<void(absl::StatusOr<std::string>)> on_done,
|
|
92
92
|
AwsExternalAccountCredentials* creds, Timestamp deadline)
|
|
93
93
|
: FetchBody(std::move(on_done)), creds_(creds), deadline_(deadline) {
|
|
94
|
-
MutexLock lock(
|
|
94
|
+
MutexLock lock(mu_);
|
|
95
95
|
// Do a quick async hop here, so that we can invoke the callback at
|
|
96
96
|
// any time without deadlocking.
|
|
97
97
|
fetch_body_ = MakeOrphanable<NoOpFetchBody>(
|
|
@@ -102,7 +102,7 @@ AwsExternalAccountCredentials::AwsFetchBody::AwsFetchBody(
|
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
void AwsExternalAccountCredentials::AwsFetchBody::Shutdown() {
|
|
105
|
-
MutexLock lock(
|
|
105
|
+
MutexLock lock(mu_);
|
|
106
106
|
fetch_body_.reset();
|
|
107
107
|
}
|
|
108
108
|
|
|
@@ -131,7 +131,7 @@ bool AwsExternalAccountCredentials::AwsFetchBody::MaybeFail(
|
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
void AwsExternalAccountCredentials::AwsFetchBody::Start() {
|
|
134
|
-
MutexLock lock(
|
|
134
|
+
MutexLock lock(mu_);
|
|
135
135
|
if (MaybeFail(absl::OkStatus())) return;
|
|
136
136
|
if (!creds_->imdsv2_session_token_url_.empty() && ShouldUseMetadataServer()) {
|
|
137
137
|
RetrieveImdsV2SessionToken();
|
|
@@ -175,7 +175,7 @@ void AwsExternalAccountCredentials::AwsFetchBody::RetrieveImdsV2SessionToken() {
|
|
|
175
175
|
},
|
|
176
176
|
[self =
|
|
177
177
|
RefAsSubclass<AwsFetchBody>()](absl::StatusOr<std::string> result) {
|
|
178
|
-
MutexLock lock(
|
|
178
|
+
MutexLock lock(self->mu_);
|
|
179
179
|
if (self->MaybeFail(result.status())) return;
|
|
180
180
|
self->imdsv2_session_token_ = std::move(*result);
|
|
181
181
|
if (self->creds_->signer_ != nullptr) {
|
|
@@ -228,7 +228,7 @@ void AwsExternalAccountCredentials::AwsFetchBody::RetrieveRegion() {
|
|
|
228
228
|
},
|
|
229
229
|
[self =
|
|
230
230
|
RefAsSubclass<AwsFetchBody>()](absl::StatusOr<std::string> result) {
|
|
231
|
-
MutexLock lock(
|
|
231
|
+
MutexLock lock(self->mu_);
|
|
232
232
|
if (self->MaybeFail(result.status())) return;
|
|
233
233
|
// Remove the last letter of availability zone to get pure region
|
|
234
234
|
self->region_ = result->substr(0, result->size() - 1);
|
|
@@ -270,7 +270,7 @@ void AwsExternalAccountCredentials::AwsFetchBody::RetrieveRoleName() {
|
|
|
270
270
|
},
|
|
271
271
|
[self =
|
|
272
272
|
RefAsSubclass<AwsFetchBody>()](absl::StatusOr<std::string> result) {
|
|
273
|
-
MutexLock lock(
|
|
273
|
+
MutexLock lock(self->mu_);
|
|
274
274
|
if (self->MaybeFail(result.status())) return;
|
|
275
275
|
self->role_name_ = std::move(*result);
|
|
276
276
|
self->RetrieveSigningKeys();
|
|
@@ -326,7 +326,7 @@ void AwsExternalAccountCredentials::AwsFetchBody::RetrieveSigningKeys() {
|
|
|
326
326
|
},
|
|
327
327
|
[self =
|
|
328
328
|
RefAsSubclass<AwsFetchBody>()](absl::StatusOr<std::string> result) {
|
|
329
|
-
MutexLock lock(
|
|
329
|
+
MutexLock lock(self->mu_);
|
|
330
330
|
if (self->MaybeFail(result.status())) return;
|
|
331
331
|
self->OnRetrieveSigningKeys(std::move(*result));
|
|
332
332
|
});
|
|
@@ -18,12 +18,15 @@
|
|
|
18
18
|
#include <grpc/support/port_platform.h>
|
|
19
19
|
#include <openssl/crypto.h>
|
|
20
20
|
#include <openssl/evp.h>
|
|
21
|
+
#if OPENSSL_VERSION_NUMBER < 0x30000000L
|
|
21
22
|
#include <openssl/hmac.h>
|
|
23
|
+
#endif
|
|
22
24
|
#include <openssl/sha.h>
|
|
23
25
|
|
|
24
26
|
#include <utility>
|
|
25
27
|
#include <vector>
|
|
26
28
|
|
|
29
|
+
#include "src/core/util/grpc_check.h"
|
|
27
30
|
#include "absl/status/statusor.h"
|
|
28
31
|
#include "absl/strings/ascii.h"
|
|
29
32
|
#include "absl/strings/escaping.h"
|
|
@@ -41,6 +44,7 @@ namespace {
|
|
|
41
44
|
|
|
42
45
|
#if OPENSSL_VERSION_NUMBER >= 0x30000000L
|
|
43
46
|
const char kSha256[] = "SHA256";
|
|
47
|
+
const char kHmacName[] = "HMAC";
|
|
44
48
|
#endif
|
|
45
49
|
const char kAlgorithm[] = "AWS4-HMAC-SHA256";
|
|
46
50
|
const char kDateFormat[] = "%a, %d %b %E4Y %H:%M:%S %Z";
|
|
@@ -67,12 +71,24 @@ std::string SHA256Hex(const std::string& str) {
|
|
|
67
71
|
}
|
|
68
72
|
|
|
69
73
|
std::string HMAC(const std::string& key, const std::string& msg) {
|
|
74
|
+
#if OPENSSL_VERSION_NUMBER < 0x30000000L
|
|
70
75
|
unsigned int len;
|
|
71
76
|
unsigned char digest[EVP_MAX_MD_SIZE];
|
|
72
77
|
HMAC(EVP_sha256(), key.c_str(), key.length(),
|
|
73
78
|
reinterpret_cast<const unsigned char*>(msg.c_str()), msg.length(),
|
|
74
79
|
digest, &len);
|
|
75
80
|
return std::string(digest, digest + len);
|
|
81
|
+
#else
|
|
82
|
+
size_t len = 0;
|
|
83
|
+
unsigned char digest[EVP_MAX_MD_SIZE];
|
|
84
|
+
GRPC_CHECK_NE(EVP_Q_mac(nullptr, kHmacName, nullptr, kSha256, nullptr,
|
|
85
|
+
reinterpret_cast<const unsigned char*>(key.c_str()),
|
|
86
|
+
key.length(),
|
|
87
|
+
reinterpret_cast<const unsigned char*>(msg.c_str()),
|
|
88
|
+
msg.length(), digest, sizeof(digest), &len),
|
|
89
|
+
nullptr);
|
|
90
|
+
return std::string(digest, digest + len);
|
|
91
|
+
#endif
|
|
76
92
|
}
|
|
77
93
|
|
|
78
94
|
} // namespace
|
|
@@ -181,7 +181,7 @@ ExternalAccountCredentials::ExternalFetchRequest::ExternalFetchRequest(
|
|
|
181
181
|
|
|
182
182
|
void ExternalAccountCredentials::ExternalFetchRequest::Orphan() {
|
|
183
183
|
{
|
|
184
|
-
MutexLock lock(
|
|
184
|
+
MutexLock lock(mu_);
|
|
185
185
|
fetch_body_.reset();
|
|
186
186
|
}
|
|
187
187
|
Unref();
|
|
@@ -211,7 +211,7 @@ std::string UrlEncode(const absl::string_view s) {
|
|
|
211
211
|
|
|
212
212
|
void ExternalAccountCredentials::ExternalFetchRequest::ExchangeToken(
|
|
213
213
|
absl::StatusOr<std::string> subject_token) {
|
|
214
|
-
MutexLock lock(
|
|
214
|
+
MutexLock lock(mu_);
|
|
215
215
|
if (MaybeFailLocked(subject_token.status())) return;
|
|
216
216
|
// Parse URI.
|
|
217
217
|
absl::StatusOr<URI> uri = URI::Parse(options().token_url);
|
|
@@ -300,7 +300,7 @@ void ExternalAccountCredentials::ExternalFetchRequest::ExchangeToken(
|
|
|
300
300
|
|
|
301
301
|
void ExternalAccountCredentials::ExternalFetchRequest::
|
|
302
302
|
MaybeImpersonateServiceAccount(absl::StatusOr<std::string> response_body) {
|
|
303
|
-
MutexLock lock(
|
|
303
|
+
MutexLock lock(mu_);
|
|
304
304
|
if (MaybeFailLocked(response_body.status())) return;
|
|
305
305
|
// If not doing impersonation, response_body contains oauth token.
|
|
306
306
|
if (options().service_account_impersonation_url.empty()) {
|
|
@@ -381,7 +381,7 @@ void ExternalAccountCredentials::ExternalFetchRequest::
|
|
|
381
381
|
|
|
382
382
|
void ExternalAccountCredentials::ExternalFetchRequest::
|
|
383
383
|
OnImpersonateServiceAccount(absl::StatusOr<std::string> response_body) {
|
|
384
|
-
MutexLock lock(
|
|
384
|
+
MutexLock lock(mu_);
|
|
385
385
|
if (MaybeFailLocked(response_body.status())) return;
|
|
386
386
|
auto json = JsonParse(*response_body);
|
|
387
387
|
if (!json.ok()) {
|
|
@@ -84,7 +84,7 @@ RegionalAccessBoundaryFetcher::RegionalAccessBoundaryFetcher(
|
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
void RegionalAccessBoundaryFetcher::OnFetchSuccess(Slice encoded_locations) {
|
|
87
|
-
MutexLock lock(
|
|
87
|
+
MutexLock lock(cache_mu_);
|
|
88
88
|
if (shutdown_) return;
|
|
89
89
|
cache_ = {std::move(encoded_locations),
|
|
90
90
|
Timestamp::Now() + kRegionalAccessBoundaryCacheDuration};
|
|
@@ -94,7 +94,7 @@ void RegionalAccessBoundaryFetcher::OnFetchSuccess(Slice encoded_locations) {
|
|
|
94
94
|
|
|
95
95
|
void RegionalAccessBoundaryFetcher::OnFetchFailure(
|
|
96
96
|
grpc_error_handle error, int http_status, absl::string_view response_body) {
|
|
97
|
-
MutexLock lock(
|
|
97
|
+
MutexLock lock(cache_mu_);
|
|
98
98
|
if (shutdown_) return;
|
|
99
99
|
auto log_message = absl::StrCat(
|
|
100
100
|
"Regional access boundary request will be retried after failing with "
|
|
@@ -134,7 +134,7 @@ void RegionalAccessBoundaryFetcher::Fetch(absl::string_view access_token,
|
|
|
134
134
|
}
|
|
135
135
|
{
|
|
136
136
|
const Timestamp now = Timestamp::Now();
|
|
137
|
-
MutexLock lock(
|
|
137
|
+
MutexLock lock(cache_mu_);
|
|
138
138
|
// We kick off a new fetch attempt if all of the following are true:
|
|
139
139
|
// - We have no cached Regioanl Access Boundary data, or the cached
|
|
140
140
|
// Regional Access Boundary data's expiration time is less than the grace
|
|
@@ -161,7 +161,7 @@ void RegionalAccessBoundaryFetcher::Fetch(absl::string_view access_token,
|
|
|
161
161
|
}
|
|
162
162
|
|
|
163
163
|
void RegionalAccessBoundaryFetcher::Orphaned() {
|
|
164
|
-
MutexLock lock(
|
|
164
|
+
MutexLock lock(cache_mu_);
|
|
165
165
|
shutdown_ = true;
|
|
166
166
|
pending_request_.reset();
|
|
167
167
|
}
|
|
@@ -323,7 +323,7 @@ EmailFetcher::EmailFetcher(
|
|
|
323
323
|
EmailFetcher::~EmailFetcher() = default;
|
|
324
324
|
|
|
325
325
|
void EmailFetcher::StartEmailFetch() {
|
|
326
|
-
MutexLock lock(
|
|
326
|
+
MutexLock lock(mu_);
|
|
327
327
|
if (Timestamp::Now() < next_fetch_earliest_time_) {
|
|
328
328
|
return;
|
|
329
329
|
}
|
|
@@ -338,7 +338,7 @@ void EmailFetcher::StartEmailFetch() {
|
|
|
338
338
|
|
|
339
339
|
void EmailFetcher::Fetch(absl::string_view token,
|
|
340
340
|
ClientMetadata& initial_metadata) {
|
|
341
|
-
MutexLock lock(
|
|
341
|
+
MutexLock lock(mu_);
|
|
342
342
|
auto* rab_fetcher =
|
|
343
343
|
std::get_if<RefCountedPtr<RegionalAccessBoundaryFetcher>>(&state_);
|
|
344
344
|
if (rab_fetcher == nullptr) return; // Don't yet have RAB fetcher.
|
|
@@ -347,12 +347,12 @@ void EmailFetcher::Fetch(absl::string_view token,
|
|
|
347
347
|
}
|
|
348
348
|
|
|
349
349
|
void EmailFetcher::Orphaned() {
|
|
350
|
-
MutexLock lock(
|
|
350
|
+
MutexLock lock(mu_);
|
|
351
351
|
state_ = RefCountedPtr<RegionalAccessBoundaryFetcher>(nullptr);
|
|
352
352
|
}
|
|
353
353
|
|
|
354
354
|
void EmailFetcher::OnEmailFetchComplete(absl::string_view email) {
|
|
355
|
-
MutexLock lock(
|
|
355
|
+
MutexLock lock(mu_);
|
|
356
356
|
if (std::holds_alternative<OrphanablePtr<EmailRequest>>(state_)) {
|
|
357
357
|
absl::string_view trimmed_email = absl::StripAsciiWhitespace(email);
|
|
358
358
|
if (!IsValidEmail(trimmed_email)) {
|
|
@@ -378,7 +378,7 @@ void EmailFetcher::OnEmailFetchComplete(absl::string_view email) {
|
|
|
378
378
|
}
|
|
379
379
|
|
|
380
380
|
void EmailFetcher::OnEmailFetchError(grpc_error_handle error) {
|
|
381
|
-
MutexLock lock(
|
|
381
|
+
MutexLock lock(mu_);
|
|
382
382
|
if (std::holds_alternative<OrphanablePtr<EmailRequest>>(state_)) {
|
|
383
383
|
LOG_EVERY_N_SEC(INFO, 60) << "Regional Access Boundary fetch skipped due "
|
|
384
384
|
"to service account email fetch failure: "
|