grpc 1.84.1 → 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.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Makefile +40 -27
- data/etc/roots.pem +7940 -6467
- 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
|
@@ -41,7 +41,7 @@ bool ExternalCertificateVerifier::Verify(
|
|
|
41
41
|
grpc_tls_custom_verification_check_request* request,
|
|
42
42
|
std::function<void(absl::Status)> callback, absl::Status* sync_status) {
|
|
43
43
|
{
|
|
44
|
-
MutexLock lock(
|
|
44
|
+
MutexLock lock(mu_);
|
|
45
45
|
request_map_.emplace(request, std::move(callback));
|
|
46
46
|
}
|
|
47
47
|
// Invoke the caller-specified verification logic embedded in
|
|
@@ -56,7 +56,7 @@ bool ExternalCertificateVerifier::Verify(
|
|
|
56
56
|
*sync_status = absl::Status(static_cast<absl::StatusCode>(status_code),
|
|
57
57
|
error_details);
|
|
58
58
|
}
|
|
59
|
-
MutexLock lock(
|
|
59
|
+
MutexLock lock(mu_);
|
|
60
60
|
request_map_.erase(request);
|
|
61
61
|
}
|
|
62
62
|
gpr_free(error_details);
|
|
@@ -75,7 +75,7 @@ void ExternalCertificateVerifier::OnVerifyDone(
|
|
|
75
75
|
auto* self = static_cast<ExternalCertificateVerifier*>(callback_arg);
|
|
76
76
|
std::function<void(absl::Status)> callback;
|
|
77
77
|
{
|
|
78
|
-
MutexLock lock(
|
|
78
|
+
MutexLock lock(self->mu_);
|
|
79
79
|
auto it = self->request_map_.find(request);
|
|
80
80
|
if (it != self->request_map_.end()) {
|
|
81
81
|
callback = std::move(it->second);
|
|
@@ -56,12 +56,12 @@ absl::StatusOr<std::string> IssuerFromCrl(X509_CRL* crl) {
|
|
|
56
56
|
if (crl == nullptr) {
|
|
57
57
|
return absl::InvalidArgumentError("crl cannot be null");
|
|
58
58
|
}
|
|
59
|
-
|
|
59
|
+
auto* issuer = X509_CRL_get_issuer(crl);
|
|
60
60
|
if (issuer == nullptr) {
|
|
61
61
|
return absl::InvalidArgumentError("crl cannot have null issuer");
|
|
62
62
|
}
|
|
63
63
|
unsigned char* buf = nullptr;
|
|
64
|
-
int len = i2d_X509_NAME(issuer, &buf);
|
|
64
|
+
int len = i2d_X509_NAME(const_cast<X509_NAME*>(issuer), &buf);
|
|
65
65
|
if (len < 0 || buf == nullptr) {
|
|
66
66
|
return absl::InvalidArgumentError("crl cannot have null issuer");
|
|
67
67
|
}
|
|
@@ -222,7 +222,7 @@ absl::Status DirectoryReloaderCrlProvider::Update() {
|
|
|
222
222
|
if (!status.ok()) {
|
|
223
223
|
return status;
|
|
224
224
|
}
|
|
225
|
-
MutexLock lock(
|
|
225
|
+
MutexLock lock(mu_);
|
|
226
226
|
if (!files_with_errors.empty()) {
|
|
227
227
|
// Need to make sure CRLs we read successfully into new_crls are still
|
|
228
228
|
// in-place updated in crls_.
|
|
@@ -245,7 +245,7 @@ absl::Status DirectoryReloaderCrlProvider::Update() {
|
|
|
245
245
|
|
|
246
246
|
std::shared_ptr<Crl> DirectoryReloaderCrlProvider::GetCrl(
|
|
247
247
|
const CertificateInfo& certificate_info) {
|
|
248
|
-
MutexLock lock(
|
|
248
|
+
MutexLock lock(mu_);
|
|
249
249
|
auto it = crls_.find(certificate_info.Issuer());
|
|
250
250
|
if (it == crls_.end()) {
|
|
251
251
|
return nullptr;
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
#include "src/core/config/config_vars.h"
|
|
37
37
|
#include "src/core/credentials/transport/tls/grpc_tls_certificate_selector.h"
|
|
38
38
|
#include "src/core/credentials/transport/tls/load_system_roots.h"
|
|
39
|
+
#include "src/core/credentials/transport/tls/tls_utils.h"
|
|
39
40
|
#include "src/core/ext/transport/chttp2/alpn/alpn.h"
|
|
40
41
|
#include "src/core/lib/channel/channel_args.h"
|
|
41
42
|
#include "src/core/transport/auth_context.h"
|
|
@@ -308,6 +309,15 @@ grpc_core::RefCountedPtr<grpc_auth_context> grpc_ssl_peer_to_auth_context(
|
|
|
308
309
|
grpc_auth_context_add_property(
|
|
309
310
|
ctx.get(), GRPC_SSL_NEGOTIATED_KEY_EXCHANGE_GROUP_PROPERTY_NAME,
|
|
310
311
|
prop->value.data, prop->value.length);
|
|
312
|
+
} else if (strcmp(prop->name,
|
|
313
|
+
TSI_SSL_REQUESTED_SERVER_NAME_PEER_PROPERTY) == 0) {
|
|
314
|
+
grpc_auth_context_add_property(
|
|
315
|
+
ctx.get(), GRPC_SSL_REQUESTED_SERVER_NAME_PROPERTY_NAME,
|
|
316
|
+
prop->value.data, prop->value.length);
|
|
317
|
+
} else if (strcmp(prop->name, TSI_SSL_TLS_VERSION_PEER_PROPERTY) == 0) {
|
|
318
|
+
grpc_auth_context_add_property(ctx.get(),
|
|
319
|
+
GRPC_SSL_TLS_VERSION_PROPERTY_NAME,
|
|
320
|
+
prop->value.data, prop->value.length);
|
|
311
321
|
} else if (strcmp(prop->name, TSI_SECURITY_LEVEL_PEER_PROPERTY) == 0) {
|
|
312
322
|
grpc_auth_context_add_property(
|
|
313
323
|
ctx.get(), GRPC_TRANSPORT_SECURITY_LEVEL_PROPERTY_NAME,
|
|
@@ -349,7 +349,7 @@ TlsChannelSecurityConnector::~TlsChannelSecurityConnector() {
|
|
|
349
349
|
void TlsChannelSecurityConnector::add_handshakers(
|
|
350
350
|
const ChannelArgs& args, grpc_pollset_set* /*interested_parties*/,
|
|
351
351
|
HandshakeManager* handshake_mgr) {
|
|
352
|
-
MutexLock lock(
|
|
352
|
+
MutexLock lock(mu_);
|
|
353
353
|
tsi_handshaker* tsi_hs = nullptr;
|
|
354
354
|
if (client_handshaker_factory_ != nullptr) {
|
|
355
355
|
// Instantiate TSI handshaker.
|
|
@@ -410,7 +410,7 @@ void TlsChannelSecurityConnector::check_peer(
|
|
|
410
410
|
RefAsSubclass<TlsChannelSecurityConnector>(), on_peer_checked, peer,
|
|
411
411
|
target_name);
|
|
412
412
|
{
|
|
413
|
-
MutexLock lock(
|
|
413
|
+
MutexLock lock(verifier_request_map_mu_);
|
|
414
414
|
pending_verifier_requests_.emplace(on_peer_checked, pending_request);
|
|
415
415
|
}
|
|
416
416
|
pending_request->Start();
|
|
@@ -423,7 +423,7 @@ void TlsChannelSecurityConnector::cancel_check_peer(
|
|
|
423
423
|
grpc_tls_custom_verification_check_request* pending_verifier_request =
|
|
424
424
|
nullptr;
|
|
425
425
|
{
|
|
426
|
-
MutexLock lock(
|
|
426
|
+
MutexLock lock(verifier_request_map_mu_);
|
|
427
427
|
auto it = pending_verifier_requests_.find(on_peer_checked);
|
|
428
428
|
if (it != pending_verifier_requests_.end()) {
|
|
429
429
|
pending_verifier_request = it->second->request();
|
|
@@ -465,7 +465,7 @@ void TlsChannelSecurityConnector::TlsChannelCertificateWatcher::
|
|
|
465
465
|
std::shared_ptr<tsi::RootCertInfo> root_certs,
|
|
466
466
|
std::optional<KeyCertPairsOrSelector> key_cert_pairs_or_selector) {
|
|
467
467
|
GRPC_CHECK_NE(security_connector_, nullptr);
|
|
468
|
-
MutexLock lock(
|
|
468
|
+
MutexLock lock(security_connector_->mu_);
|
|
469
469
|
if (root_certs != nullptr) {
|
|
470
470
|
security_connector_->root_cert_info_ = std::move(root_certs);
|
|
471
471
|
}
|
|
@@ -535,7 +535,7 @@ void TlsChannelSecurityConnector::ChannelPendingVerifierRequest::Start() {
|
|
|
535
535
|
void TlsChannelSecurityConnector::ChannelPendingVerifierRequest::OnVerifyDone(
|
|
536
536
|
bool run_callback_inline, absl::Status status) {
|
|
537
537
|
{
|
|
538
|
-
MutexLock lock(
|
|
538
|
+
MutexLock lock(security_connector_->verifier_request_map_mu_);
|
|
539
539
|
security_connector_->pending_verifier_requests_.erase(on_peer_checked_);
|
|
540
540
|
}
|
|
541
541
|
grpc_error_handle error;
|
|
@@ -666,7 +666,7 @@ TlsServerSecurityConnector::~TlsServerSecurityConnector() {
|
|
|
666
666
|
void TlsServerSecurityConnector::add_handshakers(
|
|
667
667
|
const ChannelArgs& args, grpc_pollset_set* /*interested_parties*/,
|
|
668
668
|
HandshakeManager* handshake_mgr) {
|
|
669
|
-
MutexLock lock(
|
|
669
|
+
MutexLock lock(mu_);
|
|
670
670
|
tsi_handshaker* tsi_hs = nullptr;
|
|
671
671
|
if (server_handshaker_factory_ != nullptr) {
|
|
672
672
|
auto stats_plugin_group =
|
|
@@ -703,7 +703,7 @@ void TlsServerSecurityConnector::check_peer(
|
|
|
703
703
|
auto* pending_request = new ServerPendingVerifierRequest(
|
|
704
704
|
RefAsSubclass<TlsServerSecurityConnector>(), on_peer_checked, peer);
|
|
705
705
|
{
|
|
706
|
-
MutexLock lock(
|
|
706
|
+
MutexLock lock(verifier_request_map_mu_);
|
|
707
707
|
pending_verifier_requests_.emplace(on_peer_checked, pending_request);
|
|
708
708
|
}
|
|
709
709
|
pending_request->Start();
|
|
@@ -720,7 +720,7 @@ void TlsServerSecurityConnector::cancel_check_peer(
|
|
|
720
720
|
grpc_tls_custom_verification_check_request* pending_verifier_request =
|
|
721
721
|
nullptr;
|
|
722
722
|
{
|
|
723
|
-
MutexLock lock(
|
|
723
|
+
MutexLock lock(verifier_request_map_mu_);
|
|
724
724
|
auto it = pending_verifier_requests_.find(on_peer_checked);
|
|
725
725
|
if (it != pending_verifier_requests_.end()) {
|
|
726
726
|
pending_verifier_request = it->second->request();
|
|
@@ -748,7 +748,7 @@ void TlsServerSecurityConnector::TlsServerCertificateWatcher::
|
|
|
748
748
|
std::shared_ptr<tsi::RootCertInfo> roots,
|
|
749
749
|
std::optional<KeyCertPairsOrSelector> key_cert_pairs_or_selector) {
|
|
750
750
|
GRPC_CHECK_NE(security_connector_, nullptr);
|
|
751
|
-
MutexLock lock(
|
|
751
|
+
MutexLock lock(security_connector_->mu_);
|
|
752
752
|
if (roots != nullptr) {
|
|
753
753
|
security_connector_->root_cert_info_ = std::move(roots);
|
|
754
754
|
}
|
|
@@ -820,7 +820,7 @@ void TlsServerSecurityConnector::ServerPendingVerifierRequest::Start() {
|
|
|
820
820
|
void TlsServerSecurityConnector::ServerPendingVerifierRequest::OnVerifyDone(
|
|
821
821
|
bool run_callback_inline, absl::Status status) {
|
|
822
822
|
{
|
|
823
|
-
MutexLock lock(
|
|
823
|
+
MutexLock lock(security_connector_->verifier_request_map_mu_);
|
|
824
824
|
security_connector_->pending_verifier_requests_.erase(on_peer_checked_);
|
|
825
825
|
}
|
|
826
826
|
grpc_error_handle error;
|
|
@@ -93,12 +93,12 @@ class TlsChannelSecurityConnector final
|
|
|
93
93
|
absl::string_view host, grpc_auth_context* auth_context) override;
|
|
94
94
|
|
|
95
95
|
tsi_ssl_client_handshaker_factory* ClientHandshakerFactoryForTesting() {
|
|
96
|
-
MutexLock lock(
|
|
96
|
+
MutexLock lock(mu_);
|
|
97
97
|
return client_handshaker_factory_;
|
|
98
98
|
};
|
|
99
99
|
|
|
100
100
|
std::optional<PemKeyCertPairList> KeyCertPairListForTesting() {
|
|
101
|
-
MutexLock lock(
|
|
101
|
+
MutexLock lock(mu_);
|
|
102
102
|
std::optional<PemKeyCertPairList> pem_key_cert_pairs;
|
|
103
103
|
if (key_cert_pairs_or_selector_.has_value()) {
|
|
104
104
|
Match(
|
|
@@ -112,7 +112,7 @@ class TlsChannelSecurityConnector final
|
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
std::shared_ptr<tsi::RootCertInfo> RootCertInfoForTesting() {
|
|
115
|
-
MutexLock lock(
|
|
115
|
+
MutexLock lock(mu_);
|
|
116
116
|
return root_cert_info_;
|
|
117
117
|
}
|
|
118
118
|
|
|
@@ -214,12 +214,12 @@ class TlsServerSecurityConnector final : public grpc_server_security_connector {
|
|
|
214
214
|
int cmp(const grpc_security_connector* other) const override;
|
|
215
215
|
|
|
216
216
|
tsi_ssl_server_handshaker_factory* ServerHandshakerFactoryForTesting() {
|
|
217
|
-
MutexLock lock(
|
|
217
|
+
MutexLock lock(mu_);
|
|
218
218
|
return server_handshaker_factory_;
|
|
219
219
|
};
|
|
220
220
|
|
|
221
221
|
std::optional<PemKeyCertPairList> KeyCertPairListForTesting() {
|
|
222
|
-
MutexLock lock(
|
|
222
|
+
MutexLock lock(mu_);
|
|
223
223
|
std::optional<PemKeyCertPairList> pem_key_cert_pairs;
|
|
224
224
|
if (key_cert_pairs_or_selector_.has_value()) {
|
|
225
225
|
Match(
|
|
@@ -233,7 +233,7 @@ class TlsServerSecurityConnector final : public grpc_server_security_connector {
|
|
|
233
233
|
}
|
|
234
234
|
|
|
235
235
|
std::shared_ptr<tsi::RootCertInfo> RootCertInfoForTesting() {
|
|
236
|
-
MutexLock lock(
|
|
236
|
+
MutexLock lock(mu_);
|
|
237
237
|
return root_cert_info_;
|
|
238
238
|
}
|
|
239
239
|
|
|
@@ -27,6 +27,15 @@
|
|
|
27
27
|
|
|
28
28
|
#include "absl/strings/string_view.h"
|
|
29
29
|
|
|
30
|
+
// --- Auth context property names for connection/TLS attributes. ---
|
|
31
|
+
|
|
32
|
+
// The server name requested by the client via the TLS SNI extension. Note that
|
|
33
|
+
// this is the SNI requested by the client regardless of whether the auth
|
|
34
|
+
// context is on the client side or the server side.
|
|
35
|
+
#define GRPC_SSL_REQUESTED_SERVER_NAME_PROPERTY_NAME "ssl_requested_server_name"
|
|
36
|
+
// The TLS version negotiated for the connection.
|
|
37
|
+
#define GRPC_SSL_TLS_VERSION_PROPERTY_NAME "ssl_tls_version"
|
|
38
|
+
|
|
30
39
|
namespace grpc_core {
|
|
31
40
|
|
|
32
41
|
// Matches \a subject_alternative_name with \a matcher. Returns true if there
|
|
@@ -104,7 +104,7 @@ struct LegacyMaxAgeFilter::Config {
|
|
|
104
104
|
Mutex mu;
|
|
105
105
|
absl::BitGen bit_gen ABSL_GUARDED_BY(mu);
|
|
106
106
|
double MakeUniformDouble(double min, double max) {
|
|
107
|
-
MutexLock lock(
|
|
107
|
+
MutexLock lock(mu);
|
|
108
108
|
return absl::Uniform(bit_gen, min, max);
|
|
109
109
|
}
|
|
110
110
|
};
|
|
@@ -266,7 +266,7 @@ FaultInjectionFilter::MakeInjectionDecision(
|
|
|
266
266
|
bool delay_request = delay != Duration::Zero();
|
|
267
267
|
bool abort_request = abort_code != GRPC_STATUS_OK;
|
|
268
268
|
if (delay_request || abort_request) {
|
|
269
|
-
MutexLock lock(
|
|
269
|
+
MutexLock lock(mu_);
|
|
270
270
|
if (delay_request) {
|
|
271
271
|
delay_request =
|
|
272
272
|
UnderFraction(&delay_rand_generator_, delay_percentage_numerator,
|
|
@@ -134,14 +134,14 @@ UniqueTypeName GcpAuthenticationFilter::CallCredentialsCache::Type() {
|
|
|
134
134
|
|
|
135
135
|
void GcpAuthenticationFilter::CallCredentialsCache::SetMaxSize(
|
|
136
136
|
size_t max_size) {
|
|
137
|
-
MutexLock lock(
|
|
137
|
+
MutexLock lock(mu_);
|
|
138
138
|
cache_.SetMaxSize(max_size);
|
|
139
139
|
}
|
|
140
140
|
|
|
141
141
|
RefCountedPtr<grpc_call_credentials>
|
|
142
142
|
GcpAuthenticationFilter::CallCredentialsCache::Get(
|
|
143
143
|
const std::string& audience) {
|
|
144
|
-
MutexLock lock(
|
|
144
|
+
MutexLock lock(mu_);
|
|
145
145
|
return cache_.GetOrInsert(audience, [](const std::string& audience) {
|
|
146
146
|
return MakeRefCounted<GcpServiceAccountIdentityCallCredentials>(audience);
|
|
147
147
|
});
|
|
@@ -172,12 +172,27 @@ absl::StatusOr<MessageHandle> ChannelCompression::DecompressMessage(
|
|
|
172
172
|
is_client ? "CLIENT" : "SERVER", message->payload()->Length(),
|
|
173
173
|
*args.max_recv_message_length));
|
|
174
174
|
}
|
|
175
|
+
if ((message->flags() & GRPC_WRITE_INTERNAL_COMPRESS) &&
|
|
176
|
+
args.algorithm == GRPC_COMPRESS_NONE) {
|
|
177
|
+
return absl::InternalError(
|
|
178
|
+
"Compression bit set but no encoding configured");
|
|
179
|
+
}
|
|
175
180
|
// Check if decompression is enabled (if not, we can just pass the message
|
|
176
181
|
// up).
|
|
177
182
|
if (!enable_decompression_ ||
|
|
178
183
|
(message->flags() & GRPC_WRITE_INTERNAL_COMPRESS) == 0) {
|
|
179
184
|
return std::move(message);
|
|
180
185
|
}
|
|
186
|
+
if (!enabled_compression_algorithms().IsSet(args.algorithm)) {
|
|
187
|
+
const char* algo_name = CompressionAlgorithmAsString(args.algorithm);
|
|
188
|
+
absl::string_view algo_name_view =
|
|
189
|
+
algo_name != nullptr ? algo_name : "unknown";
|
|
190
|
+
return is_client
|
|
191
|
+
? absl::InternalError(absl::StrCat(
|
|
192
|
+
"Compression algorithm not supported: ", algo_name_view))
|
|
193
|
+
: absl::UnimplementedError(absl::StrCat(
|
|
194
|
+
"Compression algorithm not supported: ", algo_name_view));
|
|
195
|
+
}
|
|
181
196
|
// Try to decompress the payload.
|
|
182
197
|
std::optional<uint32_t> max_output_size = IsMessageSizeRefactoringEnabled()
|
|
183
198
|
? args.max_recv_message_length
|
|
@@ -20,11 +20,11 @@
|
|
|
20
20
|
#include <grpc/support/port_platform.h>
|
|
21
21
|
#include <stddef.h>
|
|
22
22
|
|
|
23
|
+
#include "src/core/call/evaluate_args.h"
|
|
23
24
|
#include "src/core/lib/channel/channel_args.h"
|
|
24
25
|
#include "src/core/lib/channel/channel_fwd.h"
|
|
25
26
|
#include "src/core/lib/channel/promise_based_filter.h"
|
|
26
27
|
#include "src/core/lib/promise/arena_promise.h"
|
|
27
|
-
#include "src/core/lib/security/authorization/evaluate_args.h"
|
|
28
28
|
#include "src/core/lib/security/authorization/grpc_authorization_engine.h"
|
|
29
29
|
#include "src/core/lib/security/authorization/rbac_policy.h"
|
|
30
30
|
#include "src/core/lib/transport/transport.h"
|
|
@@ -110,7 +110,7 @@ void NullThenSchedClosure(const DebugLocation& location, grpc_closure** closure,
|
|
|
110
110
|
void Chttp2Connector::Connect(const Args& args, Result* result,
|
|
111
111
|
grpc_closure* notify) {
|
|
112
112
|
{
|
|
113
|
-
MutexLock lock(
|
|
113
|
+
MutexLock lock(mu_);
|
|
114
114
|
GRPC_CHECK_EQ(notify_, nullptr);
|
|
115
115
|
args_ = args;
|
|
116
116
|
result_ = result;
|
|
@@ -155,7 +155,7 @@ void Chttp2Connector::Connect(const Args& args, Result* result,
|
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
void Chttp2Connector::Shutdown(grpc_error_handle error) {
|
|
158
|
-
MutexLock lock(
|
|
158
|
+
MutexLock lock(mu_);
|
|
159
159
|
shutdown_ = true;
|
|
160
160
|
if (handshake_mgr_ != nullptr) {
|
|
161
161
|
// Handshaker will also shutdown the endpoint if it exists
|
|
@@ -164,7 +164,7 @@ void Chttp2Connector::Shutdown(grpc_error_handle error) {
|
|
|
164
164
|
}
|
|
165
165
|
|
|
166
166
|
void Chttp2Connector::OnHandshakeDone(absl::StatusOr<HandshakerArgs*> result) {
|
|
167
|
-
MutexLock lock(
|
|
167
|
+
MutexLock lock(mu_);
|
|
168
168
|
if (!result.ok() || shutdown_) {
|
|
169
169
|
if (result.ok()) {
|
|
170
170
|
result = GRPC_ERROR_CREATE("connector shutdown");
|
|
@@ -261,7 +261,7 @@ void Chttp2Connector::OnHandshakeDone(absl::StatusOr<HandshakerArgs*> result) {
|
|
|
261
261
|
|
|
262
262
|
void Chttp2Connector::OnReceiveSettings(
|
|
263
263
|
absl::StatusOr<uint32_t> max_concurrent_streams) {
|
|
264
|
-
MutexLock lock(
|
|
264
|
+
MutexLock lock(mu_);
|
|
265
265
|
if (max_concurrent_streams.ok()) {
|
|
266
266
|
result_->max_concurrent_streams = *max_concurrent_streams;
|
|
267
267
|
}
|
|
@@ -287,7 +287,7 @@ void Chttp2Connector::OnReceiveSettings(
|
|
|
287
287
|
}
|
|
288
288
|
|
|
289
289
|
void Chttp2Connector::OnTimeout() {
|
|
290
|
-
MutexLock lock(
|
|
290
|
+
MutexLock lock(mu_);
|
|
291
291
|
timer_handle_.reset();
|
|
292
292
|
if (!notify_error_.has_value()) {
|
|
293
293
|
// The transport did not receive the settings frame in time. Destroy the
|
|
@@ -508,7 +508,7 @@ grpc_error_handle NewChttp2ServerListener::Create(
|
|
|
508
508
|
// number.
|
|
509
509
|
listener->resolved_address_ = iomgr_addr;
|
|
510
510
|
{
|
|
511
|
-
MutexLock lock(
|
|
511
|
+
MutexLock lock(listener->mu_);
|
|
512
512
|
listener->add_port_on_start_ = true;
|
|
513
513
|
}
|
|
514
514
|
} else {
|
|
@@ -583,7 +583,7 @@ void NewChttp2ServerListener::Start() {
|
|
|
583
583
|
bool should_add_port = false;
|
|
584
584
|
grpc_tcp_server* tcp_server = nullptr;
|
|
585
585
|
{
|
|
586
|
-
MutexLock lock(
|
|
586
|
+
MutexLock lock(mu_);
|
|
587
587
|
if (!shutdown_) {
|
|
588
588
|
should_add_port = std::exchange(add_port_on_start_, false);
|
|
589
589
|
// Hold a ref while we start the server
|
|
@@ -612,7 +612,7 @@ void NewChttp2ServerListener::Start() {
|
|
|
612
612
|
}
|
|
613
613
|
|
|
614
614
|
void NewChttp2ServerListener::SetOnDestroyDone(grpc_closure* on_destroy_done) {
|
|
615
|
-
MutexLock lock(
|
|
615
|
+
MutexLock lock(mu_);
|
|
616
616
|
on_destroy_done_ = on_destroy_done;
|
|
617
617
|
}
|
|
618
618
|
|
|
@@ -635,7 +635,8 @@ void NewChttp2ServerListener::OnAccept(
|
|
|
635
635
|
}
|
|
636
636
|
RefCountedPtr<MitigationEngine> mitigation_engine = self->mitigation_engine();
|
|
637
637
|
if (mitigation_engine != nullptr) {
|
|
638
|
-
auto action = mitigation_engine->EvaluateIncomingConnection(
|
|
638
|
+
auto action = mitigation_engine->EvaluateIncomingConnection(
|
|
639
|
+
MitigationEngine::EvaluateArgs(peer, endpoint.get()));
|
|
639
640
|
if (action == MitigationEngine::Action::kCloseConnection) {
|
|
640
641
|
LOG_EVERY_N_SEC(INFO, 60)
|
|
641
642
|
<< "Mitigation engine rejected connection from " << peer;
|
|
@@ -651,7 +652,7 @@ void NewChttp2ServerListener::OnAccept(
|
|
|
651
652
|
// tcp_server but this ref is given away when the listener is orphaned
|
|
652
653
|
// (shutdown). A connection needs the tcp_server to outlast the handshake
|
|
653
654
|
// since the acceptor needs it.
|
|
654
|
-
MutexLock lock(
|
|
655
|
+
MutexLock lock(self->mu_);
|
|
655
656
|
if (self->shutdown_) {
|
|
656
657
|
self->listener_state_->connection_quota()->ReleaseConnections(1);
|
|
657
658
|
return;
|
|
@@ -690,7 +691,7 @@ void NewChttp2ServerListener::TcpServerShutdownComplete(
|
|
|
690
691
|
void NewChttp2ServerListener::Orphan() {
|
|
691
692
|
grpc_tcp_server* tcp_server;
|
|
692
693
|
{
|
|
693
|
-
MutexLock lock(
|
|
694
|
+
MutexLock lock(mu_);
|
|
694
695
|
shutdown_ = true;
|
|
695
696
|
tcp_server = tcp_server_;
|
|
696
697
|
}
|
|
@@ -801,17 +802,22 @@ absl::StatusOr<int> Chttp2ServerAddPort(Server* server, const char* addr,
|
|
|
801
802
|
|
|
802
803
|
namespace experimental {
|
|
803
804
|
|
|
805
|
+
void PassiveListenerImpl::Init(RefCountedPtr<Server> server,
|
|
806
|
+
NewChttp2ServerListener* listener) {
|
|
807
|
+
MutexLock lock(mu_);
|
|
808
|
+
server_ = std::move(server);
|
|
809
|
+
listener_ = listener;
|
|
810
|
+
}
|
|
811
|
+
|
|
804
812
|
absl::Status PassiveListenerImpl::AcceptConnectedEndpoint(
|
|
805
813
|
std::unique_ptr<EventEngine::Endpoint> endpoint) {
|
|
806
|
-
GRPC_CHECK_NE(server_.get(), nullptr);
|
|
807
814
|
RefCountedPtr<NewChttp2ServerListener> new_listener;
|
|
808
815
|
{
|
|
809
|
-
MutexLock lock(
|
|
810
|
-
|
|
811
|
-
if (
|
|
812
|
-
new_listener =
|
|
813
|
-
|
|
814
|
-
.TakeAsSubclass<NewChttp2ServerListener>();
|
|
816
|
+
MutexLock lock(mu_);
|
|
817
|
+
GRPC_CHECK_NE(server_.get(), nullptr);
|
|
818
|
+
if (listener_ != nullptr) {
|
|
819
|
+
new_listener =
|
|
820
|
+
listener_->RefIfNonZero().TakeAsSubclass<NewChttp2ServerListener>();
|
|
815
821
|
}
|
|
816
822
|
}
|
|
817
823
|
if (new_listener == nullptr) {
|
|
@@ -823,9 +829,13 @@ absl::Status PassiveListenerImpl::AcceptConnectedEndpoint(
|
|
|
823
829
|
}
|
|
824
830
|
|
|
825
831
|
absl::Status PassiveListenerImpl::AcceptConnectedFd(int fd) {
|
|
826
|
-
GRPC_CHECK_NE(server_.get(), nullptr);
|
|
827
832
|
ExecCtx exec_ctx;
|
|
828
|
-
|
|
833
|
+
ChannelArgs args;
|
|
834
|
+
{
|
|
835
|
+
MutexLock lock(mu_);
|
|
836
|
+
GRPC_CHECK_NE(server_.get(), nullptr);
|
|
837
|
+
args = server_->channel_args();
|
|
838
|
+
}
|
|
829
839
|
auto* supports_fd = QueryExtension<EventEngineSupportsFdExtension>(
|
|
830
840
|
args.GetObjectRef<EventEngine>().get());
|
|
831
841
|
if (supports_fd == nullptr) {
|
|
@@ -842,8 +852,8 @@ absl::Status PassiveListenerImpl::AcceptConnectedFd(int fd) {
|
|
|
842
852
|
}
|
|
843
853
|
|
|
844
854
|
void PassiveListenerImpl::ListenerDestroyed() {
|
|
845
|
-
MutexLock lock(
|
|
846
|
-
listener_ =
|
|
855
|
+
MutexLock lock(mu_);
|
|
856
|
+
listener_ = nullptr;
|
|
847
857
|
}
|
|
848
858
|
|
|
849
859
|
} // namespace experimental
|
|
@@ -953,10 +963,9 @@ absl::Status grpc_server_add_passive_listener(
|
|
|
953
963
|
.SetObject(std::move(sc))
|
|
954
964
|
.Set(GRPC_ARG_USE_V3_STACK,
|
|
955
965
|
grpc_core::http2::ShouldEnablePh2Server());
|
|
956
|
-
passive_listener->
|
|
966
|
+
passive_listener->Init(
|
|
967
|
+
server->Ref(),
|
|
957
968
|
grpc_core::NewChttp2ServerListener::CreateForPassiveListener(
|
|
958
|
-
server, args, passive_listener);
|
|
959
|
-
|
|
960
|
-
passive_listener->server_ = server->Ref();
|
|
969
|
+
server, args, passive_listener));
|
|
961
970
|
return absl::OkStatus();
|
|
962
971
|
}
|
|
@@ -46,8 +46,6 @@ struct AcceptorDeleter {
|
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
48
|
|
|
49
|
-
class Chttp2ServerListener;
|
|
50
|
-
|
|
51
49
|
namespace testing {
|
|
52
50
|
class Chttp2ServerListenerTestPeer;
|
|
53
51
|
class ActiveConnectionTestPeer;
|
|
@@ -239,6 +237,9 @@ namespace experimental {
|
|
|
239
237
|
// details.
|
|
240
238
|
class PassiveListenerImpl final : public PassiveListener {
|
|
241
239
|
public:
|
|
240
|
+
// Called by grpc_server_add_passive_listener().
|
|
241
|
+
void Init(RefCountedPtr<Server> server, NewChttp2ServerListener* listener);
|
|
242
|
+
|
|
242
243
|
absl::Status AcceptConnectedEndpoint(
|
|
243
244
|
std::unique_ptr<grpc_event_engine::experimental::EventEngine::Endpoint>
|
|
244
245
|
endpoint) override ABSL_LOCKS_EXCLUDED(mu_);
|
|
@@ -249,17 +250,10 @@ class PassiveListenerImpl final : public PassiveListener {
|
|
|
249
250
|
void ListenerDestroyed() ABSL_LOCKS_EXCLUDED(mu_);
|
|
250
251
|
|
|
251
252
|
private:
|
|
252
|
-
// note: the grpc_core::Server redundant namespace qualification is
|
|
253
|
-
// required for older gcc versions.
|
|
254
|
-
friend absl::Status(::grpc_server_add_passive_listener)(
|
|
255
|
-
grpc_core::Server* server, grpc_server_credentials* credentials,
|
|
256
|
-
std::shared_ptr<grpc_core::experimental::PassiveListenerImpl>
|
|
257
|
-
passive_listener);
|
|
258
|
-
|
|
259
253
|
Mutex mu_;
|
|
260
254
|
// Data members will be populated when initialized.
|
|
261
|
-
RefCountedPtr<Server> server_;
|
|
262
|
-
|
|
255
|
+
RefCountedPtr<Server> server_ ABSL_GUARDED_BY(mu_);
|
|
256
|
+
NewChttp2ServerListener* listener_ ABSL_GUARDED_BY(mu_) = nullptr;
|
|
263
257
|
};
|
|
264
258
|
|
|
265
259
|
} // namespace experimental
|
|
@@ -684,13 +684,14 @@ grpc_chttp2_transport::ChannelzDataSource::GetZTrace(absl::string_view name) {
|
|
|
684
684
|
}
|
|
685
685
|
|
|
686
686
|
// TODO(alishananda): add unit testing as part of chttp2 promise conversion work
|
|
687
|
-
void grpc_chttp2_transport::WriteSecurityFrame(grpc_core::SliceBuffer
|
|
687
|
+
void grpc_chttp2_transport::WriteSecurityFrame(grpc_core::SliceBuffer data) {
|
|
688
688
|
grpc_core::ExecCtx exec_ctx;
|
|
689
|
-
combiner->Run(
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
689
|
+
combiner->Run(
|
|
690
|
+
grpc_core::NewClosure([transport = Ref(), data = std::move(data)](
|
|
691
|
+
grpc_error_handle) mutable {
|
|
692
|
+
transport->WriteSecurityFrameLocked(&data);
|
|
693
|
+
}),
|
|
694
|
+
absl::OkStatus());
|
|
694
695
|
}
|
|
695
696
|
|
|
696
697
|
void grpc_chttp2_transport::WriteSecurityFrameLocked(
|
|
@@ -747,6 +748,7 @@ grpc_chttp2_transport::grpc_chttp2_transport(
|
|
|
747
748
|
&memory_owner),
|
|
748
749
|
deframe_state(is_client ? GRPC_DTS_FH_0 : GRPC_DTS_CLIENT_PREFIX_0),
|
|
749
750
|
is_client(is_client),
|
|
751
|
+
auth_context(channel_args.GetObject<grpc_auth_context>()),
|
|
750
752
|
mitigation_engine([&]() {
|
|
751
753
|
auto* provider =
|
|
752
754
|
channel_args.GetObject<grpc_core::MitigationEngineProvider>();
|
|
@@ -778,7 +780,9 @@ grpc_chttp2_transport::grpc_chttp2_transport(
|
|
|
778
780
|
ep.get()));
|
|
779
781
|
if (transport_framing_endpoint_extension != nullptr) {
|
|
780
782
|
transport_framing_endpoint_extension->SetSendFrameCallback(
|
|
781
|
-
[this](grpc_core::SliceBuffer
|
|
783
|
+
[this](grpc_core::SliceBuffer data) {
|
|
784
|
+
WriteSecurityFrame(std::move(data));
|
|
785
|
+
});
|
|
782
786
|
}
|
|
783
787
|
}
|
|
784
788
|
|
|
@@ -830,7 +834,6 @@ grpc_chttp2_transport::grpc_chttp2_transport(
|
|
|
830
834
|
grpc_core::test_only_init_callback();
|
|
831
835
|
}
|
|
832
836
|
|
|
833
|
-
grpc_auth_context* auth_context = channel_args.GetObject<grpc_auth_context>();
|
|
834
837
|
http2_stats = grpc_core::CreateHttp2StatsCollector(auth_context);
|
|
835
838
|
hpack_parser.hpack_table()->SetHttp2StatsCollector(http2_stats);
|
|
836
839
|
|
|
@@ -959,7 +962,7 @@ static void close_transport_locked(grpc_chttp2_transport* t,
|
|
|
959
962
|
t->ep.get(), t->interested_parties_until_recv_settings);
|
|
960
963
|
t->interested_parties_until_recv_settings = nullptr;
|
|
961
964
|
}
|
|
962
|
-
grpc_core::MutexLock lock(
|
|
965
|
+
grpc_core::MutexLock lock(t->ep_destroy_mu);
|
|
963
966
|
t->ep.reset();
|
|
964
967
|
}
|
|
965
968
|
t->MaybeNotifyOnReceiveSettingsLocked(error);
|
|
@@ -3447,7 +3450,7 @@ void grpc_chttp2_transport::SetPollset(grpc_stream* /*gs*/,
|
|
|
3447
3450
|
// using the "poll" polling engine, which is the only one that
|
|
3448
3451
|
// actually uses pollsets.
|
|
3449
3452
|
if (strcmp(grpc_get_poll_strategy_name(), "poll") != 0) return;
|
|
3450
|
-
grpc_core::MutexLock lock(
|
|
3453
|
+
grpc_core::MutexLock lock(ep_destroy_mu);
|
|
3451
3454
|
if (ep != nullptr) grpc_endpoint_add_to_pollset(ep.get(), pollset);
|
|
3452
3455
|
}
|
|
3453
3456
|
|
|
@@ -3457,7 +3460,7 @@ void grpc_chttp2_transport::SetPollsetSet(grpc_stream* /*gs*/,
|
|
|
3457
3460
|
// using the "poll" polling engine, which is the only one that
|
|
3458
3461
|
// actually uses pollsets.
|
|
3459
3462
|
if (strcmp(grpc_get_poll_strategy_name(), "poll") != 0) return;
|
|
3460
|
-
grpc_core::MutexLock lock(
|
|
3463
|
+
grpc_core::MutexLock lock(ep_destroy_mu);
|
|
3461
3464
|
if (ep != nullptr) grpc_endpoint_add_to_pollset_set(ep.get(), pollset_set);
|
|
3462
3465
|
}
|
|
3463
3466
|
|
|
@@ -409,6 +409,7 @@ FlowControlAction StreamFlowControl::UpdateAction(FlowControlAction action) {
|
|
|
409
409
|
void StreamFlowControl::IncomingUpdateContext::HackIncrementPendingSize(
|
|
410
410
|
int64_t pending_size) {
|
|
411
411
|
GRPC_CHECK_GE(pending_size, 0);
|
|
412
|
+
SetMinProgressSize(1u);
|
|
412
413
|
if (sfc_->pending_size_.has_value()) {
|
|
413
414
|
int64_t final_size = Clamp(sfc_->pending_size_.value() + pending_size,
|
|
414
415
|
int64_t{0}, kMaxWindowUpdateSize);
|
|
@@ -58,10 +58,6 @@ static constexpr const uint32_t kMaxInitialWindowSize = (1u << 30);
|
|
|
58
58
|
static constexpr const int64_t kMaxWindowDelta = (1u << 20);
|
|
59
59
|
static constexpr const int kDefaultPreferredRxCryptoFrameSize = INT_MAX;
|
|
60
60
|
|
|
61
|
-
// TODO(tjagtap) [PH2][P2][BDP] Remove this static sleep when the BDP code is
|
|
62
|
-
// done. This needs to be dynamic.
|
|
63
|
-
constexpr Duration kFlowControlPeriodicUpdateTimer = Duration::Seconds(8);
|
|
64
|
-
|
|
65
61
|
class TransportFlowControl;
|
|
66
62
|
class StreamFlowControl;
|
|
67
63
|
|
|
@@ -415,6 +415,8 @@ inline constexpr absl::string_view kIdleStreamError =
|
|
|
415
415
|
"Stream Idle : Receiving any frame other than HEADERS or PRIORITY on a "
|
|
416
416
|
"stream in this state MUST be treated as a connection error of type "
|
|
417
417
|
"PROTOCOL_ERROR.";
|
|
418
|
+
inline constexpr absl::string_view kMaxConcurrentStreamsExceeded =
|
|
419
|
+
"Exceeded MAX_CONCURRENT_STREAMS limit.";
|
|
418
420
|
|
|
419
421
|
inline constexpr uint32_t kMaxStreamId31Bit = 0x7fffffffu;
|
|
420
422
|
inline constexpr uint32_t kMaxSize31Bit = 0x7fffffffu;
|
|
@@ -445,6 +447,13 @@ inline constexpr absl::string_view kFailedToEnqueueStream =
|
|
|
445
447
|
"gRPC Transport Error : Failed to enqueue stream to writable stream list";
|
|
446
448
|
inline constexpr absl::string_view kStreamCreationFailed =
|
|
447
449
|
"gRPC Transport Error : Stream creation failed";
|
|
450
|
+
inline constexpr absl::string_view kTransportUnderHighMemoryPressure =
|
|
451
|
+
"gRPC Stream Error : Server is under memory pressure. Stream rejected.";
|
|
452
|
+
inline constexpr absl::string_view kRejectStreamBeforeSettingsAck =
|
|
453
|
+
"gRPC Stream Error : Rejecting stream before settings have been "
|
|
454
|
+
"acknowledged.";
|
|
455
|
+
inline constexpr absl::string_view kRejectStreamOverload =
|
|
456
|
+
"Rejecting stream due to overload protection.";
|
|
448
457
|
|
|
449
458
|
inline constexpr uint32_t kDefaultMaxPendingInducedFrames = 10000u;
|
|
450
459
|
|