grpc 1.37.1 → 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 +64 -58
- 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 +2 -2
- 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 +5 -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 +628 -3101
- data/src/core/ext/filters/client_channel/client_channel.h +489 -55
- data/src/core/ext/filters/client_channel/client_channel_channelz.h +1 -1
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +4 -1
- data/src/core/ext/filters/client_channel/config_selector.h +1 -1
- data/src/core/ext/filters/client_channel/connector.h +1 -1
- data/src/core/ext/filters/client_channel/dynamic_filters.cc +9 -10
- data/src/core/ext/filters/client_channel/dynamic_filters.h +3 -3
- 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 +24 -21
- data/src/core/ext/filters/client_channel/lb_policy.cc +1 -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 +46 -43
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +1 -1
- 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 +14 -12
- 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 +36 -30
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +23 -23
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +31 -46
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +84 -61
- 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/resolver.h +2 -2
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +23 -15
- 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 +2 -2
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +14 -14
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +33 -24
- 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 +17 -9
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +20 -28
- 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 +13 -11
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +43 -28
- 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 +1 -1
- 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 +17 -16
- data/src/core/ext/filters/client_channel/subchannel.h +7 -6
- data/src/core/ext/filters/client_idle/client_idle_filter.cc +16 -15
- data/src/core/ext/filters/deadline/deadline_filter.cc +10 -10
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +19 -18
- data/src/core/ext/filters/fault_injection/service_config_parser.cc +5 -5
- data/src/core/ext/filters/fault_injection/service_config_parser.h +1 -1
- 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 +12 -10
- 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 +4 -3
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +7 -7
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +7 -7
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +2 -2
- data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +1 -1
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +3 -3
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +44 -45
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +2 -2
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +3 -4
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +2 -2
- data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +3 -4
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +129 -116
- 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 +8 -8
- 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_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 +31 -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/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 +101 -93
- data/src/core/ext/xds/xds_api.h +6 -6
- data/src/core/ext/xds/xds_bootstrap.cc +97 -159
- data/src/core/ext/xds/xds_bootstrap.h +19 -24
- data/src/core/ext/xds/xds_certificate_provider.cc +4 -4
- data/src/core/ext/xds/xds_certificate_provider.h +4 -4
- data/src/core/ext/xds/xds_channel_args.h +5 -2
- data/src/core/ext/xds/xds_client.cc +310 -178
- data/src/core/ext/xds/xds_client.h +41 -27
- data/src/core/ext/xds/xds_client_stats.h +3 -2
- data/src/core/ext/xds/xds_server_config_fetcher.cc +34 -20
- 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 +3 -20
- data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.h +6 -11
- data/src/core/lib/channel/channel_stack.cc +10 -9
- data/src/core/lib/channel/channel_stack.h +10 -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 +21 -13
- data/src/core/lib/channel/connected_channel.cc +4 -4
- data/src/core/lib/channel/handshaker.cc +7 -6
- data/src/core/lib/channel/handshaker.h +5 -5
- 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/gprpp/ref_counted.h +28 -14
- data/src/core/lib/gprpp/status_helper.cc +407 -0
- data/src/core/lib/gprpp/status_helper.h +180 -0
- data/src/core/lib/http/httpcli.cc +11 -11
- data/src/core/lib/http/httpcli_security_connector.cc +11 -7
- 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 +4 -5
- 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 +3 -3
- 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 +217 -106
- 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 +5 -5
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +19 -19
- data/src/core/lib/iomgr/ev_epollex_linux.cc +48 -45
- data/src/core/lib/iomgr/ev_poll_posix.cc +26 -23
- data/src/core/lib/iomgr/ev_posix.cc +9 -8
- data/src/core/lib/iomgr/ev_posix.h +9 -9
- data/src/core/lib/iomgr/exec_ctx.cc +4 -4
- 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 -1
- data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +2 -2
- 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 +11 -10
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +22 -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 +15 -17
- 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 +36 -34
- 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 +25 -23
- 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 +6 -6
- 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_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 +39 -39
- data/src/core/lib/matchers/matchers.h +28 -28
- 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 +2 -2
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +17 -13
- 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 +15 -12
- 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 +5 -4
- 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 +8 -8
- data/src/core/lib/security/credentials/external/url_external_account_credentials.h +9 -7
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +2 -2
- data/src/core/lib/security/credentials/fake/fake_credentials.h +2 -2
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +9 -9
- 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/jwt/json_token.cc +2 -2
- 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 -5
- 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/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/xds/xds_credentials.cc +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 +2 -2
- 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 +22 -4
- data/src/core/lib/security/security_connector/ssl_utils.h +4 -4
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +56 -60
- 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 +33 -32
- data/src/core/lib/security/transport/server_auth_filter.cc +19 -13
- 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/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 +3 -2
- 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/lame_client.cc +11 -11
- data/src/core/lib/surface/lame_client.h +1 -1
- data/src/core/lib/surface/server.cc +28 -22
- data/src/core/lib/surface/server.h +16 -15
- 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_batch.cc +37 -37
- data/src/core/lib/transport/metadata_batch.h +19 -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/tsi/alts/crypt/gsec.h +4 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +5 -4
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +7 -6
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +2 -1
- data/src/core/tsi/ssl_transport_security.cc +32 -14
- data/src/core/tsi/ssl_transport_security.h +3 -4
- data/src/ruby/bin/math_services_pb.rb +1 -1
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +1 -1
- 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/test_services_pb.rb +6 -6
- 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/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 +477 -461
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +18 -8
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +1 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_locl.h +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +1 -1
- 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 +14 -3
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +119 -273
- data/third_party/boringssl-with-bazel/src/crypto/err/err.c +87 -80
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +11 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +25 -2
- 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 +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +0 -1
- 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/urandom.c +26 -7
- 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 +14 -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 +103 -42
- data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +58 -37
- 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/rand_extra/rand_extra.c +1 -1
- 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/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 +3 -2
- 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 +9 -16
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +1 -1
- 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 +7 -25
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +5 -0
- 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/x509v3/v3_cpols.c +2 -4
- 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 +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +0 -3
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +120 -41
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +9 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +0 -8
- data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +24 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +5 -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 +1 -38
- 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 +2 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +185 -17
- data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +416 -121
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +2 -0
- 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 +43 -12
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +149 -8
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +220 -46
- data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +7 -1
- 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 +74 -15
- data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +98 -64
- data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +34 -4
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +205 -100
- data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +4 -2
- metadata +68 -45
- data/src/core/lib/iomgr/poller/eventmanager_libuv.cc +0 -88
- data/src/core/lib/iomgr/poller/eventmanager_libuv.h +0 -88
- data/third_party/abseil-cpp/absl/base/internal/bits.h +0 -219
- data/third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc +0 -249
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/is_fips.c +0 -29
@@ -78,13 +78,13 @@ class grpc_oauth2_token_fetcher_credentials : public grpc_call_credentials {
|
|
78
78
|
grpc_auth_metadata_context context,
|
79
79
|
grpc_credentials_mdelem_array* md_array,
|
80
80
|
grpc_closure* on_request_metadata,
|
81
|
-
|
81
|
+
grpc_error_handle* error) override;
|
82
82
|
|
83
83
|
void cancel_get_request_metadata(grpc_credentials_mdelem_array* md_array,
|
84
|
-
|
84
|
+
grpc_error_handle error) override;
|
85
85
|
|
86
86
|
void on_http_response(grpc_credentials_metadata_request* r,
|
87
|
-
|
87
|
+
grpc_error_handle error);
|
88
88
|
std::string debug_string() override;
|
89
89
|
|
90
90
|
protected:
|
@@ -138,10 +138,10 @@ class grpc_access_token_credentials final : public grpc_call_credentials {
|
|
138
138
|
grpc_auth_metadata_context context,
|
139
139
|
grpc_credentials_mdelem_array* md_array,
|
140
140
|
grpc_closure* on_request_metadata,
|
141
|
-
|
141
|
+
grpc_error_handle* error) override;
|
142
142
|
|
143
143
|
void cancel_get_request_metadata(grpc_credentials_mdelem_array* md_array,
|
144
|
-
|
144
|
+
grpc_error_handle error) override;
|
145
145
|
|
146
146
|
std::string debug_string() override;
|
147
147
|
|
@@ -82,10 +82,10 @@ void grpc_plugin_credentials::pending_request_complete(pending_request* r) {
|
|
82
82
|
Unref();
|
83
83
|
}
|
84
84
|
|
85
|
-
static
|
85
|
+
static grpc_error_handle process_plugin_result(
|
86
86
|
grpc_plugin_credentials::pending_request* r, const grpc_metadata* md,
|
87
87
|
size_t num_md, grpc_status_code status, const char* error_details) {
|
88
|
-
|
88
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
89
89
|
if (status != GRPC_STATUS_OK) {
|
90
90
|
error = GRPC_ERROR_CREATE_FROM_COPIED_STRING(
|
91
91
|
absl::StrCat("Getting metadata from plugin failed with error: ",
|
@@ -142,7 +142,7 @@ static void plugin_md_request_metadata_ready(void* request,
|
|
142
142
|
r->creds->pending_request_complete(r);
|
143
143
|
// If it has not been cancelled, process it.
|
144
144
|
if (!r->cancelled) {
|
145
|
-
|
145
|
+
grpc_error_handle error =
|
146
146
|
process_plugin_result(r, md, num_md, status, error_details);
|
147
147
|
grpc_core::ExecCtx::Run(DEBUG_LOCATION, r->on_request_metadata, error);
|
148
148
|
} else if (GRPC_TRACE_FLAG_ENABLED(grpc_plugin_credentials_trace)) {
|
@@ -157,7 +157,7 @@ static void plugin_md_request_metadata_ready(void* request,
|
|
157
157
|
bool grpc_plugin_credentials::get_request_metadata(
|
158
158
|
grpc_polling_entity* /*pollent*/, grpc_auth_metadata_context context,
|
159
159
|
grpc_credentials_mdelem_array* md_array, grpc_closure* on_request_metadata,
|
160
|
-
|
160
|
+
grpc_error_handle* error) {
|
161
161
|
bool retval = true; // Synchronous return.
|
162
162
|
if (plugin_.get_metadata != nullptr) {
|
163
163
|
// Create pending_request object.
|
@@ -231,7 +231,7 @@ bool grpc_plugin_credentials::get_request_metadata(
|
|
231
231
|
}
|
232
232
|
|
233
233
|
void grpc_plugin_credentials::cancel_get_request_metadata(
|
234
|
-
grpc_credentials_mdelem_array* md_array,
|
234
|
+
grpc_credentials_mdelem_array* md_array, grpc_error_handle error) {
|
235
235
|
gpr_mu_lock(&mu_);
|
236
236
|
for (pending_request* pending_request = pending_requests_;
|
237
237
|
pending_request != nullptr; pending_request = pending_request->next) {
|
@@ -47,10 +47,10 @@ struct grpc_plugin_credentials final : public grpc_call_credentials {
|
|
47
47
|
grpc_auth_metadata_context context,
|
48
48
|
grpc_credentials_mdelem_array* md_array,
|
49
49
|
grpc_closure* on_request_metadata,
|
50
|
-
|
50
|
+
grpc_error_handle* error) override;
|
51
51
|
|
52
52
|
void cancel_get_request_metadata(grpc_credentials_mdelem_array* md_array,
|
53
|
-
|
53
|
+
grpc_error_handle error) override;
|
54
54
|
|
55
55
|
// Checks if the request has been cancelled.
|
56
56
|
// If not, removes it from the pending list, so that it cannot be
|
@@ -100,8 +100,9 @@ bool grpc_tls_certificate_distributor::HasKeyCertPairs(
|
|
100
100
|
};
|
101
101
|
|
102
102
|
void grpc_tls_certificate_distributor::SetErrorForCert(
|
103
|
-
const std::string& cert_name,
|
104
|
-
absl::optional<
|
103
|
+
const std::string& cert_name,
|
104
|
+
absl::optional<grpc_error_handle> root_cert_error,
|
105
|
+
absl::optional<grpc_error_handle> identity_cert_error) {
|
105
106
|
GPR_ASSERT(root_cert_error.has_value() || identity_cert_error.has_value());
|
106
107
|
grpc_core::MutexLock lock(&mu_);
|
107
108
|
CertificateInfo& cert_info = certificate_info_map_[cert_name];
|
@@ -112,7 +113,7 @@ void grpc_tls_certificate_distributor::SetErrorForCert(
|
|
112
113
|
GPR_ASSERT(watcher_it != watchers_.end());
|
113
114
|
// identity_cert_error_to_report is the error of the identity cert this
|
114
115
|
// watcher is watching, if there is any.
|
115
|
-
|
116
|
+
grpc_error_handle identity_cert_error_to_report = GRPC_ERROR_NONE;
|
116
117
|
if (identity_cert_error.has_value() &&
|
117
118
|
watcher_it->second.identity_cert_name == cert_name) {
|
118
119
|
identity_cert_error_to_report = *identity_cert_error;
|
@@ -133,7 +134,7 @@ void grpc_tls_certificate_distributor::SetErrorForCert(
|
|
133
134
|
GPR_ASSERT(watcher_it != watchers_.end());
|
134
135
|
// root_cert_error_to_report is the error of the root cert this watcher is
|
135
136
|
// watching, if there is any.
|
136
|
-
|
137
|
+
grpc_error_handle root_cert_error_to_report = GRPC_ERROR_NONE;
|
137
138
|
if (root_cert_error.has_value() &&
|
138
139
|
watcher_it->second.root_cert_name == cert_name) {
|
139
140
|
// In this case, We've already sent the error updates at the time when
|
@@ -151,7 +152,7 @@ void grpc_tls_certificate_distributor::SetErrorForCert(
|
|
151
152
|
}
|
152
153
|
};
|
153
154
|
|
154
|
-
void grpc_tls_certificate_distributor::SetError(
|
155
|
+
void grpc_tls_certificate_distributor::SetError(grpc_error_handle error) {
|
155
156
|
GPR_ASSERT(error != GRPC_ERROR_NONE);
|
156
157
|
grpc_core::MutexLock lock(&mu_);
|
157
158
|
for (const auto& watcher : watchers_) {
|
@@ -194,8 +195,8 @@ void grpc_tls_certificate_distributor::WatchTlsCertificates(
|
|
194
195
|
identity_cert_name};
|
195
196
|
absl::optional<absl::string_view> updated_root_certs;
|
196
197
|
absl::optional<grpc_core::PemKeyCertPairList> updated_identity_pairs;
|
197
|
-
|
198
|
-
|
198
|
+
grpc_error_handle root_error = GRPC_ERROR_NONE;
|
199
|
+
grpc_error_handle identity_error = GRPC_ERROR_NONE;
|
199
200
|
if (root_cert_name.has_value()) {
|
200
201
|
CertificateInfo& cert_info = certificate_info_map_[*root_cert_name];
|
201
202
|
start_watching_root_cert = cert_info.root_cert_watchers.empty();
|
@@ -68,8 +68,8 @@ struct grpc_tls_certificate_distributor
|
|
68
68
|
// certificates.
|
69
69
|
// @param identity_cert_error the error occurred while reloading identity
|
70
70
|
// certificates.
|
71
|
-
virtual void OnError(
|
72
|
-
|
71
|
+
virtual void OnError(grpc_error_handle root_cert_error,
|
72
|
+
grpc_error_handle identity_cert_error) = 0;
|
73
73
|
};
|
74
74
|
|
75
75
|
// Sets the key materials based on their certificate name.
|
@@ -95,14 +95,14 @@ struct grpc_tls_certificate_distributor
|
|
95
95
|
// @param identity_cert_error The error that the caller encounters when
|
96
96
|
// reloading identity certs.
|
97
97
|
void SetErrorForCert(const std::string& cert_name,
|
98
|
-
absl::optional<
|
99
|
-
absl::optional<
|
98
|
+
absl::optional<grpc_error_handle> root_cert_error,
|
99
|
+
absl::optional<grpc_error_handle> identity_cert_error);
|
100
100
|
|
101
101
|
// Propagates the error that the caller (e.g. Producer) encounters to all
|
102
102
|
// watchers.
|
103
103
|
//
|
104
104
|
// @param error The error that the caller encounters.
|
105
|
-
void SetError(
|
105
|
+
void SetError(grpc_error_handle error);
|
106
106
|
|
107
107
|
// Sets the TLS certificate watch status callback function. The
|
108
108
|
// grpc_tls_certificate_distributor will invoke this callback when a new
|
@@ -169,9 +169,9 @@ struct grpc_tls_certificate_distributor
|
|
169
169
|
// The contents of the identity key-certificate pairs.
|
170
170
|
grpc_core::PemKeyCertPairList pem_key_cert_pairs;
|
171
171
|
// The root cert reloading error propagated by the caller.
|
172
|
-
|
172
|
+
grpc_error_handle root_cert_error = GRPC_ERROR_NONE;
|
173
173
|
// The identity cert reloading error propagated by the caller.
|
174
|
-
|
174
|
+
grpc_error_handle identity_cert_error = GRPC_ERROR_NONE;
|
175
175
|
// The set of watchers watching root certificates.
|
176
176
|
// This is mainly used for quickly looking up the affected watchers while
|
177
177
|
// performing a credential reloading.
|
@@ -185,11 +185,11 @@ struct grpc_tls_certificate_distributor
|
|
185
185
|
GRPC_ERROR_UNREF(root_cert_error);
|
186
186
|
GRPC_ERROR_UNREF(identity_cert_error);
|
187
187
|
}
|
188
|
-
void SetRootError(
|
188
|
+
void SetRootError(grpc_error_handle error) {
|
189
189
|
GRPC_ERROR_UNREF(root_cert_error);
|
190
190
|
root_cert_error = error;
|
191
191
|
}
|
192
|
-
void SetIdentityError(
|
192
|
+
void SetIdentityError(grpc_error_handle error) {
|
193
193
|
GRPC_ERROR_UNREF(identity_cert_error);
|
194
194
|
identity_cert_error = error;
|
195
195
|
}
|
@@ -60,8 +60,8 @@ StaticDataCertificateProvider::StaticDataCertificateProvider(
|
|
60
60
|
distributor_->SetKeyMaterials(cert_name, std::move(root_certificate),
|
61
61
|
std::move(pem_key_cert_pairs));
|
62
62
|
}
|
63
|
-
|
64
|
-
|
63
|
+
grpc_error_handle root_cert_error = GRPC_ERROR_NONE;
|
64
|
+
grpc_error_handle identity_cert_error = GRPC_ERROR_NONE;
|
65
65
|
if (root_being_watched && !root_has_update) {
|
66
66
|
root_cert_error = GRPC_ERROR_CREATE_FROM_STATIC_STRING(
|
67
67
|
"Unable to get latest root certificates.");
|
@@ -150,8 +150,8 @@ FileWatcherCertificateProvider::FileWatcherCertificateProvider(
|
|
150
150
|
distributor_->SetKeyMaterials(cert_name, root_certificate,
|
151
151
|
pem_key_cert_pairs);
|
152
152
|
}
|
153
|
-
|
154
|
-
|
153
|
+
grpc_error_handle root_cert_error = GRPC_ERROR_NONE;
|
154
|
+
grpc_error_handle identity_cert_error = GRPC_ERROR_NONE;
|
155
155
|
if (root_being_watched && !root_certificate.has_value()) {
|
156
156
|
root_cert_error = GRPC_ERROR_CREATE_FROM_STATIC_STRING(
|
157
157
|
"Unable to get latest root certificates.");
|
@@ -210,10 +210,11 @@ void FileWatcherCertificateProvider::ForceUpdate() {
|
|
210
210
|
}
|
211
211
|
if (root_cert_changed || identity_cert_changed) {
|
212
212
|
ExecCtx exec_ctx;
|
213
|
-
|
213
|
+
grpc_error_handle root_cert_error = GRPC_ERROR_CREATE_FROM_STATIC_STRING(
|
214
214
|
"Unable to get latest root certificates.");
|
215
|
-
|
216
|
-
|
215
|
+
grpc_error_handle identity_cert_error =
|
216
|
+
GRPC_ERROR_CREATE_FROM_STATIC_STRING(
|
217
|
+
"Unable to get latest identity certificates.");
|
217
218
|
for (const auto& p : watcher_info_) {
|
218
219
|
const std::string& cert_name = p.first;
|
219
220
|
const WatcherInfo& info = p.second;
|
@@ -256,11 +257,12 @@ FileWatcherCertificateProvider::ReadRootCertificatesFromFile(
|
|
256
257
|
const std::string& root_cert_full_path) {
|
257
258
|
// Read the root file.
|
258
259
|
grpc_slice root_slice = grpc_empty_slice();
|
259
|
-
|
260
|
+
grpc_error_handle root_error =
|
260
261
|
grpc_load_file(root_cert_full_path.c_str(), 0, &root_slice);
|
261
262
|
if (root_error != GRPC_ERROR_NONE) {
|
262
263
|
gpr_log(GPR_ERROR, "Reading file %s failed: %s",
|
263
|
-
root_cert_full_path.c_str(),
|
264
|
+
root_cert_full_path.c_str(),
|
265
|
+
grpc_error_std_string(root_error).c_str());
|
264
266
|
GRPC_ERROR_UNREF(root_error);
|
265
267
|
return absl::nullopt;
|
266
268
|
}
|
@@ -314,19 +316,21 @@ FileWatcherCertificateProvider::ReadIdentityKeyCertPairFromFiles(
|
|
314
316
|
}
|
315
317
|
// Read the identity files.
|
316
318
|
SliceWrapper key_slice, cert_slice;
|
317
|
-
|
319
|
+
grpc_error_handle key_error =
|
318
320
|
grpc_load_file(private_key_path.c_str(), 0, &key_slice.slice);
|
319
321
|
if (key_error != GRPC_ERROR_NONE) {
|
320
322
|
gpr_log(GPR_ERROR, "Reading file %s failed: %s. Start retrying...",
|
321
|
-
private_key_path.c_str(),
|
323
|
+
private_key_path.c_str(),
|
324
|
+
grpc_error_std_string(key_error).c_str());
|
322
325
|
GRPC_ERROR_UNREF(key_error);
|
323
326
|
continue;
|
324
327
|
}
|
325
|
-
|
328
|
+
grpc_error_handle cert_error =
|
326
329
|
grpc_load_file(identity_certificate_path.c_str(), 0, &cert_slice.slice);
|
327
330
|
if (cert_error != GRPC_ERROR_NONE) {
|
328
331
|
gpr_log(GPR_ERROR, "Reading file %s failed: %s. Start retrying...",
|
329
|
-
identity_certificate_path.c_str(),
|
332
|
+
identity_certificate_path.c_str(),
|
333
|
+
grpc_error_std_string(cert_error).c_str());
|
330
334
|
GRPC_ERROR_UNREF(cert_error);
|
331
335
|
continue;
|
332
336
|
}
|
@@ -367,6 +371,7 @@ FileWatcherCertificateProvider::ReadIdentityKeyCertPairFromFiles(
|
|
367
371
|
grpc_tls_certificate_provider* grpc_tls_certificate_provider_static_data_create(
|
368
372
|
const char* root_certificate, grpc_tls_identity_pairs* pem_key_cert_pairs) {
|
369
373
|
GPR_ASSERT(root_certificate != nullptr || pem_key_cert_pairs != nullptr);
|
374
|
+
grpc_core::ExecCtx exec_ctx;
|
370
375
|
grpc_core::PemKeyCertPairList identity_pairs_core;
|
371
376
|
if (pem_key_cert_pairs != nullptr) {
|
372
377
|
identity_pairs_core = std::move(pem_key_cert_pairs->pem_key_cert_pairs);
|
@@ -384,6 +389,7 @@ grpc_tls_certificate_provider*
|
|
384
389
|
grpc_tls_certificate_provider_file_watcher_create(
|
385
390
|
const char* private_key_path, const char* identity_certificate_path,
|
386
391
|
const char* root_cert_path, unsigned int refresh_interval_sec) {
|
392
|
+
grpc_core::ExecCtx exec_ctx;
|
387
393
|
return new grpc_core::FileWatcherCertificateProvider(
|
388
394
|
private_key_path == nullptr ? "" : private_key_path,
|
389
395
|
identity_certificate_path == nullptr ? "" : identity_certificate_path,
|
@@ -87,6 +87,7 @@ void grpc_tls_server_authorization_check_config::Cancel(
|
|
87
87
|
/** -- Wrapper APIs declared in grpc_security.h -- **/
|
88
88
|
|
89
89
|
grpc_tls_credentials_options* grpc_tls_credentials_options_create() {
|
90
|
+
grpc_core::ExecCtx exec_ctx;
|
90
91
|
return new grpc_tls_credentials_options();
|
91
92
|
}
|
92
93
|
|
@@ -109,6 +110,7 @@ void grpc_tls_credentials_options_set_certificate_provider(
|
|
109
110
|
grpc_tls_certificate_provider* provider) {
|
110
111
|
GPR_ASSERT(options != nullptr);
|
111
112
|
GPR_ASSERT(provider != nullptr);
|
113
|
+
grpc_core::ExecCtx exec_ctx;
|
112
114
|
options->set_certificate_provider(
|
113
115
|
provider->Ref(DEBUG_LOCATION, "set_certificate_provider"));
|
114
116
|
}
|
@@ -142,6 +144,7 @@ void grpc_tls_credentials_options_set_server_authorization_check_config(
|
|
142
144
|
grpc_tls_server_authorization_check_config* config) {
|
143
145
|
GPR_ASSERT(options != nullptr);
|
144
146
|
GPR_ASSERT(config != nullptr);
|
147
|
+
grpc_core::ExecCtx exec_ctx;
|
145
148
|
options->set_server_authorization_check_config(config->Ref());
|
146
149
|
}
|
147
150
|
|
@@ -159,6 +162,7 @@ grpc_tls_server_authorization_check_config_create(
|
|
159
162
|
"check config.");
|
160
163
|
return nullptr;
|
161
164
|
}
|
165
|
+
grpc_core::ExecCtx exec_ctx;
|
162
166
|
return new grpc_tls_server_authorization_check_config(
|
163
167
|
config_user_data, schedule, cancel, destruct);
|
164
168
|
}
|
@@ -40,13 +40,13 @@ bool XdsVerifySubjectAlternativeNames(
|
|
40
40
|
if (matchers.empty()) return true;
|
41
41
|
for (size_t i = 0; i < subject_alternative_names_size; ++i) {
|
42
42
|
for (const auto& matcher : matchers) {
|
43
|
-
if (matcher.type() == StringMatcher::Type::
|
44
|
-
// For
|
43
|
+
if (matcher.type() == StringMatcher::Type::kExact) {
|
44
|
+
// For Exact match, use DNS rules for verifying SANs
|
45
45
|
// TODO(zhenlian): Right now, the SSL layer does not save the type of
|
46
46
|
// the SAN, so we are doing a DNS style verification for all SANs when
|
47
47
|
// the type is EXACT. When we expose the SAN type, change this to only
|
48
48
|
// do this verification when the SAN type is DNS and match type is
|
49
|
-
//
|
49
|
+
// kExact. For all other cases, we should use matcher.Match().
|
50
50
|
if (VerifySubjectAlternativeName(subject_alternative_names[i],
|
51
51
|
matcher.string_matcher())) {
|
52
52
|
return true;
|
@@ -54,7 +54,7 @@ void alts_check_peer(tsi_peer peer,
|
|
54
54
|
*auth_context =
|
55
55
|
grpc_core::internal::grpc_alts_auth_context_from_tsi_peer(&peer);
|
56
56
|
tsi_peer_destruct(&peer);
|
57
|
-
|
57
|
+
grpc_error_handle error =
|
58
58
|
*auth_context != nullptr
|
59
59
|
? GRPC_ERROR_NONE
|
60
60
|
: GRPC_ERROR_CREATE_FROM_STATIC_STRING(
|
@@ -103,6 +103,11 @@ class grpc_alts_channel_security_connector final
|
|
103
103
|
alts_check_peer(peer, auth_context, on_peer_checked);
|
104
104
|
}
|
105
105
|
|
106
|
+
void cancel_check_peer(grpc_closure* /*on_peer_checked*/,
|
107
|
+
grpc_error_handle error) override {
|
108
|
+
GRPC_ERROR_UNREF(error);
|
109
|
+
}
|
110
|
+
|
106
111
|
int cmp(const grpc_security_connector* other_sc) const override {
|
107
112
|
auto* other =
|
108
113
|
reinterpret_cast<const grpc_alts_channel_security_connector*>(other_sc);
|
@@ -114,7 +119,7 @@ class grpc_alts_channel_security_connector final
|
|
114
119
|
bool check_call_host(absl::string_view host,
|
115
120
|
grpc_auth_context* /*auth_context*/,
|
116
121
|
grpc_closure* /*on_call_host_checked*/,
|
117
|
-
|
122
|
+
grpc_error_handle* error) override {
|
118
123
|
if (host.empty() || host != target_name_) {
|
119
124
|
*error = GRPC_ERROR_CREATE_FROM_STATIC_STRING(
|
120
125
|
"ALTS call host does not match target name");
|
@@ -123,7 +128,7 @@ class grpc_alts_channel_security_connector final
|
|
123
128
|
}
|
124
129
|
|
125
130
|
void cancel_check_call_host(grpc_closure* /*on_call_host_checked*/,
|
126
|
-
|
131
|
+
grpc_error_handle error) override {
|
127
132
|
GRPC_ERROR_UNREF(error);
|
128
133
|
}
|
129
134
|
|
@@ -168,6 +173,11 @@ class grpc_alts_server_security_connector final
|
|
168
173
|
alts_check_peer(peer, auth_context, on_peer_checked);
|
169
174
|
}
|
170
175
|
|
176
|
+
void cancel_check_peer(grpc_closure* /*on_peer_checked*/,
|
177
|
+
grpc_error_handle error) override {
|
178
|
+
GRPC_ERROR_UNREF(error);
|
179
|
+
}
|
180
|
+
|
171
181
|
int cmp(const grpc_security_connector* other) const override {
|
172
182
|
return server_security_connector_cmp(
|
173
183
|
static_cast<const grpc_server_security_connector*>(other));
|
@@ -79,6 +79,11 @@ class grpc_fake_channel_security_connector final
|
|
79
79
|
grpc_core::RefCountedPtr<grpc_auth_context>* auth_context,
|
80
80
|
grpc_closure* on_peer_checked) override;
|
81
81
|
|
82
|
+
void cancel_check_peer(grpc_closure* /*on_peer_checked*/,
|
83
|
+
grpc_error_handle error) override {
|
84
|
+
GRPC_ERROR_UNREF(error);
|
85
|
+
}
|
86
|
+
|
82
87
|
int cmp(const grpc_security_connector* other_sc) const override {
|
83
88
|
auto* other =
|
84
89
|
reinterpret_cast<const grpc_fake_channel_security_connector*>(other_sc);
|
@@ -105,7 +110,7 @@ class grpc_fake_channel_security_connector final
|
|
105
110
|
bool check_call_host(absl::string_view host,
|
106
111
|
grpc_auth_context* /*auth_context*/,
|
107
112
|
grpc_closure* /*on_call_host_checked*/,
|
108
|
-
|
113
|
+
grpc_error_handle* /*error*/) override {
|
109
114
|
absl::string_view authority_hostname;
|
110
115
|
absl::string_view authority_ignored_port;
|
111
116
|
absl::string_view target_hostname;
|
@@ -135,7 +140,7 @@ class grpc_fake_channel_security_connector final
|
|
135
140
|
}
|
136
141
|
|
137
142
|
void cancel_check_call_host(grpc_closure* /*on_call_host_checked*/,
|
138
|
-
|
143
|
+
grpc_error_handle error) override {
|
139
144
|
GRPC_ERROR_UNREF(error);
|
140
145
|
}
|
141
146
|
|
@@ -214,7 +219,7 @@ static void fake_check_peer(
|
|
214
219
|
grpc_core::RefCountedPtr<grpc_auth_context>* auth_context,
|
215
220
|
grpc_closure* on_peer_checked) {
|
216
221
|
const char* prop_name;
|
217
|
-
|
222
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
218
223
|
*auth_context = nullptr;
|
219
224
|
if (peer.property_count != 2) {
|
220
225
|
error = GRPC_ERROR_CREATE_FROM_STATIC_STRING(
|
@@ -287,6 +292,11 @@ class grpc_fake_server_security_connector
|
|
287
292
|
fake_check_peer(this, peer, auth_context, on_peer_checked);
|
288
293
|
}
|
289
294
|
|
295
|
+
void cancel_check_peer(grpc_closure* /*on_peer_checked*/,
|
296
|
+
grpc_error_handle error) override {
|
297
|
+
GRPC_ERROR_UNREF(error);
|
298
|
+
}
|
299
|
+
|
290
300
|
void add_handshakers(const grpc_channel_args* args,
|
291
301
|
grpc_pollset_set* /*interested_parties*/,
|
292
302
|
grpc_core::HandshakeManager* handshake_mgr) override {
|
@@ -52,13 +52,13 @@ RefCountedPtr<grpc_auth_context> TestOnlyMakeInsecureAuthContext() {
|
|
52
52
|
// provide an insecure channel.
|
53
53
|
bool InsecureChannelSecurityConnector::check_call_host(
|
54
54
|
absl::string_view /*host*/, grpc_auth_context* /*auth_context*/,
|
55
|
-
grpc_closure* /*on_call_host_checked*/,
|
55
|
+
grpc_closure* /*on_call_host_checked*/, grpc_error_handle* error) {
|
56
56
|
*error = GRPC_ERROR_NONE;
|
57
57
|
return true;
|
58
58
|
}
|
59
59
|
|
60
60
|
void InsecureChannelSecurityConnector::cancel_check_call_host(
|
61
|
-
grpc_closure* /*on_call_host_checked*/,
|
61
|
+
grpc_closure* /*on_call_host_checked*/, grpc_error_handle error) {
|
62
62
|
GRPC_ERROR_UNREF(error);
|
63
63
|
}
|
64
64
|
|
@@ -47,10 +47,10 @@ class InsecureChannelSecurityConnector
|
|
47
47
|
|
48
48
|
bool check_call_host(absl::string_view host, grpc_auth_context* auth_context,
|
49
49
|
grpc_closure* on_call_host_checked,
|
50
|
-
|
50
|
+
grpc_error_handle* error) override;
|
51
51
|
|
52
52
|
void cancel_check_call_host(grpc_closure* on_call_host_checked,
|
53
|
-
|
53
|
+
grpc_error_handle error) override;
|
54
54
|
|
55
55
|
void add_handshakers(const grpc_channel_args* args,
|
56
56
|
grpc_pollset_set* /* interested_parties */,
|
@@ -60,6 +60,11 @@ class InsecureChannelSecurityConnector
|
|
60
60
|
grpc_core::RefCountedPtr<grpc_auth_context>* auth_context,
|
61
61
|
grpc_closure* on_peer_checked) override;
|
62
62
|
|
63
|
+
void cancel_check_peer(grpc_closure* /*on_peer_checked*/,
|
64
|
+
grpc_error_handle error) override {
|
65
|
+
GRPC_ERROR_UNREF(error);
|
66
|
+
}
|
67
|
+
|
63
68
|
int cmp(const grpc_security_connector* other_sc) const override;
|
64
69
|
};
|
65
70
|
|
@@ -78,6 +83,11 @@ class InsecureServerSecurityConnector : public grpc_server_security_connector {
|
|
78
83
|
grpc_core::RefCountedPtr<grpc_auth_context>* auth_context,
|
79
84
|
grpc_closure* on_peer_checked) override;
|
80
85
|
|
86
|
+
void cancel_check_peer(grpc_closure* /*on_peer_checked*/,
|
87
|
+
grpc_error_handle error) override {
|
88
|
+
GRPC_ERROR_UNREF(error);
|
89
|
+
}
|
90
|
+
|
81
91
|
int cmp(const grpc_security_connector* other) const override;
|
82
92
|
};
|
83
93
|
|