grpc 1.37.0.pre1 → 1.39.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 +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.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/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_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 +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_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 +46 -34
- 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 +349 -200
- 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.cc +8 -8
- data/src/core/lib/iomgr/executor.h +2 -2
- 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/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 +24 -11
- data/src/core/lib/security/transport/tsi_error.cc +2 -1
- data/src/core/lib/security/transport/tsi_error.h +2 -1
- data/src/core/lib/security/util/json_util.cc +2 -2
- data/src/core/lib/security/util/json_util.h +1 -1
- data/src/core/lib/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 +93 -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
- 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
@@ -28,31 +28,33 @@ namespace grpc_core {
|
|
28
28
|
class AwsExternalAccountCredentials final : public ExternalAccountCredentials {
|
29
29
|
public:
|
30
30
|
static RefCountedPtr<AwsExternalAccountCredentials> Create(
|
31
|
-
Options options, std::vector<std::string> scopes,
|
31
|
+
Options options, std::vector<std::string> scopes,
|
32
|
+
grpc_error_handle* error);
|
32
33
|
|
33
34
|
AwsExternalAccountCredentials(Options options,
|
34
35
|
std::vector<std::string> scopes,
|
35
|
-
|
36
|
+
grpc_error_handle* error);
|
36
37
|
|
37
38
|
private:
|
38
39
|
void RetrieveSubjectToken(
|
39
40
|
HTTPRequestContext* ctx, const Options& options,
|
40
|
-
std::function<void(std::string,
|
41
|
+
std::function<void(std::string, grpc_error_handle)> cb) override;
|
41
42
|
|
42
43
|
void RetrieveRegion();
|
43
|
-
static void OnRetrieveRegion(void* arg,
|
44
|
-
void OnRetrieveRegionInternal(
|
44
|
+
static void OnRetrieveRegion(void* arg, grpc_error_handle error);
|
45
|
+
void OnRetrieveRegionInternal(grpc_error_handle error);
|
45
46
|
|
46
47
|
void RetrieveRoleName();
|
47
|
-
static void OnRetrieveRoleName(void* arg,
|
48
|
-
void OnRetrieveRoleNameInternal(
|
48
|
+
static void OnRetrieveRoleName(void* arg, grpc_error_handle error);
|
49
|
+
void OnRetrieveRoleNameInternal(grpc_error_handle error);
|
49
50
|
|
50
51
|
void RetrieveSigningKeys();
|
51
|
-
static void OnRetrieveSigningKeys(void* arg,
|
52
|
-
void OnRetrieveSigningKeysInternal(
|
52
|
+
static void OnRetrieveSigningKeys(void* arg, grpc_error_handle error);
|
53
|
+
void OnRetrieveSigningKeysInternal(grpc_error_handle error);
|
53
54
|
|
54
55
|
void BuildSubjectToken();
|
55
|
-
void FinishRetrieveSubjectToken(std::string subject_token,
|
56
|
+
void FinishRetrieveSubjectToken(std::string subject_token,
|
57
|
+
grpc_error_handle error);
|
56
58
|
|
57
59
|
std::string audience_;
|
58
60
|
|
@@ -72,7 +74,7 @@ class AwsExternalAccountCredentials final : public ExternalAccountCredentials {
|
|
72
74
|
std::string cred_verification_url_;
|
73
75
|
|
74
76
|
HTTPRequestContext* ctx_ = nullptr;
|
75
|
-
std::function<void(std::string,
|
77
|
+
std::function<void(std::string, grpc_error_handle)> cb_ = nullptr;
|
76
78
|
};
|
77
79
|
|
78
80
|
} // namespace grpc_core
|
@@ -66,7 +66,8 @@ AwsRequestSigner::AwsRequestSigner(
|
|
66
66
|
std::string access_key_id, std::string secret_access_key, std::string token,
|
67
67
|
std::string method, std::string url, std::string region,
|
68
68
|
std::string request_payload,
|
69
|
-
std::map<std::string, std::string> additional_headers,
|
69
|
+
std::map<std::string, std::string> additional_headers,
|
70
|
+
grpc_error_handle* error)
|
70
71
|
: access_key_id_(std::move(access_key_id)),
|
71
72
|
secret_access_key_(std::move(secret_access_key)),
|
72
73
|
token_(std::move(token)),
|
@@ -45,7 +45,7 @@ class AwsRequestSigner {
|
|
45
45
|
std::string token, std::string method, std::string url,
|
46
46
|
std::string region, std::string request_payload,
|
47
47
|
std::map<std::string, std::string> additional_headers,
|
48
|
-
|
48
|
+
grpc_error_handle* error);
|
49
49
|
|
50
50
|
// This method triggers the signing process then returns the headers of the
|
51
51
|
// signed request as a map. In case there is an error, the input `error`
|
@@ -63,7 +63,8 @@ std::string UrlEncode(const absl::string_view& s) {
|
|
63
63
|
} // namespace
|
64
64
|
|
65
65
|
RefCountedPtr<ExternalAccountCredentials> ExternalAccountCredentials::Create(
|
66
|
-
const Json& json, std::vector<std::string> scopes,
|
66
|
+
const Json& json, std::vector<std::string> scopes,
|
67
|
+
grpc_error_handle* error) {
|
67
68
|
GPR_ASSERT(*error == GRPC_ERROR_NONE);
|
68
69
|
Options options;
|
69
70
|
options.type = GRPC_AUTH_JSON_TYPE_INVALID;
|
@@ -213,14 +214,14 @@ void ExternalAccountCredentials::fetch_oauth2(
|
|
213
214
|
ctx_ = new HTTPRequestContext(httpcli_context, pollent, deadline);
|
214
215
|
metadata_req_ = metadata_req;
|
215
216
|
response_cb_ = response_cb;
|
216
|
-
auto cb = [this](std::string token,
|
217
|
+
auto cb = [this](std::string token, grpc_error_handle error) {
|
217
218
|
OnRetrieveSubjectTokenInternal(token, error);
|
218
219
|
};
|
219
220
|
RetrieveSubjectToken(ctx_, options_, cb);
|
220
221
|
}
|
221
222
|
|
222
223
|
void ExternalAccountCredentials::OnRetrieveSubjectTokenInternal(
|
223
|
-
absl::string_view subject_token,
|
224
|
+
absl::string_view subject_token, grpc_error_handle error) {
|
224
225
|
if (error != GRPC_ERROR_NONE) {
|
225
226
|
FinishTokenFetch(error);
|
226
227
|
} else {
|
@@ -300,13 +301,15 @@ void ExternalAccountCredentials::ExchangeToken(
|
|
300
301
|
grpc_http_request_destroy(&request.http);
|
301
302
|
}
|
302
303
|
|
303
|
-
void ExternalAccountCredentials::OnExchangeToken(void* arg,
|
304
|
+
void ExternalAccountCredentials::OnExchangeToken(void* arg,
|
305
|
+
grpc_error_handle error) {
|
304
306
|
ExternalAccountCredentials* self =
|
305
307
|
static_cast<ExternalAccountCredentials*>(arg);
|
306
308
|
self->OnExchangeTokenInternal(GRPC_ERROR_REF(error));
|
307
309
|
}
|
308
310
|
|
309
|
-
void ExternalAccountCredentials::OnExchangeTokenInternal(
|
311
|
+
void ExternalAccountCredentials::OnExchangeTokenInternal(
|
312
|
+
grpc_error_handle error) {
|
310
313
|
if (error != GRPC_ERROR_NONE) {
|
311
314
|
FinishTokenFetch(error);
|
312
315
|
} else {
|
@@ -330,7 +333,7 @@ void ExternalAccountCredentials::OnExchangeTokenInternal(grpc_error* error) {
|
|
330
333
|
}
|
331
334
|
|
332
335
|
void ExternalAccountCredentials::ImpersenateServiceAccount() {
|
333
|
-
|
336
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
334
337
|
absl::string_view response_body(ctx_->response.body,
|
335
338
|
ctx_->response.body_length);
|
336
339
|
Json json = Json::Parse(response_body, &error);
|
@@ -389,14 +392,14 @@ void ExternalAccountCredentials::ImpersenateServiceAccount() {
|
|
389
392
|
}
|
390
393
|
|
391
394
|
void ExternalAccountCredentials::OnImpersenateServiceAccount(
|
392
|
-
void* arg,
|
395
|
+
void* arg, grpc_error_handle error) {
|
393
396
|
ExternalAccountCredentials* self =
|
394
397
|
static_cast<ExternalAccountCredentials*>(arg);
|
395
398
|
self->OnImpersenateServiceAccountInternal(GRPC_ERROR_REF(error));
|
396
399
|
}
|
397
400
|
|
398
401
|
void ExternalAccountCredentials::OnImpersenateServiceAccountInternal(
|
399
|
-
|
402
|
+
grpc_error_handle error) {
|
400
403
|
if (error != GRPC_ERROR_NONE) {
|
401
404
|
FinishTokenFetch(error);
|
402
405
|
return;
|
@@ -452,7 +455,7 @@ void ExternalAccountCredentials::OnImpersenateServiceAccountInternal(
|
|
452
455
|
FinishTokenFetch(GRPC_ERROR_NONE);
|
453
456
|
}
|
454
457
|
|
455
|
-
void ExternalAccountCredentials::FinishTokenFetch(
|
458
|
+
void ExternalAccountCredentials::FinishTokenFetch(grpc_error_handle error) {
|
456
459
|
GRPC_LOG_IF_ERROR("Fetch external account credentials access token",
|
457
460
|
GRPC_ERROR_REF(error));
|
458
461
|
// Move object state into local variables.
|
@@ -473,12 +476,12 @@ void ExternalAccountCredentials::FinishTokenFetch(grpc_error* error) {
|
|
473
476
|
|
474
477
|
grpc_call_credentials* grpc_external_account_credentials_create(
|
475
478
|
const char* json_string, const char* scopes_string) {
|
476
|
-
|
479
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
477
480
|
grpc_core::Json json = grpc_core::Json::Parse(json_string, &error);
|
478
481
|
if (error != GRPC_ERROR_NONE) {
|
479
482
|
gpr_log(GPR_ERROR,
|
480
483
|
"External account credentials creation failed. Error: %s.",
|
481
|
-
|
484
|
+
grpc_error_std_string(error).c_str());
|
482
485
|
GRPC_ERROR_UNREF(error);
|
483
486
|
return nullptr;
|
484
487
|
}
|
@@ -489,7 +492,7 @@ grpc_call_credentials* grpc_external_account_credentials_create(
|
|
489
492
|
if (error != GRPC_ERROR_NONE) {
|
490
493
|
gpr_log(GPR_ERROR,
|
491
494
|
"External account credentials creation failed. Error: %s.",
|
492
|
-
|
495
|
+
grpc_error_std_string(error).c_str());
|
493
496
|
GRPC_ERROR_UNREF(error);
|
494
497
|
return nullptr;
|
495
498
|
}
|
@@ -49,7 +49,8 @@ class ExternalAccountCredentials
|
|
49
49
|
};
|
50
50
|
|
51
51
|
static RefCountedPtr<ExternalAccountCredentials> Create(
|
52
|
-
const Json& json, std::vector<std::string> scopes,
|
52
|
+
const Json& json, std::vector<std::string> scopes,
|
53
|
+
grpc_error_handle* error);
|
53
54
|
|
54
55
|
ExternalAccountCredentials(Options options, std::vector<std::string> scopes);
|
55
56
|
~ExternalAccountCredentials() override;
|
@@ -84,7 +85,7 @@ class ExternalAccountCredentials
|
|
84
85
|
// back.
|
85
86
|
virtual void RetrieveSubjectToken(
|
86
87
|
HTTPRequestContext* ctx, const Options& options,
|
87
|
-
std::function<void(std::string,
|
88
|
+
std::function<void(std::string, grpc_error_handle)> cb) = 0;
|
88
89
|
|
89
90
|
private:
|
90
91
|
// This method implements the common token fetch logic and it will be called
|
@@ -95,17 +96,17 @@ class ExternalAccountCredentials
|
|
95
96
|
grpc_millis deadline) override;
|
96
97
|
|
97
98
|
void OnRetrieveSubjectTokenInternal(absl::string_view subject_token,
|
98
|
-
|
99
|
+
grpc_error_handle error);
|
99
100
|
|
100
101
|
void ExchangeToken(absl::string_view subject_token);
|
101
|
-
static void OnExchangeToken(void* arg,
|
102
|
-
void OnExchangeTokenInternal(
|
102
|
+
static void OnExchangeToken(void* arg, grpc_error_handle error);
|
103
|
+
void OnExchangeTokenInternal(grpc_error_handle error);
|
103
104
|
|
104
105
|
void ImpersenateServiceAccount();
|
105
|
-
static void OnImpersenateServiceAccount(void* arg,
|
106
|
-
void OnImpersenateServiceAccountInternal(
|
106
|
+
static void OnImpersenateServiceAccount(void* arg, grpc_error_handle error);
|
107
|
+
void OnImpersenateServiceAccountInternal(grpc_error_handle error);
|
107
108
|
|
108
|
-
void FinishTokenFetch(
|
109
|
+
void FinishTokenFetch(grpc_error_handle error);
|
109
110
|
|
110
111
|
Options options_;
|
111
112
|
std::vector<std::string> scopes_;
|
@@ -28,7 +28,7 @@ namespace grpc_core {
|
|
28
28
|
RefCountedPtr<FileExternalAccountCredentials>
|
29
29
|
FileExternalAccountCredentials::Create(Options options,
|
30
30
|
std::vector<std::string> scopes,
|
31
|
-
|
31
|
+
grpc_error_handle* error) {
|
32
32
|
auto creds = MakeRefCounted<FileExternalAccountCredentials>(
|
33
33
|
std::move(options), std::move(scopes), error);
|
34
34
|
if (*error == GRPC_ERROR_NONE) {
|
@@ -39,7 +39,7 @@ FileExternalAccountCredentials::Create(Options options,
|
|
39
39
|
}
|
40
40
|
|
41
41
|
FileExternalAccountCredentials::FileExternalAccountCredentials(
|
42
|
-
Options options, std::vector<std::string> scopes,
|
42
|
+
Options options, std::vector<std::string> scopes, grpc_error_handle* error)
|
43
43
|
: ExternalAccountCredentials(options, std::move(scopes)) {
|
44
44
|
auto it = options.credential_source.object_value().find("file");
|
45
45
|
if (it == options.credential_source.object_value().end()) {
|
@@ -92,7 +92,7 @@ FileExternalAccountCredentials::FileExternalAccountCredentials(
|
|
92
92
|
|
93
93
|
void FileExternalAccountCredentials::RetrieveSubjectToken(
|
94
94
|
HTTPRequestContext* /*ctx*/, const Options& /*options*/,
|
95
|
-
std::function<void(std::string,
|
95
|
+
std::function<void(std::string, grpc_error_handle)> cb) {
|
96
96
|
struct SliceWrapper {
|
97
97
|
~SliceWrapper() { grpc_slice_unref_internal(slice); }
|
98
98
|
grpc_slice slice = grpc_empty_slice();
|
@@ -100,7 +100,8 @@ void FileExternalAccountCredentials::RetrieveSubjectToken(
|
|
100
100
|
SliceWrapper content_slice;
|
101
101
|
// To retrieve the subject token, we read the file every time we make a
|
102
102
|
// request because it may have changed since the last request.
|
103
|
-
|
103
|
+
grpc_error_handle error =
|
104
|
+
grpc_load_file(file_.c_str(), 0, &content_slice.slice);
|
104
105
|
if (error != GRPC_ERROR_NONE) {
|
105
106
|
cb("", error);
|
106
107
|
return;
|
@@ -26,16 +26,17 @@ namespace grpc_core {
|
|
26
26
|
class FileExternalAccountCredentials final : public ExternalAccountCredentials {
|
27
27
|
public:
|
28
28
|
static RefCountedPtr<FileExternalAccountCredentials> Create(
|
29
|
-
Options options, std::vector<std::string> scopes,
|
29
|
+
Options options, std::vector<std::string> scopes,
|
30
|
+
grpc_error_handle* error);
|
30
31
|
|
31
32
|
FileExternalAccountCredentials(Options options,
|
32
33
|
std::vector<std::string> scopes,
|
33
|
-
|
34
|
+
grpc_error_handle* error);
|
34
35
|
|
35
36
|
private:
|
36
37
|
void RetrieveSubjectToken(
|
37
38
|
HTTPRequestContext* ctx, const Options& options,
|
38
|
-
std::function<void(std::string,
|
39
|
+
std::function<void(std::string, grpc_error_handle)> cb) override;
|
39
40
|
|
40
41
|
// Fields of credential source
|
41
42
|
std::string file_;
|
@@ -26,7 +26,7 @@ namespace grpc_core {
|
|
26
26
|
RefCountedPtr<UrlExternalAccountCredentials>
|
27
27
|
UrlExternalAccountCredentials::Create(Options options,
|
28
28
|
std::vector<std::string> scopes,
|
29
|
-
|
29
|
+
grpc_error_handle* error) {
|
30
30
|
auto creds = MakeRefCounted<UrlExternalAccountCredentials>(
|
31
31
|
std::move(options), std::move(scopes), error);
|
32
32
|
if (*error == GRPC_ERROR_NONE) {
|
@@ -37,7 +37,7 @@ UrlExternalAccountCredentials::Create(Options options,
|
|
37
37
|
}
|
38
38
|
|
39
39
|
UrlExternalAccountCredentials::UrlExternalAccountCredentials(
|
40
|
-
Options options, std::vector<std::string> scopes,
|
40
|
+
Options options, std::vector<std::string> scopes, grpc_error_handle* error)
|
41
41
|
: ExternalAccountCredentials(options, std::move(scopes)) {
|
42
42
|
auto it = options.credential_source.object_value().find("url");
|
43
43
|
if (it == options.credential_source.object_value().end()) {
|
@@ -113,7 +113,7 @@ UrlExternalAccountCredentials::UrlExternalAccountCredentials(
|
|
113
113
|
|
114
114
|
void UrlExternalAccountCredentials::RetrieveSubjectToken(
|
115
115
|
HTTPRequestContext* ctx, const Options& /*options*/,
|
116
|
-
std::function<void(std::string,
|
116
|
+
std::function<void(std::string, grpc_error_handle)> cb) {
|
117
117
|
if (ctx == nullptr) {
|
118
118
|
FinishRetrieveSubjectToken(
|
119
119
|
"",
|
@@ -151,15 +151,15 @@ void UrlExternalAccountCredentials::RetrieveSubjectToken(
|
|
151
151
|
grpc_http_request_destroy(&request.http);
|
152
152
|
}
|
153
153
|
|
154
|
-
void UrlExternalAccountCredentials::OnRetrieveSubjectToken(
|
155
|
-
|
154
|
+
void UrlExternalAccountCredentials::OnRetrieveSubjectToken(
|
155
|
+
void* arg, grpc_error_handle error) {
|
156
156
|
UrlExternalAccountCredentials* self =
|
157
157
|
static_cast<UrlExternalAccountCredentials*>(arg);
|
158
158
|
self->OnRetrieveSubjectTokenInternal(GRPC_ERROR_REF(error));
|
159
159
|
}
|
160
160
|
|
161
161
|
void UrlExternalAccountCredentials::OnRetrieveSubjectTokenInternal(
|
162
|
-
|
162
|
+
grpc_error_handle error) {
|
163
163
|
if (error != GRPC_ERROR_NONE) {
|
164
164
|
FinishRetrieveSubjectToken("", error);
|
165
165
|
return;
|
@@ -167,7 +167,7 @@ void UrlExternalAccountCredentials::OnRetrieveSubjectTokenInternal(
|
|
167
167
|
absl::string_view response_body(ctx_->response.body,
|
168
168
|
ctx_->response.body_length);
|
169
169
|
if (format_type_ == "json") {
|
170
|
-
|
170
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
171
171
|
Json response_json = Json::Parse(response_body, &error);
|
172
172
|
if (error != GRPC_ERROR_NONE ||
|
173
173
|
response_json.type() != Json::Type::OBJECT) {
|
@@ -196,7 +196,7 @@ void UrlExternalAccountCredentials::OnRetrieveSubjectTokenInternal(
|
|
196
196
|
}
|
197
197
|
|
198
198
|
void UrlExternalAccountCredentials::FinishRetrieveSubjectToken(
|
199
|
-
std::string subject_token,
|
199
|
+
std::string subject_token, grpc_error_handle error) {
|
200
200
|
// Reset context
|
201
201
|
ctx_ = nullptr;
|
202
202
|
// Move object state into local variables.
|
@@ -26,21 +26,23 @@ namespace grpc_core {
|
|
26
26
|
class UrlExternalAccountCredentials final : public ExternalAccountCredentials {
|
27
27
|
public:
|
28
28
|
static RefCountedPtr<UrlExternalAccountCredentials> Create(
|
29
|
-
Options options, std::vector<std::string> scopes,
|
29
|
+
Options options, std::vector<std::string> scopes,
|
30
|
+
grpc_error_handle* error);
|
30
31
|
|
31
32
|
UrlExternalAccountCredentials(Options options,
|
32
33
|
std::vector<std::string> scopes,
|
33
|
-
|
34
|
+
grpc_error_handle* error);
|
34
35
|
|
35
36
|
private:
|
36
37
|
void RetrieveSubjectToken(
|
37
38
|
HTTPRequestContext* ctx, const Options& options,
|
38
|
-
std::function<void(std::string,
|
39
|
+
std::function<void(std::string, grpc_error_handle)> cb) override;
|
39
40
|
|
40
|
-
static void OnRetrieveSubjectToken(void* arg,
|
41
|
-
void OnRetrieveSubjectTokenInternal(
|
41
|
+
static void OnRetrieveSubjectToken(void* arg, grpc_error_handle error);
|
42
|
+
void OnRetrieveSubjectTokenInternal(grpc_error_handle error);
|
42
43
|
|
43
|
-
void FinishRetrieveSubjectToken(std::string subject_token,
|
44
|
+
void FinishRetrieveSubjectToken(std::string subject_token,
|
45
|
+
grpc_error_handle error);
|
44
46
|
|
45
47
|
// Fields of credential source
|
46
48
|
URI url_;
|
@@ -50,7 +52,7 @@ class UrlExternalAccountCredentials final : public ExternalAccountCredentials {
|
|
50
52
|
std::string format_subject_token_field_name_;
|
51
53
|
|
52
54
|
HTTPRequestContext* ctx_ = nullptr;
|
53
|
-
std::function<void(std::string,
|
55
|
+
std::function<void(std::string, grpc_error_handle)> cb_ = nullptr;
|
54
56
|
};
|
55
57
|
|
56
58
|
} // namespace grpc_core
|
@@ -92,7 +92,7 @@ const char* grpc_fake_transport_get_expected_targets(
|
|
92
92
|
bool grpc_md_only_test_credentials::get_request_metadata(
|
93
93
|
grpc_polling_entity* /*pollent*/, grpc_auth_metadata_context /*context*/,
|
94
94
|
grpc_credentials_mdelem_array* md_array, grpc_closure* on_request_metadata,
|
95
|
-
|
95
|
+
grpc_error_handle* /*error*/) {
|
96
96
|
grpc_credentials_mdelem_array_add(md_array, md_);
|
97
97
|
if (is_async_) {
|
98
98
|
grpc_core::ExecCtx::Run(DEBUG_LOCATION, on_request_metadata,
|
@@ -103,7 +103,7 @@ bool grpc_md_only_test_credentials::get_request_metadata(
|
|
103
103
|
}
|
104
104
|
|
105
105
|
void grpc_md_only_test_credentials::cancel_get_request_metadata(
|
106
|
-
grpc_credentials_mdelem_array* /*md_array*/,
|
106
|
+
grpc_credentials_mdelem_array* /*md_array*/, grpc_error_handle error) {
|
107
107
|
GRPC_ERROR_UNREF(error);
|
108
108
|
}
|
109
109
|
|
@@ -72,10 +72,10 @@ class grpc_md_only_test_credentials : public grpc_call_credentials {
|
|
72
72
|
grpc_auth_metadata_context context,
|
73
73
|
grpc_credentials_mdelem_array* md_array,
|
74
74
|
grpc_closure* on_request_metadata,
|
75
|
-
|
75
|
+
grpc_error_handle* error) override;
|
76
76
|
|
77
77
|
void cancel_get_request_metadata(grpc_credentials_mdelem_array* md_array,
|
78
|
-
|
78
|
+
grpc_error_handle error) override;
|
79
79
|
|
80
80
|
std::string debug_string() override { return "MD only Test Credentials"; };
|
81
81
|
|
@@ -22,6 +22,8 @@
|
|
22
22
|
|
23
23
|
#include <string.h>
|
24
24
|
|
25
|
+
#include "absl/strings/match.h"
|
26
|
+
|
25
27
|
#include <grpc/support/alloc.h>
|
26
28
|
#include <grpc/support/log.h>
|
27
29
|
#include <grpc/support/sync.h>
|
@@ -91,7 +93,7 @@ grpc_google_default_channel_credentials::create_security_connector(
|
|
91
93
|
const char* xds_cluster =
|
92
94
|
grpc_channel_args_find_string(args, GRPC_ARG_XDS_CLUSTER_NAME);
|
93
95
|
const bool is_xds_non_cfe_cluster =
|
94
|
-
xds_cluster != nullptr &&
|
96
|
+
xds_cluster != nullptr && !absl::StartsWith(xds_cluster, "google_cfe_");
|
95
97
|
const bool use_alts = is_grpclb_load_balancer ||
|
96
98
|
is_backend_from_grpclb_load_balancer ||
|
97
99
|
is_xds_non_cfe_cluster;
|
@@ -134,8 +136,8 @@ grpc_channel_args* grpc_google_default_channel_credentials::update_arguments(
|
|
134
136
|
return updated;
|
135
137
|
}
|
136
138
|
|
137
|
-
static void on_metadata_server_detection_http_response(
|
138
|
-
|
139
|
+
static void on_metadata_server_detection_http_response(
|
140
|
+
void* user_data, grpc_error_handle error) {
|
139
141
|
metadata_server_detector* detector =
|
140
142
|
static_cast<metadata_server_detector*>(user_data);
|
141
143
|
if (error == GRPC_ERROR_NONE && detector->response.status == 200 &&
|
@@ -161,7 +163,7 @@ static void on_metadata_server_detection_http_response(void* user_data,
|
|
161
163
|
gpr_mu_unlock(g_polling_mu);
|
162
164
|
}
|
163
165
|
|
164
|
-
static void destroy_pollset(void* p,
|
166
|
+
static void destroy_pollset(void* p, grpc_error_handle /*e*/) {
|
165
167
|
grpc_pollset_destroy(static_cast<grpc_pollset*>(p));
|
166
168
|
}
|
167
169
|
|
@@ -221,14 +223,14 @@ static int is_metadata_server_reachable() {
|
|
221
223
|
}
|
222
224
|
|
223
225
|
/* Takes ownership of creds_path if not NULL. */
|
224
|
-
static
|
226
|
+
static grpc_error_handle create_default_creds_from_path(
|
225
227
|
const std::string& creds_path,
|
226
228
|
grpc_core::RefCountedPtr<grpc_call_credentials>* creds) {
|
227
229
|
grpc_auth_json_key key;
|
228
230
|
grpc_auth_refresh_token token;
|
229
231
|
grpc_core::RefCountedPtr<grpc_call_credentials> result;
|
230
232
|
grpc_slice creds_data = grpc_empty_slice();
|
231
|
-
|
233
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
232
234
|
Json json;
|
233
235
|
if (creds_path.empty()) {
|
234
236
|
error = GRPC_ERROR_CREATE_FROM_STATIC_STRING("creds_path unset");
|
@@ -304,9 +306,9 @@ static bool metadata_server_available() {
|
|
304
306
|
}
|
305
307
|
|
306
308
|
static grpc_core::RefCountedPtr<grpc_call_credentials> make_default_call_creds(
|
307
|
-
|
309
|
+
grpc_error_handle* error) {
|
308
310
|
grpc_core::RefCountedPtr<grpc_call_credentials> call_creds;
|
309
|
-
|
311
|
+
grpc_error_handle err;
|
310
312
|
|
311
313
|
/* First, try the environment variable. */
|
312
314
|
char* path_from_env = gpr_getenv(GRPC_GOOGLE_CREDENTIALS_ENV_VAR);
|
@@ -344,7 +346,7 @@ grpc_channel_credentials* grpc_google_default_credentials_create(
|
|
344
346
|
grpc_call_credentials* call_credentials) {
|
345
347
|
grpc_channel_credentials* result = nullptr;
|
346
348
|
grpc_core::RefCountedPtr<grpc_call_credentials> call_creds(call_credentials);
|
347
|
-
|
349
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
348
350
|
grpc_core::ExecCtx exec_ctx;
|
349
351
|
|
350
352
|
GRPC_API_TRACE("grpc_google_default_credentials_create(%p)", 1,
|
@@ -373,7 +375,7 @@ grpc_channel_credentials* grpc_google_default_credentials_create(
|
|
373
375
|
GPR_ASSERT(result != nullptr);
|
374
376
|
} else {
|
375
377
|
gpr_log(GPR_ERROR, "Could not create google default credentials: %s",
|
376
|
-
|
378
|
+
grpc_error_std_string(error).c_str());
|
377
379
|
}
|
378
380
|
GRPC_ERROR_UNREF(error);
|
379
381
|
return result;
|