grpc 1.35.0 → 1.38.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Makefile +168 -131
- data/include/grpc/event_engine/README.md +38 -0
- data/include/grpc/event_engine/channel_args.h +28 -0
- data/include/grpc/event_engine/event_engine.h +336 -0
- data/include/grpc/event_engine/port.h +39 -0
- data/include/grpc/event_engine/slice_allocator.h +81 -0
- data/include/grpc/grpc.h +15 -1
- data/include/grpc/grpc_security.h +16 -11
- data/include/grpc/grpc_security_constants.h +14 -0
- data/include/grpc/impl/codegen/grpc_types.h +11 -0
- data/include/grpc/impl/codegen/port_platform.h +7 -0
- data/include/grpc/module.modulemap +14 -14
- data/src/core/ext/filters/client_channel/backup_poller.cc +3 -3
- data/src/core/ext/filters/client_channel/channel_connectivity.cc +177 -202
- data/src/core/ext/filters/client_channel/client_channel.cc +740 -3185
- data/src/core/ext/filters/client_channel/client_channel.h +488 -56
- data/src/core/ext/filters/client_channel/client_channel_channelz.h +1 -1
- data/src/core/ext/filters/client_channel/client_channel_factory.h +2 -1
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +4 -1
- data/src/core/ext/filters/client_channel/config_selector.h +10 -2
- data/src/core/ext/filters/client_channel/connector.h +1 -1
- data/src/core/ext/filters/client_channel/dynamic_filters.cc +18 -14
- data/src/core/ext/filters/client_channel/dynamic_filters.h +3 -3
- data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +24 -142
- data/src/core/ext/filters/client_channel/global_subchannel_pool.h +15 -10
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +26 -27
- data/src/core/ext/filters/client_channel/health/health_check_client.h +27 -26
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +26 -23
- data/src/core/ext/filters/client_channel/lb_policy.cc +4 -1
- data/src/core/ext/filters/client_channel/lb_policy.h +4 -4
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +6 -6
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +49 -48
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +1 -2
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +2 -3
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +2 -1
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +5 -5
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +22 -18
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +23 -0
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +27 -0
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +4 -4
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +15 -15
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +318 -193
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +5 -0
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +30 -47
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +32 -47
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +316 -171
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy_registry.cc +4 -4
- data/src/core/ext/filters/client_channel/lb_policy_registry.h +1 -1
- data/src/core/ext/filters/client_channel/local_subchannel_pool.cc +27 -67
- data/src/core/ext/filters/client_channel/local_subchannel_pool.h +10 -9
- data/src/core/ext/filters/client_channel/resolver.cc +5 -5
- data/src/core/ext/filters/client_channel/resolver.h +3 -14
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +59 -60
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +3 -3
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +4 -4
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +17 -15
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +67 -74
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +33 -23
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +38 -43
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +7 -5
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +379 -0
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +5 -5
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +344 -177
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +32 -239
- data/src/core/ext/filters/client_channel/resolver_result_parsing.h +20 -49
- data/src/core/ext/filters/client_channel/retry_filter.cc +2188 -0
- data/src/core/ext/filters/client_channel/retry_filter.h +30 -0
- data/src/core/ext/filters/client_channel/retry_service_config.cc +287 -0
- data/src/core/ext/filters/client_channel/retry_service_config.h +90 -0
- data/src/core/ext/filters/client_channel/server_address.cc +10 -1
- data/src/core/ext/filters/client_channel/server_address.h +31 -0
- data/src/core/ext/filters/client_channel/service_config.cc +15 -14
- data/src/core/ext/filters/client_channel/service_config.h +7 -6
- data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +5 -4
- data/src/core/ext/filters/client_channel/service_config_parser.cc +6 -6
- data/src/core/ext/filters/client_channel/service_config_parser.h +7 -4
- data/src/core/ext/filters/client_channel/subchannel.cc +86 -162
- data/src/core/ext/filters/client_channel/subchannel.h +68 -99
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +16 -2
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +10 -8
- data/src/core/ext/filters/client_idle/client_idle_filter.cc +17 -16
- data/src/core/ext/filters/deadline/deadline_filter.cc +10 -10
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +501 -0
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +39 -0
- data/src/core/ext/filters/fault_injection/service_config_parser.cc +189 -0
- data/src/core/ext/filters/fault_injection/service_config_parser.h +85 -0
- data/src/core/ext/filters/http/client/http_client_filter.cc +28 -21
- data/src/core/ext/filters/http/client_authority_filter.cc +3 -3
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +23 -22
- data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +21 -21
- data/src/core/ext/filters/http/server/http_server_filter.cc +27 -23
- data/src/core/ext/filters/max_age/max_age_filter.cc +47 -42
- data/src/core/ext/filters/message_size/message_size_filter.cc +14 -11
- data/src/core/ext/filters/message_size/message_size_filter.h +1 -1
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +5 -4
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +8 -8
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +7 -7
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +5 -4
- data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +2 -2
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +6 -5
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +507 -196
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +11 -2
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +13 -4
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +3 -3
- data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +64 -21
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +167 -122
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +12 -1
- data/src/core/ext/transport/chttp2/transport/context_list.cc +4 -5
- data/src/core/ext/transport/chttp2/transport/context_list.h +4 -4
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -3
- data/src/core/ext/transport/chttp2/transport/flow_control.h +8 -8
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +13 -9
- data/src/core/ext/transport/chttp2/transport/frame_data.h +10 -10
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +7 -8
- data/src/core/ext/transport/chttp2/transport/frame_goaway.h +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +7 -8
- data/src/core/ext/transport/chttp2/transport/frame_ping.h +7 -6
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +7 -7
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +6 -5
- data/src/core/ext/transport/chttp2/transport/frame_settings.h +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +4 -6
- data/src/core/ext/transport/chttp2/transport/frame_window_update.h +4 -6
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +237 -208
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +10 -10
- data/src/core/ext/transport/chttp2/transport/hpack_table.cc +4 -3
- data/src/core/ext/transport/chttp2/transport/hpack_table.h +4 -4
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +2 -2
- data/src/core/ext/transport/chttp2/transport/internal.h +32 -27
- data/src/core/ext/transport/chttp2/transport/parsing.cc +63 -56
- data/src/core/ext/transport/chttp2/transport/writing.cc +7 -3
- data/src/core/ext/transport/inproc/inproc_transport.cc +30 -29
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +406 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +1459 -0
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +350 -0
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1348 -0
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +11 -16
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +42 -59
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +3 -2
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +15 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +25 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +75 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +9 -9
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +28 -13
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +6 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +25 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +11 -5
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +41 -7
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +23 -21
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +122 -77
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +13 -9
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +37 -5
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +144 -0
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +488 -0
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +141 -0
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +452 -0
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +11 -9
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +44 -27
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +57 -16
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +150 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +29 -0
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +67 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +79 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +268 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +78 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +281 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +41 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +113 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +19 -21
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +64 -51
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +16 -13
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +50 -18
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +4 -7
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +0 -17
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +30 -23
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +85 -73
- data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +0 -3
- data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +0 -3
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +0 -2
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +93 -0
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +323 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +36 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +90 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +46 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +124 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +21 -4
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +29 -0
- data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.c +33 -0
- data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.h +77 -0
- data/src/core/ext/upb-generated/{udpa/core/v1 → xds/core/v3}/authority.upb.c +5 -5
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +60 -0
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +52 -0
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +143 -0
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +42 -0
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +84 -0
- data/src/core/ext/upb-generated/{udpa/core/v1 → xds/core/v3}/resource.upb.c +9 -9
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +94 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +54 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +166 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +36 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +85 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +354 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +140 -0
- data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +168 -171
- data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +383 -0
- data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +115 -0
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +405 -420
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +2 -2
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +12 -9
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +177 -171
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +10 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +88 -88
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +153 -153
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +10 -7
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +4 -7
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +33 -20
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +56 -59
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +116 -111
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +129 -121
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +21 -24
- data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +141 -0
- data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +70 -0
- data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +141 -0
- data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +70 -0
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +17 -13
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +753 -724
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +10 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +22 -25
- data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +51 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +102 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +55 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +120 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +45 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +76 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +371 -377
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +12 -16
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +112 -108
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +45 -53
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +177 -180
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +92 -102
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c +32 -42
- data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c +30 -40
- data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +4 -7
- data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c +38 -44
- data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +130 -0
- data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +50 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +56 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +30 -33
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +63 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.c +44 -0
- data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +14 -11
- data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +42 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +62 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +45 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +49 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +67 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +50 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +35 -0
- data/src/core/ext/xds/certificate_provider_factory.h +1 -1
- data/src/core/ext/xds/certificate_provider_store.h +3 -3
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +3 -3
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +2 -2
- data/src/core/ext/xds/xds_api.cc +2179 -688
- data/src/core/ext/xds/xds_api.h +326 -124
- data/src/core/ext/xds/xds_bootstrap.cc +115 -142
- data/src/core/ext/xds/xds_bootstrap.h +24 -17
- data/src/core/ext/xds/xds_certificate_provider.cc +184 -78
- data/src/core/ext/xds/xds_certificate_provider.h +84 -45
- data/src/core/ext/xds/xds_channel_args.h +5 -2
- data/src/core/ext/xds/xds_client.cc +462 -183
- data/src/core/ext/xds/xds_client.h +65 -22
- data/src/core/ext/xds/xds_client_stats.cc +2 -1
- data/src/core/ext/xds/xds_client_stats.h +5 -4
- data/src/core/ext/xds/xds_http_fault_filter.cc +226 -0
- data/src/core/ext/xds/xds_http_fault_filter.h +63 -0
- data/src/core/ext/xds/xds_http_filters.cc +114 -0
- data/src/core/ext/xds/xds_http_filters.h +130 -0
- data/src/core/ext/xds/xds_server_config_fetcher.cc +444 -29
- data/src/core/lib/{iomgr → address_utils}/parse_address.cc +17 -17
- data/src/core/lib/{iomgr → address_utils}/parse_address.h +7 -7
- data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.cc +108 -5
- data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.h +26 -6
- data/src/core/lib/channel/channel_stack.cc +22 -9
- data/src/core/lib/channel/channel_stack.h +17 -9
- data/src/core/lib/channel/channel_stack_builder.cc +2 -2
- data/src/core/lib/channel/channel_stack_builder.h +1 -1
- data/src/core/lib/channel/channelz.cc +108 -12
- data/src/core/lib/channel/channelz.h +30 -1
- data/src/core/lib/channel/channelz_registry.cc +14 -0
- data/src/core/lib/channel/connected_channel.cc +4 -4
- data/src/core/lib/channel/handshaker.cc +9 -50
- data/src/core/lib/channel/handshaker.h +6 -23
- data/src/core/lib/channel/status_util.cc +12 -2
- data/src/core/lib/channel/status_util.h +5 -0
- data/src/core/lib/event_engine/slice_allocator.cc +59 -0
- data/src/core/lib/event_engine/sockaddr.cc +38 -0
- data/src/core/lib/gpr/log.cc +6 -1
- data/src/core/lib/gpr/sync_abseil.cc +3 -6
- data/src/core/lib/gpr/sync_windows.cc +2 -2
- data/src/core/lib/gprpp/atomic.h +3 -3
- data/src/core/lib/gprpp/dual_ref_counted.h +3 -3
- data/src/core/lib/gprpp/mpscq.cc +2 -2
- data/src/core/lib/gprpp/ref_counted.h +29 -15
- data/src/core/lib/gprpp/ref_counted_ptr.h +2 -0
- data/src/core/lib/gprpp/status_helper.cc +407 -0
- data/src/core/lib/gprpp/status_helper.h +180 -0
- data/src/core/lib/gprpp/sync.h +129 -40
- data/src/core/lib/gprpp/thd.h +1 -1
- data/src/core/lib/gprpp/time_util.cc +77 -0
- data/src/core/lib/gprpp/time_util.h +42 -0
- data/src/core/lib/http/httpcli.cc +11 -11
- data/src/core/lib/http/httpcli_security_connector.cc +13 -9
- data/src/core/lib/http/parser.cc +16 -16
- data/src/core/lib/http/parser.h +4 -4
- data/src/core/lib/iomgr/buffer_list.cc +7 -9
- data/src/core/lib/iomgr/buffer_list.h +5 -6
- data/src/core/lib/iomgr/call_combiner.cc +15 -12
- data/src/core/lib/iomgr/call_combiner.h +12 -14
- data/src/core/lib/iomgr/cfstream_handle.cc +5 -5
- data/src/core/lib/iomgr/cfstream_handle.h +1 -1
- data/src/core/lib/iomgr/closure.h +7 -6
- data/src/core/lib/iomgr/combiner.cc +14 -12
- data/src/core/lib/iomgr/combiner.h +2 -2
- data/src/core/lib/iomgr/endpoint.cc +1 -1
- data/src/core/lib/iomgr/endpoint.h +2 -2
- data/src/core/lib/iomgr/endpoint_cfstream.cc +11 -13
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +1 -1
- data/src/core/lib/iomgr/error.cc +167 -61
- data/src/core/lib/iomgr/error.h +218 -107
- data/src/core/lib/iomgr/error_cfstream.cc +3 -2
- data/src/core/lib/iomgr/error_cfstream.h +2 -2
- data/src/core/lib/iomgr/error_internal.h +5 -1
- data/src/core/lib/iomgr/ev_apple.cc +16 -13
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +22 -22
- data/src/core/lib/iomgr/ev_epollex_linux.cc +52 -49
- data/src/core/lib/iomgr/ev_poll_posix.cc +26 -23
- data/src/core/lib/iomgr/ev_posix.cc +12 -11
- data/src/core/lib/iomgr/ev_posix.h +9 -9
- data/src/core/lib/iomgr/exec_ctx.cc +10 -6
- data/src/core/lib/iomgr/exec_ctx.h +1 -1
- data/src/core/lib/iomgr/executor.cc +8 -8
- data/src/core/lib/iomgr/executor.h +2 -2
- data/src/core/lib/iomgr/iomgr.cc +1 -1
- data/src/core/lib/iomgr/iomgr.h +1 -1
- data/src/core/lib/iomgr/iomgr_custom.cc +1 -1
- data/src/core/lib/iomgr/iomgr_internal.cc +2 -2
- data/src/core/lib/iomgr/iomgr_internal.h +3 -3
- data/src/core/lib/iomgr/iomgr_posix.cc +1 -2
- data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +2 -3
- data/src/core/lib/iomgr/iomgr_windows.cc +1 -1
- data/src/core/lib/iomgr/load_file.cc +4 -4
- data/src/core/lib/iomgr/load_file.h +2 -2
- data/src/core/lib/iomgr/lockfree_event.cc +5 -5
- data/src/core/lib/iomgr/lockfree_event.h +1 -1
- data/src/core/lib/iomgr/pollset.cc +5 -5
- data/src/core/lib/iomgr/pollset.h +9 -9
- data/src/core/lib/iomgr/pollset_custom.cc +5 -5
- data/src/core/lib/iomgr/pollset_windows.cc +5 -5
- data/src/core/lib/iomgr/port.h +1 -1
- data/src/core/lib/iomgr/python_util.h +1 -1
- data/src/core/lib/iomgr/resolve_address.cc +3 -3
- data/src/core/lib/iomgr/resolve_address.h +6 -6
- data/src/core/lib/iomgr/resolve_address_custom.cc +10 -9
- data/src/core/lib/iomgr/resolve_address_custom.h +3 -3
- data/src/core/lib/iomgr/resolve_address_posix.cc +3 -3
- data/src/core/lib/iomgr/resolve_address_windows.cc +4 -4
- data/src/core/lib/iomgr/resource_quota.cc +12 -11
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +23 -20
- data/src/core/lib/iomgr/socket_utils_posix.h +20 -20
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +4 -4
- data/src/core/lib/iomgr/tcp_client_custom.cc +5 -6
- data/src/core/lib/iomgr/tcp_client_posix.cc +16 -18
- data/src/core/lib/iomgr/tcp_client_posix.h +3 -4
- data/src/core/lib/iomgr/tcp_client_windows.cc +5 -5
- data/src/core/lib/iomgr/tcp_custom.cc +14 -16
- data/src/core/lib/iomgr/tcp_custom.h +13 -12
- data/src/core/lib/iomgr/tcp_posix.cc +41 -42
- data/src/core/lib/iomgr/tcp_server.cc +6 -6
- data/src/core/lib/iomgr/tcp_server.h +12 -11
- data/src/core/lib/iomgr/tcp_server_custom.cc +23 -21
- data/src/core/lib/iomgr/tcp_server_posix.cc +22 -21
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +13 -12
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +19 -17
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +9 -9
- data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +4 -4
- data/src/core/lib/iomgr/tcp_server_windows.cc +26 -25
- data/src/core/lib/iomgr/tcp_uv.cc +27 -25
- data/src/core/lib/iomgr/tcp_windows.cc +13 -13
- data/src/core/lib/iomgr/tcp_windows.h +2 -2
- data/src/core/lib/iomgr/timer_custom.cc +2 -1
- data/src/core/lib/iomgr/timer_custom.h +1 -1
- data/src/core/lib/iomgr/timer_generic.cc +8 -8
- data/src/core/lib/iomgr/timer_manager.cc +1 -1
- data/src/core/lib/iomgr/udp_server.cc +21 -20
- data/src/core/lib/iomgr/unix_sockets_posix.cc +3 -3
- data/src/core/lib/iomgr/unix_sockets_posix.h +2 -2
- data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +10 -7
- data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +3 -3
- data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +1 -1
- data/src/core/lib/iomgr/wakeup_fd_pipe.cc +4 -4
- data/src/core/lib/iomgr/wakeup_fd_posix.cc +3 -3
- data/src/core/lib/iomgr/wakeup_fd_posix.h +8 -6
- data/src/core/lib/iomgr/work_serializer.h +17 -1
- data/src/core/lib/json/json.h +1 -1
- data/src/core/lib/json/json_reader.cc +4 -4
- data/src/core/lib/matchers/matchers.cc +339 -0
- data/src/core/lib/matchers/matchers.h +160 -0
- data/src/core/lib/security/credentials/alts/alts_credentials.cc +2 -1
- data/src/core/lib/security/credentials/alts/alts_credentials.h +1 -1
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +4 -4
- data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -2
- data/src/core/lib/security/credentials/credentials.h +4 -3
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +18 -14
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +13 -11
- data/src/core/lib/security/credentials/external/aws_request_signer.cc +2 -1
- data/src/core/lib/security/credentials/external/aws_request_signer.h +1 -1
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +17 -14
- data/src/core/lib/security/credentials/external/external_account_credentials.h +9 -8
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +6 -5
- data/src/core/lib/security/credentials/external/file_external_account_credentials.h +4 -3
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +9 -9
- data/src/core/lib/security/credentials/external/url_external_account_credentials.h +9 -7
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +3 -3
- data/src/core/lib/security/credentials/fake/fake_credentials.h +2 -2
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +16 -15
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +2 -2
- data/src/core/lib/security/credentials/iam/iam_credentials.h +2 -2
- data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +2 -2
- data/src/core/lib/security/credentials/jwt/json_token.cc +2 -5
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +3 -3
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +2 -2
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +7 -8
- data/src/core/lib/security/credentials/local/local_credentials.cc +2 -1
- data/src/core/lib/security/credentials/local/local_credentials.h +1 -1
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +21 -19
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +5 -5
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +5 -5
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +2 -2
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +2 -1
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +1 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +8 -7
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +9 -9
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +19 -13
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -0
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +2 -1
- data/src/core/lib/security/credentials/tls/tls_credentials.h +1 -1
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +130 -61
- data/src/core/lib/security/credentials/xds/xds_credentials.h +3 -3
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +13 -3
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +13 -3
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +5 -5
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +12 -2
- data/src/core/lib/security/security_connector/load_system_roots_linux.cc +1 -1
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +14 -4
- data/src/core/lib/security/security_connector/security_connector.h +9 -4
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +16 -6
- data/src/core/lib/security/security_connector/ssl_utils.cc +31 -8
- data/src/core/lib/security/security_connector/ssl_utils.h +4 -4
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +88 -74
- data/src/core/lib/security/security_connector/tls/tls_security_connector.h +66 -48
- data/src/core/lib/security/transport/client_auth_filter.cc +18 -10
- data/src/core/lib/security/transport/secure_endpoint.cc +4 -4
- data/src/core/lib/security/transport/security_handshaker.cc +66 -37
- data/src/core/lib/security/transport/server_auth_filter.cc +24 -11
- data/src/core/lib/security/transport/tsi_error.cc +2 -1
- data/src/core/lib/security/transport/tsi_error.h +2 -1
- data/src/core/lib/security/util/json_util.cc +2 -2
- data/src/core/lib/security/util/json_util.h +1 -1
- data/src/core/lib/slice/slice_intern.cc +5 -6
- data/src/core/lib/surface/call.cc +46 -45
- data/src/core/lib/surface/call.h +2 -2
- data/src/core/lib/surface/channel.cc +6 -6
- data/src/core/lib/surface/channel.h +6 -5
- data/src/core/lib/surface/channel_ping.cc +1 -1
- data/src/core/lib/surface/completion_queue.cc +46 -47
- data/src/core/lib/surface/completion_queue.h +2 -1
- data/src/core/lib/surface/init.cc +13 -15
- data/src/core/lib/surface/lame_client.cc +43 -24
- data/src/core/lib/surface/lame_client.h +4 -3
- data/src/core/lib/surface/server.cc +71 -58
- data/src/core/lib/surface/server.h +91 -28
- data/src/core/lib/surface/validate_metadata.cc +7 -7
- data/src/core/lib/surface/validate_metadata.h +3 -2
- data/src/core/lib/surface/version.cc +4 -2
- data/src/core/lib/transport/byte_stream.cc +5 -5
- data/src/core/lib/transport/byte_stream.h +8 -8
- data/src/core/lib/transport/connectivity_state.cc +1 -1
- data/src/core/lib/transport/error_utils.cc +19 -8
- data/src/core/lib/transport/error_utils.h +11 -5
- data/src/core/lib/transport/metadata.cc +6 -2
- data/src/core/lib/transport/metadata_batch.cc +64 -37
- data/src/core/lib/transport/metadata_batch.h +33 -18
- data/src/core/lib/transport/transport.cc +4 -3
- data/src/core/lib/transport/transport.h +4 -4
- data/src/core/lib/transport/transport_op_string.cc +5 -5
- data/src/core/plugin_registry/grpc_plugin_registry.cc +12 -0
- data/src/core/tsi/alts/crypt/gsec.h +4 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +23 -28
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +23 -27
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +1 -1
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +2 -1
- data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +1 -3
- data/src/core/tsi/fake_transport_security.cc +11 -2
- data/src/core/tsi/ssl/session_cache/ssl_session.h +0 -3
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +0 -2
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +2 -4
- data/src/core/tsi/ssl_transport_security.cc +32 -17
- data/src/core/tsi/ssl_transport_security.h +3 -7
- data/src/ruby/bin/math_services_pb.rb +1 -1
- data/src/ruby/ext/grpc/extconf.rb +9 -1
- data/src/ruby/ext/grpc/rb_channel.c +10 -1
- data/src/ruby/ext/grpc/rb_channel_credentials.c +11 -1
- data/src/ruby/ext/grpc/rb_channel_credentials.h +4 -0
- data/src/ruby/ext/grpc/rb_compression_options.c +1 -1
- data/src/ruby/ext/grpc/rb_enable_cpp.cc +1 -1
- data/src/ruby/ext/grpc/rb_grpc.c +4 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +2 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +4 -1
- data/src/ruby/ext/grpc/rb_server.c +13 -1
- data/src/ruby/ext/grpc/rb_server_credentials.c +19 -3
- data/src/ruby/ext/grpc/rb_server_credentials.h +4 -0
- data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +215 -0
- data/src/ruby/ext/grpc/rb_xds_channel_credentials.h +35 -0
- data/src/ruby/ext/grpc/rb_xds_server_credentials.c +169 -0
- data/src/ruby/ext/grpc/rb_xds_server_credentials.h +35 -0
- data/src/ruby/lib/grpc/generic/client_stub.rb +4 -2
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +1 -1
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +7 -0
- data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +6 -6
- data/src/ruby/spec/call_spec.rb +1 -1
- data/src/ruby/spec/channel_credentials_spec.rb +32 -0
- data/src/ruby/spec/channel_spec.rb +17 -6
- data/src/ruby/spec/client_auth_spec.rb +27 -1
- data/src/ruby/spec/errors_spec.rb +1 -1
- data/src/ruby/spec/generic/active_call_spec.rb +2 -2
- data/src/ruby/spec/generic/client_stub_spec.rb +4 -4
- data/src/ruby/spec/generic/rpc_server_spec.rb +1 -1
- data/src/ruby/spec/server_credentials_spec.rb +25 -0
- data/src/ruby/spec/server_spec.rb +22 -0
- data/third_party/abseil-cpp/absl/algorithm/container.h +3 -3
- data/third_party/abseil-cpp/absl/base/attributes.h +24 -4
- data/third_party/abseil-cpp/absl/base/call_once.h +2 -9
- data/third_party/abseil-cpp/absl/base/config.h +37 -9
- data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +24 -10
- data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +4 -1
- data/third_party/abseil-cpp/absl/base/internal/endian.h +61 -0
- data/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +2 -3
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +34 -32
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +16 -6
- data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +11 -2
- data/third_party/abseil-cpp/absl/base/internal/spinlock.h +14 -5
- data/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc +2 -2
- data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +3 -3
- data/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc +2 -2
- data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +11 -11
- data/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +5 -5
- data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +1 -1
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +5 -2
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +43 -42
- data/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc +111 -7
- data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +0 -76
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +1 -3
- data/third_party/abseil-cpp/absl/base/log_severity.h +4 -4
- data/third_party/abseil-cpp/absl/base/macros.h +11 -0
- data/third_party/abseil-cpp/absl/base/optimization.h +10 -7
- data/third_party/abseil-cpp/absl/base/options.h +1 -1
- data/third_party/abseil-cpp/absl/base/port.h +0 -1
- data/third_party/abseil-cpp/absl/base/thread_annotations.h +1 -1
- data/third_party/abseil-cpp/absl/container/fixed_array.h +2 -2
- data/third_party/abseil-cpp/absl/container/inlined_vector.h +5 -3
- data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +1 -1
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +5 -1
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +2 -1
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +2 -1
- data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +141 -66
- data/third_party/abseil-cpp/absl/container/internal/layout.h +4 -4
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +14 -1
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +136 -136
- data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +16 -12
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +5 -2
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +3 -12
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +6 -1
- data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +3 -5
- data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +2 -2
- data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +2 -2
- data/third_party/abseil-cpp/absl/hash/internal/city.cc +15 -12
- data/third_party/abseil-cpp/absl/hash/internal/city.h +1 -19
- data/third_party/abseil-cpp/absl/hash/internal/hash.cc +25 -10
- data/third_party/abseil-cpp/absl/hash/internal/hash.h +86 -37
- data/third_party/abseil-cpp/absl/hash/internal/wyhash.cc +111 -0
- data/third_party/abseil-cpp/absl/hash/internal/wyhash.h +48 -0
- data/third_party/abseil-cpp/absl/meta/type_traits.h +16 -2
- data/third_party/abseil-cpp/absl/numeric/bits.h +177 -0
- data/third_party/abseil-cpp/absl/numeric/int128.cc +3 -3
- data/third_party/abseil-cpp/absl/numeric/internal/bits.h +358 -0
- data/third_party/abseil-cpp/absl/numeric/internal/representation.h +55 -0
- data/third_party/abseil-cpp/absl/status/internal/status_internal.h +18 -0
- data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +4 -7
- data/third_party/abseil-cpp/absl/status/status.cc +29 -22
- data/third_party/abseil-cpp/absl/status/status.h +81 -20
- data/third_party/abseil-cpp/absl/status/statusor.h +3 -3
- data/third_party/abseil-cpp/absl/strings/charconv.cc +5 -5
- data/third_party/abseil-cpp/absl/strings/cord.cc +326 -371
- data/third_party/abseil-cpp/absl/strings/cord.h +182 -64
- data/third_party/abseil-cpp/absl/strings/escaping.cc +4 -4
- data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +6 -6
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +83 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +387 -17
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +146 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +897 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +589 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h +114 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +15 -1
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +19 -4
- data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +36 -18
- data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +15 -40
- data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +64 -0
- data/third_party/abseil-cpp/absl/strings/match.cc +6 -3
- data/third_party/abseil-cpp/absl/strings/match.h +16 -6
- data/third_party/abseil-cpp/absl/strings/numbers.cc +132 -4
- data/third_party/abseil-cpp/absl/strings/numbers.h +10 -10
- data/third_party/abseil-cpp/absl/strings/str_join.h +1 -1
- data/third_party/abseil-cpp/absl/strings/str_split.h +38 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +154 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +1 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +2 -1
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +2 -2
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +4 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +1 -65
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +2 -6
- data/third_party/abseil-cpp/absl/synchronization/mutex.cc +71 -59
- data/third_party/abseil-cpp/absl/synchronization/mutex.h +79 -62
- data/third_party/abseil-cpp/absl/time/clock.cc +146 -130
- data/third_party/abseil-cpp/absl/time/clock.h +2 -2
- data/third_party/abseil-cpp/absl/time/duration.cc +3 -2
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +7 -11
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +7 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +4 -4
- data/third_party/abseil-cpp/absl/time/time.cc +4 -3
- data/third_party/abseil-cpp/absl/time/time.h +26 -24
- data/third_party/abseil-cpp/absl/types/internal/variant.h +1 -1
- data/third_party/abseil-cpp/absl/types/variant.h +9 -4
- data/third_party/boringssl-with-bazel/err_data.c +742 -724
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +5 -5
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +4 -11
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +22 -10
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +16 -16
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_locl.h +35 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +28 -79
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +40 -86
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +6 -17
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +10 -61
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +158 -0
- data/third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c +3 -10
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +8 -9
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +60 -45
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +6 -81
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +1 -88
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +101 -3
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +119 -273
- data/third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-win.c +41 -0
- data/third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c +11 -2
- data/third_party/boringssl-with-bazel/src/crypto/cpu-arm.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/{dh → dh_extra}/dh_asn1.c +0 -0
- data/third_party/boringssl-with-bazel/src/crypto/{dh → dh_extra}/params.c +179 -0
- data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +25 -0
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +2 -17
- data/third_party/boringssl-with-bazel/src/crypto/err/err.c +87 -80
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +4 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c +13 -20
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +2 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +10 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +32 -16
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +25 -2
- data/third_party/boringssl-with-bazel/src/crypto/{dh → fipsmodule/dh}/check.c +0 -0
- data/third_party/boringssl-with-bazel/src/crypto/{dh → fipsmodule/dh}/dh.c +136 -213
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c +10 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +4 -43
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +16 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +9 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +0 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +104 -93
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +39 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +43 -46
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +43 -46
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +33 -22
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +9 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +9 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +17 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +1 -22
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +28 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +135 -43
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +26 -14
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +51 -32
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +79 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +161 -9
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +45 -48
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +38 -43
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +37 -45
- data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +121 -71
- data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +71 -41
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +65 -0
- data/third_party/boringssl-with-bazel/src/crypto/mem.c +14 -0
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +95 -48
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +10 -7
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c +13 -11
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/is_fips.c → rand_extra/passive.c} +16 -11
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +5 -1
- data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +7 -13
- data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +0 -28
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +19 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +5 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +19 -25
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +4 -31
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +10 -7
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +39 -89
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +17 -24
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +29 -23
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +21 -17
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +21 -34
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +6 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_pkey.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +25 -22
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +39 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +11 -10
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bitst.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +25 -25
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +4 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_enum.c +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_genn.c +40 -20
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ia5.c +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +25 -36
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +7 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +6 -6
- data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +0 -3
- data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +3 -3
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +737 -551
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +0 -167
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +19 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +62 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +22 -7
- data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +15 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +22 -32
- data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +24 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +56 -26
- data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +20 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +19 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/err.h +3 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +13 -40
- data/third_party/boringssl-with-bazel/src/{crypto/x509/x509_r2x.c → include/openssl/evp_errors.h} +41 -58
- data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +24 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +2 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +9 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +5 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/span.h +2 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +239 -37
- data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +28 -8
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +702 -219
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +141 -36
- data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +5 -0
- data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +444 -0
- data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +244 -1
- data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +47 -15
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +11 -20
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +159 -13
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +253 -58
- data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +7 -1
- data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +0 -1
- data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +7 -8
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +4 -6
- data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +23 -26
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +90 -25
- data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +7 -8
- data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +5 -7
- data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +450 -104
- data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +34 -4
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +48 -15
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +232 -85
- data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +4 -2
- data/third_party/xxhash/xxhash.h +5443 -0
- metadata +167 -88
- data/src/core/ext/upb-generated/udpa/core/v1/authority.upb.h +0 -60
- data/src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.c +0 -52
- data/src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.h +0 -143
- data/src/core/ext/upb-generated/udpa/core/v1/context_params.upb.c +0 -42
- data/src/core/ext/upb-generated/udpa/core/v1/context_params.upb.h +0 -84
- data/src/core/ext/upb-generated/udpa/core/v1/resource.upb.h +0 -94
- data/src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.c +0 -54
- data/src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.h +0 -173
- data/src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.c +0 -36
- data/src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.h +0 -92
- data/src/core/ext/upbdefs-generated/udpa/core/v1/authority.upbdefs.c +0 -42
- data/src/core/ext/upbdefs-generated/udpa/core/v1/authority.upbdefs.h +0 -35
- data/src/core/ext/upbdefs-generated/udpa/core/v1/collection_entry.upbdefs.c +0 -62
- data/src/core/ext/upbdefs-generated/udpa/core/v1/collection_entry.upbdefs.h +0 -40
- data/src/core/ext/upbdefs-generated/udpa/core/v1/context_params.upbdefs.c +0 -45
- data/src/core/ext/upbdefs-generated/udpa/core/v1/context_params.upbdefs.h +0 -40
- data/src/core/ext/upbdefs-generated/udpa/core/v1/resource.upbdefs.c +0 -49
- data/src/core/ext/upbdefs-generated/udpa/core/v1/resource.upbdefs.h +0 -35
- data/src/core/ext/upbdefs-generated/udpa/core/v1/resource_locator.upbdefs.c +0 -68
- data/src/core/ext/upbdefs-generated/udpa/core/v1/resource_locator.upbdefs.h +0 -40
- data/src/core/ext/upbdefs-generated/udpa/core/v1/resource_name.upbdefs.c +0 -51
- data/src/core/ext/upbdefs-generated/udpa/core/v1/resource_name.upbdefs.h +0 -35
- data/src/core/lib/iomgr/iomgr_posix.h +0 -26
- data/src/core/lib/iomgr/poller/eventmanager_libuv.cc +0 -88
- data/src/core/lib/iomgr/poller/eventmanager_libuv.h +0 -88
- data/src/core/lib/security/authorization/authorization_engine.cc +0 -177
- data/src/core/lib/security/authorization/authorization_engine.h +0 -84
- data/src/core/lib/security/authorization/evaluate_args.cc +0 -148
- data/src/core/lib/security/authorization/evaluate_args.h +0 -59
- data/src/core/lib/security/authorization/mock_cel/activation.h +0 -57
- data/src/core/lib/security/authorization/mock_cel/cel_expr_builder_factory.h +0 -44
- data/src/core/lib/security/authorization/mock_cel/cel_expression.h +0 -69
- data/src/core/lib/security/authorization/mock_cel/cel_value.h +0 -97
- data/src/core/lib/security/authorization/mock_cel/evaluator_core.h +0 -67
- data/src/core/lib/security/authorization/mock_cel/flat_expr_builder.h +0 -57
- data/third_party/abseil-cpp/absl/base/internal/bits.h +0 -219
- data/third_party/abseil-cpp/absl/container/flat_hash_set.h +0 -504
- data/third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc +0 -249
- data/third_party/upb/upb/json_decode.c +0 -1443
- data/third_party/upb/upb/json_decode.h +0 -23
- data/third_party/upb/upb/json_encode.c +0 -713
- data/third_party/upb/upb/json_encode.h +0 -36
data/third_party/boringssl-with-bazel/src/{crypto/x509/x509_r2x.c → include/openssl/evp_errors.h}
RENAMED
@@ -54,63 +54,46 @@
|
|
54
54
|
* copied and put under another distribution licence
|
55
55
|
* [including the GNU Public Licence.] */
|
56
56
|
|
57
|
-
#
|
58
|
-
#
|
59
|
-
#include <openssl/digest.h>
|
60
|
-
#include <openssl/err.h>
|
61
|
-
#include <openssl/evp.h>
|
62
|
-
#include <openssl/obj.h>
|
63
|
-
#include <openssl/x509.h>
|
57
|
+
#ifndef OPENSSL_HEADER_EVP_ERRORS_H
|
58
|
+
#define OPENSSL_HEADER_EVP_ERRORS_H
|
64
59
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
60
|
+
#define EVP_R_BUFFER_TOO_SMALL 100
|
61
|
+
#define EVP_R_COMMAND_NOT_SUPPORTED 101
|
62
|
+
#define EVP_R_DECODE_ERROR 102
|
63
|
+
#define EVP_R_DIFFERENT_KEY_TYPES 103
|
64
|
+
#define EVP_R_DIFFERENT_PARAMETERS 104
|
65
|
+
#define EVP_R_ENCODE_ERROR 105
|
66
|
+
#define EVP_R_EXPECTING_AN_EC_KEY_KEY 106
|
67
|
+
#define EVP_R_EXPECTING_AN_RSA_KEY 107
|
68
|
+
#define EVP_R_EXPECTING_A_DSA_KEY 108
|
69
|
+
#define EVP_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE 109
|
70
|
+
#define EVP_R_INVALID_DIGEST_LENGTH 110
|
71
|
+
#define EVP_R_INVALID_DIGEST_TYPE 111
|
72
|
+
#define EVP_R_INVALID_KEYBITS 112
|
73
|
+
#define EVP_R_INVALID_MGF1_MD 113
|
74
|
+
#define EVP_R_INVALID_OPERATION 114
|
75
|
+
#define EVP_R_INVALID_PADDING_MODE 115
|
76
|
+
#define EVP_R_INVALID_PSS_SALTLEN 116
|
77
|
+
#define EVP_R_KEYS_NOT_SET 117
|
78
|
+
#define EVP_R_MISSING_PARAMETERS 118
|
79
|
+
#define EVP_R_NO_DEFAULT_DIGEST 119
|
80
|
+
#define EVP_R_NO_KEY_SET 120
|
81
|
+
#define EVP_R_NO_MDC2_SUPPORT 121
|
82
|
+
#define EVP_R_NO_NID_FOR_CURVE 122
|
83
|
+
#define EVP_R_NO_OPERATION_SET 123
|
84
|
+
#define EVP_R_NO_PARAMETERS_SET 124
|
85
|
+
#define EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 125
|
86
|
+
#define EVP_R_OPERATON_NOT_INITIALIZED 126
|
87
|
+
#define EVP_R_UNKNOWN_PUBLIC_KEY_TYPE 127
|
88
|
+
#define EVP_R_UNSUPPORTED_ALGORITHM 128
|
89
|
+
#define EVP_R_UNSUPPORTED_PUBLIC_KEY_TYPE 129
|
90
|
+
#define EVP_R_NOT_A_PRIVATE_KEY 130
|
91
|
+
#define EVP_R_INVALID_SIGNATURE 131
|
92
|
+
#define EVP_R_MEMORY_LIMIT_EXCEEDED 132
|
93
|
+
#define EVP_R_INVALID_PARAMETERS 133
|
94
|
+
#define EVP_R_INVALID_PEER_KEY 134
|
95
|
+
#define EVP_R_NOT_XOF_OR_INVALID_LENGTH 135
|
96
|
+
#define EVP_R_EMPTY_PSK 136
|
97
|
+
#define EVP_R_INVALID_BUFFER_SIZE 137
|
72
98
|
|
73
|
-
|
74
|
-
OPENSSL_PUT_ERROR(X509, ERR_R_MALLOC_FAILURE);
|
75
|
-
return NULL;
|
76
|
-
}
|
77
|
-
|
78
|
-
/* duplicate the request */
|
79
|
-
xi = ret->cert_info;
|
80
|
-
|
81
|
-
if (sk_X509_ATTRIBUTE_num(r->req_info->attributes) != 0) {
|
82
|
-
if ((xi->version = M_ASN1_INTEGER_new()) == NULL)
|
83
|
-
goto err;
|
84
|
-
if (!ASN1_INTEGER_set(xi->version, 2))
|
85
|
-
goto err;
|
86
|
-
/*
|
87
|
-
* xi->extensions=ri->attributes; <- bad, should not ever be done
|
88
|
-
* ri->attributes=NULL;
|
89
|
-
*/
|
90
|
-
}
|
91
|
-
|
92
|
-
xn = X509_REQ_get_subject_name(r);
|
93
|
-
if (X509_set_subject_name(ret, xn) == 0)
|
94
|
-
goto err;
|
95
|
-
if (X509_set_issuer_name(ret, xn) == 0)
|
96
|
-
goto err;
|
97
|
-
|
98
|
-
if (X509_gmtime_adj(xi->validity->notBefore, 0) == NULL)
|
99
|
-
goto err;
|
100
|
-
if (X509_gmtime_adj(xi->validity->notAfter, (long)60 * 60 * 24 * days) ==
|
101
|
-
NULL)
|
102
|
-
goto err;
|
103
|
-
|
104
|
-
pubkey = X509_REQ_get_pubkey(r);
|
105
|
-
res = X509_set_pubkey(ret, pubkey);
|
106
|
-
EVP_PKEY_free(pubkey);
|
107
|
-
|
108
|
-
if (!res || !X509_sign(ret, pkey, EVP_md5()))
|
109
|
-
goto err;
|
110
|
-
if (0) {
|
111
|
-
err:
|
112
|
-
X509_free(ret);
|
113
|
-
ret = NULL;
|
114
|
-
}
|
115
|
-
return (ret);
|
116
|
-
}
|
99
|
+
#endif // OPENSSL_HEADER_EVP_ERRORS_H
|
@@ -91,10 +91,16 @@ OPENSSL_EXPORT ASN1_OBJECT *OBJ_dup(const ASN1_OBJECT *obj);
|
|
91
91
|
// less than, equal to or greater than |b|, respectively.
|
92
92
|
OPENSSL_EXPORT int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b);
|
93
93
|
|
94
|
-
// OBJ_get0_data returns a pointer to the DER representation of |obj|.
|
94
|
+
// OBJ_get0_data returns a pointer to the DER representation of |obj|. This is
|
95
|
+
// the contents of the DER-encoded identifier, not including the tag and length.
|
96
|
+
// If |obj| does not have an associated object identifier (i.e. it is a nid-only
|
97
|
+
// value), this value is the empty string.
|
95
98
|
OPENSSL_EXPORT const uint8_t *OBJ_get0_data(const ASN1_OBJECT *obj);
|
96
99
|
|
97
|
-
// OBJ_length returns the length of the DER representation of |obj|.
|
100
|
+
// OBJ_length returns the length of the DER representation of |obj|. This is the
|
101
|
+
// contents of the DER-encoded identifier, not including the tag and length. If
|
102
|
+
// |obj| does not have an associated object identifier (i.e. it is a nid-only
|
103
|
+
// value), this value is the empty string.
|
98
104
|
OPENSSL_EXPORT size_t OBJ_length(const ASN1_OBJECT *obj);
|
99
105
|
|
100
106
|
|
@@ -124,9 +130,22 @@ OPENSSL_EXPORT int OBJ_txt2nid(const char *s);
|
|
124
130
|
|
125
131
|
// Getting information about nids.
|
126
132
|
|
127
|
-
// OBJ_nid2obj returns the ASN1_OBJECT corresponding to |nid|, or NULL if
|
128
|
-
// is unknown.
|
129
|
-
|
133
|
+
// OBJ_nid2obj returns the |ASN1_OBJECT| corresponding to |nid|, or NULL if
|
134
|
+
// |nid| is unknown.
|
135
|
+
//
|
136
|
+
// This function returns a static, immutable |ASN1_OBJECT|. Although the output
|
137
|
+
// is not const, callers may not mutate it. It is also not necessary to release
|
138
|
+
// the object with |ASN1_OBJECT_free|.
|
139
|
+
//
|
140
|
+
// However, functions like |X509_ALGOR_set0| expect to take ownership of a
|
141
|
+
// possibly dynamically-allocated |ASN1_OBJECT|. |ASN1_OBJECT_free| is a no-op
|
142
|
+
// for static |ASN1_OBJECT|s, so |OBJ_nid2obj| is compatible with such
|
143
|
+
// functions.
|
144
|
+
//
|
145
|
+
// Callers are encouraged to store the result of this function in a const
|
146
|
+
// pointer. However, if using functions like |X509_ALGOR_set0|, callers may use
|
147
|
+
// a non-const pointer and manage ownership.
|
148
|
+
OPENSSL_EXPORT ASN1_OBJECT *OBJ_nid2obj(int nid);
|
130
149
|
|
131
150
|
// OBJ_nid2sn returns the short name for |nid|, or NULL if |nid| is unknown.
|
132
151
|
OPENSSL_EXPORT const char *OBJ_nid2sn(int nid);
|
@@ -101,6 +101,7 @@ typedef struct {
|
|
101
101
|
typedef void PKCS7_ENVELOPE;
|
102
102
|
typedef void PKCS7_DIGEST;
|
103
103
|
typedef void PKCS7_ENCRYPT;
|
104
|
+
typedef void PKCS7_SIGNER_INFO;
|
104
105
|
|
105
106
|
typedef struct {
|
106
107
|
uint8_t *ber_bytes;
|
@@ -183,6 +184,7 @@ OPENSSL_EXPORT int PKCS7_type_is_signedAndEnveloped(const PKCS7 *p7);
|
|
183
184
|
#define PKCS7_NOATTR 0x100
|
184
185
|
#define PKCS7_NOSMIMECAP 0x200
|
185
186
|
#define PKCS7_STREAM 0x1000
|
187
|
+
#define PKCS7_PARTIAL 0x4000
|
186
188
|
|
187
189
|
// PKCS7_sign assembles |certs| into a PKCS#7 signed data ContentInfo with
|
188
190
|
// external data and no signatures. It returns a newly-allocated |PKCS7| on
|
@@ -175,7 +175,9 @@ OPENSSL_EXPORT int i2d_PKCS12_fp(FILE *fp, const PKCS12 *p12);
|
|
175
175
|
//
|
176
176
|
// Note if |p12| does not contain a private key, both |*out_pkey| and
|
177
177
|
// |*out_cert| will be set to NULL and all certificates will be returned via
|
178
|
-
// |*out_ca_certs|.
|
178
|
+
// |*out_ca_certs|. Also note this function differs from OpenSSL in that extra
|
179
|
+
// certificates are returned in the order they appear in the file. OpenSSL 1.1.1
|
180
|
+
// returns them in reverse order, but this will be fixed in OpenSSL 3.0.
|
179
181
|
//
|
180
182
|
// It returns one on success and zero on error.
|
181
183
|
//
|
@@ -206,6 +208,12 @@ OPENSSL_EXPORT int PKCS12_verify_mac(const PKCS12 *p12, const char *password,
|
|
206
208
|
// Each of |key_nid|, |cert_nid|, |iterations|, and |mac_iterations| may be zero
|
207
209
|
// to use defaults, which are |NID_pbe_WithSHA1And3_Key_TripleDES_CBC|,
|
208
210
|
// |NID_pbe_WithSHA1And40BitRC2_CBC|, 2048, and one, respectively.
|
211
|
+
//
|
212
|
+
// |key_nid| or |cert_nid| may also be -1 to disable encryption of the key or
|
213
|
+
// certificate, respectively. This option is not recommended and is only
|
214
|
+
// implemented for compatibility with external packages. Note the output still
|
215
|
+
// requires a password for the MAC. Unencrypted keys in PKCS#12 are also not
|
216
|
+
// widely supported and may not open in other implementations.
|
209
217
|
OPENSSL_EXPORT PKCS12 *PKCS12_create(const char *password, const char *name,
|
210
218
|
const EVP_PKEY *pkey, X509 *cert,
|
211
219
|
const STACK_OF(X509) *chain, int key_nid,
|
@@ -97,11 +97,14 @@ struct rand_meth_st {
|
|
97
97
|
// RAND_SSLeay returns a pointer to a dummy |RAND_METHOD|.
|
98
98
|
OPENSSL_EXPORT RAND_METHOD *RAND_SSLeay(void);
|
99
99
|
|
100
|
+
// RAND_OpenSSL returns a pointer to a dummy |RAND_METHOD|.
|
101
|
+
OPENSSL_EXPORT RAND_METHOD *RAND_OpenSSL(void);
|
102
|
+
|
100
103
|
// RAND_get_rand_method returns |RAND_SSLeay()|.
|
101
104
|
OPENSSL_EXPORT const RAND_METHOD *RAND_get_rand_method(void);
|
102
105
|
|
103
|
-
// RAND_set_rand_method
|
104
|
-
OPENSSL_EXPORT
|
106
|
+
// RAND_set_rand_method returns one.
|
107
|
+
OPENSSL_EXPORT int RAND_set_rand_method(const RAND_METHOD *);
|
105
108
|
|
106
109
|
|
107
110
|
#if defined(__cplusplus)
|
@@ -267,7 +267,7 @@ OPENSSL_EXPORT int SSL_is_dtls(const SSL *ssl);
|
|
267
267
|
// |SSL_set0_rbio| and |SSL_set0_wbio| instead.
|
268
268
|
OPENSSL_EXPORT void SSL_set_bio(SSL *ssl, BIO *rbio, BIO *wbio);
|
269
269
|
|
270
|
-
// SSL_set0_rbio configures |ssl| to
|
270
|
+
// SSL_set0_rbio configures |ssl| to read from |rbio|. It takes ownership of
|
271
271
|
// |rbio|.
|
272
272
|
//
|
273
273
|
// Note that, although this function and |SSL_set0_wbio| may be called on the
|
@@ -567,6 +567,11 @@ OPENSSL_EXPORT int SSL_get_error(const SSL *ssl, int ret_code);
|
|
567
567
|
// See also |ssl_renegotiate_explicit|.
|
568
568
|
#define SSL_ERROR_WANT_RENEGOTIATE 19
|
569
569
|
|
570
|
+
// SSL_ERROR_HANDSHAKE_HINTS_READY indicates the handshake has progressed enough
|
571
|
+
// for |SSL_serialize_handshake_hints| to be called. See also
|
572
|
+
// |SSL_request_handshake_hints|.
|
573
|
+
#define SSL_ERROR_HANDSHAKE_HINTS_READY 20
|
574
|
+
|
570
575
|
// SSL_error_description returns a string representation of |err|, where |err|
|
571
576
|
// is one of the |SSL_ERROR_*| constants returned by |SSL_get_error|, or NULL
|
572
577
|
// if the value is unrecognized.
|
@@ -1738,9 +1743,9 @@ OPENSSL_EXPORT void SSL_SESSION_get0_ocsp_response(const SSL_SESSION *session,
|
|
1738
1743
|
// SSL_MAX_MASTER_KEY_LENGTH is the maximum length of a master secret.
|
1739
1744
|
#define SSL_MAX_MASTER_KEY_LENGTH 48
|
1740
1745
|
|
1741
|
-
// SSL_SESSION_get_master_key writes up to |max_out| bytes of |session|'s
|
1742
|
-
//
|
1743
|
-
//
|
1746
|
+
// SSL_SESSION_get_master_key writes up to |max_out| bytes of |session|'s secret
|
1747
|
+
// to |out| and returns the number of bytes written. If |max_out| is zero, it
|
1748
|
+
// returns the size of the secret.
|
1744
1749
|
OPENSSL_EXPORT size_t SSL_SESSION_get_master_key(const SSL_SESSION *session,
|
1745
1750
|
uint8_t *out, size_t max_out);
|
1746
1751
|
|
@@ -2723,8 +2728,9 @@ OPENSSL_EXPORT SSL_CTX *SSL_set_SSL_CTX(SSL *ssl, SSL_CTX *ctx);
|
|
2723
2728
|
|
2724
2729
|
// SSL_CTX_set_alpn_protos sets the client ALPN protocol list on |ctx| to
|
2725
2730
|
// |protos|. |protos| must be in wire-format (i.e. a series of non-empty, 8-bit
|
2726
|
-
// length-prefixed strings)
|
2727
|
-
//
|
2731
|
+
// length-prefixed strings), or the empty string to disable ALPN. It returns
|
2732
|
+
// zero on success and one on failure. Configuring a non-empty string enables
|
2733
|
+
// ALPN on a client.
|
2728
2734
|
//
|
2729
2735
|
// WARNING: this function is dangerous because it breaks the usual return value
|
2730
2736
|
// convention.
|
@@ -2733,8 +2739,9 @@ OPENSSL_EXPORT int SSL_CTX_set_alpn_protos(SSL_CTX *ctx, const uint8_t *protos,
|
|
2733
2739
|
|
2734
2740
|
// SSL_set_alpn_protos sets the client ALPN protocol list on |ssl| to |protos|.
|
2735
2741
|
// |protos| must be in wire-format (i.e. a series of non-empty, 8-bit
|
2736
|
-
// length-prefixed strings)
|
2737
|
-
//
|
2742
|
+
// length-prefixed strings), or the empty string to disable ALPN. It returns
|
2743
|
+
// zero on success and one on failure. Configuring a non-empty string enables
|
2744
|
+
// ALPN on a client.
|
2738
2745
|
//
|
2739
2746
|
// WARNING: this function is dangerous because it breaks the usual return value
|
2740
2747
|
// convention.
|
@@ -2743,18 +2750,34 @@ OPENSSL_EXPORT int SSL_set_alpn_protos(SSL *ssl, const uint8_t *protos,
|
|
2743
2750
|
|
2744
2751
|
// SSL_CTX_set_alpn_select_cb sets a callback function on |ctx| that is called
|
2745
2752
|
// during ClientHello processing in order to select an ALPN protocol from the
|
2746
|
-
// client's list of offered protocols.
|
2747
|
-
// a server.
|
2753
|
+
// client's list of offered protocols.
|
2748
2754
|
//
|
2749
2755
|
// The callback is passed a wire-format (i.e. a series of non-empty, 8-bit
|
2750
|
-
// length-prefixed strings) ALPN protocol list in |in|.
|
2751
|
-
// |*out_len| to the selected protocol and
|
2752
|
-
// success. It does not pass ownership of the
|
2753
|
-
//
|
2754
|
-
//
|
2756
|
+
// length-prefixed strings) ALPN protocol list in |in|. To select a protocol,
|
2757
|
+
// the callback should set |*out| and |*out_len| to the selected protocol and
|
2758
|
+
// return |SSL_TLSEXT_ERR_OK| on success. It does not pass ownership of the
|
2759
|
+
// buffer, so |*out| should point to a static string, a buffer that outlives the
|
2760
|
+
// callback call, or the corresponding entry in |in|.
|
2761
|
+
//
|
2762
|
+
// If the server supports ALPN, but there are no protocols in common, the
|
2763
|
+
// callback should return |SSL_TLSEXT_ERR_ALERT_FATAL| to abort the connection
|
2764
|
+
// with a no_application_protocol alert.
|
2765
|
+
//
|
2766
|
+
// If the server does not support ALPN, it can return |SSL_TLSEXT_ERR_NOACK| to
|
2767
|
+
// continue the handshake without negotiating a protocol. This may be useful if
|
2768
|
+
// multiple server configurations share an |SSL_CTX|, only some of which have
|
2769
|
+
// ALPN protocols configured.
|
2770
|
+
//
|
2771
|
+
// |SSL_TLSEXT_ERR_ALERT_WARNING| is ignored and will be treated as
|
2772
|
+
// |SSL_TLSEXT_ERR_NOACK|.
|
2773
|
+
//
|
2774
|
+
// The callback will only be called if the client supports ALPN. Callers that
|
2775
|
+
// wish to require ALPN for all clients must check |SSL_get0_alpn_selected|
|
2776
|
+
// after the handshake. In QUIC connections, this is done automatically.
|
2755
2777
|
//
|
2756
2778
|
// The cipher suite is selected before negotiating ALPN. The callback may use
|
2757
|
-
// |SSL_get_pending_cipher| to query the cipher suite.
|
2779
|
+
// |SSL_get_pending_cipher| to query the cipher suite. This may be used to
|
2780
|
+
// implement HTTP/2's cipher suite constraints.
|
2758
2781
|
OPENSSL_EXPORT void SSL_CTX_set_alpn_select_cb(
|
2759
2782
|
SSL_CTX *ctx, int (*cb)(SSL *ssl, const uint8_t **out, uint8_t *out_len,
|
2760
2783
|
const uint8_t *in, unsigned in_len, void *arg),
|
@@ -2823,13 +2846,11 @@ OPENSSL_EXPORT int SSL_has_application_settings(const SSL *ssl);
|
|
2823
2846
|
|
2824
2847
|
// Certificate compression.
|
2825
2848
|
//
|
2826
|
-
// Certificates in TLS 1.3 can be compressed
|
2827
|
-
// a client and a server, but does not link against any specific
|
2828
|
-
// libraries in order to keep dependencies to a minimum. Instead,
|
2829
|
-
// compression and decompression can be installed in an |SSL_CTX| to
|
2830
|
-
// support.
|
2831
|
-
//
|
2832
|
-
// [1] https://tools.ietf.org/html/draft-ietf-tls-certificate-compression-03.
|
2849
|
+
// Certificates in TLS 1.3 can be compressed (RFC 8879). BoringSSL supports this
|
2850
|
+
// as both a client and a server, but does not link against any specific
|
2851
|
+
// compression libraries in order to keep dependencies to a minimum. Instead,
|
2852
|
+
// hooks for compression and decompression can be installed in an |SSL_CTX| to
|
2853
|
+
// enable support.
|
2833
2854
|
|
2834
2855
|
// ssl_cert_compression_func_t is a pointer to a function that performs
|
2835
2856
|
// compression. It must write the compressed representation of |in| to |out|,
|
@@ -3386,6 +3407,12 @@ OPENSSL_EXPORT int SSL_set_quic_transport_params(SSL *ssl,
|
|
3386
3407
|
OPENSSL_EXPORT void SSL_get_peer_quic_transport_params(
|
3387
3408
|
const SSL *ssl, const uint8_t **out_params, size_t *out_params_len);
|
3388
3409
|
|
3410
|
+
// SSL_set_quic_use_legacy_codepoint configures whether to use the legacy QUIC
|
3411
|
+
// extension codepoint 0xffa5 as opposed to the official value 57. Call with
|
3412
|
+
// |use_legacy| set to 1 to use 0xffa5 and call with 0 to use 57. The default
|
3413
|
+
// value for this is currently 1 but it will change to 0 at a later date.
|
3414
|
+
OPENSSL_EXPORT void SSL_set_quic_use_legacy_codepoint(SSL *ssl, int use_legacy);
|
3415
|
+
|
3389
3416
|
// SSL_set_quic_early_data_context configures a context string in QUIC servers
|
3390
3417
|
// for accepting early data. If a resumption connection offers early data, the
|
3391
3418
|
// server will check if the value matches that of the connection which minted
|
@@ -3555,6 +3582,87 @@ OPENSSL_EXPORT const char *SSL_early_data_reason_string(
|
|
3555
3582
|
enum ssl_early_data_reason_t reason);
|
3556
3583
|
|
3557
3584
|
|
3585
|
+
// Encrypted ClientHello.
|
3586
|
+
//
|
3587
|
+
// ECH is a mechanism for encrypting the entire ClientHello message in TLS 1.3.
|
3588
|
+
// This can prevent observers from seeing cleartext information about the
|
3589
|
+
// connection, such as the server_name extension.
|
3590
|
+
//
|
3591
|
+
// ECH support in BoringSSL is still experimental and under development.
|
3592
|
+
//
|
3593
|
+
// See https://tools.ietf.org/html/draft-ietf-tls-esni-09.
|
3594
|
+
|
3595
|
+
// SSL_set_enable_ech_grease configures whether the client may send ECH GREASE
|
3596
|
+
// as part of this connection.
|
3597
|
+
OPENSSL_EXPORT void SSL_set_enable_ech_grease(SSL *ssl, int enable);
|
3598
|
+
|
3599
|
+
// SSL_ECH_SERVER_CONFIG_LIST_new returns a newly-allocated
|
3600
|
+
// |SSL_ECH_SERVER_CONFIG_LIST| or NULL on error.
|
3601
|
+
OPENSSL_EXPORT SSL_ECH_SERVER_CONFIG_LIST *SSL_ECH_SERVER_CONFIG_LIST_new(void);
|
3602
|
+
|
3603
|
+
// SSL_ECH_SERVER_CONFIG_LIST_up_ref increments the reference count of |list|.
|
3604
|
+
OPENSSL_EXPORT void SSL_ECH_SERVER_CONFIG_LIST_up_ref(
|
3605
|
+
SSL_ECH_SERVER_CONFIG_LIST *list);
|
3606
|
+
|
3607
|
+
// SSL_ECH_SERVER_CONFIG_LIST_free releases memory associated with |list|.
|
3608
|
+
OPENSSL_EXPORT void SSL_ECH_SERVER_CONFIG_LIST_free(
|
3609
|
+
SSL_ECH_SERVER_CONFIG_LIST *list);
|
3610
|
+
|
3611
|
+
// SSL_ECH_SERVER_CONFIG_LIST_add appends an ECHConfig in |ech_config| and its
|
3612
|
+
// corresponding private key in |private_key| to |list|. When |is_retry_config|
|
3613
|
+
// is non-zero, this config will be returned to the client on configuration
|
3614
|
+
// mismatch. It returns one on success and zero on error. See also
|
3615
|
+
// |SSL_CTX_set1_ech_server_config_list|.
|
3616
|
+
//
|
3617
|
+
// This function should be called successively to register each ECHConfig in
|
3618
|
+
// decreasing order of preference. This configuration must be completed before
|
3619
|
+
// setting |list| on an |SSL_CTX| with |SSL_CTX_set1_ech_server_config_list|.
|
3620
|
+
// After that point, |list| is immutable; no more ECHConfig values may be added.
|
3621
|
+
OPENSSL_EXPORT int SSL_ECH_SERVER_CONFIG_LIST_add(
|
3622
|
+
SSL_ECH_SERVER_CONFIG_LIST *list, int is_retry_config,
|
3623
|
+
const uint8_t *ech_config, size_t ech_config_len,
|
3624
|
+
const uint8_t *private_key, size_t private_key_len);
|
3625
|
+
|
3626
|
+
// SSL_CTX_set1_ech_server_config_list atomically sets the refcounted |list|
|
3627
|
+
// onto |ctx|, releasing the old list. |SSL| objects associated with |ctx|, as
|
3628
|
+
// servers, will use |list| to decrypt incoming encrypted ClientHello messages.
|
3629
|
+
// It returns one on success, and zero on failure.
|
3630
|
+
//
|
3631
|
+
// If |list| does not contain any retry configs, this function will fail. Retry
|
3632
|
+
// configs are marked as such when they are added to |list| with
|
3633
|
+
// |SSL_ECH_SERVER_CONFIG_LIST_add|.
|
3634
|
+
//
|
3635
|
+
// Once |list| has been passed to this function, it is immutable. Unlike most
|
3636
|
+
// |SSL_CTX| configuration functions, this function may be called even if |ctx|
|
3637
|
+
// already has associated connections on multiple threads. This may be used to
|
3638
|
+
// rotate keys in a long-lived server process.
|
3639
|
+
//
|
3640
|
+
// The configured ECHConfig values should also be advertised out-of-band via DNS
|
3641
|
+
// (see draft-ietf-dnsop-svcb-https). Before advertising an ECHConfig in DNS,
|
3642
|
+
// deployments should ensure all instances of the service are configured with
|
3643
|
+
// the ECHConfig and corresponding private key.
|
3644
|
+
//
|
3645
|
+
// Only the most recent fully-deployed ECHConfigs should be advertised in DNS.
|
3646
|
+
// |list| may contain a newer set if those ECHConfigs are mid-deployment. It
|
3647
|
+
// should also contain older sets, until the DNS change has rolled out and the
|
3648
|
+
// old records have expired from caches.
|
3649
|
+
//
|
3650
|
+
// If there is a mismatch, |SSL| objects associated with |ctx| will complete the
|
3651
|
+
// handshake using the cleartext ClientHello and send updated ECHConfig values
|
3652
|
+
// to the client. The client will then retry to recover, but with a latency
|
3653
|
+
// penalty. This recovery flow depends on the public name in the ECHConfig.
|
3654
|
+
// Before advertising an ECHConfig in DNS, deployments must ensure all instances
|
3655
|
+
// of the service can present a valid certificate for the public name.
|
3656
|
+
//
|
3657
|
+
// BoringSSL negotiates ECH before certificate selection callbacks are called,
|
3658
|
+
// including |SSL_CTX_set_select_certificate_cb|. If ECH is negotiated, the
|
3659
|
+
// reported |SSL_CLIENT_HELLO| structure and |SSL_get_servername| function will
|
3660
|
+
// transparently reflect the inner ClientHello. Callers should select parameters
|
3661
|
+
// based on these values to correctly handle ECH as well as the recovery flow.
|
3662
|
+
OPENSSL_EXPORT int SSL_CTX_set1_ech_server_config_list(
|
3663
|
+
SSL_CTX *ctx, SSL_ECH_SERVER_CONFIG_LIST *list);
|
3664
|
+
|
3665
|
+
|
3558
3666
|
// Alerts.
|
3559
3667
|
//
|
3560
3668
|
// TLS uses alerts to signal error conditions. Alerts have a type (warning or
|
@@ -3690,6 +3798,101 @@ OPENSSL_EXPORT uint64_t SSL_get_read_sequence(const SSL *ssl);
|
|
3690
3798
|
OPENSSL_EXPORT uint64_t SSL_get_write_sequence(const SSL *ssl);
|
3691
3799
|
|
3692
3800
|
|
3801
|
+
// Handshake hints.
|
3802
|
+
//
|
3803
|
+
// *** EXPERIMENTAL — DO NOT USE WITHOUT CHECKING ***
|
3804
|
+
//
|
3805
|
+
// Some server deployments make asynchronous RPC calls in both ClientHello
|
3806
|
+
// dispatch and private key operations. In TLS handshakes where the private key
|
3807
|
+
// operation occurs in the first round-trip, this results in two consecutive RPC
|
3808
|
+
// round-trips. Handshake hints allow the RPC service to predicte a signature.
|
3809
|
+
// If correctly predicted, this can skip the second RPC call.
|
3810
|
+
//
|
3811
|
+
// First, the server installs a certificate selection callback (see
|
3812
|
+
// |SSL_CTX_set_select_certificate_cb|). When that is called, it performs the
|
3813
|
+
// RPC as before, but includes the ClientHello and a capabilities string from
|
3814
|
+
// |SSL_serialize_capabilities|.
|
3815
|
+
//
|
3816
|
+
// Next, the RPC service creates its own |SSL| object, applies the results of
|
3817
|
+
// certificate selection, calls |SSL_request_handshake_hints|, and runs the
|
3818
|
+
// handshake. If this successfully computes handshake hints (see
|
3819
|
+
// |SSL_serialize_handshake_hints|), the RPC server should send the hints
|
3820
|
+
// alongside any certificate selection results.
|
3821
|
+
//
|
3822
|
+
// Finally, the server calls |SSL_set_handshake_hints| and applies any
|
3823
|
+
// configuration from the RPC server. It then completes the handshake as before.
|
3824
|
+
// If the hints apply, BoringSSL will use the predicted signature and skip the
|
3825
|
+
// private key callbacks. Otherwise, BoringSSL will call private key callbacks
|
3826
|
+
// to generate a signature as before.
|
3827
|
+
//
|
3828
|
+
// Callers should synchronize configuration across the two services.
|
3829
|
+
// Configuration mismatches and some cases of version skew are not fatal, but
|
3830
|
+
// may result in the hints not applying. Additionally, some handshake flows use
|
3831
|
+
// the private key in later round-trips, such as TLS 1.3 HelloRetryRequest. In
|
3832
|
+
// those cases, BoringSSL will not predict a signature as there is no benefit.
|
3833
|
+
// Callers must allow for handshakes to complete without a predicted signature.
|
3834
|
+
//
|
3835
|
+
// For now, only TLS 1.3 is hinted. TLS 1.2 will work, but the hints will be
|
3836
|
+
// empty.
|
3837
|
+
|
3838
|
+
// SSL_serialize_capabilities writes an opaque byte string to |out| describing
|
3839
|
+
// some of |ssl|'s capabilities. It returns one on success and zero on error.
|
3840
|
+
//
|
3841
|
+
// This string is used by BoringSSL internally to reduce the impact of version
|
3842
|
+
// skew.
|
3843
|
+
OPENSSL_EXPORT int SSL_serialize_capabilities(const SSL *ssl, CBB *out);
|
3844
|
+
|
3845
|
+
// SSL_request_handshake_hints configures |ssl| to generate a handshake hint for
|
3846
|
+
// |client_hello|. It returns one on success and zero on error. |client_hello|
|
3847
|
+
// should contain a serialized ClientHello structure, from the |client_hello|
|
3848
|
+
// and |client_hello_len| fields of the |SSL_CLIENT_HELLO| structure.
|
3849
|
+
// |capabilities| should contain the output of |SSL_serialize_capabilities|.
|
3850
|
+
//
|
3851
|
+
// When configured, |ssl| will perform no I/O (so there is no need to configure
|
3852
|
+
// |BIO|s). For QUIC, the caller should still configure an |SSL_QUIC_METHOD|,
|
3853
|
+
// but the callbacks themselves will never be called and may be left NULL or
|
3854
|
+
// report failure. |SSL_provide_quic_data| also should not be called.
|
3855
|
+
//
|
3856
|
+
// If hint generation is successful, |SSL_do_handshake| will stop the handshake
|
3857
|
+
// early with |SSL_get_error| returning |SSL_ERROR_HANDSHAKE_HINTS_READY|. At
|
3858
|
+
// this point, the caller should run |SSL_serialize_handshake_hints| to extract
|
3859
|
+
// the resulting hints.
|
3860
|
+
//
|
3861
|
+
// Hint generation may fail if, e.g., |ssl| was unable to process the
|
3862
|
+
// ClientHello. Callers should then complete the certificate selection RPC and
|
3863
|
+
// continue the original handshake with no hint. It will likely fail, but this
|
3864
|
+
// reports the correct alert to the client and is more robust in case of
|
3865
|
+
// mismatch.
|
3866
|
+
OPENSSL_EXPORT int SSL_request_handshake_hints(SSL *ssl,
|
3867
|
+
const uint8_t *client_hello,
|
3868
|
+
size_t client_hello_len,
|
3869
|
+
const uint8_t *capabilities,
|
3870
|
+
size_t capabilities_len);
|
3871
|
+
|
3872
|
+
// SSL_serialize_handshake_hints writes an opaque byte string to |out|
|
3873
|
+
// containing the handshake hints computed by |out|. It returns one on success
|
3874
|
+
// and zero on error. This function should only be called if
|
3875
|
+
// |SSL_request_handshake_hints| was configured and the handshake terminated
|
3876
|
+
// with |SSL_ERROR_HANDSHAKE_HINTS_READY|.
|
3877
|
+
//
|
3878
|
+
// This string may be passed to |SSL_set_handshake_hints| on another |SSL| to
|
3879
|
+
// avoid an extra signature call.
|
3880
|
+
OPENSSL_EXPORT int SSL_serialize_handshake_hints(const SSL *ssl, CBB *out);
|
3881
|
+
|
3882
|
+
// SSL_set_handshake_hints configures |ssl| to use |hints| as handshake hints.
|
3883
|
+
// It returns one on success and zero on error. The handshake will then continue
|
3884
|
+
// as before, but apply predicted values from |hints| where applicable.
|
3885
|
+
//
|
3886
|
+
// Hints may contain connection and session secrets, so they must not leak and
|
3887
|
+
// must come from a source trusted to terminate the connection. However, they
|
3888
|
+
// will not change |ssl|'s configuration. The caller is responsible for
|
3889
|
+
// serializing and applying options from the RPC server as needed. This ensures
|
3890
|
+
// |ssl|'s behavior is self-consistent and consistent with the caller's local
|
3891
|
+
// decisions.
|
3892
|
+
OPENSSL_EXPORT int SSL_set_handshake_hints(SSL *ssl, const uint8_t *hints,
|
3893
|
+
size_t hints_len);
|
3894
|
+
|
3895
|
+
|
3693
3896
|
// Obscure functions.
|
3694
3897
|
|
3695
3898
|
// SSL_CTX_set_msg_callback installs |cb| as the message callback for |ctx|.
|
@@ -4087,19 +4290,6 @@ OPENSSL_EXPORT size_t SSL_max_seal_overhead(const SSL *ssl);
|
|
4087
4290
|
OPENSSL_EXPORT void SSL_CTX_set_false_start_allowed_without_alpn(SSL_CTX *ctx,
|
4088
4291
|
int allowed);
|
4089
4292
|
|
4090
|
-
// SSL_CTX_set_ignore_tls13_downgrade configures whether connections on |ctx|
|
4091
|
-
// ignore the downgrade signal in the server's random value.
|
4092
|
-
OPENSSL_EXPORT void SSL_CTX_set_ignore_tls13_downgrade(SSL_CTX *ctx,
|
4093
|
-
int ignore);
|
4094
|
-
|
4095
|
-
// SSL_set_ignore_tls13_downgrade configures whether |ssl| ignores the downgrade
|
4096
|
-
// signal in the server's random value.
|
4097
|
-
OPENSSL_EXPORT void SSL_set_ignore_tls13_downgrade(SSL *ssl, int ignore);
|
4098
|
-
|
4099
|
-
// SSL_is_tls13_downgrade returns one if the TLS 1.3 anti-downgrade
|
4100
|
-
// mechanism would have aborted |ssl|'s handshake and zero otherwise.
|
4101
|
-
OPENSSL_EXPORT int SSL_is_tls13_downgrade(const SSL *ssl);
|
4102
|
-
|
4103
4293
|
// SSL_used_hello_retry_request returns one if the TLS 1.3 HelloRetryRequest
|
4104
4294
|
// message has been either sent by the server or received by the client. It
|
4105
4295
|
// returns zero otherwise.
|
@@ -4938,6 +5128,10 @@ BSSL_NAMESPACE_BEGIN
|
|
4938
5128
|
BORINGSSL_MAKE_DELETER(SSL, SSL_free)
|
4939
5129
|
BORINGSSL_MAKE_DELETER(SSL_CTX, SSL_CTX_free)
|
4940
5130
|
BORINGSSL_MAKE_UP_REF(SSL_CTX, SSL_CTX_up_ref)
|
5131
|
+
BORINGSSL_MAKE_DELETER(SSL_ECH_SERVER_CONFIG_LIST,
|
5132
|
+
SSL_ECH_SERVER_CONFIG_LIST_free)
|
5133
|
+
BORINGSSL_MAKE_UP_REF(SSL_ECH_SERVER_CONFIG_LIST,
|
5134
|
+
SSL_ECH_SERVER_CONFIG_LIST_up_ref)
|
4941
5135
|
BORINGSSL_MAKE_DELETER(SSL_SESSION, SSL_SESSION_free)
|
4942
5136
|
BORINGSSL_MAKE_UP_REF(SSL_SESSION, SSL_SESSION_up_ref)
|
4943
5137
|
|
@@ -5054,6 +5248,7 @@ OPENSSL_EXPORT bool SSL_get_traffic_secrets(
|
|
5054
5248
|
const SSL *ssl, Span<const uint8_t> *out_read_traffic_secret,
|
5055
5249
|
Span<const uint8_t> *out_write_traffic_secret);
|
5056
5250
|
|
5251
|
+
|
5057
5252
|
BSSL_NAMESPACE_END
|
5058
5253
|
|
5059
5254
|
} // extern C++
|
@@ -5268,9 +5463,16 @@ BSSL_NAMESPACE_END
|
|
5268
5463
|
#define SSL_R_CIPHER_MISMATCH_ON_EARLY_DATA 304
|
5269
5464
|
#define SSL_R_QUIC_TRANSPORT_PARAMETERS_MISCONFIGURED 305
|
5270
5465
|
#define SSL_R_UNEXPECTED_COMPATIBILITY_MODE 306
|
5271
|
-
#define
|
5466
|
+
#define SSL_R_NO_APPLICATION_PROTOCOL 307
|
5272
5467
|
#define SSL_R_NEGOTIATED_ALPS_WITHOUT_ALPN 308
|
5273
5468
|
#define SSL_R_ALPS_MISMATCH_ON_EARLY_DATA 309
|
5469
|
+
#define SSL_R_ECH_SERVER_CONFIG_AND_PRIVATE_KEY_MISMATCH 310
|
5470
|
+
#define SSL_R_ECH_SERVER_CONFIG_UNSUPPORTED_EXTENSION 311
|
5471
|
+
#define SSL_R_UNSUPPORTED_ECH_SERVER_CONFIG 312
|
5472
|
+
#define SSL_R_ECH_SERVER_WOULD_HAVE_NO_RETRY_CONFIGS 313
|
5473
|
+
#define SSL_R_INVALID_CLIENT_HELLO_INNER 314
|
5474
|
+
#define SSL_R_INVALID_ALPN_PROTOCOL_LIST 315
|
5475
|
+
#define SSL_R_COULD_NOT_PARSE_HINTS 316
|
5274
5476
|
#define SSL_R_SSLV3_ALERT_CLOSE_NOTIFY 1000
|
5275
5477
|
#define SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE 1010
|
5276
5478
|
#define SSL_R_SSLV3_ALERT_BAD_RECORD_MAC 1020
|