grpc 1.55.0 → 1.58.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Makefile +783 -492
- data/include/grpc/event_engine/event_engine.h +26 -36
- data/include/grpc/event_engine/memory_allocator.h +2 -2
- data/include/grpc/grpc_audit_logging.h +96 -0
- data/include/grpc/grpc_security.h +19 -0
- data/include/grpc/impl/channel_arg_names.h +371 -0
- data/include/grpc/impl/grpc_types.h +1 -350
- data/include/grpc/module.modulemap +3 -0
- data/include/grpc/support/json.h +218 -0
- data/include/grpc/support/port_platform.h +29 -23
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +6 -1
- data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +2 -1
- data/src/core/ext/filters/client_channel/backend_metric.cc +2 -0
- data/src/core/ext/filters/client_channel/channel_connectivity.cc +4 -4
- data/src/core/ext/filters/client_channel/client_channel.cc +137 -115
- data/src/core/ext/filters/client_channel/client_channel.h +6 -0
- data/src/core/ext/filters/client_channel/client_channel_channelz.cc +19 -18
- data/src/core/ext/filters/client_channel/client_channel_internal.h +16 -21
- data/src/core/ext/filters/client_channel/config_selector.h +9 -24
- data/src/core/ext/filters/client_channel/dynamic_filters.h +3 -3
- data/src/core/ext/filters/client_channel/http_proxy.cc +6 -1
- data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +27 -53
- data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +23 -9
- data/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h +3 -0
- data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +25 -35
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +84 -136
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +2 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +4 -3
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +3 -1
- data/src/core/ext/filters/client_channel/lb_policy/health_check_client.cc +480 -0
- data/src/core/ext/filters/client_channel/lb_policy/health_check_client.h +52 -0
- data/src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h +202 -0
- data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +6 -9
- data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h +2 -0
- data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +132 -74
- data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +9 -2
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +168 -104
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.h +20 -0
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +14 -43
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +22 -14
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +18 -1
- data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +33 -88
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +7 -5
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +57 -22
- data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc +76 -6
- data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc +53 -43
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +17 -52
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +55 -114
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +8 -0
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +32 -83
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +21 -67
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +62 -133
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +23 -62
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +24 -93
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +2 -5
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +102 -11
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +44 -37
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +4 -1
- data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_plugin.cc +6 -0
- data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +135 -73
- data/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +28 -27
- data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +10 -4
- data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +1 -0
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +25 -13
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +428 -256
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +32 -1
- data/src/core/ext/filters/client_channel/retry_filter.cc +39 -2498
- data/src/core/ext/filters/client_channel/retry_filter.h +92 -1
- data/src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc +2052 -0
- data/src/core/ext/filters/client_channel/retry_filter_legacy_call_data.h +442 -0
- data/src/core/ext/filters/client_channel/retry_service_config.cc +2 -1
- data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +40 -90
- data/src/core/ext/filters/client_channel/subchannel.cc +17 -199
- data/src/core/ext/filters/client_channel/subchannel.h +14 -48
- data/src/core/ext/filters/client_channel/subchannel_interface_internal.h +3 -0
- data/src/core/ext/filters/deadline/deadline_filter.cc +1 -1
- data/src/core/ext/filters/http/client/http_client_filter.cc +1 -0
- data/src/core/ext/filters/http/client_authority_filter.cc +1 -1
- data/src/core/ext/filters/http/message_compress/compression_filter.cc +6 -5
- data/src/core/ext/filters/http/server/http_server_filter.cc +1 -1
- data/src/core/ext/filters/message_size/message_size_filter.cc +1 -0
- data/src/core/ext/filters/rbac/rbac_filter.cc +40 -111
- data/src/core/ext/filters/rbac/rbac_filter.h +12 -30
- data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +94 -3
- data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +6 -8
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +164 -88
- data/src/core/ext/filters/stateful_session/stateful_session_filter.h +16 -7
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +1 -0
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +15 -16
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +463 -519
- data/src/core/ext/transport/chttp2/transport/decode_huff.cc +6569 -174
- data/src/core/ext/transport/chttp2/transport/decode_huff.h +2278 -441
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +46 -95
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +6 -20
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +176 -0
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +326 -0
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +631 -547
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +157 -11
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +47 -33
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +19 -5
- data/src/core/ext/transport/chttp2/transport/internal.h +39 -76
- data/src/core/ext/transport/chttp2/transport/parsing.cc +43 -22
- data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.cc +80 -0
- data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.h +55 -0
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +98 -0
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +73 -0
- data/src/core/ext/transport/chttp2/transport/writing.cc +82 -91
- data/src/core/ext/transport/inproc/inproc_transport.cc +1 -0
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +27 -6
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +143 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +2 -9
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +0 -39
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +13 -8
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +35 -6
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +17 -13
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +85 -20
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +26 -7
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +45 -3
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +4 -3
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +21 -0
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +30 -6
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +180 -0
- data/src/core/ext/upb-generated/envoy/data/accesslog/v3/accesslog.upb.c +558 -0
- data/src/core/ext/upb-generated/envoy/data/accesslog/v3/accesslog.upb.h +2710 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +30 -11
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +53 -24
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +30 -5
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +110 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +41 -15
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +150 -27
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.c +47 -0
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +93 -0
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +11 -2
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +15 -0
- data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +88 -76
- data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +11 -12
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +0 -5
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +162 -160
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +129 -118
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +141 -135
- data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +19 -12
- data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +38 -30
- data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/data/accesslog/v3/accesslog.upbdefs.c +402 -0
- data/src/core/ext/upbdefs-generated/envoy/data/accesslog/v3/accesslog.upbdefs.h +111 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +80 -74
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +63 -47
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +315 -293
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +29 -29
- data/src/core/ext/xds/certificate_provider_store.cc +4 -9
- data/src/core/ext/xds/certificate_provider_store.h +1 -1
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +30 -42
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +14 -9
- data/src/core/ext/xds/xds_api.cc +9 -6
- data/src/core/ext/xds/xds_api.h +3 -2
- data/src/core/ext/xds/xds_audit_logger_registry.cc +122 -0
- data/src/core/ext/xds/xds_audit_logger_registry.h +68 -0
- data/src/core/ext/xds/xds_bootstrap_grpc.cc +51 -36
- data/src/core/ext/xds/xds_bootstrap_grpc.h +10 -13
- data/src/core/ext/xds/xds_client.cc +5 -4
- data/src/core/ext/xds/xds_client_grpc.cc +12 -6
- data/src/core/ext/xds/xds_client_grpc.h +16 -2
- data/src/core/ext/xds/xds_client_stats.h +11 -1
- data/src/core/ext/xds/xds_cluster.cc +46 -35
- data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +11 -8
- data/src/core/ext/xds/xds_common_types.cc +3 -1
- data/src/core/ext/xds/xds_endpoint.cc +4 -7
- data/src/core/ext/xds/xds_health_status.cc +0 -17
- data/src/core/ext/xds/xds_health_status.h +5 -25
- data/src/core/ext/xds/xds_http_fault_filter.cc +14 -12
- data/src/core/ext/xds/xds_http_rbac_filter.cc +147 -65
- data/src/core/ext/xds/xds_http_stateful_session_filter.cc +13 -10
- data/src/core/ext/xds/xds_lb_policy_registry.cc +58 -16
- data/src/core/ext/xds/xds_listener.cc +1 -0
- data/src/core/ext/xds/xds_route_config.cc +44 -3
- data/src/core/ext/xds/xds_transport_grpc.cc +2 -1
- data/src/core/lib/address_utils/parse_address.cc +63 -1
- data/src/core/lib/address_utils/parse_address.h +8 -0
- data/src/core/lib/address_utils/sockaddr_utils.cc +46 -1
- data/src/core/lib/address_utils/sockaddr_utils.h +2 -2
- data/src/core/lib/avl/avl.h +15 -173
- data/src/core/lib/backoff/random_early_detection.h +5 -0
- data/src/core/lib/channel/call_tracer.cc +289 -0
- data/src/core/lib/channel/call_tracer.h +35 -0
- data/src/core/lib/channel/channel_args.cc +120 -46
- data/src/core/lib/channel/channel_args.h +52 -4
- data/src/core/lib/channel/channel_trace.cc +16 -12
- data/src/core/lib/channel/channelz.cc +159 -132
- data/src/core/lib/channel/channelz.h +42 -35
- data/src/core/lib/channel/channelz_registry.cc +23 -20
- data/src/core/lib/channel/connected_channel.cc +21 -8
- data/src/core/lib/channel/promise_based_filter.cc +4 -5
- data/src/core/lib/channel/promise_based_filter.h +3 -0
- data/src/core/lib/compression/compression_internal.cc +8 -7
- data/src/core/lib/config/config_vars.cc +20 -18
- data/src/core/lib/config/config_vars.h +4 -4
- data/src/core/lib/config/load_config.cc +13 -0
- data/src/core/lib/config/load_config.h +6 -0
- data/src/core/lib/debug/event_log.h +1 -1
- data/src/core/lib/debug/stats_data.cc +93 -21
- data/src/core/lib/debug/stats_data.h +42 -1
- data/src/core/lib/debug/trace.cc +21 -55
- data/src/core/lib/debug/trace.h +3 -1
- data/src/core/lib/event_engine/ares_resolver.cc +712 -0
- data/src/core/lib/event_engine/ares_resolver.h +150 -0
- data/src/core/lib/event_engine/cf_engine/cf_engine.cc +218 -0
- data/src/core/lib/event_engine/cf_engine/cf_engine.h +86 -0
- data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +354 -0
- data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +146 -0
- data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +79 -0
- data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +229 -0
- data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +117 -0
- data/src/core/lib/event_engine/default_event_engine.cc +13 -1
- data/src/core/lib/event_engine/default_event_engine_factory.cc +14 -2
- data/src/core/lib/event_engine/event_engine.cc +0 -12
- data/src/core/lib/event_engine/forkable.cc +62 -43
- data/src/core/lib/event_engine/forkable.h +15 -0
- data/src/core/lib/event_engine/grpc_polled_fd.h +73 -0
- data/src/core/lib/event_engine/handle_containers.h +0 -4
- data/src/core/lib/event_engine/poller.h +2 -2
- data/src/core/lib/event_engine/posix.h +4 -0
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +5 -7
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +29 -9
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +10 -1
- data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +197 -0
- data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +7 -18
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +28 -14
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +12 -1
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +82 -21
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +22 -14
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +70 -31
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +12 -8
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +4 -2
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +43 -2
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +6 -0
- data/src/core/lib/event_engine/posix_engine/timer.h +10 -37
- data/src/core/lib/event_engine/posix_engine/timer_manager.h +1 -1
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +2 -0
- data/src/core/lib/event_engine/shim.cc +7 -1
- data/src/core/lib/event_engine/tcp_socket_utils.cc +67 -7
- data/src/core/lib/event_engine/tcp_socket_utils.h +3 -0
- data/src/core/lib/event_engine/{thread_pool.cc → thread_pool/original_thread_pool.cc} +28 -25
- data/src/core/lib/event_engine/{thread_pool.h → thread_pool/original_thread_pool.h} +11 -15
- data/src/core/lib/event_engine/thread_pool/thread_count.cc +58 -0
- data/src/core/lib/event_engine/thread_pool/thread_count.h +161 -0
- data/src/core/lib/event_engine/{executor/executor.h → thread_pool/thread_pool.h} +21 -9
- data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +47 -0
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +517 -0
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +223 -0
- data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +157 -0
- data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +104 -0
- data/src/core/lib/event_engine/windows/iocp.cc +4 -3
- data/src/core/lib/event_engine/windows/iocp.h +3 -3
- data/src/core/lib/event_engine/windows/win_socket.cc +6 -6
- data/src/core/lib/event_engine/windows/win_socket.h +4 -4
- data/src/core/lib/event_engine/windows/windows_endpoint.cc +60 -59
- data/src/core/lib/event_engine/windows/windows_endpoint.h +17 -13
- data/src/core/lib/event_engine/windows/windows_engine.cc +21 -18
- data/src/core/lib/event_engine/windows/windows_engine.h +14 -18
- data/src/core/lib/event_engine/windows/windows_listener.cc +3 -3
- data/src/core/lib/event_engine/windows/windows_listener.h +3 -2
- data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +63 -0
- data/src/core/lib/event_engine/work_queue/basic_work_queue.h +71 -0
- data/src/core/lib/event_engine/work_queue/work_queue.h +62 -0
- data/src/core/lib/experiments/config.cc +112 -29
- data/src/core/lib/experiments/config.h +33 -5
- data/src/core/lib/experiments/experiments.cc +226 -64
- data/src/core/lib/experiments/experiments.h +93 -30
- data/src/core/lib/gpr/log_internal.h +55 -0
- data/src/core/lib/gprpp/crash.cc +10 -0
- data/src/core/lib/gprpp/crash.h +3 -0
- data/src/core/lib/gprpp/dual_ref_counted.h +9 -9
- data/src/core/lib/gprpp/fork.cc +8 -9
- data/src/core/lib/gprpp/fork.h +6 -5
- data/src/core/lib/gprpp/if_list.h +4530 -0
- data/src/core/lib/gprpp/orphanable.h +3 -3
- data/src/core/lib/gprpp/per_cpu.cc +33 -0
- data/src/core/lib/gprpp/per_cpu.h +29 -6
- data/src/core/lib/gprpp/ref_counted.h +9 -7
- data/src/core/lib/gprpp/ref_counted_string.cc +44 -0
- data/src/core/lib/gprpp/ref_counted_string.h +146 -0
- data/src/core/lib/gprpp/sorted_pack.h +3 -12
- data/src/core/lib/gprpp/status_helper.h +16 -15
- data/src/core/lib/gprpp/time.cc +1 -0
- data/src/core/lib/gprpp/time.h +13 -1
- data/src/core/lib/gprpp/type_list.h +32 -0
- data/src/core/lib/gprpp/work_serializer.cc +36 -0
- data/src/core/lib/gprpp/work_serializer.h +5 -0
- data/src/core/lib/http/httpcli.h +6 -9
- data/src/core/lib/http/httpcli_security_connector.cc +1 -0
- data/src/core/lib/iomgr/buffer_list.cc +2 -0
- data/src/core/lib/iomgr/cfstream_handle.cc +1 -1
- data/src/core/lib/iomgr/endpoint_cfstream.cc +10 -8
- data/src/core/lib/iomgr/error.cc +32 -2
- data/src/core/lib/iomgr/error.h +9 -10
- data/src/core/lib/iomgr/ev_apple.cc +12 -12
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +15 -10
- data/src/core/lib/iomgr/ev_poll_posix.cc +6 -5
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +22 -23
- data/src/core/lib/iomgr/exec_ctx.h +11 -0
- data/src/core/lib/iomgr/iocp_windows.cc +24 -3
- data/src/core/lib/iomgr/iocp_windows.h +11 -0
- data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +1 -1
- data/src/core/lib/iomgr/pollset.h +4 -5
- data/src/core/lib/iomgr/port.h +10 -0
- data/src/core/lib/iomgr/resolve_address.cc +13 -1
- data/src/core/lib/iomgr/resolve_address.h +17 -3
- data/src/core/lib/iomgr/sockaddr_posix.h +7 -0
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +33 -2
- data/src/core/lib/iomgr/socket_utils_posix.cc +2 -0
- data/src/core/lib/iomgr/socket_utils_posix.h +6 -0
- data/src/core/lib/iomgr/socket_windows.cc +61 -7
- data/src/core/lib/iomgr/socket_windows.h +9 -2
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +14 -3
- data/src/core/lib/iomgr/tcp_client_posix.cc +4 -1
- data/src/core/lib/iomgr/tcp_posix.cc +24 -7
- data/src/core/lib/iomgr/tcp_server_posix.cc +184 -120
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +13 -1
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +26 -2
- data/src/core/lib/iomgr/tcp_server_windows.cc +1 -1
- data/src/core/lib/iomgr/tcp_windows.cc +1 -3
- data/src/core/lib/iomgr/vsock.cc +59 -0
- data/src/core/lib/iomgr/vsock.h +38 -0
- data/src/core/lib/iomgr/wakeup_fd_posix.h +3 -6
- data/src/core/lib/json/json.h +2 -166
- data/src/core/lib/json/json_object_loader.cc +8 -9
- data/src/core/lib/json/json_object_loader.h +25 -18
- data/src/core/lib/json/json_reader.cc +13 -6
- data/src/core/lib/json/json_util.cc +6 -11
- data/src/core/lib/json/json_writer.cc +7 -8
- data/src/core/lib/load_balancing/delegating_helper.h +115 -0
- data/src/core/lib/load_balancing/lb_policy.h +33 -0
- data/src/core/lib/load_balancing/lb_policy_registry.cc +2 -1
- data/src/core/lib/load_balancing/subchannel_interface.h +6 -0
- data/src/core/lib/matchers/matchers.cc +3 -4
- data/src/core/lib/matchers/matchers.h +2 -1
- data/src/core/lib/promise/activity.cc +5 -0
- data/src/core/lib/promise/activity.h +10 -0
- data/src/core/lib/promise/detail/basic_seq.h +1 -372
- data/src/core/lib/promise/detail/promise_factory.h +1 -1
- data/src/core/lib/promise/detail/seq_state.h +2076 -0
- data/src/core/lib/promise/party.cc +31 -13
- data/src/core/lib/promise/party.h +12 -3
- data/src/core/lib/promise/pipe.h +9 -2
- data/src/core/lib/promise/prioritized_race.h +95 -0
- data/src/core/lib/promise/seq.h +19 -2
- data/src/core/lib/promise/sleep.cc +2 -1
- data/src/core/lib/promise/sleep.h +5 -10
- data/src/core/lib/promise/try_seq.h +34 -2
- data/src/core/lib/resolver/resolver_factory.h +3 -2
- data/src/core/lib/resolver/server_address.cc +9 -102
- data/src/core/lib/resolver/server_address.h +10 -70
- data/src/core/lib/resource_quota/api.cc +1 -0
- data/src/core/lib/resource_quota/arena.cc +2 -0
- data/src/core/lib/resource_quota/arena.h +42 -8
- data/src/core/lib/resource_quota/memory_quota.cc +7 -8
- data/src/core/lib/resource_quota/memory_quota.h +2 -3
- data/src/core/lib/resource_quota/resource_quota.h +1 -0
- data/src/core/lib/security/authorization/audit_logging.cc +98 -0
- data/src/core/lib/security/authorization/audit_logging.h +73 -0
- data/src/core/lib/security/authorization/authorization_policy_provider.h +1 -1
- data/src/core/lib/security/authorization/grpc_authorization_engine.cc +47 -2
- data/src/core/lib/security/authorization/grpc_authorization_engine.h +18 -1
- data/src/core/lib/security/authorization/rbac_policy.cc +36 -4
- data/src/core/lib/security/authorization/rbac_policy.h +19 -2
- data/src/core/lib/security/authorization/stdout_logger.cc +75 -0
- data/src/core/lib/security/authorization/stdout_logger.h +61 -0
- data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +8 -4
- data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +8 -18
- data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +14 -8
- data/src/core/lib/security/credentials/channel_creds_registry.h +51 -27
- data/src/core/lib/security/credentials/channel_creds_registry_init.cc +169 -9
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +1 -1
- data/src/core/lib/security/credentials/composite/composite_credentials.h +3 -1
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +19 -12
- data/src/core/lib/security/credentials/external/aws_request_signer.cc +8 -0
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +44 -3
- data/src/core/lib/security/credentials/external/external_account_credentials.h +6 -0
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +1 -0
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +1 -0
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +30 -38
- data/src/core/lib/security/credentials/fake/fake_credentials.h +28 -0
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +2 -0
- data/src/core/lib/security/credentials/jwt/json_token.cc +32 -14
- data/src/core/lib/security/credentials/jwt/json_token.h +4 -0
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +4 -2
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +43 -0
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +1 -0
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +1 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +4 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +8 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +5 -1
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +2 -1
- data/src/core/lib/security/credentials/tls/tls_credentials.h +3 -1
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +1 -0
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +2 -5
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +1 -0
- data/src/core/lib/security/security_connector/ssl_utils.cc +3 -1
- data/src/core/lib/security/security_connector/ssl_utils.h +1 -1
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +1 -1
- data/src/core/lib/security/transport/client_auth_filter.cc +8 -5
- data/src/core/lib/security/transport/security_handshaker.cc +1 -0
- data/src/core/lib/security/transport/server_auth_filter.cc +2 -0
- data/src/core/lib/security/util/json_util.cc +1 -0
- data/src/core/lib/service_config/service_config_call_data.h +54 -20
- data/src/core/lib/service_config/service_config_impl.cc +2 -1
- data/src/core/lib/slice/slice.h +16 -0
- data/src/core/lib/surface/call.cc +100 -59
- data/src/core/lib/surface/channel.cc +1 -0
- data/src/core/lib/surface/completion_queue.cc +16 -2
- data/src/core/lib/surface/init.cc +1 -0
- data/src/core/lib/surface/server.cc +67 -64
- data/src/core/lib/surface/server.h +1 -15
- data/src/core/lib/surface/validate_metadata.cc +37 -22
- data/src/core/lib/surface/validate_metadata.h +13 -3
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/batch_builder.cc +15 -12
- data/src/core/lib/transport/batch_builder.h +39 -35
- data/src/core/lib/transport/metadata_batch.cc +7 -7
- data/src/core/lib/transport/metadata_batch.h +86 -48
- data/src/core/lib/transport/parsed_metadata.h +34 -20
- data/src/core/lib/transport/simple_slice_based_metadata.h +9 -2
- data/src/core/plugin_registry/grpc_plugin_registry.cc +0 -2
- data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +2 -0
- data/src/core/tsi/alts/crypt/aes_gcm.cc +27 -2
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +4 -6
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +1 -2
- data/src/core/tsi/ssl_transport_security.cc +44 -9
- data/src/core/tsi/ssl_transport_security.h +13 -1
- data/src/ruby/bin/math_pb.rb +24 -18
- data/src/ruby/ext/grpc/extconf.rb +27 -27
- data/src/ruby/ext/grpc/rb_call.c +62 -39
- data/src/ruby/ext/grpc/rb_call_credentials.c +0 -1
- data/src/ruby/ext/grpc/rb_channel.c +109 -84
- data/src/ruby/ext/grpc/rb_channel.h +1 -0
- data/src/ruby/ext/grpc/rb_channel_args.c +16 -2
- data/src/ruby/ext/grpc/rb_channel_args.h +4 -0
- data/src/ruby/ext/grpc/rb_channel_credentials.c +0 -1
- data/src/ruby/ext/grpc/rb_compression_options.c +0 -1
- data/src/ruby/ext/grpc/rb_event_thread.c +22 -6
- data/src/ruby/ext/grpc/rb_event_thread.h +1 -0
- data/src/ruby/ext/grpc/rb_grpc.c +192 -30
- data/src/ruby/ext/grpc/rb_grpc.h +8 -2
- 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/ext/grpc/rb_server.c +62 -45
- data/src/ruby/ext/grpc/rb_server_credentials.c +0 -1
- data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +0 -1
- data/src/ruby/ext/grpc/rb_xds_server_credentials.c +0 -1
- data/src/ruby/lib/grpc/generic/active_call.rb +9 -14
- data/src/ruby/lib/grpc/generic/bidi_call.rb +2 -0
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/grpc/health/v1/health_pb.rb +24 -13
- data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +24 -3
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +25 -111
- data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +25 -2
- data/src/ruby/pb/test/client.rb +16 -0
- data/src/ruby/spec/generic/rpc_server_spec.rb +3 -3
- data/third_party/abseil-cpp/absl/algorithm/container.h +3 -2
- data/third_party/abseil-cpp/absl/base/attributes.h +58 -5
- data/third_party/abseil-cpp/absl/base/call_once.h +1 -1
- data/third_party/abseil-cpp/absl/base/casts.h +8 -8
- data/third_party/abseil-cpp/absl/base/config.h +89 -106
- data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +26 -1
- data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +2 -2
- data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +50 -39
- data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h +2 -1
- data/third_party/abseil-cpp/absl/base/internal/prefetch.h +17 -18
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +32 -3
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +24 -4
- data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +31 -73
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +9 -8
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +11 -11
- data/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc +23 -32
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +2 -3
- data/third_party/abseil-cpp/absl/base/options.h +1 -1
- data/third_party/abseil-cpp/absl/base/policy_checks.h +3 -3
- data/third_party/abseil-cpp/absl/base/prefetch.h +198 -0
- data/third_party/abseil-cpp/absl/container/fixed_array.h +54 -29
- data/third_party/abseil-cpp/absl/container/flat_hash_map.h +5 -1
- data/third_party/abseil-cpp/absl/container/flat_hash_set.h +6 -2
- data/third_party/abseil-cpp/absl/container/inlined_vector.h +167 -79
- 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 +3 -21
- data/third_party/abseil-cpp/absl/container/internal/container_memory.h +1 -1
- data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +46 -0
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +2 -0
- data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +85 -26
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +35 -18
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +70 -29
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +437 -236
- data/third_party/abseil-cpp/absl/crc/crc32c.h +8 -1
- data/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc +14 -8
- data/third_party/abseil-cpp/absl/crc/internal/crc.cc +4 -35
- data/third_party/abseil-cpp/absl/crc/internal/crc.h +2 -10
- data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +1 -1
- data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc +1 -1
- data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.h +4 -4
- data/third_party/abseil-cpp/absl/crc/internal/crc_internal.h +8 -10
- data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_64.cc +17 -19
- data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +8 -8
- data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +2 -1
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +59 -23
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +1 -1
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +1 -1
- data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +1 -1
- data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +43 -19
- data/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +3 -0
- data/third_party/abseil-cpp/absl/flags/commandlineflag.h +1 -1
- data/third_party/abseil-cpp/absl/flags/internal/commandlineflag.cc +1 -1
- data/third_party/abseil-cpp/absl/flags/internal/flag.cc +2 -2
- data/third_party/abseil-cpp/absl/flags/internal/flag.h +16 -15
- data/third_party/abseil-cpp/absl/flags/internal/flag_msvc.inc +1 -1
- data/third_party/abseil-cpp/absl/flags/marshalling.cc +43 -2
- data/third_party/abseil-cpp/absl/flags/marshalling.h +5 -0
- data/third_party/abseil-cpp/absl/functional/any_invocable.h +9 -1
- data/third_party/abseil-cpp/absl/functional/bind_front.h +1 -1
- data/third_party/abseil-cpp/absl/functional/function_ref.h +3 -3
- data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +37 -24
- data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +19 -9
- data/third_party/abseil-cpp/absl/hash/hash.h +7 -4
- data/third_party/abseil-cpp/absl/hash/internal/hash.h +38 -15
- data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +6 -0
- data/third_party/abseil-cpp/absl/meta/type_traits.h +48 -373
- data/third_party/abseil-cpp/absl/numeric/bits.h +4 -4
- data/third_party/abseil-cpp/absl/numeric/int128.cc +20 -8
- data/third_party/abseil-cpp/absl/numeric/int128.h +36 -39
- data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +0 -3
- data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +47 -30
- data/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h +4 -3
- data/third_party/abseil-cpp/absl/random/internal/generate_real.h +1 -1
- data/third_party/abseil-cpp/absl/random/internal/platform.h +1 -1
- data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +4 -0
- data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +1 -1
- data/third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc +1 -1
- data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +1 -1
- data/third_party/abseil-cpp/absl/status/internal/status_internal.h +4 -0
- data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +12 -24
- data/third_party/abseil-cpp/absl/status/status.cc +11 -7
- data/third_party/abseil-cpp/absl/status/status.h +11 -2
- data/third_party/abseil-cpp/absl/status/statusor.h +22 -8
- data/third_party/abseil-cpp/absl/strings/ascii.cc +54 -6
- data/third_party/abseil-cpp/absl/strings/charconv.cc +21 -4
- data/third_party/abseil-cpp/absl/strings/charconv.h +2 -2
- data/third_party/abseil-cpp/absl/strings/cord.cc +1 -2
- data/third_party/abseil-cpp/absl/strings/cord.h +32 -5
- data/third_party/abseil-cpp/absl/strings/cord_analysis.cc +23 -1
- data/third_party/abseil-cpp/absl/strings/cord_analysis.h +18 -0
- data/third_party/abseil-cpp/absl/strings/cord_buffer.h +2 -5
- data/third_party/abseil-cpp/absl/strings/escaping.cc +10 -32
- data/third_party/abseil-cpp/absl/strings/escaping.h +1 -1
- data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +2 -4
- data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +3 -3
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +0 -1
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +15 -13
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +13 -4
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +8 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +5 -3
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.h +4 -7
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +8 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +2 -2
- data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +46 -20
- data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h +1 -34
- data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +2 -1
- data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +23 -0
- data/third_party/abseil-cpp/absl/strings/internal/escaping.h +1 -0
- data/third_party/abseil-cpp/absl/strings/internal/memutil.cc +2 -77
- data/third_party/abseil-cpp/absl/strings/internal/memutil.h +4 -112
- data/third_party/abseil-cpp/absl/strings/internal/stl_type_traits.h +1 -1
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +10 -31
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +8 -8
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +5 -20
- data/third_party/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h +1 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +1 -1
- data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +9 -9
- data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +56 -6
- data/third_party/abseil-cpp/absl/strings/match.cc +87 -0
- data/third_party/abseil-cpp/absl/strings/match.h +19 -0
- data/third_party/abseil-cpp/absl/strings/numbers.cc +154 -122
- data/third_party/abseil-cpp/absl/strings/numbers.h +1 -6
- data/third_party/abseil-cpp/absl/strings/str_cat.cc +7 -50
- data/third_party/abseil-cpp/absl/strings/str_cat.h +83 -15
- data/third_party/abseil-cpp/absl/strings/str_format.h +6 -3
- data/third_party/abseil-cpp/absl/strings/str_split.cc +9 -6
- data/third_party/abseil-cpp/absl/strings/string_view.cc +26 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +5 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +63 -43
- data/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +111 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.h +63 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +11 -7
- data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +225 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +122 -114
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +12 -8
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +10 -1
- data/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +167 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.h +60 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +122 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.h +65 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +91 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.h +56 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +19 -113
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.cc +42 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.h +90 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +151 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.h +70 -0
- data/third_party/abseil-cpp/absl/synchronization/mutex.cc +407 -411
- data/third_party/abseil-cpp/absl/synchronization/mutex.h +152 -118
- data/third_party/abseil-cpp/absl/time/clock.cc +6 -7
- data/third_party/abseil-cpp/absl/time/duration.cc +24 -26
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +1 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +1 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +3 -3
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +8 -6
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +6 -3
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +4 -2
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +4 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +322 -295
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +8 -17
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +51 -33
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +7 -2
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +128 -2
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h +1 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +5 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +34 -34
- data/third_party/abseil-cpp/absl/time/time.cc +9 -2
- data/third_party/abseil-cpp/absl/time/time.h +115 -15
- data/third_party/abseil-cpp/absl/types/internal/optional.h +0 -52
- data/third_party/abseil-cpp/absl/types/internal/span.h +2 -2
- data/third_party/abseil-cpp/absl/types/internal/variant.h +2 -2
- data/third_party/abseil-cpp/absl/types/optional.h +15 -13
- data/third_party/abseil-cpp/absl/types/span.h +1 -2
- data/third_party/boringssl-with-bazel/err_data.c +554 -553
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +7 -3
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +9 -8
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c +7 -7
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +6 -6
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +34 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +11 -4
- data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +10 -6
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +7 -4
- data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +9 -7
- data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +7 -8
- data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +7 -7
- data/third_party/boringssl-with-bazel/src/crypto/bio/errno.c +92 -0
- data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +7 -50
- data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +23 -22
- data/third_party/boringssl-with-bazel/src/crypto/bio/internal.h +16 -6
- data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +4 -2
- data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +11 -2
- data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +31 -22
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +19 -1
- data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +8 -1
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +29 -26
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +8 -0
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +189 -13
- data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +31 -192
- data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +3 -7
- data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +8 -0
- data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_freebsd.c → cpu_aarch64_openbsd.c} +23 -24
- data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.c +93 -0
- data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +55 -50
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_arm.c → curve25519/curve25519_64_adx.c} +4 -24
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +2834 -7442
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +26 -8
- data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +20 -0
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +110 -72
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.c +4 -3
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +42 -34
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +17 -11
- data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/err/err.c +23 -21
- data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +35 -12
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +2 -4
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +3 -7
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/evp/print.c +7 -6
- data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +34 -72
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +12 -5
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c +5 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +12 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c +17 -18
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c +51 -15
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.c +7 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +5 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.c +37 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c +41 -19
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +9 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/builtin_curves.h +277 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +204 -428
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c +31 -64
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.c +17 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +105 -143
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +19 -19
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +16 -18
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.c +27 -30
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +23 -26
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +24 -24
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c +21 -37
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +31 -31
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +16 -16
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +11 -5
- data/third_party/boringssl-with-bazel/src/crypto/{hkdf → fipsmodule/hkdf}/hkdf.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +2 -10
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +1 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +115 -133
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c +12 -14
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +57 -47
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +1 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.c +27 -28
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c +40 -26
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +21 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +38 -19
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +2 -41
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +76 -16
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c +5 -288
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +143 -83
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +126 -233
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +113 -24
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.c +4 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +8 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c +33 -0
- data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +169 -6
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +216 -87
- data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +23 -15
- data/third_party/boringssl-with-bazel/src/crypto/mem.c +7 -8
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +25 -46
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +6 -13
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +18 -14
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +7 -7
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +8 -5
- data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +7 -6
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c +6 -12
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.c +52 -0
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{fuchsia.c → ios.c} +8 -8
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.c +38 -0
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +41 -19
- data/third_party/boringssl-with-bazel/src/crypto/{refcount_c11.c → refcount.c} +11 -17
- data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/internal.h +77 -0
- data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c +568 -0
- data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +152 -72
- data/third_party/boringssl-with-bazel/src/crypto/thread_none.c +0 -8
- data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +6 -35
- data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +5 -26
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +62 -0
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +230 -60
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +35 -0
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +580 -120
- data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c +27 -18
- data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +8 -19
- data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +0 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +17 -39
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +39 -48
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +1 -141
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.c +1 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +2 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +72 -23
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +8 -12
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +19 -20
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +22 -29
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +5 -5
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +7 -7
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +2 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +33 -46
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_info.c +3 -5
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +16 -49
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +14 -26
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +4 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +17 -10
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +5 -7
- data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +4 -119
- data/third_party/boringssl-with-bazel/src/include/openssl/asm_base.h +207 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +11 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +37 -112
- data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +11 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +1 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +0 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +6 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +5 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +4 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +0 -21
- data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +28 -11
- data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +19 -6
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +14 -10
- data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +34 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +2 -11
- data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +0 -3
- data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +13 -14
- data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +91 -62
- data/third_party/boringssl-with-bazel/src/include/openssl/span.h +26 -19
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +275 -96
- data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +236 -213
- data/third_party/boringssl-with-bazel/src/include/openssl/target.h +201 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +1 -25
- data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +4 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +8 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +758 -603
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +45 -12
- data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +11 -6
- data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +10 -68
- data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +20 -20
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +24 -16
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +69 -29
- data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +37 -18
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +209 -209
- data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +4 -4
- data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +46 -155
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +209 -33
- data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +17 -4
- data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +27 -19
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +2 -3
- data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +5 -21
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +5 -2
- data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_adx.h +691 -0
- data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_msvc.h +1281 -0
- data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64_msvc.h +2002 -0
- data/third_party/cares/cares/include/ares.h +23 -1
- data/third_party/cares/cares/{src/lib → include}/ares_nameser.h +9 -7
- data/third_party/cares/cares/include/ares_rules.h +2 -2
- data/third_party/cares/cares/include/ares_version.h +3 -3
- data/third_party/cares/cares/src/lib/ares__addrinfo2hostent.c +266 -0
- data/third_party/cares/cares/src/lib/ares__addrinfo_localhost.c +240 -0
- data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +49 -80
- data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +37 -43
- data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +12 -4
- data/third_party/cares/cares/src/lib/ares_data.c +16 -0
- data/third_party/cares/cares/src/lib/ares_data.h +7 -0
- data/third_party/cares/cares/src/lib/ares_destroy.c +8 -0
- data/third_party/cares/cares/src/lib/ares_expand_name.c +17 -6
- data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +1 -0
- data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +156 -78
- data/third_party/cares/cares/src/lib/ares_gethostbyname.c +130 -326
- data/third_party/cares/cares/src/lib/ares_init.c +97 -485
- data/third_party/cares/cares/src/lib/ares_library_init.c +2 -89
- data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +23 -142
- data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +22 -142
- data/third_party/cares/cares/src/lib/ares_parse_uri_reply.c +184 -0
- data/third_party/cares/cares/src/lib/ares_private.h +30 -16
- data/third_party/cares/cares/src/lib/ares_process.c +55 -16
- data/third_party/cares/cares/src/lib/ares_query.c +1 -35
- data/third_party/cares/cares/src/lib/ares_rand.c +279 -0
- data/third_party/cares/cares/src/lib/ares_send.c +5 -7
- data/third_party/cares/cares/src/lib/ares_strdup.c +12 -19
- data/third_party/cares/cares/src/lib/ares_strsplit.c +44 -128
- data/third_party/cares/cares/src/lib/ares_strsplit.h +9 -10
- data/third_party/cares/cares/src/lib/inet_net_pton.c +78 -116
- data/third_party/cares/cares/src/tools/ares_getopt.h +53 -0
- data/third_party/upb/upb/collections/map.c +3 -3
- metadata +106 -45
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +0 -175
- data/src/core/ext/filters/client_channel/health/health_check_client.h +0 -43
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc +0 -42
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.h +0 -64
- data/src/core/ext/transport/chttp2/transport/stream_map.cc +0 -177
- data/src/core/ext/transport/chttp2/transport/stream_map.h +0 -68
- data/src/core/lib/promise/detail/basic_join.h +0 -197
- data/src/core/lib/promise/detail/switch.h +0 -1455
- data/src/core/lib/promise/try_join.h +0 -82
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +0 -403
- data/third_party/boringssl-with-bazel/src/crypto/refcount_lock.c +0 -52
- data/third_party/cares/cares/src/lib/ares_library_init.h +0 -43
- data/third_party/re2/util/benchmark.h +0 -156
- data/third_party/re2/util/flags.h +0 -26
- data/third_party/re2/util/malloc_counter.h +0 -19
- data/third_party/re2/util/pcre.cc +0 -1025
- data/third_party/re2/util/pcre.h +0 -681
- data/third_party/re2/util/test.h +0 -50
- data/third_party/upb/upb/mini_table.h +0 -36
- data/third_party/zlib/gzclose.c +0 -25
- data/third_party/zlib/gzlib.c +0 -639
- data/third_party/zlib/gzread.c +0 -650
- data/third_party/zlib/gzwrite.c +0 -677
@@ -303,6 +303,7 @@ OPENSSL_EXPORT int SSL_get_rfd(const SSL *ssl);
|
|
303
303
|
// socket |BIO|.
|
304
304
|
OPENSSL_EXPORT int SSL_get_wfd(const SSL *ssl);
|
305
305
|
|
306
|
+
#if !defined(OPENSSL_NO_SOCK)
|
306
307
|
// SSL_set_fd configures |ssl| to read from and write to |fd|. It returns one
|
307
308
|
// on success and zero on allocation error. The caller retains ownership of
|
308
309
|
// |fd|.
|
@@ -321,6 +322,7 @@ OPENSSL_EXPORT int SSL_set_rfd(SSL *ssl, int fd);
|
|
321
322
|
//
|
322
323
|
// On Windows, |fd| is cast to a |SOCKET| and used with Winsock APIs.
|
323
324
|
OPENSSL_EXPORT int SSL_set_wfd(SSL *ssl, int fd);
|
325
|
+
#endif // !OPENSSL_NO_SOCK
|
324
326
|
|
325
327
|
// SSL_do_handshake continues the current handshake. If there is none or the
|
326
328
|
// handshake has completed or False Started, it returns one. Otherwise, it
|
@@ -1081,6 +1083,21 @@ OPENSSL_EXPORT int SSL_set_ocsp_response(SSL *ssl,
|
|
1081
1083
|
OPENSSL_EXPORT const char *SSL_get_signature_algorithm_name(uint16_t sigalg,
|
1082
1084
|
int include_curve);
|
1083
1085
|
|
1086
|
+
// SSL_get_all_signature_algorithm_names outputs a list of possible strings
|
1087
|
+
// |SSL_get_signature_algorithm_name| may return in this version of BoringSSL.
|
1088
|
+
// It writes at most |max_out| entries to |out| and returns the total number it
|
1089
|
+
// would have written, if |max_out| had been large enough. |max_out| may be
|
1090
|
+
// initially set to zero to size the output.
|
1091
|
+
//
|
1092
|
+
// This function is only intended to help initialize tables in callers that want
|
1093
|
+
// possible strings pre-declared. This list would not be suitable to set a list
|
1094
|
+
// of supported features. It is in no particular order, and may contain
|
1095
|
+
// placeholder, experimental, or deprecated values that do not apply to every
|
1096
|
+
// caller. Future versions of BoringSSL may also return strings not in this
|
1097
|
+
// list, so this does not apply if, say, sending strings across services.
|
1098
|
+
OPENSSL_EXPORT size_t SSL_get_all_signature_algorithm_names(const char **out,
|
1099
|
+
size_t max_out);
|
1100
|
+
|
1084
1101
|
// SSL_get_signature_algorithm_key_type returns the key type associated with
|
1085
1102
|
// |sigalg| as an |EVP_PKEY_*| constant or |EVP_PKEY_NONE| if unknown.
|
1086
1103
|
OPENSSL_EXPORT int SSL_get_signature_algorithm_key_type(uint16_t sigalg);
|
@@ -1360,10 +1377,15 @@ OPENSSL_EXPORT int SSL_CIPHER_get_kx_nid(const SSL_CIPHER *cipher);
|
|
1360
1377
|
// function returns |NID_auth_any|.
|
1361
1378
|
OPENSSL_EXPORT int SSL_CIPHER_get_auth_nid(const SSL_CIPHER *cipher);
|
1362
1379
|
|
1363
|
-
//
|
1364
|
-
// a pre-TLS-1.2 cipher, it returns |
|
1380
|
+
// SSL_CIPHER_get_handshake_digest returns |cipher|'s PRF hash. If |cipher|
|
1381
|
+
// is a pre-TLS-1.2 cipher, it returns |EVP_md5_sha1| but note these ciphers use
|
1365
1382
|
// SHA-256 in TLS 1.2. Other return values may be treated uniformly in all
|
1366
1383
|
// applicable versions.
|
1384
|
+
OPENSSL_EXPORT const EVP_MD *SSL_CIPHER_get_handshake_digest(
|
1385
|
+
const SSL_CIPHER *cipher);
|
1386
|
+
|
1387
|
+
// SSL_CIPHER_get_prf_nid behaves like |SSL_CIPHER_get_handshake_digest| but
|
1388
|
+
// returns the NID constant. Use |SSL_CIPHER_get_handshake_digest| instead.
|
1367
1389
|
OPENSSL_EXPORT int SSL_CIPHER_get_prf_nid(const SSL_CIPHER *cipher);
|
1368
1390
|
|
1369
1391
|
// SSL_CIPHER_get_min_version returns the minimum protocol version required
|
@@ -1394,6 +1416,37 @@ OPENSSL_EXPORT const char *SSL_CIPHER_get_kx_name(const SSL_CIPHER *cipher);
|
|
1394
1416
|
OPENSSL_EXPORT int SSL_CIPHER_get_bits(const SSL_CIPHER *cipher,
|
1395
1417
|
int *out_alg_bits);
|
1396
1418
|
|
1419
|
+
// SSL_get_all_cipher_names outputs a list of possible strings
|
1420
|
+
// |SSL_CIPHER_get_name| may return in this version of BoringSSL. It writes at
|
1421
|
+
// most |max_out| entries to |out| and returns the total number it would have
|
1422
|
+
// written, if |max_out| had been large enough. |max_out| may be initially set
|
1423
|
+
// to zero to size the output.
|
1424
|
+
//
|
1425
|
+
// This function is only intended to help initialize tables in callers that want
|
1426
|
+
// possible strings pre-declared. This list would not be suitable to set a list
|
1427
|
+
// of supported features. It is in no particular order, and may contain
|
1428
|
+
// placeholder, experimental, or deprecated values that do not apply to every
|
1429
|
+
// caller. Future versions of BoringSSL may also return strings not in this
|
1430
|
+
// list, so this does not apply if, say, sending strings across services.
|
1431
|
+
OPENSSL_EXPORT size_t SSL_get_all_cipher_names(const char **out,
|
1432
|
+
size_t max_out);
|
1433
|
+
|
1434
|
+
|
1435
|
+
// SSL_get_all_standard_cipher_names outputs a list of possible strings
|
1436
|
+
// |SSL_CIPHER_standard_name| may return in this version of BoringSSL. It writes
|
1437
|
+
// at most |max_out| entries to |out| and returns the total number it would have
|
1438
|
+
// written, if |max_out| had been large enough. |max_out| may be initially set
|
1439
|
+
// to zero to size the output.
|
1440
|
+
//
|
1441
|
+
// This function is only intended to help initialize tables in callers that want
|
1442
|
+
// possible strings pre-declared. This list would not be suitable to set a list
|
1443
|
+
// of supported features. It is in no particular order, and may contain
|
1444
|
+
// placeholder, experimental, or deprecated values that do not apply to every
|
1445
|
+
// caller. Future versions of BoringSSL may also return strings not in this
|
1446
|
+
// list, so this does not apply if, say, sending strings across services.
|
1447
|
+
OPENSSL_EXPORT size_t SSL_get_all_standard_cipher_names(const char **out,
|
1448
|
+
size_t max_out);
|
1449
|
+
|
1397
1450
|
|
1398
1451
|
// Cipher suite configuration.
|
1399
1452
|
//
|
@@ -1430,7 +1483,8 @@ OPENSSL_EXPORT int SSL_CIPHER_get_bits(const SSL_CIPHER *cipher,
|
|
1430
1483
|
//
|
1431
1484
|
// Available cipher rules are:
|
1432
1485
|
//
|
1433
|
-
// |ALL| matches all ciphers
|
1486
|
+
// |ALL| matches all ciphers, except for deprecated ciphers which must be
|
1487
|
+
// named explicitly.
|
1434
1488
|
//
|
1435
1489
|
// |kRSA|, |kDHE|, |kECDHE|, and |kPSK| match ciphers using plain RSA, DHE,
|
1436
1490
|
// ECDHE, and plain PSK key exchanges, respectively. Note that ECDHE_PSK is
|
@@ -1449,9 +1503,6 @@ OPENSSL_EXPORT int SSL_CIPHER_get_bits(const SSL_CIPHER *cipher,
|
|
1449
1503
|
//
|
1450
1504
|
// |SHA1|, and its alias |SHA|, match legacy cipher suites using HMAC-SHA1.
|
1451
1505
|
//
|
1452
|
-
// Although implemented, authentication-only ciphers match no rules and must be
|
1453
|
-
// explicitly selected by name.
|
1454
|
-
//
|
1455
1506
|
// Deprecated cipher rules:
|
1456
1507
|
//
|
1457
1508
|
// |kEDH|, |EDH|, |kEECDH|, and |EECDH| are legacy aliases for |kDHE|, |DHE|,
|
@@ -1490,8 +1541,7 @@ OPENSSL_EXPORT int SSL_CIPHER_get_bits(const SSL_CIPHER *cipher,
|
|
1490
1541
|
//
|
1491
1542
|
// TLS 1.3 ciphers do not participate in this mechanism and instead have a
|
1492
1543
|
// built-in preference order. Functions to set cipher lists do not affect TLS
|
1493
|
-
// 1.3, and functions to query the cipher list do not include TLS 1.3
|
1494
|
-
// ciphers.
|
1544
|
+
// 1.3, and functions to query the cipher list do not include TLS 1.3 ciphers.
|
1495
1545
|
|
1496
1546
|
// SSL_DEFAULT_CIPHER_LIST is the default cipher suite configuration. It is
|
1497
1547
|
// substituted when a cipher string starts with 'DEFAULT'.
|
@@ -2288,81 +2338,100 @@ OPENSSL_EXPORT int SSL_CTX_set_num_tickets(SSL_CTX *ctx, size_t num_tickets);
|
|
2288
2338
|
OPENSSL_EXPORT size_t SSL_CTX_get_num_tickets(const SSL_CTX *ctx);
|
2289
2339
|
|
2290
2340
|
|
2291
|
-
//
|
2292
|
-
//
|
2293
|
-
//
|
2294
|
-
//
|
2295
|
-
//
|
2296
|
-
//
|
2297
|
-
//
|
2298
|
-
//
|
2299
|
-
//
|
2300
|
-
|
2301
|
-
//
|
2302
|
-
//
|
2303
|
-
//
|
2304
|
-
//
|
2305
|
-
//
|
2306
|
-
//
|
2307
|
-
|
2308
|
-
|
2309
|
-
|
2310
|
-
|
2311
|
-
|
2312
|
-
|
2313
|
-
|
2314
|
-
|
2315
|
-
|
2316
|
-
|
2317
|
-
|
2318
|
-
|
2319
|
-
//
|
2320
|
-
|
2321
|
-
|
2322
|
-
|
2323
|
-
|
2324
|
-
|
2325
|
-
//
|
2326
|
-
//
|
2327
|
-
|
2328
|
-
|
2329
|
-
|
2330
|
-
|
2331
|
-
//
|
2332
|
-
|
2333
|
-
|
2334
|
-
|
2335
|
-
|
2336
|
-
|
2337
|
-
|
2338
|
-
|
2339
|
-
|
2340
|
-
|
2341
|
-
//
|
2342
|
-
//
|
2343
|
-
//
|
2344
|
-
//
|
2345
|
-
//
|
2346
|
-
|
2347
|
-
|
2348
|
-
//
|
2349
|
-
//
|
2350
|
-
OPENSSL_EXPORT const char
|
2341
|
+
// Diffie-Hellman groups and ephemeral key exchanges.
|
2342
|
+
//
|
2343
|
+
// Most TLS handshakes (ECDHE cipher suites in TLS 1.2, and all supported TLS
|
2344
|
+
// 1.3 modes) incorporate an ephemeral key exchange, most commonly using
|
2345
|
+
// Elliptic Curve Diffie-Hellman (ECDH), as described in RFC 8422. The key
|
2346
|
+
// exchange algorithm is negotiated separately from the cipher suite, using
|
2347
|
+
// NamedGroup values, which define Diffie-Hellman groups.
|
2348
|
+
//
|
2349
|
+
// Historically, these values were known as "curves", in reference to ECDH, and
|
2350
|
+
// some APIs refer to the original name. RFC 7919 renamed them to "groups" in
|
2351
|
+
// reference to Diffie-Hellman in general. These values are also used to select
|
2352
|
+
// experimental post-quantum KEMs. Though not Diffie-Hellman groups, KEMs can
|
2353
|
+
// fill a similar role in TLS, so they use the same codepoints.
|
2354
|
+
//
|
2355
|
+
// In TLS 1.2, the ECDH values also negotiate elliptic curves used in ECDSA. In
|
2356
|
+
// TLS 1.3 and later, ECDSA curves are part of the signature algorithm. See
|
2357
|
+
// |SSL_SIGN_*|.
|
2358
|
+
|
2359
|
+
// SSL_GROUP_* define TLS group IDs.
|
2360
|
+
#define SSL_GROUP_SECP224R1 21
|
2361
|
+
#define SSL_GROUP_SECP256R1 23
|
2362
|
+
#define SSL_GROUP_SECP384R1 24
|
2363
|
+
#define SSL_GROUP_SECP521R1 25
|
2364
|
+
#define SSL_GROUP_X25519 29
|
2365
|
+
#define SSL_GROUP_X25519_KYBER768_DRAFT00 0x6399
|
2366
|
+
|
2367
|
+
// SSL_CTX_set1_group_ids sets the preferred groups for |ctx| to |group_ids|.
|
2368
|
+
// Each element of |group_ids| should be one of the |SSL_GROUP_*| constants. It
|
2369
|
+
// returns one on success and zero on failure.
|
2370
|
+
OPENSSL_EXPORT int SSL_CTX_set1_group_ids(SSL_CTX *ctx,
|
2371
|
+
const uint16_t *group_ids,
|
2372
|
+
size_t num_group_ids);
|
2373
|
+
|
2374
|
+
// SSL_set1_group_ids sets the preferred groups for |ssl| to |group_ids|. Each
|
2375
|
+
// element of |group_ids| should be one of the |SSL_GROUP_*| constants. It
|
2376
|
+
// returns one on success and zero on failure.
|
2377
|
+
OPENSSL_EXPORT int SSL_set1_group_ids(SSL *ssl, const uint16_t *group_ids,
|
2378
|
+
size_t num_group_ids);
|
2379
|
+
|
2380
|
+
// SSL_get_group_id returns the ID of the group used by |ssl|'s most recently
|
2381
|
+
// completed handshake, or 0 if not applicable.
|
2382
|
+
OPENSSL_EXPORT uint16_t SSL_get_group_id(const SSL *ssl);
|
2383
|
+
|
2384
|
+
// SSL_get_group_name returns a human-readable name for the group specified by
|
2385
|
+
// the given TLS group ID, or NULL if the group is unknown.
|
2386
|
+
OPENSSL_EXPORT const char *SSL_get_group_name(uint16_t group_id);
|
2387
|
+
|
2388
|
+
// SSL_get_all_group_names outputs a list of possible strings
|
2389
|
+
// |SSL_get_group_name| may return in this version of BoringSSL. It writes at
|
2390
|
+
// most |max_out| entries to |out| and returns the total number it would have
|
2391
|
+
// written, if |max_out| had been large enough. |max_out| may be initially set
|
2392
|
+
// to zero to size the output.
|
2393
|
+
//
|
2394
|
+
// This function is only intended to help initialize tables in callers that want
|
2395
|
+
// possible strings pre-declared. This list would not be suitable to set a list
|
2396
|
+
// of supported features. It is in no particular order, and may contain
|
2397
|
+
// placeholder, experimental, or deprecated values that do not apply to every
|
2398
|
+
// caller. Future versions of BoringSSL may also return strings not in this
|
2399
|
+
// list, so this does not apply if, say, sending strings across services.
|
2400
|
+
OPENSSL_EXPORT size_t SSL_get_all_group_names(const char **out, size_t max_out);
|
2401
|
+
|
2402
|
+
// The following APIs also configure Diffie-Hellman groups, but use |NID_*|
|
2403
|
+
// constants instead of |SSL_GROUP_*| constants. These are provided for OpenSSL
|
2404
|
+
// compatibility. Where NIDs are unstable constants specific to OpenSSL and
|
2405
|
+
// BoringSSL, group IDs are defined by the TLS protocol. Prefer the group ID
|
2406
|
+
// representation if storing persistently, or exporting to another process or
|
2407
|
+
// library.
|
2351
2408
|
|
2352
|
-
// SSL_CTX_set1_groups
|
2409
|
+
// SSL_CTX_set1_groups sets the preferred groups for |ctx| to be |groups|. Each
|
2410
|
+
// element of |groups| should be a |NID_*| constant from nid.h. It returns one
|
2411
|
+
// on success and zero on failure.
|
2353
2412
|
OPENSSL_EXPORT int SSL_CTX_set1_groups(SSL_CTX *ctx, const int *groups,
|
2354
|
-
size_t
|
2413
|
+
size_t num_groups);
|
2355
2414
|
|
2356
|
-
// SSL_set1_groups
|
2415
|
+
// SSL_set1_groups sets the preferred groups for |ssl| to be |groups|. Each
|
2416
|
+
// element of |groups| should be a |NID_*| constant from nid.h. It returns one
|
2417
|
+
// on success and zero on failure.
|
2357
2418
|
OPENSSL_EXPORT int SSL_set1_groups(SSL *ssl, const int *groups,
|
2358
|
-
size_t
|
2419
|
+
size_t num_groups);
|
2359
2420
|
|
2360
|
-
// SSL_CTX_set1_groups_list
|
2421
|
+
// SSL_CTX_set1_groups_list decodes |groups| as a colon-separated list of group
|
2422
|
+
// names (e.g. "X25519" or "P-256") and sets |ctx|'s preferred groups to the
|
2423
|
+
// result. It returns one on success and zero on failure.
|
2361
2424
|
OPENSSL_EXPORT int SSL_CTX_set1_groups_list(SSL_CTX *ctx, const char *groups);
|
2362
2425
|
|
2363
|
-
// SSL_set1_groups_list
|
2426
|
+
// SSL_set1_groups_list decodes |groups| as a colon-separated list of group
|
2427
|
+
// names (e.g. "X25519" or "P-256") and sets |ssl|'s preferred groups to the
|
2428
|
+
// result. It returns one on success and zero on failure.
|
2364
2429
|
OPENSSL_EXPORT int SSL_set1_groups_list(SSL *ssl, const char *groups);
|
2365
2430
|
|
2431
|
+
// SSL_get_negotiated_group returns the NID of the group used by |ssl|'s most
|
2432
|
+
// recently completed handshake, or |NID_undef| if not applicable.
|
2433
|
+
OPENSSL_EXPORT int SSL_get_negotiated_group(const SSL *ssl);
|
2434
|
+
|
2366
2435
|
|
2367
2436
|
// Certificate verification.
|
2368
2437
|
//
|
@@ -2411,21 +2480,51 @@ OPENSSL_EXPORT int SSL_set1_groups_list(SSL *ssl, const char *groups);
|
|
2411
2480
|
|
2412
2481
|
// SSL_CTX_set_verify configures certificate verification behavior. |mode| is
|
2413
2482
|
// one of the |SSL_VERIFY_*| values defined above. |callback|, if not NULL, is
|
2414
|
-
// used to customize certificate verification
|
2415
|
-
// |X509_STORE_CTX_set_verify_cb
|
2483
|
+
// used to customize certificate verification, but is deprecated. See
|
2484
|
+
// |X509_STORE_CTX_set_verify_cb| for details.
|
2416
2485
|
//
|
2417
2486
|
// The callback may use |SSL_get_ex_data_X509_STORE_CTX_idx| with
|
2418
2487
|
// |X509_STORE_CTX_get_ex_data| to look up the |SSL| from |store_ctx|.
|
2488
|
+
//
|
2489
|
+
// WARNING: |callback| should be NULL. This callback does not replace the
|
2490
|
+
// default certificate verification process and is, instead, called multiple
|
2491
|
+
// times in the course of that process. It is very difficult to implement this
|
2492
|
+
// callback safely, without inadvertently relying on implementation details or
|
2493
|
+
// making incorrect assumptions about when the callback is called.
|
2494
|
+
//
|
2495
|
+
// Instead, use |SSL_CTX_set_custom_verify| or
|
2496
|
+
// |SSL_CTX_set_cert_verify_callback| to customize certificate verification.
|
2497
|
+
// Those callbacks can inspect the peer-sent chain, call |X509_verify_cert| and
|
2498
|
+
// inspect the result, or perform other operations more straightforwardly.
|
2499
|
+
//
|
2500
|
+
// TODO(crbug.com/boringssl/426): We cite |X509_STORE_CTX_set_verify_cb| but
|
2501
|
+
// haven't documented it yet. Later that will have a more detailed warning about
|
2502
|
+
// why one should not use this callback.
|
2419
2503
|
OPENSSL_EXPORT void SSL_CTX_set_verify(
|
2420
2504
|
SSL_CTX *ctx, int mode, int (*callback)(int ok, X509_STORE_CTX *store_ctx));
|
2421
2505
|
|
2422
2506
|
// SSL_set_verify configures certificate verification behavior. |mode| is one of
|
2423
2507
|
// the |SSL_VERIFY_*| values defined above. |callback|, if not NULL, is used to
|
2424
|
-
// customize certificate verification. See the behavior of
|
2508
|
+
// customize certificate verification, but is deprecated. See the behavior of
|
2425
2509
|
// |X509_STORE_CTX_set_verify_cb|.
|
2426
2510
|
//
|
2427
2511
|
// The callback may use |SSL_get_ex_data_X509_STORE_CTX_idx| with
|
2428
2512
|
// |X509_STORE_CTX_get_ex_data| to look up the |SSL| from |store_ctx|.
|
2513
|
+
//
|
2514
|
+
// WARNING: |callback| should be NULL. This callback does not replace the
|
2515
|
+
// default certificate verification process and is, instead, called multiple
|
2516
|
+
// times in the course of that process. It is very difficult to implement this
|
2517
|
+
// callback safely, without inadvertently relying on implementation details or
|
2518
|
+
// making incorrect assumptions about when the callback is called.
|
2519
|
+
//
|
2520
|
+
// Instead, use |SSL_set_custom_verify| or |SSL_CTX_set_cert_verify_callback| to
|
2521
|
+
// customize certificate verification. Those callbacks can inspect the peer-sent
|
2522
|
+
// chain, call |X509_verify_cert| and inspect the result, or perform other
|
2523
|
+
// operations more straightforwardly.
|
2524
|
+
//
|
2525
|
+
// TODO(crbug.com/boringssl/426): We cite |X509_STORE_CTX_set_verify_cb| but
|
2526
|
+
// haven't documented it yet. Later that will have a more detailed warning about
|
2527
|
+
// why one should not use this callback.
|
2429
2528
|
OPENSSL_EXPORT void SSL_set_verify(SSL *ssl, int mode,
|
2430
2529
|
int (*callback)(int ok,
|
2431
2530
|
X509_STORE_CTX *store_ctx));
|
@@ -4528,13 +4627,6 @@ OPENSSL_EXPORT const char *SSL_CIPHER_description(const SSL_CIPHER *cipher,
|
|
4528
4627
|
// SSL_CIPHER_get_version returns the string "TLSv1/SSLv3".
|
4529
4628
|
OPENSSL_EXPORT const char *SSL_CIPHER_get_version(const SSL_CIPHER *cipher);
|
4530
4629
|
|
4531
|
-
// SSL_CIPHER_get_rfc_name returns a newly-allocated string containing the
|
4532
|
-
// result of |SSL_CIPHER_standard_name| or NULL on error. The caller is
|
4533
|
-
// responsible for calling |OPENSSL_free| on the result.
|
4534
|
-
//
|
4535
|
-
// Use |SSL_CIPHER_standard_name| instead.
|
4536
|
-
OPENSSL_EXPORT char *SSL_CIPHER_get_rfc_name(const SSL_CIPHER *cipher);
|
4537
|
-
|
4538
4630
|
typedef void COMP_METHOD;
|
4539
4631
|
typedef struct ssl_comp_st SSL_COMP;
|
4540
4632
|
|
@@ -4873,6 +4965,21 @@ OPENSSL_EXPORT long SSL_get_default_timeout(const SSL *ssl);
|
|
4873
4965
|
// For example, "TLSv1.2" or "DTLSv1".
|
4874
4966
|
OPENSSL_EXPORT const char *SSL_get_version(const SSL *ssl);
|
4875
4967
|
|
4968
|
+
// SSL_get_all_version_names outputs a list of possible strings
|
4969
|
+
// |SSL_get_version| may return in this version of BoringSSL. It writes at most
|
4970
|
+
// |max_out| entries to |out| and returns the total number it would have
|
4971
|
+
// written, if |max_out| had been large enough. |max_out| may be initially set
|
4972
|
+
// to zero to size the output.
|
4973
|
+
//
|
4974
|
+
// This function is only intended to help initialize tables in callers that want
|
4975
|
+
// possible strings pre-declared. This list would not be suitable to set a list
|
4976
|
+
// of supported features. It is in no particular order, and may contain
|
4977
|
+
// placeholder, experimental, or deprecated values that do not apply to every
|
4978
|
+
// caller. Future versions of BoringSSL may also return strings not in this
|
4979
|
+
// list, so this does not apply if, say, sending strings across services.
|
4980
|
+
OPENSSL_EXPORT size_t SSL_get_all_version_names(const char **out,
|
4981
|
+
size_t max_out);
|
4982
|
+
|
4876
4983
|
// SSL_get_cipher_list returns the name of the |n|th cipher in the output of
|
4877
4984
|
// |SSL_get_ciphers| or NULL if out of range. Use |SSL_get_ciphers| instead.
|
4878
4985
|
OPENSSL_EXPORT const char *SSL_get_cipher_list(const SSL *ssl, int n);
|
@@ -4997,20 +5104,22 @@ OPENSSL_EXPORT int SSL_state(const SSL *ssl);
|
|
4997
5104
|
// Use |SSL_CTX_set_quiet_shutdown| instead.
|
4998
5105
|
OPENSSL_EXPORT void SSL_set_shutdown(SSL *ssl, int mode);
|
4999
5106
|
|
5000
|
-
// SSL_CTX_set_tmp_ecdh calls |
|
5001
|
-
// containing |ec_key|'s curve.
|
5107
|
+
// SSL_CTX_set_tmp_ecdh calls |SSL_CTX_set1_groups| with a one-element list
|
5108
|
+
// containing |ec_key|'s curve. The remainder of |ec_key| is ignored.
|
5002
5109
|
OPENSSL_EXPORT int SSL_CTX_set_tmp_ecdh(SSL_CTX *ctx, const EC_KEY *ec_key);
|
5003
5110
|
|
5004
|
-
// SSL_set_tmp_ecdh calls |
|
5005
|
-
// |ec_key|'s curve.
|
5111
|
+
// SSL_set_tmp_ecdh calls |SSL_set1_groups| with a one-element list containing
|
5112
|
+
// |ec_key|'s curve. The remainder of |ec_key| is ignored.
|
5006
5113
|
OPENSSL_EXPORT int SSL_set_tmp_ecdh(SSL *ssl, const EC_KEY *ec_key);
|
5007
5114
|
|
5115
|
+
#if !defined(OPENSSL_NO_FILESYSTEM)
|
5008
5116
|
// SSL_add_dir_cert_subjects_to_stack lists files in directory |dir|. It calls
|
5009
5117
|
// |SSL_add_file_cert_subjects_to_stack| on each file and returns one on success
|
5010
5118
|
// or zero on error. This function is only available from the libdecrepit
|
5011
5119
|
// library.
|
5012
5120
|
OPENSSL_EXPORT int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *out,
|
5013
5121
|
const char *dir);
|
5122
|
+
#endif
|
5014
5123
|
|
5015
5124
|
// SSL_CTX_enable_tls_channel_id calls |SSL_CTX_set_tls_channel_id_enabled|.
|
5016
5125
|
OPENSSL_EXPORT int SSL_CTX_enable_tls_channel_id(SSL_CTX *ctx);
|
@@ -5151,12 +5260,41 @@ OPENSSL_EXPORT int SSL_CTX_set_tlsext_status_arg(SSL_CTX *ctx, void *arg);
|
|
5151
5260
|
SSL_R_TLSV1_ALERT_BAD_CERTIFICATE_HASH_VALUE
|
5152
5261
|
#define SSL_R_TLSV1_CERTIFICATE_REQUIRED SSL_R_TLSV1_ALERT_CERTIFICATE_REQUIRED
|
5153
5262
|
|
5154
|
-
//
|
5155
|
-
|
5156
|
-
|
5157
|
-
|
5158
|
-
|
5159
|
-
|
5263
|
+
// The following symbols are compatibility aliases for |SSL_GROUP_*|.
|
5264
|
+
#define SSL_CURVE_SECP224R1 SSL_GROUP_SECP224R1
|
5265
|
+
#define SSL_CURVE_SECP256R1 SSL_GROUP_SECP256R1
|
5266
|
+
#define SSL_CURVE_SECP384R1 SSL_GROUP_SECP384R1
|
5267
|
+
#define SSL_CURVE_SECP521R1 SSL_GROUP_SECP521R1
|
5268
|
+
#define SSL_CURVE_X25519 SSL_GROUP_X25519
|
5269
|
+
#define SSL_CURVE_X25519_KYBER768_DRAFT00 SSL_GROUP_X25519_KYBER768_DRAFT00
|
5270
|
+
|
5271
|
+
// SSL_get_curve_id calls |SSL_get_group_id|.
|
5272
|
+
OPENSSL_EXPORT uint16_t SSL_get_curve_id(const SSL *ssl);
|
5273
|
+
|
5274
|
+
// SSL_get_curve_name calls |SSL_get_group_name|.
|
5275
|
+
OPENSSL_EXPORT const char *SSL_get_curve_name(uint16_t curve_id);
|
5276
|
+
|
5277
|
+
// SSL_get_all_curve_names calls |SSL_get_all_group_names|.
|
5278
|
+
OPENSSL_EXPORT size_t SSL_get_all_curve_names(const char **out, size_t max_out);
|
5279
|
+
|
5280
|
+
// SSL_CTX_set1_curves calls |SSL_CTX_set1_groups|.
|
5281
|
+
OPENSSL_EXPORT int SSL_CTX_set1_curves(SSL_CTX *ctx, const int *curves,
|
5282
|
+
size_t num_curves);
|
5283
|
+
|
5284
|
+
// SSL_set1_curves calls |SSL_set1_groups|.
|
5285
|
+
OPENSSL_EXPORT int SSL_set1_curves(SSL *ssl, const int *curves,
|
5286
|
+
size_t num_curves);
|
5287
|
+
|
5288
|
+
// SSL_CTX_set1_curves_list calls |SSL_CTX_set1_groups_list|.
|
5289
|
+
OPENSSL_EXPORT int SSL_CTX_set1_curves_list(SSL_CTX *ctx, const char *curves);
|
5290
|
+
|
5291
|
+
// SSL_set1_curves_list calls |SSL_set1_groups_list|.
|
5292
|
+
OPENSSL_EXPORT int SSL_set1_curves_list(SSL *ssl, const char *curves);
|
5293
|
+
|
5294
|
+
// TLSEXT_nid_unknown is a constant used in OpenSSL for
|
5295
|
+
// |SSL_get_negotiated_group| to return an unrecognized group. BoringSSL never
|
5296
|
+
// returns this value, but we define this constant for compatibility.
|
5297
|
+
#define TLSEXT_nid_unknown 0x1000000
|
5160
5298
|
|
5161
5299
|
|
5162
5300
|
// Compliance policy configurations
|
@@ -5168,6 +5306,10 @@ OPENSSL_EXPORT uint16_t SSL_CIPHER_get_value(const SSL_CIPHER *cipher);
|
|
5168
5306
|
// parameters of a TLS connection.
|
5169
5307
|
|
5170
5308
|
enum ssl_compliance_policy_t BORINGSSL_ENUM_INT {
|
5309
|
+
// ssl_compliance_policy_none does nothing. However, since setting this
|
5310
|
+
// doesn't undo other policies it's an error to try and set it.
|
5311
|
+
ssl_compliance_policy_none,
|
5312
|
+
|
5171
5313
|
// ssl_policy_fips_202205 configures a TLS connection to use:
|
5172
5314
|
// * TLS 1.2 or 1.3
|
5173
5315
|
// * For TLS 1.2, only ECDHE_[RSA|ECDSA]_WITH_AES_*_GCM_SHA*.
|
@@ -5182,12 +5324,32 @@ enum ssl_compliance_policy_t BORINGSSL_ENUM_INT {
|
|
5182
5324
|
// Note: this setting aids with compliance with NIST requirements but does not
|
5183
5325
|
// guarantee it. Careful reading of SP 800-52r2 is recommended.
|
5184
5326
|
ssl_compliance_policy_fips_202205,
|
5327
|
+
|
5328
|
+
// ssl_compliance_policy_wpa3_192_202304 configures a TLS connection to use:
|
5329
|
+
// * TLS 1.2 or 1.3.
|
5330
|
+
// * For TLS 1.2, only TLS_ECDHE_[ECDSA|RSA]_WITH_AES_256_GCM_SHA384.
|
5331
|
+
// * For TLS 1.3, only AES-256-GCM.
|
5332
|
+
// * P-384 for key agreement.
|
5333
|
+
// * For handshake signatures, only ECDSA with P-384 and SHA-384, or RSA
|
5334
|
+
// with SHA-384 or SHA-512.
|
5335
|
+
//
|
5336
|
+
// No limitations on the certificate chain nor leaf public key are imposed,
|
5337
|
+
// other than by the supported signature algorithms. But WPA3's "192-bit"
|
5338
|
+
// mode requires at least P-384 or 3072-bit along the chain. The caller must
|
5339
|
+
// enforce this themselves on the verified chain using functions such as
|
5340
|
+
// `X509_STORE_CTX_get0_chain`.
|
5341
|
+
//
|
5342
|
+
// Note that this setting is less secure than the default. The
|
5343
|
+
// implementation risks of using a more obscure primitive like P-384
|
5344
|
+
// dominate other considerations.
|
5345
|
+
ssl_compliance_policy_wpa3_192_202304,
|
5185
5346
|
};
|
5186
5347
|
|
5187
5348
|
// SSL_CTX_set_compliance_policy configures various aspects of |ctx| based on
|
5188
5349
|
// the given policy requirements. Subsequently calling other functions that
|
5189
5350
|
// configure |ctx| may override |policy|, or may not. This should be the final
|
5190
|
-
// configuration function called in order to have defined behaviour.
|
5351
|
+
// configuration function called in order to have defined behaviour. It's a
|
5352
|
+
// fatal error if |policy| is |ssl_compliance_policy_none|.
|
5191
5353
|
OPENSSL_EXPORT int SSL_CTX_set_compliance_policy(
|
5192
5354
|
SSL_CTX *ctx, enum ssl_compliance_policy_t policy);
|
5193
5355
|
|
@@ -5234,6 +5396,7 @@ OPENSSL_EXPORT int SSL_set_compliance_policy(
|
|
5234
5396
|
#define SSL_CTRL_GET_CLIENT_CERT_TYPES doesnt_exist
|
5235
5397
|
#define SSL_CTRL_GET_EXTRA_CHAIN_CERTS doesnt_exist
|
5236
5398
|
#define SSL_CTRL_GET_MAX_CERT_LIST doesnt_exist
|
5399
|
+
#define SSL_CTRL_GET_NEGOTIATED_GROUP doesnt_exist
|
5237
5400
|
#define SSL_CTRL_GET_NUM_RENEGOTIATIONS doesnt_exist
|
5238
5401
|
#define SSL_CTRL_GET_READ_AHEAD doesnt_exist
|
5239
5402
|
#define SSL_CTRL_GET_RI_SUPPORT doesnt_exist
|
@@ -5249,6 +5412,8 @@ OPENSSL_EXPORT int SSL_set_compliance_policy(
|
|
5249
5412
|
#define SSL_CTRL_SESS_NUMBER doesnt_exist
|
5250
5413
|
#define SSL_CTRL_SET_CURVES doesnt_exist
|
5251
5414
|
#define SSL_CTRL_SET_CURVES_LIST doesnt_exist
|
5415
|
+
#define SSL_CTRL_SET_GROUPS doesnt_exist
|
5416
|
+
#define SSL_CTRL_SET_GROUPS_LIST doesnt_exist
|
5252
5417
|
#define SSL_CTRL_SET_ECDH_AUTO doesnt_exist
|
5253
5418
|
#define SSL_CTRL_SET_MAX_CERT_LIST doesnt_exist
|
5254
5419
|
#define SSL_CTRL_SET_MAX_SEND_FRAGMENT doesnt_exist
|
@@ -5298,6 +5463,7 @@ OPENSSL_EXPORT int SSL_set_compliance_policy(
|
|
5298
5463
|
#define SSL_CTX_set0_chain SSL_CTX_set0_chain
|
5299
5464
|
#define SSL_CTX_set1_chain SSL_CTX_set1_chain
|
5300
5465
|
#define SSL_CTX_set1_curves SSL_CTX_set1_curves
|
5466
|
+
#define SSL_CTX_set1_groups SSL_CTX_set1_groups
|
5301
5467
|
#define SSL_CTX_set_max_cert_list SSL_CTX_set_max_cert_list
|
5302
5468
|
#define SSL_CTX_set_max_send_fragment SSL_CTX_set_max_send_fragment
|
5303
5469
|
#define SSL_CTX_set_mode SSL_CTX_set_mode
|
@@ -5322,6 +5488,7 @@ OPENSSL_EXPORT int SSL_set_compliance_policy(
|
|
5322
5488
|
#define SSL_get0_chain_certs SSL_get0_chain_certs
|
5323
5489
|
#define SSL_get_max_cert_list SSL_get_max_cert_list
|
5324
5490
|
#define SSL_get_mode SSL_get_mode
|
5491
|
+
#define SSL_get_negotiated_group SSL_get_negotiated_group
|
5325
5492
|
#define SSL_get_options SSL_get_options
|
5326
5493
|
#define SSL_get_secure_renegotiation_support \
|
5327
5494
|
SSL_get_secure_renegotiation_support
|
@@ -5331,6 +5498,7 @@ OPENSSL_EXPORT int SSL_set_compliance_policy(
|
|
5331
5498
|
#define SSL_set0_chain SSL_set0_chain
|
5332
5499
|
#define SSL_set1_chain SSL_set1_chain
|
5333
5500
|
#define SSL_set1_curves SSL_set1_curves
|
5501
|
+
#define SSL_set1_groups SSL_set1_groups
|
5334
5502
|
#define SSL_set_max_cert_list SSL_set_max_cert_list
|
5335
5503
|
#define SSL_set_max_send_fragment SSL_set_max_send_fragment
|
5336
5504
|
#define SSL_set_mode SSL_set_mode
|
@@ -5420,6 +5588,18 @@ OPENSSL_EXPORT bool SSL_get_traffic_secrets(
|
|
5420
5588
|
const SSL *ssl, Span<const uint8_t> *out_read_traffic_secret,
|
5421
5589
|
Span<const uint8_t> *out_write_traffic_secret);
|
5422
5590
|
|
5591
|
+
// SSL_CTX_set_aes_hw_override_for_testing sets |override_value| to
|
5592
|
+
// override checking for aes hardware support for testing. If |override_value|
|
5593
|
+
// is set to true, the library will behave as if aes hardware support is
|
5594
|
+
// present. If it is set to false, the library will behave as if aes hardware
|
5595
|
+
// support is not present.
|
5596
|
+
OPENSSL_EXPORT void SSL_CTX_set_aes_hw_override_for_testing(
|
5597
|
+
SSL_CTX *ctx, bool override_value);
|
5598
|
+
|
5599
|
+
// SSL_set_aes_hw_override_for_testing acts the same as
|
5600
|
+
// |SSL_CTX_set_aes_override_for_testing| but only configures a single |SSL*|.
|
5601
|
+
OPENSSL_EXPORT void SSL_set_aes_hw_override_for_testing(SSL *ssl,
|
5602
|
+
bool override_value);
|
5423
5603
|
|
5424
5604
|
BSSL_NAMESPACE_END
|
5425
5605
|
|
@@ -5508,7 +5688,6 @@ BSSL_NAMESPACE_END
|
|
5508
5688
|
#define SSL_R_NO_CIPHER_MATCH 177
|
5509
5689
|
#define SSL_R_NO_COMPRESSION_SPECIFIED 178
|
5510
5690
|
#define SSL_R_NO_METHOD_SPECIFIED 179
|
5511
|
-
#define SSL_R_NO_P256_SUPPORT 180
|
5512
5691
|
#define SSL_R_NO_PRIVATE_KEY_ASSIGNED 181
|
5513
5692
|
#define SSL_R_NO_RENEGOTIATION 182
|
5514
5693
|
#define SSL_R_NO_REQUIRED_DIGEST 183
|