grpc 1.64.3 → 1.65.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Makefile +57 -58
- data/include/grpc/event_engine/event_engine.h +13 -6
- data/include/grpc/impl/channel_arg_names.h +7 -3
- data/include/grpc/module.modulemap +1 -0
- data/include/grpc/passive_listener.h +62 -0
- data/include/grpc/support/log.h +7 -17
- data/include/grpc/support/port_platform.h +3 -0
- data/src/core/channelz/channel_trace.cc +1 -1
- data/src/core/channelz/channel_trace.h +1 -1
- data/src/core/channelz/channelz.cc +3 -3
- data/src/core/channelz/channelz.h +7 -7
- data/src/core/channelz/channelz_registry.cc +4 -3
- data/src/core/client_channel/backup_poller.cc +4 -5
- data/src/core/client_channel/client_channel.cc +1324 -0
- data/src/core/client_channel/client_channel.h +243 -0
- data/src/core/client_channel/client_channel_filter.cc +266 -709
- data/src/core/client_channel/client_channel_filter.h +11 -64
- data/src/core/client_channel/client_channel_internal.h +16 -5
- data/src/core/client_channel/client_channel_plugin.cc +1 -14
- data/src/core/client_channel/client_channel_service_config.h +3 -3
- data/src/core/client_channel/config_selector.cc +1 -1
- data/src/core/client_channel/config_selector.h +1 -1
- data/src/core/client_channel/dynamic_filters.cc +3 -3
- data/src/core/client_channel/dynamic_filters.h +1 -3
- data/src/core/client_channel/load_balanced_call_destination.cc +336 -0
- data/src/core/client_channel/load_balanced_call_destination.h +49 -0
- data/src/core/client_channel/retry_filter.cc +2 -9
- data/src/core/client_channel/retry_filter.h +2 -7
- data/src/core/client_channel/retry_filter_legacy_call_data.cc +65 -72
- data/src/core/client_channel/retry_filter_legacy_call_data.h +0 -2
- data/src/core/client_channel/retry_service_config.cc +4 -5
- data/src/core/client_channel/retry_service_config.h +3 -3
- data/src/core/client_channel/subchannel.cc +220 -112
- data/src/core/client_channel/subchannel.h +31 -18
- data/src/core/client_channel/subchannel_pool_interface.cc +0 -2
- data/src/core/client_channel/subchannel_pool_interface.h +2 -4
- data/src/core/client_channel/subchannel_stream_client.cc +36 -49
- data/src/core/client_channel/subchannel_stream_client.h +2 -4
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +7 -10
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +1 -0
- data/src/core/ext/filters/backend_metrics/backend_metric_provider.h +7 -0
- data/src/core/ext/filters/census/grpc_context.cc +2 -4
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +8 -15
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h +2 -0
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +3 -7
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +1 -0
- data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +3 -3
- data/src/core/ext/filters/http/client/http_client_filter.cc +1 -0
- data/src/core/ext/filters/http/client/http_client_filter.h +1 -0
- data/src/core/ext/filters/http/client_authority_filter.cc +1 -0
- data/src/core/ext/filters/http/client_authority_filter.h +1 -0
- data/src/core/ext/filters/http/message_compress/compression_filter.cc +10 -15
- data/src/core/ext/filters/http/message_compress/compression_filter.h +2 -0
- data/src/core/ext/filters/http/server/http_server_filter.cc +2 -2
- data/src/core/ext/filters/http/server/http_server_filter.h +1 -0
- data/src/core/ext/filters/message_size/message_size_filter.cc +6 -9
- data/src/core/ext/filters/message_size/message_size_filter.h +6 -6
- data/src/core/ext/filters/rbac/rbac_filter.cc +2 -5
- data/src/core/ext/filters/rbac/rbac_filter.h +1 -0
- data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +2 -2
- data/src/core/ext/filters/rbac/rbac_service_config_parser.h +1 -1
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +2 -6
- data/src/core/ext/filters/stateful_session/stateful_session_filter.h +1 -0
- data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +3 -3
- data/src/core/ext/transport/chttp2/alpn/alpn.cc +1 -1
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +8 -25
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +0 -5
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +223 -148
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +33 -0
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +131 -107
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +8 -8
- data/src/core/ext/transport/chttp2/transport/context_list_entry.h +1 -1
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +2 -4
- data/src/core/ext/transport/chttp2/transport/flow_control.h +0 -2
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -6
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +1 -2
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +9 -5
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +5 -4
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +9 -2
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +32 -43
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +1 -3
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +3 -8
- data/src/core/ext/transport/chttp2/transport/http2_settings.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +1 -1
- data/src/core/ext/transport/chttp2/transport/internal.h +29 -19
- data/src/core/ext/transport/chttp2/transport/parsing.cc +15 -25
- data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +0 -2
- data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +0 -2
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +29 -13
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +5 -4
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +3 -5
- data/src/core/ext/transport/chttp2/transport/writing.cc +24 -25
- data/src/core/ext/transport/inproc/inproc_transport.cc +56 -32
- data/src/core/ext/transport/inproc/inproc_transport.h +1 -3
- data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +13 -15
- data/src/core/ext/transport/inproc/legacy_inproc_transport.h +0 -2
- data/src/core/handshaker/handshaker.cc +6 -14
- data/src/core/handshaker/http_connect/http_connect_handshaker.cc +9 -17
- data/src/core/handshaker/http_connect/http_proxy_mapper.cc +3 -2
- data/src/core/handshaker/security/secure_endpoint.cc +38 -32
- data/src/core/handshaker/security/secure_endpoint.h +0 -2
- data/src/core/handshaker/security/security_handshaker.cc +25 -37
- data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +2 -1
- data/src/core/lib/address_utils/parse_address.cc +27 -39
- data/src/core/lib/address_utils/sockaddr_utils.cc +5 -6
- data/src/core/lib/avl/avl.h +1 -1
- data/src/core/lib/channel/channel_args.cc +13 -17
- data/src/core/lib/channel/channel_args.h +19 -8
- data/src/core/lib/channel/channel_stack.cc +5 -63
- data/src/core/lib/channel/channel_stack.h +13 -37
- data/src/core/lib/channel/channel_stack_builder.h +0 -5
- data/src/core/lib/channel/channel_stack_builder_impl.cc +0 -142
- data/src/core/lib/channel/channel_stack_builder_impl.h +0 -2
- data/src/core/lib/channel/connected_channel.cc +37 -676
- data/src/core/lib/channel/promise_based_filter.cc +41 -47
- data/src/core/lib/channel/promise_based_filter.h +124 -477
- data/src/core/lib/channel/status_util.cc +1 -1
- data/src/core/lib/compression/compression.cc +1 -1
- data/src/core/lib/compression/message_compress.cc +6 -6
- data/src/core/lib/config/config_vars.cc +3 -8
- data/src/core/lib/config/config_vars.h +1 -5
- data/src/core/lib/debug/event_log.h +1 -1
- data/src/core/lib/debug/trace.cc +43 -59
- data/src/core/lib/debug/trace.h +2 -97
- data/src/core/lib/debug/trace_flags.cc +255 -0
- data/src/core/lib/debug/trace_flags.h +133 -0
- data/src/core/lib/debug/trace_impl.h +115 -0
- data/src/core/lib/event_engine/ares_resolver.cc +5 -7
- data/src/core/lib/event_engine/ares_resolver.h +1 -3
- data/src/core/lib/event_engine/cf_engine/cf_engine.cc +1 -1
- data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +17 -22
- data/src/core/lib/event_engine/event_engine.cc +29 -4
- data/src/core/lib/event_engine/extensions/supports_fd.h +7 -0
- data/src/core/lib/event_engine/extensions/tcp_trace.h +43 -0
- data/src/core/lib/event_engine/forkable.cc +4 -5
- data/src/core/lib/event_engine/forkable.h +0 -11
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +10 -11
- data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +4 -3
- data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +19 -33
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +3 -2
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +24 -7
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +2 -0
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +14 -16
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +18 -22
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +13 -17
- data/src/core/lib/event_engine/posix_engine/timer.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/timer_manager.cc +4 -6
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +2 -1
- data/src/core/lib/event_engine/shim.cc +1 -1
- data/src/core/lib/event_engine/tcp_socket_utils.cc +6 -8
- data/src/core/lib/event_engine/thread_local.h +1 -1
- data/src/core/lib/event_engine/thread_pool/thread_count.h +1 -1
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +19 -21
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +3 -6
- data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +14 -13
- data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +4 -3
- data/src/core/lib/event_engine/trace.h +6 -17
- data/src/core/lib/event_engine/windows/iocp.h +1 -1
- data/src/core/lib/event_engine/windows/win_socket.cc +23 -17
- data/src/core/lib/event_engine/windows/win_socket.h +4 -5
- data/src/core/lib/event_engine/windows/windows_endpoint.cc +6 -9
- data/src/core/lib/event_engine/windows/windows_engine.cc +201 -87
- data/src/core/lib/event_engine/windows/windows_engine.h +136 -25
- data/src/core/lib/event_engine/windows/windows_listener.cc +12 -23
- data/src/core/lib/experiments/experiments.cc +35 -151
- data/src/core/lib/experiments/experiments.h +12 -45
- data/src/core/lib/gprpp/bitset.h +1 -1
- data/src/core/lib/gprpp/crash.cc +2 -3
- data/src/core/lib/gprpp/dual_ref_counted.h +45 -33
- data/src/core/lib/gprpp/dump_args.cc +54 -0
- data/src/core/lib/gprpp/dump_args.h +69 -0
- data/src/core/lib/gprpp/glob.cc +70 -0
- data/src/core/lib/gprpp/glob.h +29 -0
- data/src/core/lib/gprpp/per_cpu.cc +1 -1
- data/src/core/lib/gprpp/posix/stat.cc +3 -4
- data/src/core/lib/gprpp/posix/thd.cc +8 -9
- data/src/core/lib/gprpp/ref_counted.h +30 -22
- data/src/core/lib/gprpp/single_set_ptr.h +5 -3
- data/src/core/lib/gprpp/status_helper.cc +11 -30
- data/src/core/lib/gprpp/status_helper.h +3 -31
- data/src/core/lib/gprpp/time.cc +3 -4
- data/src/core/lib/gprpp/time.h +3 -2
- data/src/core/lib/gprpp/unique_type_name.h +1 -1
- data/src/core/lib/gprpp/validation_errors.cc +10 -1
- data/src/core/lib/gprpp/validation_errors.h +11 -0
- data/src/core/lib/gprpp/windows/stat.cc +3 -4
- data/src/core/lib/gprpp/windows/thd.cc +3 -2
- data/src/core/lib/gprpp/work_serializer.cc +48 -57
- data/src/core/lib/iomgr/buffer_list.cc +4 -2
- data/src/core/lib/iomgr/call_combiner.cc +18 -27
- data/src/core/lib/iomgr/call_combiner.h +1 -3
- data/src/core/lib/iomgr/cfstream_handle.cc +4 -6
- data/src/core/lib/iomgr/closure.h +2 -4
- data/src/core/lib/iomgr/combiner.cc +6 -8
- data/src/core/lib/iomgr/combiner.h +0 -2
- data/src/core/lib/iomgr/endpoint.cc +0 -6
- data/src/core/lib/iomgr/endpoint.h +0 -2
- data/src/core/lib/iomgr/endpoint_cfstream.cc +19 -41
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +1 -1
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +5 -6
- data/src/core/lib/iomgr/error.cc +13 -21
- data/src/core/lib/iomgr/error.h +1 -1
- data/src/core/lib/iomgr/ev_apple.cc +3 -5
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +43 -42
- data/src/core/lib/iomgr/ev_poll_posix.cc +38 -29
- data/src/core/lib/iomgr/ev_posix.cc +8 -9
- data/src/core/lib/iomgr/ev_posix.h +10 -7
- data/src/core/lib/iomgr/event_engine_shims/closure.cc +2 -2
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +14 -28
- data/src/core/lib/iomgr/exec_ctx.cc +2 -2
- data/src/core/lib/iomgr/exec_ctx.h +1 -1
- data/src/core/lib/iomgr/executor.cc +6 -15
- data/src/core/lib/iomgr/executor.h +1 -1
- data/src/core/lib/iomgr/fork_posix.cc +8 -10
- data/src/core/lib/iomgr/fork_windows.cc +3 -1
- data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +2 -3
- data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +3 -5
- data/src/core/lib/iomgr/internal_errqueue.cc +4 -2
- data/src/core/lib/iomgr/iocp_windows.cc +4 -3
- data/src/core/lib/iomgr/iomgr.cc +13 -17
- data/src/core/lib/iomgr/lockfree_event.cc +3 -5
- data/src/core/lib/iomgr/pollset.h +0 -2
- data/src/core/lib/iomgr/pollset_windows.cc +0 -2
- data/src/core/lib/iomgr/resolve_address_posix.cc +7 -14
- data/src/core/lib/iomgr/resolve_address_windows.cc +1 -1
- data/src/core/lib/iomgr/socket_factory_posix.cc +1 -1
- data/src/core/lib/iomgr/socket_mutator.cc +1 -1
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +11 -17
- data/src/core/lib/iomgr/socket_windows.cc +4 -6
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +3 -5
- data/src/core/lib/iomgr/tcp_client_posix.cc +9 -15
- data/src/core/lib/iomgr/tcp_client_windows.cc +2 -4
- data/src/core/lib/iomgr/tcp_posix.cc +57 -84
- data/src/core/lib/iomgr/tcp_posix.h +0 -2
- data/src/core/lib/iomgr/tcp_server_posix.cc +3 -3
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +4 -6
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +7 -7
- data/src/core/lib/iomgr/tcp_server_windows.cc +10 -16
- data/src/core/lib/iomgr/tcp_windows.cc +25 -41
- data/src/core/lib/iomgr/timer_generic.cc +17 -20
- data/src/core/lib/iomgr/timer_heap.cc +1 -1
- data/src/core/lib/iomgr/timer_manager.cc +17 -30
- data/src/core/lib/iomgr/unix_sockets_posix.cc +1 -1
- data/src/core/lib/iomgr/vsock.cc +1 -1
- data/src/core/lib/iomgr/wakeup_fd_pipe.cc +3 -3
- data/src/core/lib/promise/activity.h +27 -4
- data/src/core/lib/promise/cancel_callback.h +24 -0
- data/src/core/lib/promise/context.h +11 -0
- data/src/core/lib/promise/detail/basic_seq.h +1 -2
- data/src/core/lib/promise/detail/join_state.h +354 -398
- data/src/core/lib/promise/detail/promise_like.h +6 -5
- data/src/core/lib/promise/detail/seq_state.h +1178 -1178
- data/src/core/lib/promise/for_each.h +6 -6
- data/src/core/lib/promise/interceptor_list.h +6 -7
- data/src/core/lib/promise/latch.h +9 -9
- data/src/core/lib/promise/map.h +17 -0
- data/src/core/lib/promise/observable.h +182 -0
- data/src/core/lib/promise/party.cc +7 -8
- data/src/core/lib/promise/party.h +10 -8
- data/src/core/lib/promise/pipe.h +16 -35
- data/src/core/lib/promise/promise.h +1 -0
- data/src/core/lib/promise/status_flag.h +2 -0
- data/src/core/lib/resource_quota/arena.cc +56 -79
- data/src/core/lib/resource_quota/arena.h +118 -209
- data/src/core/lib/resource_quota/memory_quota.cc +12 -13
- data/src/core/lib/resource_quota/memory_quota.h +2 -3
- data/src/core/lib/resource_quota/periodic_update.cc +1 -1
- data/src/core/lib/resource_quota/resource_quota.h +1 -1
- data/src/core/lib/security/authorization/authorization_policy_provider.h +1 -1
- data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +1 -1
- data/src/core/lib/security/authorization/evaluate_args.cc +6 -8
- data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +5 -6
- data/src/core/lib/security/authorization/grpc_server_authz_filter.h +1 -0
- data/src/core/lib/security/authorization/matchers.cc +3 -3
- data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +2 -2
- data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +2 -3
- data/src/core/lib/security/context/security_context.cc +12 -13
- data/src/core/lib/security/context/security_context.h +31 -8
- data/src/core/lib/security/credentials/alts/alts_credentials.h +1 -1
- data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +3 -1
- data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +2 -3
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +5 -5
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +3 -3
- data/src/core/lib/security/credentials/call_creds_util.cc +2 -1
- data/src/core/lib/security/credentials/channel_creds_registry.h +2 -2
- data/src/core/lib/security/credentials/channel_creds_registry_init.cc +5 -3
- data/src/core/lib/security/credentials/composite/composite_credentials.h +1 -1
- data/src/core/lib/security/credentials/credentials.cc +6 -6
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +4 -4
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +2 -2
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +9 -11
- data/src/core/lib/security/credentials/external/external_account_credentials.h +3 -3
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +2 -2
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +4 -4
- data/src/core/lib/security/credentials/external/url_external_account_credentials.h +1 -1
- data/src/core/lib/security/credentials/fake/fake_credentials.h +1 -1
- data/src/core/lib/security/credentials/google_default/credentials_generic.cc +3 -3
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +11 -11
- data/src/core/lib/security/credentials/google_default/google_default_credentials.h +1 -1
- data/src/core/lib/security/credentials/iam/iam_credentials.h +1 -1
- data/src/core/lib/security/credentials/jwt/json_token.cc +14 -15
- data/src/core/lib/security/credentials/jwt/json_token.h +1 -1
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +6 -5
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +1 -1
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +50 -54
- data/src/core/lib/security/credentials/jwt/jwt_verifier.h +1 -1
- data/src/core/lib/security/credentials/local/local_credentials.h +1 -1
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +12 -11
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +4 -4
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +6 -7
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +1 -3
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +15 -21
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +1 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +21 -30
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +1 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +1 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -4
- data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +3 -5
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +14 -16
- data/src/core/lib/security/credentials/tls/tls_utils.cc +4 -4
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +1 -1
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +13 -16
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +15 -12
- data/src/core/lib/security/security_connector/load_system_roots_supported.cc +6 -6
- data/src/core/lib/security/security_connector/load_system_roots_windows.cc +1 -1
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +8 -12
- data/src/core/lib/security/security_connector/security_connector.cc +1 -4
- data/src/core/lib/security/security_connector/security_connector.h +1 -3
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +17 -19
- data/src/core/lib/security/security_connector/ssl_utils.cc +19 -21
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +29 -40
- data/src/core/lib/security/transport/auth_filters.h +1 -0
- data/src/core/lib/security/transport/client_auth_filter.cc +7 -13
- data/src/core/lib/security/transport/server_auth_filter.cc +3 -8
- data/src/core/lib/security/util/json_util.h +1 -1
- data/src/core/lib/slice/slice.h +1 -1
- data/src/core/lib/slice/slice_refcount.h +2 -4
- data/src/core/lib/slice/slice_string_helpers.cc +1 -1
- data/src/core/lib/surface/api_trace.h +1 -3
- data/src/core/lib/surface/call.cc +64 -3738
- data/src/core/lib/surface/call.h +41 -143
- data/src/core/lib/surface/call_log_batch.cc +1 -1
- data/src/core/lib/surface/call_utils.cc +276 -0
- data/src/core/lib/surface/call_utils.h +449 -0
- data/src/core/lib/surface/channel.cc +8 -3
- data/src/core/lib/surface/channel.h +10 -7
- data/src/core/lib/surface/channel_create.cc +14 -6
- data/src/core/lib/surface/channel_create.h +3 -2
- data/src/core/lib/surface/channel_init.cc +21 -77
- data/src/core/lib/surface/channel_init.h +19 -97
- data/src/core/lib/surface/client_call.cc +419 -0
- data/src/core/lib/surface/client_call.h +180 -0
- data/src/core/lib/surface/completion_queue.cc +28 -33
- data/src/core/lib/surface/completion_queue.h +0 -8
- data/src/core/lib/surface/filter_stack_call.cc +1157 -0
- data/src/core/lib/surface/filter_stack_call.h +369 -0
- data/src/core/lib/surface/init.cc +7 -6
- data/src/core/lib/surface/lame_client.cc +1 -1
- data/src/core/lib/surface/legacy_channel.cc +40 -27
- data/src/core/lib/surface/legacy_channel.h +9 -18
- data/src/core/lib/surface/server_call.cc +222 -0
- data/src/core/lib/surface/server_call.h +167 -0
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +3 -5
- data/src/core/lib/transport/bdp_estimator.h +2 -4
- data/src/core/lib/transport/call_arena_allocator.h +9 -7
- data/src/core/lib/transport/call_destination.h +76 -0
- data/src/core/lib/transport/call_filters.cc +28 -10
- data/src/core/lib/transport/call_filters.h +128 -22
- data/src/core/lib/transport/call_spine.cc +5 -6
- data/src/core/lib/transport/call_spine.h +159 -334
- data/src/core/lib/transport/connectivity_state.cc +8 -10
- data/src/core/lib/transport/connectivity_state.h +0 -2
- data/src/core/lib/transport/interception_chain.cc +155 -0
- data/src/core/lib/transport/interception_chain.h +236 -0
- data/src/core/lib/transport/metadata_batch.h +10 -1
- data/src/core/lib/transport/metadata_info.h +1 -1
- data/src/core/lib/transport/transport.cc +3 -6
- data/src/core/lib/transport/transport.h +43 -40
- data/src/core/load_balancing/child_policy_handler.cc +8 -8
- data/src/core/load_balancing/endpoint_list.cc +5 -5
- data/src/core/load_balancing/endpoint_list.h +1 -1
- data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +1 -0
- data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +1 -0
- data/src/core/load_balancing/grpclb/grpclb.cc +25 -29
- data/src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc +1 -1
- data/src/core/load_balancing/grpclb/load_balancer_api.cc +3 -4
- data/src/core/load_balancing/health_check_client.cc +10 -13
- data/src/core/load_balancing/lb_policy.cc +5 -8
- data/src/core/load_balancing/lb_policy.h +19 -3
- data/src/core/load_balancing/lb_policy_factory.h +1 -1
- data/src/core/load_balancing/lb_policy_registry.cc +2 -3
- data/src/core/load_balancing/lb_policy_registry.h +1 -1
- data/src/core/load_balancing/oob_backend_metric.cc +2 -4
- data/src/core/load_balancing/outlier_detection/outlier_detection.cc +33 -35
- data/src/core/load_balancing/outlier_detection/outlier_detection.h +3 -3
- data/src/core/load_balancing/pick_first/pick_first.cc +65 -65
- data/src/core/load_balancing/priority/priority.cc +26 -28
- data/src/core/load_balancing/ring_hash/ring_hash.cc +11 -13
- data/src/core/load_balancing/ring_hash/ring_hash.h +3 -3
- data/src/core/load_balancing/rls/rls.cc +82 -82
- data/src/core/load_balancing/round_robin/round_robin.cc +17 -20
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +54 -43
- data/src/core/load_balancing/weighted_target/weighted_target.cc +21 -24
- data/src/core/load_balancing/xds/cds.cc +14 -16
- data/src/core/load_balancing/xds/xds_cluster_impl.cc +16 -18
- data/src/core/load_balancing/xds/xds_cluster_manager.cc +15 -17
- data/src/core/load_balancing/xds/xds_override_host.cc +40 -41
- data/src/core/load_balancing/xds/xds_override_host.h +3 -3
- data/src/core/load_balancing/xds/xds_wrr_locality.cc +10 -12
- data/src/core/plugin_registry/grpc_plugin_registry.cc +5 -1
- data/src/core/resolver/binder/binder_resolver.cc +3 -2
- data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +3 -2
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +1 -1
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +7 -14
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -5
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
- data/src/core/resolver/dns/dns_resolver_plugin.cc +6 -5
- data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +4 -9
- data/src/core/resolver/dns/event_engine/service_config_helper.cc +5 -5
- data/src/core/resolver/dns/native/dns_resolver.cc +8 -9
- data/src/core/resolver/endpoint_addresses.cc +1 -1
- data/src/core/resolver/fake/fake_resolver.cc +1 -1
- data/src/core/resolver/fake/fake_resolver.h +1 -1
- data/src/core/resolver/google_c2p/google_c2p_resolver.cc +13 -14
- data/src/core/resolver/polling_resolver.cc +30 -35
- data/src/core/resolver/resolver.cc +2 -6
- data/src/core/resolver/resolver.h +0 -2
- data/src/core/resolver/resolver_registry.cc +6 -8
- data/src/core/resolver/sockaddr/sockaddr_resolver.cc +3 -3
- data/src/core/resolver/xds/xds_dependency_manager.cc +22 -23
- data/src/core/resolver/xds/xds_resolver.cc +13 -15
- data/src/core/server/server.cc +269 -389
- data/src/core/server/server.h +37 -19
- data/src/core/server/server_call_tracer_filter.cc +7 -14
- data/src/core/server/server_config_selector.h +1 -1
- data/src/core/server/server_config_selector_filter.cc +3 -3
- data/src/core/server/server_interface.h +2 -0
- data/src/core/server/xds_channel_stack_modifier.cc +1 -1
- data/src/core/server/xds_channel_stack_modifier.h +1 -1
- data/src/core/server/xds_server_config_fetcher.cc +1 -4
- data/src/core/service_config/service_config.h +1 -1
- data/src/core/service_config/service_config_call_data.h +13 -11
- data/src/core/service_config/service_config_channel_arg_filter.cc +6 -4
- data/src/core/service_config/service_config_impl.cc +5 -5
- data/src/core/service_config/service_config_impl.h +1 -1
- data/src/core/service_config/service_config_parser.cc +3 -6
- data/src/core/service_config/service_config_parser.h +1 -1
- data/src/core/{lib/channel → telemetry}/call_tracer.cc +20 -30
- data/src/core/{lib/channel → telemetry}/call_tracer.h +32 -9
- data/src/core/{lib/debug → telemetry}/histogram_view.cc +1 -1
- data/src/core/{lib/debug → telemetry}/histogram_view.h +3 -3
- data/src/core/telemetry/metrics.cc +178 -0
- data/src/core/telemetry/metrics.h +562 -0
- data/src/core/{lib/debug → telemetry}/stats.cc +1 -1
- data/src/core/{lib/debug → telemetry}/stats.h +5 -5
- data/src/core/{lib/debug → telemetry}/stats_data.cc +1 -1
- data/src/core/{lib/debug → telemetry}/stats_data.h +4 -4
- data/src/core/{lib/channel → telemetry}/tcp_tracer.h +3 -3
- data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +12 -13
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +25 -27
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +32 -33
- data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -1
- data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -1
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +5 -4
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +5 -3
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +1 -1
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +4 -3
- data/src/core/tsi/fake_transport_security.cc +14 -17
- data/src/core/tsi/local_transport_security.cc +6 -5
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +4 -4
- data/src/core/tsi/ssl_transport_security.cc +76 -81
- data/src/core/tsi/ssl_transport_security_utils.cc +74 -18
- data/src/core/tsi/ssl_transport_security_utils.h +11 -0
- data/src/core/tsi/transport_security.cc +0 -4
- data/src/core/tsi/transport_security.h +0 -2
- data/src/core/tsi/transport_security_interface.h +0 -4
- data/src/core/{lib/gpr → util}/alloc.h +3 -3
- data/src/core/{lib/gpr → util}/android/log.cc +0 -19
- data/src/core/{lib/gpr → util}/atm.cc +1 -1
- data/src/core/{ext/gcp/metadata_query.cc → util/gcp_metadata_query.cc} +25 -26
- data/src/core/{ext/gcp/metadata_query.h → util/gcp_metadata_query.h} +11 -11
- data/src/core/{lib/http → util/http_client}/format_request.cc +4 -3
- data/src/core/{lib/http → util/http_client}/format_request.h +6 -5
- data/src/core/{lib/http → util/http_client}/httpcli.cc +9 -10
- data/src/core/{lib/http → util/http_client}/httpcli.h +6 -5
- data/src/core/{lib/http → util/http_client}/httpcli_security_connector.cc +9 -9
- data/src/core/{lib/http → util/http_client}/httpcli_ssl_credentials.h +5 -4
- data/src/core/{lib/http → util/http_client}/parser.cc +4 -5
- data/src/core/{lib/http → util/http_client}/parser.h +5 -6
- data/src/core/{lib → util}/json/json.h +5 -4
- data/src/core/{lib → util}/json/json_args.h +5 -5
- data/src/core/{lib → util}/json/json_channel_args.h +6 -6
- data/src/core/{lib → util}/json/json_object_loader.cc +3 -2
- data/src/core/{lib → util}/json/json_object_loader.h +7 -7
- data/src/core/{lib → util}/json/json_reader.cc +3 -2
- data/src/core/{lib → util}/json/json_reader.h +6 -6
- data/src/core/{lib → util}/json/json_util.cc +4 -4
- data/src/core/{lib → util}/json/json_util.h +6 -6
- data/src/core/{lib → util}/json/json_writer.cc +3 -3
- data/src/core/{lib → util}/json/json_writer.h +6 -6
- data/src/core/{lib/gpr → util}/linux/log.cc +0 -45
- data/src/core/util/log.cc +165 -0
- data/src/core/{lib/gpr → util}/msys/tmpfile.cc +2 -2
- data/src/core/{lib/gpr → util}/posix/cpu.cc +1 -1
- data/src/core/{lib/gpr → util}/posix/log.cc +0 -42
- data/src/core/{lib/gpr → util}/posix/time.cc +1 -1
- data/src/core/{lib/gpr → util}/posix/tmpfile.cc +2 -2
- data/src/core/{lib/gpr → util}/spinlock.h +3 -3
- data/src/core/{lib/gpr → util}/string.cc +2 -2
- data/src/core/{lib/gpr → util}/string.h +3 -3
- data/src/core/{lib/gpr → util}/time_precise.cc +1 -1
- data/src/core/{lib/gpr → util}/time_precise.h +3 -3
- data/src/core/{lib/gpr → util}/tmpfile.h +3 -3
- data/src/core/{lib/gpr → util}/useful.h +3 -3
- data/src/core/{lib/gpr → util}/windows/log.cc +1 -44
- data/src/core/{lib/gpr → util}/windows/string.cc +1 -1
- data/src/core/{lib/gpr → util}/windows/string_util.cc +1 -1
- data/src/core/{lib/gpr → util}/windows/time.cc +1 -1
- data/src/core/{lib/gpr → util}/windows/tmpfile.cc +1 -1
- data/src/core/xds/grpc/certificate_provider_store.cc +3 -3
- data/src/core/xds/grpc/certificate_provider_store.h +4 -4
- data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +3 -3
- data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +3 -3
- data/src/core/xds/grpc/xds_audit_logger_registry.h +1 -1
- data/src/core/xds/grpc/xds_bootstrap_grpc.cc +5 -5
- data/src/core/xds/grpc/xds_bootstrap_grpc.h +3 -3
- data/src/core/xds/grpc/xds_certificate_provider.h +1 -1
- data/src/core/xds/grpc/xds_client_grpc.cc +27 -23
- data/src/core/xds/grpc/xds_client_grpc.h +2 -2
- data/src/core/xds/grpc/xds_cluster.cc +4 -5
- data/src/core/xds/grpc/xds_cluster.h +1 -1
- data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +2 -2
- data/src/core/xds/grpc/xds_cluster_specifier_plugin.h +1 -1
- data/src/core/xds/grpc/xds_common_types.cc +1 -1
- data/src/core/xds/grpc/xds_common_types.h +1 -1
- data/src/core/xds/grpc/xds_endpoint.cc +4 -5
- data/src/core/xds/grpc/xds_http_fault_filter.cc +2 -2
- data/src/core/xds/grpc/xds_http_filters.h +2 -2
- data/src/core/xds/grpc/xds_http_rbac_filter.cc +3 -3
- data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +2 -2
- data/src/core/xds/grpc/xds_lb_policy_registry.h +1 -1
- data/src/core/xds/grpc/xds_listener.cc +4 -6
- data/src/core/xds/grpc/xds_route_config.cc +7 -8
- data/src/core/xds/grpc/xds_transport_grpc.cc +2 -2
- data/src/core/xds/grpc/xds_transport_grpc.h +1 -1
- data/src/core/xds/xds_client/xds_api.cc +5 -9
- data/src/core/xds/xds_client/xds_bootstrap.cc +1 -1
- data/src/core/xds/xds_client/xds_bootstrap.h +1 -1
- data/src/core/xds/xds_client/xds_client.cc +39 -45
- data/src/core/xds/xds_client/xds_client.h +0 -3
- data/src/core/xds/xds_client/xds_client_stats.cc +6 -6
- data/src/core/xds/xds_client/xds_client_stats.h +2 -2
- data/src/ruby/bin/math_pb.rb +1 -22
- data/src/ruby/ext/grpc/rb_call.c +8 -1
- data/src/ruby/ext/grpc/rb_completion_queue.c +15 -32
- data/src/ruby/ext/grpc/rb_completion_queue.h +7 -1
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +2 -2
- data/src/ruby/ext/grpc/rb_server.c +39 -22
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/grpc/health/v1/health_pb.rb +1 -22
- data/src/ruby/pb/grpc/testing/duplicate/echo_duplicate_services_pb.rb +5 -5
- data/src/ruby/pb/grpc/testing/metrics_pb.rb +10 -19
- data/src/ruby/pb/grpc/testing/metrics_services_pb.rb +5 -5
- data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +1 -22
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +1 -22
- data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +1 -22
- data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +12 -12
- data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +66 -41
- data/third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c +1497 -0
- data/third_party/boringssl-with-bazel/src/crypto/dilithium/internal.h +58 -0
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +10 -3
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +45 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +33 -23
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c +3 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +9 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +6 -0
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +7 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +0 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.c +49 -16
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +0 -10
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +7 -17
- data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +8 -6
- data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +3 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +125 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +0 -23
- data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +4 -10
- metadata +103 -93
- data/src/core/ext/transport/chttp2/transport/http_trace.cc +0 -19
- data/src/core/ext/transport/chttp2/transport/http_trace.h +0 -24
- data/src/core/ext/transport/inproc/inproc_plugin.cc +0 -23
- data/src/core/handshaker/security/tsi_error.cc +0 -31
- data/src/core/handshaker/security/tsi_error.h +0 -30
- data/src/core/lib/channel/channel_stack_trace.cc +0 -19
- data/src/core/lib/channel/channel_stack_trace.h +0 -24
- data/src/core/lib/channel/context.h +0 -105
- data/src/core/lib/channel/metrics.cc +0 -334
- data/src/core/lib/channel/metrics.h +0 -365
- data/src/core/lib/event_engine/trace.cc +0 -25
- data/src/core/lib/gpr/log.cc +0 -166
- data/src/core/lib/iomgr/ev_windows.cc +0 -30
- data/src/core/lib/promise/trace.cc +0 -20
- data/src/core/lib/promise/trace.h +0 -24
- data/src/core/lib/resource_quota/trace.cc +0 -19
- data/src/core/lib/resource_quota/trace.h +0 -24
- data/src/core/lib/slice/slice_refcount.cc +0 -20
- data/src/core/lib/surface/api_trace.cc +0 -25
- data/src/core/lib/surface/call_trace.h +0 -24
- data/src/core/lib/surface/wait_for_cq_end_op.cc +0 -75
- data/src/core/lib/surface/wait_for_cq_end_op.h +0 -72
- data/src/core/lib/transport/batch_builder.cc +0 -172
- data/src/core/lib/transport/batch_builder.h +0 -474
- data/src/core/resolver/xds/xds_resolver_trace.cc +0 -25
- data/src/core/resolver/xds/xds_resolver_trace.h +0 -30
- data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +0 -122
- /data/src/core/{lib/gpr → util}/alloc.cc +0 -0
- /data/src/core/{lib/gpr → util}/iphone/cpu.cc +0 -0
- /data/src/core/{lib/gpr → util}/linux/cpu.cc +0 -0
- /data/src/core/{lib/gpr → util}/posix/string.cc +0 -0
- /data/src/core/{lib/gpr → util}/posix/sync.cc +0 -0
- /data/src/core/{lib/gpr → util}/sync.cc +0 -0
- /data/src/core/{lib/gpr → util}/sync_abseil.cc +0 -0
- /data/src/core/{lib/gpr → util}/time.cc +0 -0
- /data/src/core/{lib/gpr → util}/windows/cpu.cc +0 -0
- /data/src/core/{lib/gpr → util}/windows/sync.cc +0 -0
@@ -24,11 +24,11 @@
|
|
24
24
|
#include <utility>
|
25
25
|
|
26
26
|
#include "absl/log/check.h"
|
27
|
+
#include "absl/log/log.h"
|
27
28
|
#include "absl/types/optional.h"
|
28
29
|
|
29
30
|
#include <grpc/impl/channel_arg_names.h>
|
30
31
|
#include <grpc/support/alloc.h>
|
31
|
-
#include <grpc/support/log.h>
|
32
32
|
#include <grpc/support/port_platform.h>
|
33
33
|
#include <grpc/support/string_util.h>
|
34
34
|
|
@@ -54,7 +54,7 @@ grpc_ssl_credentials::grpc_ssl_credentials(
|
|
54
54
|
const char* pem_root_certs =
|
55
55
|
grpc_core::DefaultSslRootStore::GetPemRootCerts();
|
56
56
|
if (pem_root_certs == nullptr) {
|
57
|
-
|
57
|
+
LOG(ERROR) << "Could not get default pem root certs.";
|
58
58
|
} else {
|
59
59
|
char* default_roots = gpr_strdup(pem_root_certs);
|
60
60
|
config_.pem_root_certs = default_roots;
|
@@ -85,9 +85,8 @@ grpc_ssl_credentials::create_security_connector(
|
|
85
85
|
grpc_core::RefCountedPtr<grpc_call_credentials> call_creds,
|
86
86
|
const char* target, grpc_core::ChannelArgs* args) {
|
87
87
|
if (config_.pem_root_certs == nullptr) {
|
88
|
-
|
89
|
-
|
90
|
-
"root certs.");
|
88
|
+
LOG(ERROR) << "No root certs in config. Client-side security connector "
|
89
|
+
"must have root certs.";
|
91
90
|
return nullptr;
|
92
91
|
}
|
93
92
|
absl::optional<std::string> overridden_target_name =
|
@@ -111,9 +110,7 @@ grpc_ssl_credentials::create_security_connector(
|
|
111
110
|
&config_, config_.pem_root_certs, root_store_, session_cache,
|
112
111
|
&factory_with_cache);
|
113
112
|
if (status != GRPC_SECURITY_OK) {
|
114
|
-
|
115
|
-
"InitializeClientHandshakerFactory returned bad "
|
116
|
-
"status.");
|
113
|
+
LOG(ERROR) << "InitializeClientHandshakerFactory returned bad status.";
|
117
114
|
return nullptr;
|
118
115
|
}
|
119
116
|
security_connector = grpc_ssl_channel_security_connector_create(
|
@@ -196,9 +193,8 @@ grpc_security_status grpc_ssl_credentials::InitializeClientHandshakerFactory(
|
|
196
193
|
config->pem_key_cert_pair->cert_chain != nullptr;
|
197
194
|
tsi_ssl_client_handshaker_options options;
|
198
195
|
if (pem_root_certs == nullptr) {
|
199
|
-
|
200
|
-
|
201
|
-
"Handshaker factory creation failed. pem_root_certs cannot be nullptr");
|
196
|
+
LOG(ERROR) << "Handshaker factory creation failed. pem_root_certs cannot "
|
197
|
+
"be nullptr";
|
202
198
|
return GRPC_SECURITY_ERROR;
|
203
199
|
}
|
204
200
|
options.pem_root_certs = pem_root_certs;
|
@@ -217,8 +213,8 @@ grpc_security_status grpc_ssl_credentials::InitializeClientHandshakerFactory(
|
|
217
213
|
handshaker_factory);
|
218
214
|
gpr_free(options.alpn_protocols);
|
219
215
|
if (result != TSI_OK) {
|
220
|
-
|
221
|
-
|
216
|
+
LOG(ERROR) << "Handshaker factory creation failed with "
|
217
|
+
<< tsi_result_to_string(result);
|
222
218
|
return GRPC_SECURITY_ERROR;
|
223
219
|
}
|
224
220
|
return GRPC_SECURITY_OK;
|
@@ -378,7 +374,7 @@ grpc_ssl_server_credentials_create_options_using_config(
|
|
378
374
|
grpc_ssl_server_certificate_config* config) {
|
379
375
|
grpc_ssl_server_credentials_options* options = nullptr;
|
380
376
|
if (config == nullptr) {
|
381
|
-
|
377
|
+
LOG(ERROR) << "Certificate config must not be NULL.";
|
382
378
|
goto done;
|
383
379
|
}
|
384
380
|
options = static_cast<grpc_ssl_server_credentials_options*>(
|
@@ -394,7 +390,7 @@ grpc_ssl_server_credentials_create_options_using_config_fetcher(
|
|
394
390
|
grpc_ssl_client_certificate_request_type client_certificate_request,
|
395
391
|
grpc_ssl_server_certificate_config_callback cb, void* user_data) {
|
396
392
|
if (cb == nullptr) {
|
397
|
-
|
393
|
+
LOG(ERROR) << "Invalid certificate config callback parameter.";
|
398
394
|
return nullptr;
|
399
395
|
}
|
400
396
|
|
@@ -453,20 +449,18 @@ grpc_server_credentials* grpc_ssl_server_credentials_create_with_options(
|
|
453
449
|
grpc_server_credentials* retval = nullptr;
|
454
450
|
|
455
451
|
if (options == nullptr) {
|
456
|
-
|
457
|
-
"Invalid options trying to create SSL server credentials.");
|
452
|
+
LOG(ERROR) << "Invalid options trying to create SSL server credentials.";
|
458
453
|
goto done;
|
459
454
|
}
|
460
455
|
|
461
456
|
if (options->certificate_config == nullptr &&
|
462
457
|
options->certificate_config_fetcher == nullptr) {
|
463
|
-
|
464
|
-
|
465
|
-
"certificate config or fetcher.");
|
458
|
+
LOG(ERROR) << "SSL server credentials options must specify either "
|
459
|
+
"certificate config or fetcher.";
|
466
460
|
goto done;
|
467
461
|
} else if (options->certificate_config_fetcher != nullptr &&
|
468
462
|
options->certificate_config_fetcher->cb == nullptr) {
|
469
|
-
|
463
|
+
LOG(ERROR) << "Certificate config fetcher callback must not be NULL.";
|
470
464
|
goto done;
|
471
465
|
}
|
472
466
|
|
@@ -30,13 +30,13 @@
|
|
30
30
|
#include <grpc/support/port_platform.h>
|
31
31
|
|
32
32
|
#include "src/core/lib/channel/channel_args.h"
|
33
|
-
#include "src/core/lib/gpr/useful.h"
|
34
33
|
#include "src/core/lib/gprpp/ref_counted_ptr.h"
|
35
34
|
#include "src/core/lib/gprpp/unique_type_name.h"
|
36
35
|
#include "src/core/lib/security/credentials/credentials.h"
|
37
36
|
#include "src/core/lib/security/security_connector/security_connector.h"
|
38
37
|
#include "src/core/lib/security/security_connector/ssl/ssl_security_connector.h"
|
39
38
|
#include "src/core/tsi/ssl_transport_security.h"
|
39
|
+
#include "src/core/util/useful.h"
|
40
40
|
|
41
41
|
class grpc_ssl_credentials : public grpc_channel_credentials {
|
42
42
|
public:
|
@@ -24,11 +24,11 @@
|
|
24
24
|
#include <vector>
|
25
25
|
|
26
26
|
#include "absl/log/check.h"
|
27
|
+
#include "absl/log/log.h"
|
27
28
|
#include "absl/status/status.h"
|
28
29
|
|
29
30
|
#include <grpc/credentials.h>
|
30
31
|
#include <grpc/slice.h>
|
31
|
-
#include <grpc/support/log.h>
|
32
32
|
#include <grpc/support/port_platform.h>
|
33
33
|
#include <grpc/support/time.h>
|
34
34
|
|
@@ -123,9 +123,9 @@ FileWatcherCertificateProvider::FileWatcherCertificateProvider(
|
|
123
123
|
refresh_interval_sec_(refresh_interval_sec),
|
124
124
|
distributor_(MakeRefCounted<grpc_tls_certificate_distributor>()) {
|
125
125
|
if (refresh_interval_sec_ < kMinimumFileWatcherRefreshIntervalSeconds) {
|
126
|
-
|
127
|
-
|
128
|
-
|
126
|
+
LOG(INFO) << "FileWatcherCertificateProvider refresh_interval_sec_ set to "
|
127
|
+
"value less than minimum. Overriding configured value to "
|
128
|
+
"minimum.";
|
129
129
|
refresh_interval_sec_ = kMinimumFileWatcherRefreshIntervalSeconds;
|
130
130
|
}
|
131
131
|
// Private key and identity cert files must be both set or both unset.
|
@@ -284,9 +284,8 @@ FileWatcherCertificateProvider::ReadRootCertificatesFromFile(
|
|
284
284
|
auto root_slice =
|
285
285
|
LoadFile(root_cert_full_path, /*add_null_terminator=*/false);
|
286
286
|
if (!root_slice.ok()) {
|
287
|
-
|
288
|
-
|
289
|
-
root_slice.status().ToString().c_str());
|
287
|
+
LOG(ERROR) << "Reading file " << root_cert_full_path
|
288
|
+
<< " failed: " << root_slice.status();
|
290
289
|
return absl::nullopt;
|
291
290
|
}
|
292
291
|
return std::string(root_slice->as_string_view());
|
@@ -316,34 +315,29 @@ FileWatcherCertificateProvider::ReadIdentityKeyCertPairFromFiles(
|
|
316
315
|
time_t identity_key_ts_before =
|
317
316
|
GetModificationTime(private_key_path.c_str());
|
318
317
|
if (identity_key_ts_before == 0) {
|
319
|
-
|
320
|
-
|
321
|
-
"Failed to get the file's modification time of %s. Start retrying...",
|
322
|
-
private_key_path.c_str());
|
318
|
+
LOG(ERROR) << "Failed to get the file's modification time of "
|
319
|
+
<< private_key_path << ". Start retrying...";
|
323
320
|
continue;
|
324
321
|
}
|
325
322
|
time_t identity_cert_ts_before =
|
326
323
|
GetModificationTime(identity_certificate_path.c_str());
|
327
324
|
if (identity_cert_ts_before == 0) {
|
328
|
-
|
329
|
-
|
330
|
-
"Failed to get the file's modification time of %s. Start retrying...",
|
331
|
-
identity_certificate_path.c_str());
|
325
|
+
LOG(ERROR) << "Failed to get the file's modification time of "
|
326
|
+
<< identity_certificate_path << ". Start retrying...";
|
332
327
|
continue;
|
333
328
|
}
|
334
329
|
// Read the identity files.
|
335
330
|
auto key_slice = LoadFile(private_key_path, /*add_null_terminator=*/false);
|
336
331
|
if (!key_slice.ok()) {
|
337
|
-
|
338
|
-
|
332
|
+
LOG(ERROR) << "Reading file " << private_key_path
|
333
|
+
<< " failed: " << key_slice.status() << ". Start retrying...";
|
339
334
|
continue;
|
340
335
|
}
|
341
336
|
auto cert_slice =
|
342
337
|
LoadFile(identity_certificate_path, /*add_null_terminator=*/false);
|
343
338
|
if (!cert_slice.ok()) {
|
344
|
-
|
345
|
-
|
346
|
-
cert_slice.status().ToString().c_str());
|
339
|
+
LOG(ERROR) << "Reading file " << identity_certificate_path
|
340
|
+
<< " failed: " << cert_slice.status() << ". Start retrying...";
|
347
341
|
continue;
|
348
342
|
}
|
349
343
|
std::string private_key(key_slice->as_string_view());
|
@@ -354,25 +348,22 @@ FileWatcherCertificateProvider::ReadIdentityKeyCertPairFromFiles(
|
|
354
348
|
time_t identity_key_ts_after =
|
355
349
|
GetModificationTime(private_key_path.c_str());
|
356
350
|
if (identity_key_ts_before != identity_key_ts_after) {
|
357
|
-
|
358
|
-
|
359
|
-
"Start retrying...",
|
360
|
-
private_key_path.c_str());
|
351
|
+
LOG(ERROR) << "Last modified time before and after reading "
|
352
|
+
<< private_key_path << " is not the same. Start retrying...";
|
361
353
|
continue;
|
362
354
|
}
|
363
355
|
time_t identity_cert_ts_after =
|
364
356
|
GetModificationTime(identity_certificate_path.c_str());
|
365
357
|
if (identity_cert_ts_before != identity_cert_ts_after) {
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
identity_certificate_path.c_str());
|
358
|
+
LOG(ERROR) << "Last modified time before and after reading "
|
359
|
+
<< identity_certificate_path
|
360
|
+
<< " is not the same. Start retrying...";
|
370
361
|
continue;
|
371
362
|
}
|
372
363
|
return identity_pairs;
|
373
364
|
}
|
374
|
-
|
375
|
-
|
365
|
+
LOG(ERROR) << "All retry attempts failed. Will try again after the next "
|
366
|
+
"interval.";
|
376
367
|
return absl::nullopt;
|
377
368
|
}
|
378
369
|
|
@@ -33,7 +33,6 @@
|
|
33
33
|
#include <grpc/support/port_platform.h>
|
34
34
|
#include <grpc/support/sync.h>
|
35
35
|
|
36
|
-
#include "src/core/lib/gpr/useful.h"
|
37
36
|
#include "src/core/lib/gprpp/ref_counted.h"
|
38
37
|
#include "src/core/lib/gprpp/ref_counted_ptr.h"
|
39
38
|
#include "src/core/lib/gprpp/sync.h"
|
@@ -41,6 +40,7 @@
|
|
41
40
|
#include "src/core/lib/gprpp/unique_type_name.h"
|
42
41
|
#include "src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h"
|
43
42
|
#include "src/core/lib/security/security_connector/ssl_utils.h"
|
43
|
+
#include "src/core/util/useful.h"
|
44
44
|
|
45
45
|
// Interface for a grpc_tls_certificate_provider that handles the process to
|
46
46
|
// fetch credentials and validation contexts. Implementations are free to rely
|
@@ -30,10 +30,10 @@
|
|
30
30
|
#include <grpc/support/log.h>
|
31
31
|
#include <grpc/support/port_platform.h>
|
32
32
|
|
33
|
-
#include "src/core/lib/gpr/useful.h"
|
34
33
|
#include "src/core/lib/gprpp/ref_counted.h"
|
35
34
|
#include "src/core/lib/gprpp/sync.h"
|
36
35
|
#include "src/core/lib/gprpp/unique_type_name.h"
|
36
|
+
#include "src/core/util/useful.h"
|
37
37
|
|
38
38
|
// An abstraction of the verifier that all verifier subclasses should extend.
|
39
39
|
struct grpc_tls_certificate_verifier
|
@@ -21,9 +21,9 @@
|
|
21
21
|
#include <memory>
|
22
22
|
|
23
23
|
#include "absl/log/check.h"
|
24
|
+
#include "absl/log/log.h"
|
24
25
|
|
25
26
|
#include <grpc/grpc_crl_provider.h>
|
26
|
-
#include <grpc/support/log.h>
|
27
27
|
#include <grpc/support/port_platform.h>
|
28
28
|
|
29
29
|
#include "src/core/lib/debug/trace.h"
|
@@ -128,10 +128,10 @@ void grpc_tls_credentials_options_set_tls_session_key_log_file_path(
|
|
128
128
|
// Tls session key logging is assumed to be enabled if the specified log
|
129
129
|
// file is non-empty.
|
130
130
|
if (path != nullptr) {
|
131
|
-
|
132
|
-
|
131
|
+
LOG(INFO) << "Enabling TLS session key logging with keys stored at: "
|
132
|
+
<< path;
|
133
133
|
} else {
|
134
|
-
|
134
|
+
LOG(INFO) << "Disabling TLS session key logging";
|
135
135
|
}
|
136
136
|
options->set_tls_session_key_log_file_path(path != nullptr ? path : "");
|
137
137
|
}
|
@@ -35,14 +35,13 @@
|
|
35
35
|
#include <openssl/x509.h>
|
36
36
|
|
37
37
|
#include "absl/container/flat_hash_map.h"
|
38
|
+
#include "absl/log/log.h"
|
38
39
|
#include "absl/status/status.h"
|
39
40
|
#include "absl/status/statusor.h"
|
40
41
|
#include "absl/strings/str_cat.h"
|
41
42
|
#include "absl/strings/str_join.h"
|
42
43
|
#include "absl/types/span.h"
|
43
44
|
|
44
|
-
#include <grpc/support/log.h>
|
45
|
-
|
46
45
|
#include "src/core/lib/event_engine/default_event_engine.h"
|
47
46
|
#include "src/core/lib/gprpp/directory_reader.h"
|
48
47
|
#include "src/core/lib/gprpp/load_file.h"
|
@@ -130,9 +129,8 @@ absl::StatusOr<std::shared_ptr<CrlProvider>> CreateStaticCrlProvider(
|
|
130
129
|
}
|
131
130
|
bool inserted = crl_map.emplace((*crl)->Issuer(), std::move(*crl)).second;
|
132
131
|
if (!inserted) {
|
133
|
-
|
134
|
-
|
135
|
-
"The first one in the span will be used.");
|
132
|
+
LOG(ERROR) << "StaticCrlProvider received multiple CRLs with the same "
|
133
|
+
"issuer. The first one in the span will be used.";
|
136
134
|
}
|
137
135
|
}
|
138
136
|
StaticCrlProvider provider = StaticCrlProvider(std::move(crl_map));
|
@@ -22,49 +22,48 @@
|
|
22
22
|
#include <string>
|
23
23
|
#include <utility>
|
24
24
|
|
25
|
+
#include "absl/log/log.h"
|
25
26
|
#include "absl/types/optional.h"
|
26
27
|
|
27
28
|
#include <grpc/grpc.h>
|
28
29
|
#include <grpc/grpc_security_constants.h>
|
29
30
|
#include <grpc/impl/channel_arg_names.h>
|
30
|
-
#include <grpc/support/log.h>
|
31
31
|
#include <grpc/support/port_platform.h>
|
32
32
|
|
33
33
|
#include "src/core/lib/channel/channel_args.h"
|
34
|
-
#include "src/core/lib/gpr/useful.h"
|
35
34
|
#include "src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h"
|
36
35
|
#include "src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h"
|
37
36
|
#include "src/core/lib/security/security_connector/tls/tls_security_connector.h"
|
38
37
|
#include "src/core/tsi/ssl/session_cache/ssl_session_cache.h"
|
38
|
+
#include "src/core/util/useful.h"
|
39
39
|
|
40
40
|
namespace {
|
41
41
|
|
42
42
|
bool CredentialOptionSanityCheck(grpc_tls_credentials_options* options,
|
43
43
|
bool is_client) {
|
44
44
|
if (options == nullptr) {
|
45
|
-
|
45
|
+
LOG(ERROR) << "TLS credentials options is nullptr.";
|
46
46
|
return false;
|
47
47
|
}
|
48
48
|
// In this case, there will be non-retriable handshake errors.
|
49
49
|
if (options->min_tls_version() > options->max_tls_version()) {
|
50
|
-
|
50
|
+
LOG(ERROR) << "TLS min version must not be higher than max version.";
|
51
51
|
grpc_tls_credentials_options_destroy(options);
|
52
52
|
return false;
|
53
53
|
}
|
54
54
|
if (options->max_tls_version() > grpc_tls_version::TLS1_3) {
|
55
|
-
|
55
|
+
LOG(ERROR) << "TLS max version must not be higher than v1.3.";
|
56
56
|
grpc_tls_credentials_options_destroy(options);
|
57
57
|
return false;
|
58
58
|
}
|
59
59
|
if (options->min_tls_version() < grpc_tls_version::TLS1_2) {
|
60
|
-
|
60
|
+
LOG(ERROR) << "TLS min version must not be lower than v1.2.";
|
61
61
|
grpc_tls_credentials_options_destroy(options);
|
62
62
|
return false;
|
63
63
|
}
|
64
64
|
if (!options->crl_directory().empty() && options->crl_provider() != nullptr) {
|
65
|
-
|
66
|
-
|
67
|
-
"crl_provider.");
|
65
|
+
LOG(ERROR) << "Setting crl_directory and crl_provider not supported. Using "
|
66
|
+
"the crl_provider.";
|
68
67
|
// TODO(gtcooke94) - Maybe return false here. Right now object lifetime of
|
69
68
|
// this options struct is leaky if false is returned and represents a more
|
70
69
|
// complex fix to handle in another PR.
|
@@ -73,21 +72,20 @@ bool CredentialOptionSanityCheck(grpc_tls_credentials_options* options,
|
|
73
72
|
// indicate callers are doing something wrong with the API.
|
74
73
|
if (is_client && options->cert_request_type() !=
|
75
74
|
GRPC_SSL_DONT_REQUEST_CLIENT_CERTIFICATE) {
|
76
|
-
|
77
|
-
|
75
|
+
LOG(ERROR)
|
76
|
+
<< "Client's credentials options should not set cert_request_type.";
|
78
77
|
}
|
79
78
|
if (!is_client && !options->verify_server_cert()) {
|
80
|
-
|
81
|
-
|
79
|
+
LOG(ERROR)
|
80
|
+
<< "Server's credentials options should not set verify_server_cert.";
|
82
81
|
}
|
83
82
|
// In the following conditions, there could be severe security issues.
|
84
83
|
if (is_client && options->certificate_verifier() == nullptr) {
|
85
84
|
// If no verifier is specified on the client side, use the hostname verifier
|
86
85
|
// as default. Users who want to bypass all the verifier check should
|
87
86
|
// implement an external verifier instead.
|
88
|
-
|
89
|
-
|
90
|
-
"verifier");
|
87
|
+
LOG(INFO) << "No verifier specified on the client side. Using default "
|
88
|
+
"hostname verifier";
|
91
89
|
options->set_certificate_verifier(
|
92
90
|
grpc_core::MakeRefCounted<grpc_core::HostNameCertificateVerifier>());
|
93
91
|
}
|
@@ -22,11 +22,11 @@
|
|
22
22
|
|
23
23
|
#include <algorithm>
|
24
24
|
|
25
|
+
#include "absl/log/log.h"
|
25
26
|
#include "absl/strings/ascii.h"
|
26
27
|
#include "absl/strings/match.h"
|
27
28
|
#include "absl/strings/str_cat.h"
|
28
29
|
|
29
|
-
#include <grpc/support/log.h>
|
30
30
|
#include <grpc/support/port_platform.h>
|
31
31
|
|
32
32
|
namespace grpc_core {
|
@@ -99,11 +99,11 @@ absl::string_view GetAuthPropertyValue(grpc_auth_context* context,
|
|
99
99
|
grpc_auth_context_find_properties_by_name(context, property_name);
|
100
100
|
const grpc_auth_property* prop = grpc_auth_property_iterator_next(&it);
|
101
101
|
if (prop == nullptr) {
|
102
|
-
|
102
|
+
VLOG(2) << "No value found for " << property_name << " property.";
|
103
103
|
return "";
|
104
104
|
}
|
105
105
|
if (grpc_auth_property_iterator_next(&it) != nullptr) {
|
106
|
-
|
106
|
+
VLOG(2) << "Multiple values found for " << property_name << " property.";
|
107
107
|
return "";
|
108
108
|
}
|
109
109
|
return absl::string_view(prop->value, prop->value_length);
|
@@ -120,7 +120,7 @@ std::vector<absl::string_view> GetAuthPropertyArray(grpc_auth_context* context,
|
|
120
120
|
prop = grpc_auth_property_iterator_next(&it);
|
121
121
|
}
|
122
122
|
if (values.empty()) {
|
123
|
-
|
123
|
+
VLOG(2) << "No value found for " << property_name << " property.";
|
124
124
|
}
|
125
125
|
return values;
|
126
126
|
}
|
@@ -27,12 +27,12 @@
|
|
27
27
|
#include <grpc/support/port_platform.h>
|
28
28
|
|
29
29
|
#include "src/core/lib/channel/channel_args.h"
|
30
|
-
#include "src/core/lib/gpr/useful.h"
|
31
30
|
#include "src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h"
|
32
31
|
#include "src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h"
|
33
32
|
#include "src/core/lib/security/credentials/tls/tls_credentials.h"
|
34
33
|
#include "src/core/lib/security/credentials/tls/tls_utils.h"
|
35
34
|
#include "src/core/load_balancing/xds/xds_channel_args.h"
|
35
|
+
#include "src/core/util/useful.h"
|
36
36
|
#include "src/core/xds/grpc/xds_certificate_provider.h"
|
37
37
|
|
38
38
|
namespace grpc_core {
|
@@ -24,6 +24,7 @@
|
|
24
24
|
#include <utility>
|
25
25
|
|
26
26
|
#include "absl/log/check.h"
|
27
|
+
#include "absl/log/log.h"
|
27
28
|
#include "absl/status/status.h"
|
28
29
|
#include "absl/strings/string_view.h"
|
29
30
|
#include "absl/types/optional.h"
|
@@ -33,7 +34,6 @@
|
|
33
34
|
#include <grpc/impl/channel_arg_names.h>
|
34
35
|
#include <grpc/slice.h>
|
35
36
|
#include <grpc/support/alloc.h>
|
36
|
-
#include <grpc/support/log.h>
|
37
37
|
#include <grpc/support/port_platform.h>
|
38
38
|
#include <grpc/support/string_util.h>
|
39
39
|
|
@@ -187,8 +187,7 @@ namespace internal {
|
|
187
187
|
RefCountedPtr<grpc_auth_context> grpc_alts_auth_context_from_tsi_peer(
|
188
188
|
const tsi_peer* peer) {
|
189
189
|
if (peer == nullptr) {
|
190
|
-
|
191
|
-
"Invalid arguments to grpc_alts_auth_context_from_tsi_peer()");
|
190
|
+
LOG(ERROR) << "Invalid arguments to grpc_alts_auth_context_from_tsi_peer()";
|
192
191
|
return nullptr;
|
193
192
|
}
|
194
193
|
// Validate certificate type.
|
@@ -197,21 +196,21 @@ RefCountedPtr<grpc_auth_context> grpc_alts_auth_context_from_tsi_peer(
|
|
197
196
|
if (cert_type_prop == nullptr ||
|
198
197
|
strncmp(cert_type_prop->value.data, TSI_ALTS_CERTIFICATE_TYPE,
|
199
198
|
cert_type_prop->value.length) != 0) {
|
200
|
-
|
199
|
+
LOG(ERROR) << "Invalid or missing certificate type property.";
|
201
200
|
return nullptr;
|
202
201
|
}
|
203
202
|
// Check if security level exists.
|
204
203
|
const tsi_peer_property* security_level_prop =
|
205
204
|
tsi_peer_get_property_by_name(peer, TSI_SECURITY_LEVEL_PEER_PROPERTY);
|
206
205
|
if (security_level_prop == nullptr) {
|
207
|
-
|
206
|
+
LOG(ERROR) << "Missing security level property.";
|
208
207
|
return nullptr;
|
209
208
|
}
|
210
209
|
// Validate RPC protocol versions.
|
211
210
|
const tsi_peer_property* rpc_versions_prop =
|
212
211
|
tsi_peer_get_property_by_name(peer, TSI_ALTS_RPC_VERSIONS);
|
213
212
|
if (rpc_versions_prop == nullptr) {
|
214
|
-
|
213
|
+
LOG(ERROR) << "Missing rpc protocol versions property.";
|
215
214
|
return nullptr;
|
216
215
|
}
|
217
216
|
grpc_gcp_rpc_protocol_versions local_versions, peer_versions;
|
@@ -222,21 +221,21 @@ RefCountedPtr<grpc_auth_context> grpc_alts_auth_context_from_tsi_peer(
|
|
222
221
|
grpc_gcp_rpc_protocol_versions_decode(slice, &peer_versions);
|
223
222
|
CSliceUnref(slice);
|
224
223
|
if (!decode_result) {
|
225
|
-
|
224
|
+
LOG(ERROR) << "Invalid peer rpc protocol versions.";
|
226
225
|
return nullptr;
|
227
226
|
}
|
228
227
|
// TODO(unknown): Pass highest common rpc protocol version to grpc caller.
|
229
228
|
bool check_result = grpc_gcp_rpc_protocol_versions_check(
|
230
229
|
&local_versions, &peer_versions, nullptr);
|
231
230
|
if (!check_result) {
|
232
|
-
|
231
|
+
LOG(ERROR) << "Mismatch of local and peer rpc protocol versions.";
|
233
232
|
return nullptr;
|
234
233
|
}
|
235
234
|
// Validate ALTS Context.
|
236
235
|
const tsi_peer_property* alts_context_prop =
|
237
236
|
tsi_peer_get_property_by_name(peer, TSI_ALTS_CONTEXT);
|
238
237
|
if (alts_context_prop == nullptr) {
|
239
|
-
|
238
|
+
LOG(ERROR) << "Missing alts context property.";
|
240
239
|
return nullptr;
|
241
240
|
}
|
242
241
|
// Create auth context.
|
@@ -269,7 +268,7 @@ RefCountedPtr<grpc_auth_context> grpc_alts_auth_context_from_tsi_peer(
|
|
269
268
|
}
|
270
269
|
}
|
271
270
|
if (!grpc_auth_context_peer_is_authenticated(ctx.get())) {
|
272
|
-
|
271
|
+
LOG(ERROR) << "Invalid unauthenticated peer.";
|
273
272
|
ctx.reset(DEBUG_LOCATION, "test");
|
274
273
|
return nullptr;
|
275
274
|
}
|
@@ -285,9 +284,8 @@ grpc_alts_channel_security_connector_create(
|
|
285
284
|
grpc_core::RefCountedPtr<grpc_call_credentials> request_metadata_creds,
|
286
285
|
const char* target_name) {
|
287
286
|
if (channel_creds == nullptr || target_name == nullptr) {
|
288
|
-
|
289
|
-
|
290
|
-
"Invalid arguments to grpc_alts_channel_security_connector_create()");
|
287
|
+
LOG(ERROR)
|
288
|
+
<< "Invalid arguments to grpc_alts_channel_security_connector_create()";
|
291
289
|
return nullptr;
|
292
290
|
}
|
293
291
|
return grpc_core::MakeRefCounted<grpc_alts_channel_security_connector>(
|
@@ -298,9 +296,8 @@ grpc_core::RefCountedPtr<grpc_server_security_connector>
|
|
298
296
|
grpc_alts_server_security_connector_create(
|
299
297
|
grpc_core::RefCountedPtr<grpc_server_credentials> server_creds) {
|
300
298
|
if (server_creds == nullptr) {
|
301
|
-
|
302
|
-
|
303
|
-
"Invalid arguments to grpc_alts_server_security_connector_create()");
|
299
|
+
LOG(ERROR)
|
300
|
+
<< "Invalid arguments to grpc_alts_server_security_connector_create()";
|
304
301
|
return nullptr;
|
305
302
|
}
|
306
303
|
return grpc_core::MakeRefCounted<grpc_alts_server_security_connector>(
|
@@ -25,6 +25,7 @@
|
|
25
25
|
#include <utility>
|
26
26
|
|
27
27
|
#include "absl/log/check.h"
|
28
|
+
#include "absl/log/log.h"
|
28
29
|
#include "absl/status/status.h"
|
29
30
|
#include "absl/strings/str_cat.h"
|
30
31
|
#include "absl/strings/str_format.h"
|
@@ -41,8 +42,6 @@
|
|
41
42
|
#include "src/core/handshaker/handshaker.h"
|
42
43
|
#include "src/core/handshaker/security/security_handshaker.h"
|
43
44
|
#include "src/core/lib/channel/channel_args.h"
|
44
|
-
#include "src/core/lib/gpr/string.h"
|
45
|
-
#include "src/core/lib/gpr/useful.h"
|
46
45
|
#include "src/core/lib/gprpp/crash.h"
|
47
46
|
#include "src/core/lib/gprpp/debug_location.h"
|
48
47
|
#include "src/core/lib/gprpp/host_port.h"
|
@@ -60,6 +59,8 @@
|
|
60
59
|
#include "src/core/load_balancing/grpclb/grpclb.h"
|
61
60
|
#include "src/core/tsi/fake_transport_security.h"
|
62
61
|
#include "src/core/tsi/transport_security_interface.h"
|
62
|
+
#include "src/core/util/string.h"
|
63
|
+
#include "src/core/util/useful.h"
|
63
64
|
|
64
65
|
namespace {
|
65
66
|
class grpc_fake_channel_security_connector final
|
@@ -165,28 +166,30 @@ class grpc_fake_channel_security_connector final
|
|
165
166
|
gpr_string_split(expected_targets_->c_str(), ";", &lbs_and_backends,
|
166
167
|
&lbs_and_backends_size);
|
167
168
|
if (lbs_and_backends_size > 2 || lbs_and_backends_size == 0) {
|
168
|
-
|
169
|
-
|
169
|
+
LOG(ERROR) << "Invalid expected targets arg value: '"
|
170
|
+
<< expected_targets_->c_str() << "'";
|
170
171
|
goto done;
|
171
172
|
}
|
172
173
|
if (is_lb_channel_) {
|
173
174
|
if (lbs_and_backends_size != 2) {
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
175
|
+
LOG(ERROR) << "Invalid expected targets arg value: '"
|
176
|
+
<< expected_targets_->c_str()
|
177
|
+
<< "'. Expectations for LB channels must be of the form "
|
178
|
+
"'be1,be2,be3,...;lb1,lb2,...";
|
178
179
|
goto done;
|
179
180
|
}
|
180
181
|
if (!fake_check_target(target_, lbs_and_backends[1])) {
|
181
|
-
|
182
|
-
|
182
|
+
LOG(ERROR) << "LB target '" << target_
|
183
|
+
<< "' not found in expected set '" << lbs_and_backends[1]
|
184
|
+
<< "'";
|
183
185
|
goto done;
|
184
186
|
}
|
185
187
|
success = true;
|
186
188
|
} else {
|
187
189
|
if (!fake_check_target(target_, lbs_and_backends[0])) {
|
188
|
-
|
189
|
-
|
190
|
+
LOG(ERROR) << "Backend target '" << target_
|
191
|
+
<< "' not found in expected set '" << lbs_and_backends[0]
|
192
|
+
<< "'";
|
190
193
|
goto done;
|
191
194
|
}
|
192
195
|
success = true;
|