grpc 1.37.1 → 1.39.0
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 +96 -59
- data/include/grpc/event_engine/README.md +38 -0
- data/include/grpc/event_engine/endpoint_config.h +48 -0
- data/include/grpc/event_engine/event_engine.h +334 -0
- data/include/grpc/event_engine/port.h +41 -0
- data/include/grpc/event_engine/slice_allocator.h +91 -0
- data/include/grpc/grpc.h +11 -4
- data/include/grpc/grpc_security.h +32 -0
- data/include/grpc/grpc_security_constants.h +15 -0
- data/include/grpc/impl/codegen/grpc_types.h +28 -13
- data/include/grpc/impl/codegen/port_platform.h +22 -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 +630 -3103
- 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 +28 -27
- data/src/core/ext/filters/client_channel/health/health_check_client.h +30 -29
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +24 -21
- data/src/core/ext/filters/client_channel/http_proxy.cc +16 -1
- 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/ring_hash/ring_hash.cc +755 -0
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +10 -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 +46 -54
- 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 +146 -155
- 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_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/dns/c_ares/dns_resolver_ares.cc +24 -18
- 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_event_engine.cc +31 -0
- 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_event_engine.cc +28 -0
- 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 +18 -12
- 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 +20 -13
- 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 +60 -32
- data/src/core/ext/filters/client_channel/resolver.h +2 -2
- 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 +2449 -0
- data/src/core/ext/filters/client_channel/retry_filter.h +30 -0
- data/src/core/ext/filters/client_channel/retry_service_config.cc +306 -0
- data/src/core/ext/filters/client_channel/retry_service_config.h +96 -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 +17 -16
- data/src/core/ext/filters/deadline/deadline_filter.cc +10 -10
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +25 -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 +3 -2
- 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 +5 -4
- data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +3 -4
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +139 -120
- 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 +32 -27
- data/src/core/ext/transport/chttp2/transport/parsing.cc +65 -58
- data/src/core/ext/transport/chttp2/transport/writing.cc +7 -3
- data/src/core/ext/transport/inproc/inproc_transport.cc +72 -60
- 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 +348 -199
- data/src/core/ext/xds/xds_api.h +21 -12
- 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 +16 -20
- data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.h +16 -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/channelz.h +3 -0
- 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/endpoint_config.cc +46 -0
- data/src/core/lib/event_engine/endpoint_config_internal.h +42 -0
- data/src/core/lib/event_engine/event_engine.cc +50 -0
- data/src/core/lib/event_engine/slice_allocator.cc +89 -0
- data/src/core/lib/event_engine/sockaddr.cc +40 -0
- data/src/core/lib/event_engine/sockaddr.h +44 -0
- data/src/core/lib/gpr/wrap_memcpy.cc +2 -1
- 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 +183 -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_event_engine.cc +33 -0
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +1 -1
- data/src/core/lib/iomgr/error.cc +168 -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/event_engine/closure.cc +54 -0
- data/src/core/lib/iomgr/event_engine/closure.h +33 -0
- data/src/core/lib/iomgr/event_engine/endpoint.cc +194 -0
- data/src/core/lib/iomgr/event_engine/endpoint.h +53 -0
- data/src/core/lib/iomgr/event_engine/iomgr.cc +105 -0
- data/src/core/lib/iomgr/event_engine/iomgr.h +24 -0
- data/src/core/lib/iomgr/event_engine/pollset.cc +87 -0
- data/src/core/lib/iomgr/event_engine/pollset.h +25 -0
- data/src/core/lib/iomgr/event_engine/promise.h +51 -0
- data/src/core/lib/iomgr/event_engine/resolved_address_internal.cc +41 -0
- data/src/core/lib/iomgr/event_engine/resolved_address_internal.h +35 -0
- data/src/core/lib/iomgr/event_engine/resolver.cc +110 -0
- data/src/core/lib/iomgr/event_engine/tcp.cc +243 -0
- data/src/core/lib/iomgr/event_engine/timer.cc +57 -0
- data/src/core/lib/iomgr/exec_ctx.cc +12 -4
- data/src/core/lib/iomgr/exec_ctx.h +4 -5
- data/src/core/lib/iomgr/executor/threadpool.cc +2 -3
- data/src/core/lib/iomgr/executor/threadpool.h +2 -2
- 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 +2 -2
- 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 +3 -1
- data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +42 -12
- 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 +7 -7
- data/src/core/lib/iomgr/pollset_custom.h +3 -1
- data/src/core/lib/iomgr/pollset_uv.cc +3 -1
- data/src/core/lib/iomgr/pollset_uv.h +5 -1
- data/src/core/lib/iomgr/pollset_windows.cc +5 -5
- data/src/core/lib/iomgr/port.h +7 -5
- data/src/core/lib/iomgr/python_util.h +1 -1
- data/src/core/lib/iomgr/resolve_address.cc +8 -4
- data/src/core/lib/iomgr/resolve_address.h +12 -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/sockaddr.h +1 -0
- data/src/core/lib/iomgr/socket_mutator.cc +15 -2
- data/src/core/lib/iomgr/socket_mutator.h +26 -2
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +24 -22
- 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 +22 -19
- 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 +78 -73
- data/src/core/lib/iomgr/tcp_posix.h +8 -0
- 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 +26 -25
- data/src/core/lib/iomgr/tcp_server_posix.cc +28 -21
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +13 -12
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +21 -18
- 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.h +6 -1
- 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/authorization/authorization_engine.h +44 -0
- data/src/core/lib/security/authorization/authorization_policy_provider.h +32 -0
- data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +46 -0
- data/src/core/lib/security/authorization/evaluate_args.cc +209 -0
- data/src/core/lib/security/authorization/evaluate_args.h +91 -0
- 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 +12 -10
- 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/tls/tls_utils.cc +32 -0
- data/src/core/lib/security/credentials/tls/tls_utils.h +13 -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 +22 -9
- 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 +27 -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 +67 -46
- data/src/core/lib/surface/call.h +13 -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 +68 -69
- data/src/core/lib/surface/completion_queue.h +3 -2
- data/src/core/lib/surface/completion_queue_factory.cc +1 -2
- data/src/core/lib/surface/init.cc +1 -3
- data/src/core/lib/surface/init.h +10 -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 +21 -10
- 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 +6 -4
- data/src/core/lib/transport/transport_op_string.cc +6 -6
- data/src/core/plugin_registry/grpc_plugin_registry.cc +4 -0
- data/src/core/tsi/alts/crypt/gsec.h +6 -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/extconf.rb +2 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +6 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +11 -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/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 +483 -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 +9 -7
- 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/cipher_extra.c +4 -0
- 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/curve25519/curve25519.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/err/err.c +87 -80
- data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +9 -0
- 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/bn/prime.c +0 -4
- 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/digest.c +7 -0
- 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 +87 -160
- 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 +52 -65
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +52 -66
- 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 +1 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +0 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +26 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +26 -24
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +10 -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 +61 -75
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +80 -103
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +40 -49
- data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +367 -315
- 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 +5 -3
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +95 -48
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c +1 -2
- data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +0 -28
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +120 -11
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +3 -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 +42 -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_trs.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +14 -15
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +53 -73
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +31 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c +3 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +21 -17
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +3 -0
- 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_req.c +5 -8
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +3 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +7 -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/crypto/x509v3/v3_utl.c +5 -8
- data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +1 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +66 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +120 -41
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +47 -7
- data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +1 -1
- 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/digest.h +6 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +5 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +33 -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 +20 -49
- 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/hpke.h +325 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +24 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +25 -7
- 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/rsa.h +99 -63
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +283 -85
- data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +13 -19
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +445 -152
- data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +451 -435
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +2 -1
- data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +7 -2
- data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +1133 -0
- data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +298 -22
- data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +66 -30
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +189 -86
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +154 -24
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +414 -135
- data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +9 -3
- data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +14 -19
- 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 +51 -60
- data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +2 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +8 -31
- data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +3 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +4 -3
- data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +7 -3
- data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +664 -702
- data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +65 -7
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +98 -39
- data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +141 -94
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +213 -118
- data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +4 -2
- metadata +94 -46
- 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
- data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +0 -246
- data/third_party/boringssl-with-bazel/src/crypto/x509/vpm_int.h +0 -71
@@ -36,13 +36,13 @@ grpc_google_iam_credentials::~grpc_google_iam_credentials() {
|
|
36
36
|
bool grpc_google_iam_credentials::get_request_metadata(
|
37
37
|
grpc_polling_entity* /*pollent*/, grpc_auth_metadata_context /*context*/,
|
38
38
|
grpc_credentials_mdelem_array* md_array,
|
39
|
-
grpc_closure* /*on_request_metadata*/,
|
39
|
+
grpc_closure* /*on_request_metadata*/, grpc_error_handle* /*error*/) {
|
40
40
|
grpc_credentials_mdelem_array_append(md_array, &md_array_);
|
41
41
|
return true;
|
42
42
|
}
|
43
43
|
|
44
44
|
void grpc_google_iam_credentials::cancel_get_request_metadata(
|
45
|
-
grpc_credentials_mdelem_array* /*md_array*/,
|
45
|
+
grpc_credentials_mdelem_array* /*md_array*/, grpc_error_handle error) {
|
46
46
|
GRPC_ERROR_UNREF(error);
|
47
47
|
}
|
48
48
|
|
@@ -35,10 +35,10 @@ class grpc_google_iam_credentials : public grpc_call_credentials {
|
|
35
35
|
grpc_auth_metadata_context context,
|
36
36
|
grpc_credentials_mdelem_array* md_array,
|
37
37
|
grpc_closure* on_request_metadata,
|
38
|
-
|
38
|
+
grpc_error_handle* error) override;
|
39
39
|
|
40
40
|
void cancel_get_request_metadata(grpc_credentials_mdelem_array* md_array,
|
41
|
-
|
41
|
+
grpc_error_handle error) override;
|
42
42
|
std::string debug_string() override { return debug_string_; }
|
43
43
|
|
44
44
|
private:
|
@@ -72,7 +72,7 @@ grpc_auth_json_key grpc_auth_json_key_create_from_json(const Json& json) {
|
|
72
72
|
BIO* bio = nullptr;
|
73
73
|
const char* prop_value;
|
74
74
|
int success = 0;
|
75
|
-
|
75
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
76
76
|
|
77
77
|
memset(&result, 0, sizeof(grpc_auth_json_key));
|
78
78
|
result.type = GRPC_AUTH_JSON_TYPE_INVALID;
|
@@ -124,7 +124,7 @@ end:
|
|
124
124
|
|
125
125
|
grpc_auth_json_key grpc_auth_json_key_create_from_string(
|
126
126
|
const char* json_string) {
|
127
|
-
|
127
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
128
128
|
Json json = Json::Parse(json_string, &error);
|
129
129
|
GRPC_LOG_IF_ERROR("JSON key parsing", error);
|
130
130
|
return grpc_auth_json_key_create_from_json(json);
|
@@ -59,7 +59,7 @@ grpc_service_account_jwt_access_credentials::
|
|
59
59
|
bool grpc_service_account_jwt_access_credentials::get_request_metadata(
|
60
60
|
grpc_polling_entity* /*pollent*/, grpc_auth_metadata_context context,
|
61
61
|
grpc_credentials_mdelem_array* md_array,
|
62
|
-
grpc_closure* /*on_request_metadata*/,
|
62
|
+
grpc_closure* /*on_request_metadata*/, grpc_error_handle* error) {
|
63
63
|
gpr_timespec refresh_threshold = gpr_time_from_seconds(
|
64
64
|
GRPC_SECURE_TOKEN_REFRESH_THRESHOLD_SECS, GPR_TIMESPAN);
|
65
65
|
|
@@ -109,7 +109,7 @@ bool grpc_service_account_jwt_access_credentials::get_request_metadata(
|
|
109
109
|
}
|
110
110
|
|
111
111
|
void grpc_service_account_jwt_access_credentials::cancel_get_request_metadata(
|
112
|
-
grpc_credentials_mdelem_array* /*md_array*/,
|
112
|
+
grpc_credentials_mdelem_array* /*md_array*/, grpc_error_handle error) {
|
113
113
|
GRPC_ERROR_UNREF(error);
|
114
114
|
}
|
115
115
|
|
@@ -141,7 +141,7 @@ grpc_service_account_jwt_access_credentials_create_from_auth_json_key(
|
|
141
141
|
}
|
142
142
|
|
143
143
|
static char* redact_private_key(const char* json_key) {
|
144
|
-
|
144
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
145
145
|
Json json = Json::Parse(json_key, &error);
|
146
146
|
if (error != GRPC_ERROR_NONE || json.type() != Json::Type::OBJECT) {
|
147
147
|
GRPC_ERROR_UNREF(error);
|
@@ -41,10 +41,10 @@ class grpc_service_account_jwt_access_credentials
|
|
41
41
|
grpc_auth_metadata_context context,
|
42
42
|
grpc_credentials_mdelem_array* md_array,
|
43
43
|
grpc_closure* on_request_metadata,
|
44
|
-
|
44
|
+
grpc_error_handle* error) override;
|
45
45
|
|
46
46
|
void cancel_get_request_metadata(grpc_credentials_mdelem_array* md_array,
|
47
|
-
|
47
|
+
grpc_error_handle error) override;
|
48
48
|
|
49
49
|
const gpr_timespec& jwt_lifetime() const { return jwt_lifetime_; }
|
50
50
|
const grpc_auth_json_key& key() const { return key_; }
|
@@ -87,10 +87,11 @@ static Json parse_json_part_from_jwt(const char* str, size_t len) {
|
|
87
87
|
return Json(); // JSON null
|
88
88
|
}
|
89
89
|
absl::string_view string = grpc_core::StringViewFromSlice(slice);
|
90
|
-
|
90
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
91
91
|
Json json = Json::Parse(string, &error);
|
92
92
|
if (error != GRPC_ERROR_NONE) {
|
93
|
-
gpr_log(GPR_ERROR, "JSON parse error: %s",
|
93
|
+
gpr_log(GPR_ERROR, "JSON parse error: %s",
|
94
|
+
grpc_error_std_string(error).c_str());
|
94
95
|
GRPC_ERROR_UNREF(error);
|
95
96
|
json = Json(); // JSON null
|
96
97
|
}
|
@@ -412,7 +413,7 @@ static Json json_from_http(const grpc_httpcli_response* response) {
|
|
412
413
|
response->status);
|
413
414
|
return Json(); // JSON null
|
414
415
|
}
|
415
|
-
|
416
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
416
417
|
Json json = Json::Parse(
|
417
418
|
absl::string_view(response->body, response->body_length), &error);
|
418
419
|
if (error != GRPC_ERROR_NONE) {
|
@@ -627,7 +628,7 @@ end:
|
|
627
628
|
return result;
|
628
629
|
}
|
629
630
|
|
630
|
-
static void on_keys_retrieved(void* user_data,
|
631
|
+
static void on_keys_retrieved(void* user_data, grpc_error_handle /*error*/) {
|
631
632
|
verifier_cb_ctx* ctx = static_cast<verifier_cb_ctx*>(user_data);
|
632
633
|
Json json = json_from_http(&ctx->responses[HTTP_RESPONSE_KEYS]);
|
633
634
|
EVP_PKEY* verification_key = nullptr;
|
@@ -666,7 +667,8 @@ end:
|
|
666
667
|
verifier_cb_ctx_destroy(ctx);
|
667
668
|
}
|
668
669
|
|
669
|
-
static void on_openid_config_retrieved(void* user_data,
|
670
|
+
static void on_openid_config_retrieved(void* user_data,
|
671
|
+
grpc_error_handle /*error*/) {
|
670
672
|
verifier_cb_ctx* ctx = static_cast<verifier_cb_ctx*>(user_data);
|
671
673
|
const grpc_http_response* response = &ctx->responses[HTTP_RESPONSE_OPENID];
|
672
674
|
Json json = json_from_http(response);
|
@@ -61,7 +61,7 @@ grpc_auth_refresh_token grpc_auth_refresh_token_create_from_json(
|
|
61
61
|
grpc_auth_refresh_token result;
|
62
62
|
const char* prop_value;
|
63
63
|
int success = 0;
|
64
|
-
|
64
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
65
65
|
|
66
66
|
memset(&result, 0, sizeof(grpc_auth_refresh_token));
|
67
67
|
result.type = GRPC_AUTH_JSON_TYPE_INVALID;
|
@@ -94,10 +94,11 @@ end:
|
|
94
94
|
|
95
95
|
grpc_auth_refresh_token grpc_auth_refresh_token_create_from_string(
|
96
96
|
const char* json_string) {
|
97
|
-
|
97
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
98
98
|
Json json = Json::Parse(json_string, &error);
|
99
99
|
if (error != GRPC_ERROR_NONE) {
|
100
|
-
gpr_log(GPR_ERROR, "JSON parsing failed: %s",
|
100
|
+
gpr_log(GPR_ERROR, "JSON parsing failed: %s",
|
101
|
+
grpc_error_std_string(error).c_str());
|
101
102
|
GRPC_ERROR_UNREF(error);
|
102
103
|
}
|
103
104
|
return grpc_auth_refresh_token_create_from_json(json);
|
@@ -164,11 +165,11 @@ grpc_oauth2_token_fetcher_credentials_parse_server_response(
|
|
164
165
|
const char* token_type = nullptr;
|
165
166
|
const char* expires_in = nullptr;
|
166
167
|
Json::Object::const_iterator it;
|
167
|
-
|
168
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
168
169
|
json = Json::Parse(null_terminated_body, &error);
|
169
170
|
if (error != GRPC_ERROR_NONE) {
|
170
171
|
gpr_log(GPR_ERROR, "Could not parse JSON from %s: %s",
|
171
|
-
null_terminated_body,
|
172
|
+
null_terminated_body, grpc_error_std_string(error).c_str());
|
172
173
|
GRPC_ERROR_UNREF(error);
|
173
174
|
status = GRPC_CREDENTIALS_ERROR;
|
174
175
|
goto end;
|
@@ -221,7 +222,7 @@ end:
|
|
221
222
|
}
|
222
223
|
|
223
224
|
static void on_oauth2_token_fetcher_http_response(void* user_data,
|
224
|
-
|
225
|
+
grpc_error_handle error) {
|
225
226
|
GRPC_LOG_IF_ERROR("oauth_fetch", GRPC_ERROR_REF(error));
|
226
227
|
grpc_credentials_metadata_request* r =
|
227
228
|
static_cast<grpc_credentials_metadata_request*>(user_data);
|
@@ -231,7 +232,7 @@ static void on_oauth2_token_fetcher_http_response(void* user_data,
|
|
231
232
|
}
|
232
233
|
|
233
234
|
void grpc_oauth2_token_fetcher_credentials::on_http_response(
|
234
|
-
grpc_credentials_metadata_request* r,
|
235
|
+
grpc_credentials_metadata_request* r, grpc_error_handle error) {
|
235
236
|
grpc_mdelem access_token_md = GRPC_MDNULL;
|
236
237
|
grpc_millis token_lifetime = 0;
|
237
238
|
grpc_credentials_status status =
|
@@ -253,7 +254,7 @@ void grpc_oauth2_token_fetcher_credentials::on_http_response(
|
|
253
254
|
gpr_mu_unlock(&mu_);
|
254
255
|
// Invoke callbacks for all pending requests.
|
255
256
|
while (pending_request != nullptr) {
|
256
|
-
|
257
|
+
grpc_error_handle new_error = GRPC_ERROR_NONE;
|
257
258
|
if (status == GRPC_CREDENTIALS_OK) {
|
258
259
|
grpc_credentials_mdelem_array_add(pending_request->md_array,
|
259
260
|
access_token_md);
|
@@ -277,7 +278,7 @@ void grpc_oauth2_token_fetcher_credentials::on_http_response(
|
|
277
278
|
bool grpc_oauth2_token_fetcher_credentials::get_request_metadata(
|
278
279
|
grpc_polling_entity* pollent, grpc_auth_metadata_context /*context*/,
|
279
280
|
grpc_credentials_mdelem_array* md_array, grpc_closure* on_request_metadata,
|
280
|
-
|
281
|
+
grpc_error_handle* /*error*/) {
|
281
282
|
// Check if we can use the cached token.
|
282
283
|
grpc_millis refresh_threshold =
|
283
284
|
GRPC_SECURE_TOKEN_REFRESH_THRESHOLD_SECS * GPR_MS_PER_SEC;
|
@@ -325,7 +326,7 @@ bool grpc_oauth2_token_fetcher_credentials::get_request_metadata(
|
|
325
326
|
}
|
326
327
|
|
327
328
|
void grpc_oauth2_token_fetcher_credentials::cancel_get_request_metadata(
|
328
|
-
grpc_credentials_mdelem_array* md_array,
|
329
|
+
grpc_credentials_mdelem_array* md_array, grpc_error_handle error) {
|
329
330
|
gpr_mu_lock(&mu_);
|
330
331
|
grpc_oauth2_pending_get_request_metadata* prev = nullptr;
|
331
332
|
grpc_oauth2_pending_get_request_metadata* pending_request = pending_requests_;
|
@@ -525,8 +526,8 @@ void MaybeAddToBody(const char* field_name, const char* field,
|
|
525
526
|
body->push_back(absl::StrFormat("&%s=%s", field_name, field));
|
526
527
|
}
|
527
528
|
|
528
|
-
|
529
|
-
|
529
|
+
grpc_error_handle LoadTokenFile(const char* path, gpr_slice* token) {
|
530
|
+
grpc_error_handle err = grpc_load_file(path, 1, token);
|
530
531
|
if (err != GRPC_ERROR_NONE) return err;
|
531
532
|
if (GRPC_SLICE_LENGTH(*token) == 0) {
|
532
533
|
gpr_log(GPR_ERROR, "Token file %s is empty", path);
|
@@ -565,7 +566,7 @@ class StsTokenFetcherCredentials
|
|
565
566
|
grpc_millis deadline) override {
|
566
567
|
char* body = nullptr;
|
567
568
|
size_t body_length = 0;
|
568
|
-
|
569
|
+
grpc_error_handle err = FillBody(&body, &body_length);
|
569
570
|
if (err != GRPC_ERROR_NONE) {
|
570
571
|
response_cb(metadata_req, err);
|
571
572
|
GRPC_ERROR_UNREF(err);
|
@@ -598,12 +599,12 @@ class StsTokenFetcherCredentials
|
|
598
599
|
gpr_free(body);
|
599
600
|
}
|
600
601
|
|
601
|
-
|
602
|
+
grpc_error_handle FillBody(char** body, size_t* body_length) {
|
602
603
|
*body = nullptr;
|
603
604
|
std::vector<std::string> body_parts;
|
604
605
|
grpc_slice subject_token = grpc_empty_slice();
|
605
606
|
grpc_slice actor_token = grpc_empty_slice();
|
606
|
-
|
607
|
+
grpc_error_handle err = GRPC_ERROR_NONE;
|
607
608
|
|
608
609
|
auto cleanup = [&body, &body_length, &body_parts, &subject_token,
|
609
610
|
&actor_token, &err]() {
|
@@ -656,7 +657,7 @@ class StsTokenFetcherCredentials
|
|
656
657
|
|
657
658
|
absl::StatusOr<URI> ValidateStsCredentialsOptions(
|
658
659
|
const grpc_sts_credentials_options* options) {
|
659
|
-
absl::InlinedVector<
|
660
|
+
absl::InlinedVector<grpc_error_handle, 3> error_list;
|
660
661
|
absl::StatusOr<URI> sts_url =
|
661
662
|
URI::Parse(options->token_exchange_service_uri == nullptr
|
662
663
|
? ""
|
@@ -685,7 +686,8 @@ absl::StatusOr<URI> ValidateStsCredentialsOptions(
|
|
685
686
|
}
|
686
687
|
auto grpc_error_vec = GRPC_ERROR_CREATE_FROM_VECTOR(
|
687
688
|
"Invalid STS Credentials Options", &error_list);
|
688
|
-
auto retval =
|
689
|
+
auto retval =
|
690
|
+
absl::InvalidArgumentError(grpc_error_std_string(grpc_error_vec));
|
689
691
|
GRPC_ERROR_UNREF(grpc_error_vec);
|
690
692
|
return retval;
|
691
693
|
}
|
@@ -718,13 +720,13 @@ grpc_access_token_credentials::~grpc_access_token_credentials() {
|
|
718
720
|
bool grpc_access_token_credentials::get_request_metadata(
|
719
721
|
grpc_polling_entity* /*pollent*/, grpc_auth_metadata_context /*context*/,
|
720
722
|
grpc_credentials_mdelem_array* md_array,
|
721
|
-
grpc_closure* /*on_request_metadata*/,
|
723
|
+
grpc_closure* /*on_request_metadata*/, grpc_error_handle* /*error*/) {
|
722
724
|
grpc_credentials_mdelem_array_add(md_array, access_token_md_);
|
723
725
|
return true;
|
724
726
|
}
|
725
727
|
|
726
728
|
void grpc_access_token_credentials::cancel_get_request_metadata(
|
727
|
-
grpc_credentials_mdelem_array* /*md_array*/,
|
729
|
+
grpc_credentials_mdelem_array* /*md_array*/, grpc_error_handle error) {
|
728
730
|
GRPC_ERROR_UNREF(error);
|
729
731
|
}
|
730
732
|
|
@@ -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
|
}
|