grpc 1.75.0.pre1 → 1.76.0.pre1
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 +18 -5
- data/include/grpc/credentials.h +21 -5
- data/src/core/call/call_filters.cc +4 -4
- data/src/core/call/call_filters.h +36 -36
- data/src/core/call/call_spine.h +27 -27
- data/src/core/call/client_call.cc +6 -5
- data/src/core/call/filter_fusion.h +5 -5
- data/src/core/call/metadata_batch.h +3 -3
- data/src/core/call/security_context.cc +1 -1
- data/src/core/call/server_call.cc +4 -4
- data/src/core/call/server_call.h +1 -1
- data/src/core/channelz/channelz.cc +12 -18
- data/src/core/channelz/channelz.h +32 -16
- data/src/core/channelz/channelz_registry.h +11 -0
- data/src/core/channelz/property_list.cc +18 -0
- data/src/core/channelz/property_list.h +10 -1
- data/src/core/channelz/text_encode.cc +66 -0
- data/src/core/channelz/text_encode.h +29 -0
- data/src/core/channelz/v2tov1/convert.cc +11 -0
- data/src/core/channelz/v2tov1/legacy_api.cc +15 -8
- data/src/core/channelz/ztrace_collector.h +247 -86
- data/src/core/client_channel/backup_poller.cc +5 -6
- data/src/core/client_channel/client_channel.cc +20 -13
- data/src/core/client_channel/client_channel_filter.cc +53 -45
- data/src/core/client_channel/client_channel_filter.h +2 -2
- data/src/core/client_channel/client_channel_internal.h +3 -4
- data/src/core/client_channel/config_selector.h +3 -3
- data/src/core/client_channel/dynamic_filters.cc +3 -3
- data/src/core/client_channel/global_subchannel_pool.cc +0 -37
- data/src/core/client_channel/global_subchannel_pool.h +0 -27
- data/src/core/client_channel/load_balanced_call_destination.cc +7 -7
- data/src/core/client_channel/local_subchannel_pool.cc +4 -4
- data/src/core/client_channel/retry_filter.h +3 -3
- data/src/core/client_channel/retry_filter_legacy_call_data.cc +5 -5
- data/src/core/client_channel/subchannel.cc +8 -8
- data/src/core/client_channel/subchannel_stream_client.cc +4 -4
- data/src/core/config/config_vars.cc +30 -1
- data/src/core/config/config_vars.h +21 -0
- data/src/core/config/core_configuration.cc +5 -5
- data/src/core/config/core_configuration.h +7 -7
- data/src/core/config/load_config.cc +12 -0
- data/src/core/config/load_config.h +2 -0
- data/src/core/credentials/call/call_credentials.h +2 -2
- data/src/core/credentials/call/call_creds_util.cc +4 -3
- data/src/core/credentials/call/composite/composite_call_credentials.cc +4 -4
- data/src/core/credentials/call/external/aws_external_account_credentials.cc +3 -3
- data/src/core/credentials/call/external/external_account_credentials.cc +1 -1
- data/src/core/credentials/call/external/url_external_account_credentials.cc +1 -1
- data/src/core/credentials/call/iam/iam_credentials.cc +4 -4
- data/src/core/credentials/call/jwt/json_token.cc +3 -3
- data/src/core/credentials/call/jwt/jwt_credentials.cc +2 -2
- data/src/core/credentials/call/jwt/jwt_verifier.cc +14 -13
- data/src/core/credentials/call/oauth2/oauth2_credentials.cc +20 -12
- data/src/core/credentials/call/plugin/plugin_credentials.cc +2 -2
- data/src/core/credentials/transport/alts/alts_credentials.cc +4 -4
- data/src/core/credentials/transport/alts/alts_security_connector.cc +14 -12
- data/src/core/credentials/transport/alts/grpc_alts_credentials_client_options.cc +22 -2
- data/src/core/credentials/transport/alts/grpc_alts_credentials_options.cc +10 -1
- data/src/core/credentials/transport/alts/grpc_alts_credentials_options.h +31 -0
- data/src/core/credentials/transport/alts/grpc_alts_credentials_server_options.cc +8 -3
- data/src/core/credentials/transport/composite/composite_channel_credentials.cc +5 -5
- data/src/core/credentials/transport/fake/fake_security_connector.cc +2 -2
- data/src/core/credentials/transport/google_default/google_default_credentials.cc +78 -28
- data/src/core/credentials/transport/insecure/insecure_security_connector.cc +3 -3
- data/src/core/credentials/transport/local/local_security_connector.cc +8 -8
- data/src/core/credentials/transport/security_connector.cc +5 -5
- data/src/core/credentials/transport/ssl/ssl_credentials.cc +12 -12
- data/src/core/credentials/transport/ssl/ssl_credentials.h +2 -2
- data/src/core/credentials/transport/ssl/ssl_security_connector.cc +3 -3
- data/src/core/credentials/transport/tls/certificate_provider_registry.cc +2 -2
- data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.cc +24 -24
- data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.cc +5 -5
- data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.h +2 -2
- data/src/core/credentials/transport/tls/grpc_tls_certificate_verifier.cc +2 -2
- data/src/core/credentials/transport/tls/grpc_tls_certificate_verifier.h +2 -2
- data/src/core/credentials/transport/tls/grpc_tls_credentials_options.cc +17 -17
- data/src/core/credentials/transport/tls/ssl_utils.cc +14 -9
- data/src/core/credentials/transport/tls/tls_credentials.cc +2 -2
- data/src/core/credentials/transport/tls/tls_security_connector.cc +11 -11
- data/src/core/credentials/transport/transport_credentials.cc +2 -2
- data/src/core/credentials/transport/transport_credentials.h +2 -2
- data/src/core/credentials/transport/xds/xds_credentials.cc +5 -5
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +2 -0
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +1 -1
- data/src/core/ext/filters/http/message_compress/compression_filter.cc +8 -8
- data/src/core/ext/filters/http/message_compress/compression_filter.h +3 -3
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +7 -7
- data/src/core/ext/transport/chttp2/alpn/alpn.cc +2 -2
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +10 -9
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +10 -7
- data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +5 -5
- data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +6 -6
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +96 -88
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -3
- data/src/core/ext/transport/chttp2/transport/flow_control.h +12 -7
- data/src/core/ext/transport/chttp2/transport/flow_control_manager.h +60 -0
- data/src/core/ext/transport/chttp2/transport/frame.cc +32 -10
- data/src/core/ext/transport/chttp2/transport/frame.h +16 -2
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +4 -4
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +3 -3
- data/src/core/ext/transport/chttp2/transport/header_assembler.h +28 -12
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +4 -2
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +8 -8
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +2 -2
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +27 -27
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +2 -3
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +4 -4
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +543 -366
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +198 -277
- data/src/core/ext/transport/chttp2/transport/http2_settings_manager.cc +3 -0
- data/src/core/ext/transport/chttp2/transport/http2_settings_manager.h +11 -0
- data/src/core/ext/transport/chttp2/transport/http2_settings_promises.h +179 -0
- data/src/core/ext/transport/chttp2/transport/http2_transport.cc +51 -23
- data/src/core/ext/transport/chttp2/transport/http2_transport.h +13 -6
- data/src/core/ext/transport/chttp2/transport/http2_ztrace_collector.h +115 -71
- data/src/core/ext/transport/chttp2/transport/internal.h +6 -14
- data/src/core/ext/transport/chttp2/transport/message_assembler.h +7 -7
- data/src/core/ext/transport/chttp2/transport/parsing.cc +17 -15
- data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/ping_promise.cc +62 -26
- data/src/core/ext/transport/chttp2/transport/ping_promise.h +58 -22
- data/src/core/ext/transport/chttp2/transport/stream.h +207 -0
- data/src/core/ext/transport/chttp2/transport/stream_data_queue.h +328 -187
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +7 -7
- data/src/core/ext/transport/chttp2/transport/transport_common.cc +17 -1
- data/src/core/ext/transport/chttp2/transport/transport_common.h +52 -0
- data/src/core/ext/transport/chttp2/transport/varint.h +2 -2
- data/src/core/ext/transport/chttp2/transport/writable_streams.h +181 -79
- data/src/core/ext/transport/chttp2/transport/write_size_policy.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/writing.cc +3 -3
- data/src/core/ext/transport/inproc/inproc_transport.cc +1 -1
- data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +3 -3
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb.h +740 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.c +218 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.h +46 -0
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +87 -55
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +23 -21
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/channelz.upbdefs.c +80 -0
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/channelz.upbdefs.h +47 -0
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/service.upbdefs.c +129 -0
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/service.upbdefs.h +72 -0
- data/src/core/filter/auth/server_auth_filter.cc +2 -2
- data/src/core/handshaker/handshaker.cc +3 -3
- data/src/core/handshaker/http_connect/http_proxy_mapper.cc +2 -2
- data/src/core/handshaker/security/legacy_secure_endpoint.cc +2 -2
- data/src/core/handshaker/security/pipelined_secure_endpoint.cc +31 -8
- data/src/core/handshaker/security/secure_endpoint.cc +16 -6
- data/src/core/handshaker/security/security_handshaker.cc +3 -3
- data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +2 -2
- data/src/core/lib/channel/channel_stack.cc +8 -5
- data/src/core/lib/channel/channel_stack.h +3 -0
- data/src/core/lib/channel/channel_stack_builder_impl.cc +1 -0
- data/src/core/lib/channel/connected_channel.cc +2 -2
- data/src/core/lib/channel/promise_based_filter.cc +69 -64
- data/src/core/lib/channel/promise_based_filter.h +16 -15
- data/src/core/lib/compression/compression_internal.cc +2 -2
- data/src/core/lib/compression/message_compress.cc +7 -7
- data/src/core/lib/event_engine/ares_resolver.cc +22 -20
- data/src/core/lib/event_engine/cf_engine/cf_engine.cc +2 -2
- data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +2 -2
- data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +2 -2
- data/src/core/lib/event_engine/extensions/channelz.h +2 -2
- data/src/core/lib/event_engine/extensions/supports_fd.h +5 -5
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +8 -8
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +10 -10
- data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +2 -2
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +23 -22
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +11 -11
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +168 -170
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +33 -54
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +4 -3
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +5 -5
- data/src/core/lib/event_engine/posix_engine/posix_interface.h +1 -1
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/timer_manager.cc +3 -3
- data/src/core/lib/event_engine/resolved_address.cc +3 -3
- data/src/core/lib/event_engine/shim.cc +8 -11
- data/src/core/lib/event_engine/shim.h +2 -1
- data/src/core/lib/event_engine/slice.cc +2 -2
- data/src/core/lib/event_engine/tcp_socket_utils.cc +11 -11
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +7 -7
- data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +31 -31
- data/src/core/lib/event_engine/windows/iocp.cc +10 -10
- data/src/core/lib/event_engine/windows/win_socket.cc +6 -6
- data/src/core/lib/event_engine/windows/windows_endpoint.cc +11 -11
- data/src/core/lib/event_engine/windows/windows_engine.cc +16 -14
- data/src/core/lib/event_engine/windows/windows_listener.cc +7 -7
- data/src/core/lib/experiments/experiments.cc +105 -18
- data/src/core/lib/experiments/experiments.h +43 -11
- data/src/core/lib/iomgr/call_combiner.cc +3 -3
- data/src/core/lib/iomgr/endpoint_cfstream.cc +6 -6
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +5 -5
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +15 -14
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +15 -15
- data/src/core/lib/iomgr/ev_poll_posix.cc +11 -11
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +5 -4
- data/src/core/lib/iomgr/event_engine_shims/endpoint.h +1 -1
- data/src/core/lib/iomgr/iocp_windows.cc +8 -8
- data/src/core/lib/iomgr/iomgr_windows.cc +3 -3
- data/src/core/lib/iomgr/lockfree_event.cc +2 -2
- data/src/core/lib/iomgr/polling_entity.cc +3 -3
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +2 -2
- data/src/core/lib/iomgr/socket_windows.cc +4 -4
- data/src/core/lib/iomgr/tcp_client_posix.cc +4 -4
- data/src/core/lib/iomgr/tcp_client_windows.cc +4 -4
- data/src/core/lib/iomgr/tcp_posix.cc +42 -42
- data/src/core/lib/iomgr/tcp_server.cc +5 -0
- data/src/core/lib/iomgr/tcp_server.h +7 -0
- data/src/core/lib/iomgr/tcp_server_posix.cc +47 -27
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +3 -0
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +5 -5
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +2 -2
- data/src/core/lib/iomgr/tcp_server_windows.cc +68 -29
- data/src/core/lib/iomgr/tcp_windows.cc +7 -7
- data/src/core/lib/iomgr/timer_generic.cc +2 -2
- data/src/core/lib/iomgr/timer_manager.cc +2 -2
- data/src/core/lib/iomgr/unix_sockets_posix.cc +2 -2
- data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +2 -2
- data/src/core/lib/promise/activity.cc +2 -2
- data/src/core/lib/promise/activity.h +6 -6
- data/src/core/lib/promise/context.h +2 -2
- data/src/core/lib/promise/detail/join_state.h +9 -9
- data/src/core/lib/promise/detail/seq_state.h +13 -13
- data/src/core/lib/promise/detail/status.h +2 -2
- data/src/core/lib/promise/for_each.h +5 -5
- data/src/core/lib/promise/interceptor_list.h +2 -2
- data/src/core/lib/promise/latch.h +7 -7
- data/src/core/lib/promise/mpsc.cc +26 -26
- data/src/core/lib/promise/mpsc.h +2 -2
- data/src/core/lib/promise/observable.h +4 -4
- data/src/core/lib/promise/party.cc +32 -25
- data/src/core/lib/promise/party.h +16 -19
- data/src/core/lib/promise/pipe.h +15 -15
- data/src/core/lib/promise/poll.h +5 -4
- data/src/core/lib/promise/promise.h +0 -2
- data/src/core/lib/promise/sleep.cc +3 -1
- data/src/core/lib/promise/status_flag.h +7 -7
- data/src/core/lib/promise/try_join.h +2 -2
- data/src/core/lib/promise/try_seq.h +2 -2
- data/src/core/lib/resource_quota/arena.h +15 -2
- data/src/core/lib/resource_quota/connection_quota.cc +9 -7
- data/src/core/lib/resource_quota/memory_quota.cc +45 -24
- data/src/core/lib/resource_quota/memory_quota.h +48 -16
- data/src/core/lib/resource_quota/telemetry.h +54 -0
- data/src/core/lib/resource_quota/thread_quota.cc +2 -2
- data/src/core/lib/resource_tracker/resource_tracker.cc +33 -0
- data/src/core/lib/resource_tracker/resource_tracker.h +46 -0
- data/src/core/lib/security/authorization/audit_logging.cc +5 -5
- data/src/core/lib/security/authorization/grpc_authorization_engine.cc +2 -2
- data/src/core/lib/security/authorization/stdout_logger.cc +3 -3
- data/src/core/lib/surface/byte_buffer_reader.cc +2 -2
- data/src/core/lib/surface/call.cc +16 -14
- data/src/core/lib/surface/call.h +1 -1
- data/src/core/lib/surface/call_utils.cc +2 -2
- data/src/core/lib/surface/call_utils.h +2 -2
- data/src/core/lib/surface/channel.cc +4 -4
- data/src/core/lib/surface/channel_create.cc +10 -6
- data/src/core/lib/surface/channel_init.cc +80 -23
- data/src/core/lib/surface/channel_init.h +26 -11
- data/src/core/lib/surface/completion_queue.cc +17 -16
- data/src/core/lib/surface/completion_queue_factory.cc +7 -7
- data/src/core/lib/surface/connection_context.h +45 -2
- data/src/core/lib/surface/filter_stack_call.cc +12 -23
- data/src/core/lib/surface/filter_stack_call.h +3 -4
- data/src/core/lib/surface/legacy_channel.cc +7 -7
- data/src/core/lib/surface/validate_metadata.h +2 -2
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.h +3 -3
- data/src/core/lib/transport/promise_endpoint.cc +3 -3
- data/src/core/lib/transport/promise_endpoint.h +8 -8
- data/src/core/lib/transport/timeout_encoding.cc +4 -4
- data/src/core/load_balancing/child_policy_handler.cc +4 -4
- data/src/core/load_balancing/endpoint_list.cc +2 -2
- data/src/core/load_balancing/grpclb/grpclb.cc +24 -24
- data/src/core/load_balancing/health_check_client.cc +4 -4
- data/src/core/load_balancing/health_check_client_internal.h +2 -2
- data/src/core/load_balancing/lb_policy_registry.cc +2 -2
- data/src/core/load_balancing/oob_backend_metric.cc +4 -4
- data/src/core/load_balancing/oob_backend_metric_internal.h +2 -2
- data/src/core/load_balancing/outlier_detection/outlier_detection.cc +2 -2
- data/src/core/load_balancing/pick_first/pick_first.cc +14 -14
- data/src/core/load_balancing/priority/priority.cc +23 -24
- data/src/core/load_balancing/ring_hash/ring_hash.cc +3 -3
- data/src/core/load_balancing/rls/rls.cc +13 -13
- data/src/core/load_balancing/round_robin/round_robin.cc +9 -9
- data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc +3 -3
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +33 -26
- data/src/core/load_balancing/weighted_target/weighted_target.cc +5 -5
- data/src/core/load_balancing/xds/cds.cc +76 -32
- data/src/core/load_balancing/xds/xds_cluster_impl.cc +3 -3
- data/src/core/load_balancing/xds/xds_override_host.cc +4 -4
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -2
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +33 -33
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +10 -10
- data/src/core/resolver/dns/dns_resolver_plugin.cc +6 -3
- data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +2 -2
- data/src/core/resolver/endpoint_addresses.cc +3 -3
- data/src/core/resolver/endpoint_addresses.h +3 -0
- data/src/core/resolver/fake/fake_resolver.cc +2 -2
- data/src/core/resolver/google_c2p/google_c2p_resolver.cc +41 -54
- data/src/core/resolver/polling_resolver.cc +3 -3
- data/src/core/resolver/resolver_registry.cc +5 -4
- data/src/core/resolver/xds/xds_dependency_manager.cc +5 -5
- data/src/core/resolver/xds/xds_resolver.cc +9 -9
- data/src/core/server/server.cc +38 -38
- data/src/core/server/server_call_tracer_filter.h +4 -4
- data/src/core/server/server_config_selector_filter.cc +2 -2
- data/src/core/server/xds_server_config_fetcher.cc +9 -8
- data/src/core/service_config/service_config_impl.h +2 -2
- data/src/core/telemetry/call_tracer.cc +39 -49
- data/src/core/telemetry/call_tracer.h +199 -22
- data/src/core/telemetry/histogram.h +205 -0
- data/src/core/telemetry/instrument.cc +719 -0
- data/src/core/telemetry/instrument.h +932 -0
- data/src/core/telemetry/metrics.cc +13 -5
- data/src/core/telemetry/metrics.h +3 -1
- data/src/core/telemetry/stats_data.cc +0 -19
- data/src/core/telemetry/stats_data.h +0 -19
- data/src/core/transport/auth_context.cc +2 -2
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +78 -45
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +1 -0
- data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +3 -3
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +39 -31
- data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +3 -3
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +3 -3
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +7 -7
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +3 -3
- data/src/core/tsi/fake_transport_security.cc +4 -4
- data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +4 -4
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +9 -9
- data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +3 -3
- data/src/core/tsi/ssl_transport_security.cc +26 -25
- data/src/core/tsi/ssl_transport_security_utils.cc +9 -9
- data/src/core/util/chunked_vector.h +4 -4
- data/src/core/util/event_log.cc +2 -2
- data/src/core/util/gcp_metadata_query.cc +2 -2
- data/src/core/util/grpc_check.cc +22 -0
- data/src/core/util/grpc_check.h +103 -0
- data/src/core/util/http_client/httpcli.cc +3 -3
- data/src/core/util/http_client/parser.cc +4 -4
- data/src/core/util/latent_see.h +7 -4
- data/src/core/util/lru_cache.h +4 -4
- data/src/core/util/memory_usage.h +16 -0
- data/src/core/util/posix/directory_reader.cc +3 -2
- data/src/core/util/posix/sync.cc +24 -24
- data/src/core/util/postmortem_emit.cc +52 -0
- data/src/core/util/postmortem_emit.h +30 -0
- data/src/core/util/ref_counted_ptr.h +5 -0
- data/src/core/util/trie_lookup.h +170 -0
- data/src/core/util/unique_ptr_with_bitset.h +5 -5
- data/src/core/xds/grpc/xds_bootstrap_grpc.h +6 -1
- data/src/core/xds/grpc/xds_certificate_provider.cc +3 -3
- data/src/core/xds/grpc/xds_client_grpc.cc +34 -15
- data/src/core/xds/grpc/xds_client_grpc.h +4 -1
- data/src/core/xds/grpc/xds_cluster_parser.cc +2 -2
- data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +2 -2
- data/src/core/xds/grpc/xds_endpoint_parser.cc +2 -2
- data/src/core/xds/grpc/xds_http_filter_registry.cc +4 -3
- data/src/core/xds/grpc/xds_listener_parser.cc +3 -3
- data/src/core/xds/grpc/xds_matcher.cc +277 -0
- data/src/core/xds/grpc/xds_matcher.h +432 -0
- data/src/core/xds/grpc/xds_matcher_action.cc +47 -0
- data/src/core/xds/grpc/xds_matcher_action.h +48 -0
- data/src/core/xds/grpc/xds_matcher_context.cc +29 -0
- data/src/core/xds/grpc/xds_matcher_context.h +46 -0
- data/src/core/xds/grpc/xds_matcher_input.cc +79 -0
- data/src/core/xds/grpc/xds_matcher_input.h +105 -0
- data/src/core/xds/grpc/xds_matcher_parse.cc +356 -0
- data/src/core/xds/grpc/xds_matcher_parse.h +39 -0
- data/src/core/xds/grpc/xds_metadata.cc +4 -3
- data/src/core/xds/grpc/xds_route_config_parser.cc +6 -6
- data/src/core/xds/grpc/xds_routing.cc +3 -3
- data/src/core/xds/grpc/xds_transport_grpc.cc +10 -10
- data/src/core/xds/xds_client/lrs_client.cc +6 -6
- data/src/core/xds/xds_client/xds_client.cc +9 -9
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +2 -2
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/third_party/abseil-cpp/absl/container/internal/node_slot_policy.h +95 -0
- data/third_party/abseil-cpp/absl/container/node_hash_map.h +687 -0
- metadata +37 -2
@@ -27,12 +27,12 @@
|
|
27
27
|
#include <string>
|
28
28
|
|
29
29
|
#include "absl/base/thread_annotations.h"
|
30
|
-
#include "absl/log/check.h"
|
31
30
|
#include "absl/status/statusor.h"
|
32
31
|
#include "absl/strings/string_view.h"
|
33
32
|
#include "src/core/credentials/transport/tls/grpc_tls_certificate_distributor.h"
|
34
33
|
#include "src/core/credentials/transport/tls/spiffe_utils.h"
|
35
34
|
#include "src/core/credentials/transport/tls/ssl_utils.h"
|
35
|
+
#include "src/core/util/grpc_check.h"
|
36
36
|
#include "src/core/util/ref_counted.h"
|
37
37
|
#include "src/core/util/ref_counted_ptr.h"
|
38
38
|
#include "src/core/util/sync.h"
|
@@ -64,7 +64,7 @@ struct grpc_tls_certificate_provider
|
|
64
64
|
// be reused when two different `grpc_tls_certificate_provider` objects are
|
65
65
|
// used but they compare as equal (assuming other channel args match).
|
66
66
|
int Compare(const grpc_tls_certificate_provider* other) const {
|
67
|
-
|
67
|
+
GRPC_CHECK_NE(other, nullptr);
|
68
68
|
int r = type().Compare(other->type());
|
69
69
|
if (r != 0) return r;
|
70
70
|
return CompareImpl(other);
|
@@ -24,11 +24,11 @@
|
|
24
24
|
#include <string>
|
25
25
|
#include <utility>
|
26
26
|
|
27
|
-
#include "absl/log/check.h"
|
28
27
|
#include "absl/strings/string_view.h"
|
29
28
|
#include "src/core/credentials/transport/tls/tls_utils.h"
|
30
29
|
#include "src/core/lib/debug/trace.h"
|
31
30
|
#include "src/core/lib/iomgr/exec_ctx.h"
|
31
|
+
#include "src/core/util/grpc_check.h"
|
32
32
|
#include "src/core/util/host_port.h"
|
33
33
|
|
34
34
|
namespace grpc_core {
|
@@ -108,7 +108,7 @@ UniqueTypeName NoOpCertificateVerifier::type() const {
|
|
108
108
|
bool HostNameCertificateVerifier::Verify(
|
109
109
|
grpc_tls_custom_verification_check_request* request,
|
110
110
|
std::function<void(absl::Status)>, absl::Status* sync_status) {
|
111
|
-
|
111
|
+
GRPC_CHECK_NE(request, nullptr);
|
112
112
|
// Extract the target name, and remove its port.
|
113
113
|
const char* target_name = request->target_name;
|
114
114
|
if (target_name == nullptr) {
|
@@ -26,8 +26,8 @@
|
|
26
26
|
#include <map>
|
27
27
|
|
28
28
|
#include "absl/base/thread_annotations.h"
|
29
|
-
#include "absl/log/check.h"
|
30
29
|
#include "absl/status/status.h"
|
30
|
+
#include "src/core/util/grpc_check.h"
|
31
31
|
#include "src/core/util/ref_counted.h"
|
32
32
|
#include "src/core/util/sync.h"
|
33
33
|
#include "src/core/util/unique_type_name.h"
|
@@ -57,7 +57,7 @@ struct grpc_tls_certificate_verifier
|
|
57
57
|
// If this method returns 0, it means that gRPC can treat the two certificate
|
58
58
|
// verifiers as effectively the same.
|
59
59
|
int Compare(const grpc_tls_certificate_verifier* other) const {
|
60
|
-
|
60
|
+
GRPC_CHECK_NE(other, nullptr);
|
61
61
|
int r = type().Compare(other->type());
|
62
62
|
if (r != 0) return r;
|
63
63
|
return CompareImpl(other);
|
@@ -23,12 +23,12 @@
|
|
23
23
|
|
24
24
|
#include <memory>
|
25
25
|
|
26
|
-
#include "absl/log/check.h"
|
27
26
|
#include "absl/log/log.h"
|
28
27
|
#include "src/core/lib/debug/trace.h"
|
29
28
|
#include "src/core/lib/iomgr/exec_ctx.h"
|
30
29
|
#include "src/core/tsi/ssl_transport_security.h"
|
31
30
|
#include "src/core/util/debug_location.h"
|
31
|
+
#include "src/core/util/grpc_check.h"
|
32
32
|
|
33
33
|
/// -- Wrapper APIs declared in grpc_security.h -- *
|
34
34
|
|
@@ -39,7 +39,7 @@ grpc_tls_credentials_options* grpc_tls_credentials_options_create() {
|
|
39
39
|
|
40
40
|
grpc_tls_credentials_options* grpc_tls_credentials_options_copy(
|
41
41
|
grpc_tls_credentials_options* options) {
|
42
|
-
|
42
|
+
GRPC_CHECK_NE(options, nullptr);
|
43
43
|
return new grpc_tls_credentials_options(*options);
|
44
44
|
}
|
45
45
|
|
@@ -51,21 +51,21 @@ void grpc_tls_credentials_options_destroy(
|
|
51
51
|
void grpc_tls_credentials_options_set_cert_request_type(
|
52
52
|
grpc_tls_credentials_options* options,
|
53
53
|
grpc_ssl_client_certificate_request_type type) {
|
54
|
-
|
54
|
+
GRPC_CHECK_NE(options, nullptr);
|
55
55
|
options->set_cert_request_type(type);
|
56
56
|
}
|
57
57
|
|
58
58
|
void grpc_tls_credentials_options_set_verify_server_cert(
|
59
59
|
grpc_tls_credentials_options* options, int verify_server_cert) {
|
60
|
-
|
60
|
+
GRPC_CHECK_NE(options, nullptr);
|
61
61
|
options->set_verify_server_cert(verify_server_cert);
|
62
62
|
}
|
63
63
|
|
64
64
|
void grpc_tls_credentials_options_set_certificate_provider(
|
65
65
|
grpc_tls_credentials_options* options,
|
66
66
|
grpc_tls_certificate_provider* provider) {
|
67
|
-
|
68
|
-
|
67
|
+
GRPC_CHECK_NE(options, nullptr);
|
68
|
+
GRPC_CHECK_NE(provider, nullptr);
|
69
69
|
grpc_core::ExecCtx exec_ctx;
|
70
70
|
options->set_certificate_provider(
|
71
71
|
provider->Ref(DEBUG_LOCATION, "set_certificate_provider"));
|
@@ -73,45 +73,45 @@ void grpc_tls_credentials_options_set_certificate_provider(
|
|
73
73
|
|
74
74
|
void grpc_tls_credentials_options_watch_root_certs(
|
75
75
|
grpc_tls_credentials_options* options) {
|
76
|
-
|
76
|
+
GRPC_CHECK_NE(options, nullptr);
|
77
77
|
options->set_watch_root_cert(true);
|
78
78
|
}
|
79
79
|
|
80
80
|
void grpc_tls_credentials_options_set_root_cert_name(
|
81
81
|
grpc_tls_credentials_options* options, const char* root_cert_name) {
|
82
|
-
|
82
|
+
GRPC_CHECK_NE(options, nullptr);
|
83
83
|
options->set_root_cert_name(root_cert_name);
|
84
84
|
}
|
85
85
|
|
86
86
|
void grpc_tls_credentials_options_watch_identity_key_cert_pairs(
|
87
87
|
grpc_tls_credentials_options* options) {
|
88
|
-
|
88
|
+
GRPC_CHECK_NE(options, nullptr);
|
89
89
|
options->set_watch_identity_pair(true);
|
90
90
|
}
|
91
91
|
|
92
92
|
void grpc_tls_credentials_options_set_identity_cert_name(
|
93
93
|
grpc_tls_credentials_options* options, const char* identity_cert_name) {
|
94
|
-
|
94
|
+
GRPC_CHECK_NE(options, nullptr);
|
95
95
|
options->set_identity_cert_name(identity_cert_name);
|
96
96
|
}
|
97
97
|
|
98
98
|
void grpc_tls_credentials_options_set_certificate_verifier(
|
99
99
|
grpc_tls_credentials_options* options,
|
100
100
|
grpc_tls_certificate_verifier* verifier) {
|
101
|
-
|
102
|
-
|
101
|
+
GRPC_CHECK_NE(options, nullptr);
|
102
|
+
GRPC_CHECK_NE(verifier, nullptr);
|
103
103
|
options->set_certificate_verifier(verifier->Ref());
|
104
104
|
}
|
105
105
|
|
106
106
|
void grpc_tls_credentials_options_set_crl_directory(
|
107
107
|
grpc_tls_credentials_options* options, const char* crl_directory) {
|
108
|
-
|
108
|
+
GRPC_CHECK_NE(options, nullptr);
|
109
109
|
options->set_crl_directory(crl_directory);
|
110
110
|
}
|
111
111
|
|
112
112
|
void grpc_tls_credentials_options_set_check_call_host(
|
113
113
|
grpc_tls_credentials_options* options, int check_call_host) {
|
114
|
-
|
114
|
+
GRPC_CHECK_NE(options, nullptr);
|
115
115
|
options->set_check_call_host(check_call_host);
|
116
116
|
}
|
117
117
|
|
@@ -144,18 +144,18 @@ void grpc_tls_credentials_options_set_send_client_ca_list(
|
|
144
144
|
void grpc_tls_credentials_options_set_crl_provider(
|
145
145
|
grpc_tls_credentials_options* options,
|
146
146
|
std::shared_ptr<grpc_core::experimental::CrlProvider> provider) {
|
147
|
-
|
147
|
+
GRPC_CHECK_NE(options, nullptr);
|
148
148
|
options->set_crl_provider(provider);
|
149
149
|
}
|
150
150
|
|
151
151
|
void grpc_tls_credentials_options_set_min_tls_version(
|
152
152
|
grpc_tls_credentials_options* options, grpc_tls_version min_tls_version) {
|
153
|
-
|
153
|
+
GRPC_CHECK_NE(options, nullptr);
|
154
154
|
options->set_min_tls_version(min_tls_version);
|
155
155
|
}
|
156
156
|
|
157
157
|
void grpc_tls_credentials_options_set_max_tls_version(
|
158
158
|
grpc_tls_credentials_options* options, grpc_tls_version max_tls_version) {
|
159
|
-
|
159
|
+
GRPC_CHECK_NE(options, nullptr);
|
160
160
|
options->set_max_tls_version(max_tls_version);
|
161
161
|
}
|
@@ -33,7 +33,6 @@
|
|
33
33
|
#include <utility>
|
34
34
|
#include <vector>
|
35
35
|
|
36
|
-
#include "absl/log/check.h"
|
37
36
|
#include "absl/log/log.h"
|
38
37
|
#include "absl/strings/match.h"
|
39
38
|
#include "absl/strings/str_cat.h"
|
@@ -45,6 +44,7 @@
|
|
45
44
|
#include "src/core/transport/auth_context.h"
|
46
45
|
#include "src/core/tsi/ssl_transport_security.h"
|
47
46
|
#include "src/core/tsi/transport_security.h"
|
47
|
+
#include "src/core/util/grpc_check.h"
|
48
48
|
#include "src/core/util/host_port.h"
|
49
49
|
#include "src/core/util/load_file.h"
|
50
50
|
#include "src/core/util/ref_counted_ptr.h"
|
@@ -190,7 +190,7 @@ absl::Status SslCheckCallHost(absl::string_view host,
|
|
190
190
|
} // namespace grpc_core
|
191
191
|
|
192
192
|
const char** grpc_fill_alpn_protocol_strings(size_t* num_alpn_protocols) {
|
193
|
-
|
193
|
+
GRPC_CHECK_NE(num_alpn_protocols, nullptr);
|
194
194
|
*num_alpn_protocols = grpc_chttp2_num_alpn_versions();
|
195
195
|
const char** alpn_protocol_strings = static_cast<const char**>(
|
196
196
|
gpr_malloc(sizeof(const char*) * (*num_alpn_protocols)));
|
@@ -202,7 +202,7 @@ const char** grpc_fill_alpn_protocol_strings(size_t* num_alpn_protocols) {
|
|
202
202
|
|
203
203
|
const char** ParseAlpnStringIntoArray(absl::string_view preferred_protocols_raw,
|
204
204
|
size_t* num_alpn_protocols) {
|
205
|
-
|
205
|
+
GRPC_CHECK_NE(num_alpn_protocols, nullptr);
|
206
206
|
std::vector<std::string> preferred_protocols;
|
207
207
|
preferred_protocols =
|
208
208
|
absl::StrSplit(preferred_protocols_raw, ',', absl::SkipWhitespace());
|
@@ -271,7 +271,7 @@ grpc_core::RefCountedPtr<grpc_auth_context> grpc_ssl_peer_to_auth_context(
|
|
271
271
|
const char* peer_identity_property_name = nullptr;
|
272
272
|
|
273
273
|
// The caller has checked the certificate type property.
|
274
|
-
|
274
|
+
GRPC_CHECK_GE(peer->property_count, 1u);
|
275
275
|
grpc_core::RefCountedPtr<grpc_auth_context> ctx =
|
276
276
|
grpc_core::MakeRefCounted<grpc_auth_context>(nullptr);
|
277
277
|
grpc_auth_context_add_cstring_property(
|
@@ -338,14 +338,14 @@ grpc_core::RefCountedPtr<grpc_auth_context> grpc_ssl_peer_to_auth_context(
|
|
338
338
|
}
|
339
339
|
}
|
340
340
|
if (peer_identity_property_name != nullptr) {
|
341
|
-
|
342
|
-
|
341
|
+
GRPC_CHECK(grpc_auth_context_set_peer_identity_property_name(
|
342
|
+
ctx.get(), peer_identity_property_name) == 1);
|
343
343
|
}
|
344
344
|
// A valid SPIFFE certificate can only have exact one URI SAN field.
|
345
345
|
if (has_spiffe_id) {
|
346
346
|
if (uri_count == 1) {
|
347
|
-
|
348
|
-
|
347
|
+
GRPC_CHECK_GT(spiffe_length, 0u);
|
348
|
+
GRPC_CHECK_NE(spiffe_data, nullptr);
|
349
349
|
grpc_auth_context_add_property(ctx.get(),
|
350
350
|
GRPC_PEER_SPIFFE_ID_PROPERTY_NAME,
|
351
351
|
spiffe_data, spiffe_length);
|
@@ -600,13 +600,18 @@ grpc_slice DefaultSslRootStore::ComputePemRootCerts() {
|
|
600
600
|
result = std::move(*slice);
|
601
601
|
}
|
602
602
|
}
|
603
|
+
// Try loading roots from OS trust store if preferred over callback.
|
604
|
+
if (result.empty() &&
|
605
|
+
ConfigVars::Get().UseSystemRootsOverLanguageCallback()) {
|
606
|
+
result = Slice(LoadSystemRootCerts());
|
607
|
+
}
|
603
608
|
// Try overridden roots if needed.
|
604
609
|
grpc_ssl_roots_override_result ovrd_res = GRPC_SSL_ROOTS_OVERRIDE_FAIL;
|
605
610
|
if (result.empty() && ssl_roots_override_cb != nullptr) {
|
606
611
|
char* pem_root_certs = nullptr;
|
607
612
|
ovrd_res = ssl_roots_override_cb(&pem_root_certs);
|
608
613
|
if (ovrd_res == GRPC_SSL_ROOTS_OVERRIDE_OK) {
|
609
|
-
|
614
|
+
GRPC_CHECK_NE(pem_root_certs, nullptr);
|
610
615
|
result = Slice::FromCopiedBuffer(
|
611
616
|
pem_root_certs,
|
612
617
|
strlen(pem_root_certs) + 1); // nullptr terminator.
|
@@ -154,7 +154,7 @@ grpc_core::UniqueTypeName TlsServerCredentials::Type() {
|
|
154
154
|
grpc_channel_credentials* grpc_tls_credentials_create(
|
155
155
|
grpc_tls_credentials_options* options) {
|
156
156
|
if (!CredentialOptionSanityCheck(options, true /* is_client */)) {
|
157
|
-
|
157
|
+
VLOG(1) << "TLS credentials options sanity check failed.";
|
158
158
|
return nullptr;
|
159
159
|
}
|
160
160
|
return new TlsCredentials(
|
@@ -164,7 +164,7 @@ grpc_channel_credentials* grpc_tls_credentials_create(
|
|
164
164
|
grpc_server_credentials* grpc_tls_server_credentials_create(
|
165
165
|
grpc_tls_credentials_options* options) {
|
166
166
|
if (!CredentialOptionSanityCheck(options, false /* is_client */)) {
|
167
|
-
|
167
|
+
VLOG(1) << "TLS server credentials options sanity check failed.";
|
168
168
|
return nullptr;
|
169
169
|
}
|
170
170
|
return new TlsServerCredentials(
|
@@ -30,7 +30,6 @@
|
|
30
30
|
#include <vector>
|
31
31
|
|
32
32
|
#include "absl/functional/bind_front.h"
|
33
|
-
#include "absl/log/check.h"
|
34
33
|
#include "absl/log/log.h"
|
35
34
|
#include "absl/strings/str_cat.h"
|
36
35
|
#include "absl/strings/string_view.h"
|
@@ -45,6 +44,7 @@
|
|
45
44
|
#include "src/core/transport/auth_context.h"
|
46
45
|
#include "src/core/tsi/ssl_transport_security.h"
|
47
46
|
#include "src/core/util/debug_location.h"
|
47
|
+
#include "src/core/util/grpc_check.h"
|
48
48
|
#include "src/core/util/host_port.h"
|
49
49
|
#include "src/core/util/status_helper.h"
|
50
50
|
|
@@ -62,7 +62,7 @@ char* CopyCoreString(char* src, size_t length) {
|
|
62
62
|
void PendingVerifierRequestInit(
|
63
63
|
const char* target_name, tsi_peer peer,
|
64
64
|
grpc_tls_custom_verification_check_request* request) {
|
65
|
-
|
65
|
+
GRPC_CHECK_NE(request, nullptr);
|
66
66
|
// The verifier holds a ref to the security connector, so it's fine to
|
67
67
|
// directly point this to the name cached in the security connector.
|
68
68
|
request->target_name = target_name;
|
@@ -174,7 +174,7 @@ void PendingVerifierRequestInit(
|
|
174
174
|
|
175
175
|
void PendingVerifierRequestDestroy(
|
176
176
|
grpc_tls_custom_verification_check_request* request) {
|
177
|
-
|
177
|
+
GRPC_CHECK_NE(request, nullptr);
|
178
178
|
if (request->peer_info.common_name != nullptr) {
|
179
179
|
gpr_free(const_cast<char*>(request->peer_info.common_name));
|
180
180
|
}
|
@@ -218,13 +218,13 @@ tsi_ssl_pem_key_cert_pair* ConvertToTsiPemKeyCertPair(
|
|
218
218
|
tsi_ssl_pem_key_cert_pair* tsi_pairs = nullptr;
|
219
219
|
size_t num_key_cert_pairs = cert_pair_list.size();
|
220
220
|
if (num_key_cert_pairs > 0) {
|
221
|
-
|
221
|
+
GRPC_CHECK_NE(cert_pair_list.data(), nullptr);
|
222
222
|
tsi_pairs = static_cast<tsi_ssl_pem_key_cert_pair*>(
|
223
223
|
gpr_zalloc(num_key_cert_pairs * sizeof(tsi_ssl_pem_key_cert_pair)));
|
224
224
|
}
|
225
225
|
for (size_t i = 0; i < num_key_cert_pairs; i++) {
|
226
|
-
|
227
|
-
|
226
|
+
GRPC_CHECK(!cert_pair_list[i].private_key().empty());
|
227
|
+
GRPC_CHECK(!cert_pair_list[i].cert_chain().empty());
|
228
228
|
tsi_pairs[i].cert_chain =
|
229
229
|
gpr_strdup(cert_pair_list[i].cert_chain().c_str());
|
230
230
|
tsi_pairs[i].private_key =
|
@@ -373,7 +373,7 @@ void TlsChannelSecurityConnector::check_peer(
|
|
373
373
|
}
|
374
374
|
*auth_context =
|
375
375
|
grpc_ssl_peer_to_auth_context(&peer, GRPC_TLS_TRANSPORT_SECURITY_TYPE);
|
376
|
-
|
376
|
+
GRPC_CHECK_NE(options_->certificate_verifier(), nullptr);
|
377
377
|
auto* pending_request = new ChannelPendingVerifierRequest(
|
378
378
|
RefAsSubclass<TlsChannelSecurityConnector>(), on_peer_checked, peer,
|
379
379
|
target_name);
|
@@ -431,7 +431,7 @@ ArenaPromise<absl::Status> TlsChannelSecurityConnector::CheckCallHost(
|
|
431
431
|
void TlsChannelSecurityConnector::TlsChannelCertificateWatcher::
|
432
432
|
OnCertificatesChanged(std::shared_ptr<RootCertInfo> root_certs,
|
433
433
|
std::optional<PemKeyCertPairList> key_cert_pairs) {
|
434
|
-
|
434
|
+
GRPC_CHECK_NE(security_connector_, nullptr);
|
435
435
|
MutexLock lock(&security_connector_->mu_);
|
436
436
|
if (root_certs != nullptr) {
|
437
437
|
security_connector_->root_cert_info_ = std::move(root_certs);
|
@@ -683,7 +683,7 @@ int TlsServerSecurityConnector::cmp(
|
|
683
683
|
void TlsServerSecurityConnector::TlsServerCertificateWatcher::
|
684
684
|
OnCertificatesChanged(std::shared_ptr<RootCertInfo> roots,
|
685
685
|
std::optional<PemKeyCertPairList> key_cert_pairs) {
|
686
|
-
|
686
|
+
GRPC_CHECK_NE(security_connector_, nullptr);
|
687
687
|
MutexLock lock(&security_connector_->mu_);
|
688
688
|
if (roots != nullptr) {
|
689
689
|
security_connector_->root_cert_info_ = std::move(roots);
|
@@ -780,8 +780,8 @@ TlsServerSecurityConnector::UpdateHandshakerFactoryLocked() {
|
|
780
780
|
tsi_ssl_server_handshaker_factory_unref(server_handshaker_factory_);
|
781
781
|
}
|
782
782
|
// The identity certs on the server side shouldn't be empty.
|
783
|
-
|
784
|
-
|
783
|
+
GRPC_CHECK(pem_key_cert_pair_list_.has_value());
|
784
|
+
GRPC_CHECK(!(*pem_key_cert_pair_list_).empty());
|
785
785
|
tsi_ssl_pem_key_cert_pair* pem_key_cert_pairs = nullptr;
|
786
786
|
pem_key_cert_pairs = ConvertToTsiPemKeyCertPair(*pem_key_cert_pair_list_);
|
787
787
|
size_t num_key_cert_pairs = (*pem_key_cert_pair_list_).size();
|
@@ -20,11 +20,11 @@
|
|
20
20
|
#include <stdint.h>
|
21
21
|
#include <string.h>
|
22
22
|
|
23
|
-
#include "absl/log/check.h"
|
24
23
|
#include "absl/log/log.h"
|
25
24
|
#include "src/core/lib/channel/channel_args.h"
|
26
25
|
#include "src/core/lib/debug/trace.h"
|
27
26
|
#include "src/core/lib/iomgr/exec_ctx.h"
|
27
|
+
#include "src/core/util/grpc_check.h"
|
28
28
|
#include "src/core/util/useful.h"
|
29
29
|
|
30
30
|
// -- Common. --
|
@@ -110,7 +110,7 @@ void grpc_server_credentials::set_auth_metadata_processor(
|
|
110
110
|
|
111
111
|
void grpc_server_credentials_set_auth_metadata_processor(
|
112
112
|
grpc_server_credentials* creds, grpc_auth_metadata_processor processor) {
|
113
|
-
|
113
|
+
GRPC_DCHECK_NE(creds, nullptr);
|
114
114
|
creds->set_auth_metadata_processor(processor);
|
115
115
|
}
|
116
116
|
|
@@ -28,7 +28,6 @@
|
|
28
28
|
#include <utility>
|
29
29
|
#include <vector>
|
30
30
|
|
31
|
-
#include "absl/log/check.h"
|
32
31
|
#include "absl/status/statusor.h"
|
33
32
|
#include "absl/strings/string_view.h"
|
34
33
|
#include "src/core/credentials/call/call_credentials.h"
|
@@ -38,6 +37,7 @@
|
|
38
37
|
#include "src/core/lib/slice/slice.h"
|
39
38
|
#include "src/core/lib/transport/transport.h"
|
40
39
|
#include "src/core/util/crash.h"
|
40
|
+
#include "src/core/util/grpc_check.h"
|
41
41
|
#include "src/core/util/ref_counted.h"
|
42
42
|
#include "src/core/util/ref_counted_ptr.h"
|
43
43
|
#include "src/core/util/unique_type_name.h"
|
@@ -96,7 +96,7 @@ struct grpc_channel_credentials
|
|
96
96
|
// two different `grpc_channel_credentials` objects are used but they compare
|
97
97
|
// as equal (assuming other channel args match).
|
98
98
|
int cmp(const grpc_channel_credentials* other) const {
|
99
|
-
|
99
|
+
GRPC_CHECK_NE(other, nullptr);
|
100
100
|
int r = type().Compare(other->type());
|
101
101
|
if (r != 0) return r;
|
102
102
|
return cmp_impl(other);
|
@@ -24,13 +24,13 @@
|
|
24
24
|
|
25
25
|
#include <optional>
|
26
26
|
|
27
|
-
#include "absl/log/check.h"
|
28
27
|
#include "src/core/credentials/transport/tls/grpc_tls_certificate_provider.h"
|
29
28
|
#include "src/core/credentials/transport/tls/grpc_tls_credentials_options.h"
|
30
29
|
#include "src/core/credentials/transport/tls/tls_credentials.h"
|
31
30
|
#include "src/core/credentials/transport/tls/tls_utils.h"
|
32
31
|
#include "src/core/lib/channel/channel_args.h"
|
33
32
|
#include "src/core/load_balancing/xds/xds_channel_args.h"
|
33
|
+
#include "src/core/util/grpc_check.h"
|
34
34
|
#include "src/core/util/useful.h"
|
35
35
|
#include "src/core/xds/grpc/xds_certificate_provider.h"
|
36
36
|
|
@@ -79,7 +79,7 @@ XdsCertificateVerifier::XdsCertificateVerifier(
|
|
79
79
|
bool XdsCertificateVerifier::Verify(
|
80
80
|
grpc_tls_custom_verification_check_request* request,
|
81
81
|
std::function<void(absl::Status)>, absl::Status* sync_status) {
|
82
|
-
|
82
|
+
GRPC_CHECK_NE(request, nullptr);
|
83
83
|
if (!XdsVerifySubjectAlternativeNames(
|
84
84
|
request->peer_info.san_names.uri_names,
|
85
85
|
request->peer_info.san_names.uri_names_size,
|
@@ -166,7 +166,7 @@ XdsCredentials::create_security_connector(
|
|
166
166
|
target_name, args);
|
167
167
|
}
|
168
168
|
}
|
169
|
-
|
169
|
+
GRPC_CHECK(fallback_credentials_ != nullptr);
|
170
170
|
return fallback_credentials_->create_security_connector(std::move(call_creds),
|
171
171
|
target_name, args);
|
172
172
|
}
|
@@ -217,12 +217,12 @@ UniqueTypeName XdsServerCredentials::Type() {
|
|
217
217
|
|
218
218
|
grpc_channel_credentials* grpc_xds_credentials_create(
|
219
219
|
grpc_channel_credentials* fallback_credentials) {
|
220
|
-
|
220
|
+
GRPC_CHECK_NE(fallback_credentials, nullptr);
|
221
221
|
return new grpc_core::XdsCredentials(fallback_credentials->Ref());
|
222
222
|
}
|
223
223
|
|
224
224
|
grpc_server_credentials* grpc_xds_server_credentials_create(
|
225
225
|
grpc_server_credentials* fallback_credentials) {
|
226
|
-
|
226
|
+
GRPC_CHECK_NE(fallback_credentials, nullptr);
|
227
227
|
return new grpc_core::XdsServerCredentials(fallback_credentials->Ref());
|
228
228
|
}
|
@@ -304,8 +304,10 @@ void RegisterLegacyChannelIdleFilters(CoreConfiguration::Builder* builder) {
|
|
304
304
|
.If([](const ChannelArgs& channel_args) {
|
305
305
|
return GetClientIdleTimeout(channel_args) != Duration::Infinity();
|
306
306
|
});
|
307
|
+
|
307
308
|
builder->channel_init()
|
308
309
|
->RegisterV2Filter<LegacyMaxAgeFilter>(GRPC_SERVER_CHANNEL)
|
310
|
+
.FloatToTopIf(IsMaxAgeFilterFloatToTopEnabled())
|
309
311
|
.ExcludeFromMinimalStack()
|
310
312
|
.If([](const ChannelArgs& channel_args) {
|
311
313
|
return LegacyMaxAgeFilter::Config::FromChannelArgs(channel_args)
|
@@ -20,7 +20,6 @@
|
|
20
20
|
#include <string>
|
21
21
|
#include <utility>
|
22
22
|
|
23
|
-
#include "absl/log/check.h"
|
24
23
|
#include "absl/strings/str_cat.h"
|
25
24
|
#include "src/core/call/security_context.h"
|
26
25
|
#include "src/core/config/core_configuration.h"
|
@@ -33,6 +32,7 @@
|
|
33
32
|
#include "src/core/resolver/xds/xds_resolver_attributes.h"
|
34
33
|
#include "src/core/service_config/service_config.h"
|
35
34
|
#include "src/core/service_config/service_config_call_data.h"
|
35
|
+
#include "src/core/util/grpc_check.h"
|
36
36
|
|
37
37
|
namespace grpc_core {
|
38
38
|
|
@@ -26,7 +26,6 @@
|
|
26
26
|
#include <optional>
|
27
27
|
#include <utility>
|
28
28
|
|
29
|
-
#include "absl/log/check.h"
|
30
29
|
#include "absl/status/status.h"
|
31
30
|
#include "absl/strings/str_cat.h"
|
32
31
|
#include "absl/strings/str_format.h"
|
@@ -48,6 +47,7 @@
|
|
48
47
|
#include "src/core/lib/surface/call.h"
|
49
48
|
#include "src/core/lib/transport/transport.h"
|
50
49
|
#include "src/core/telemetry/call_tracer.h"
|
50
|
+
#include "src/core/util/grpc_check.h"
|
51
51
|
#include "src/core/util/latent_see.h"
|
52
52
|
|
53
53
|
namespace grpc_core {
|
@@ -102,7 +102,7 @@ ChannelCompression::ChannelCompression(const ChannelArgs& args)
|
|
102
102
|
|
103
103
|
MessageHandle ChannelCompression::CompressMessage(
|
104
104
|
MessageHandle message, grpc_compression_algorithm algorithm,
|
105
|
-
|
105
|
+
CallTracer* call_tracer) const {
|
106
106
|
GRPC_TRACE_LOG(compression, INFO)
|
107
107
|
<< "CompressMessage: len=" << message->payload()->Length()
|
108
108
|
<< " alg=" << algorithm << " flags=" << message->flags();
|
@@ -131,7 +131,7 @@ MessageHandle ChannelCompression::CompressMessage(
|
|
131
131
|
const size_t after_size = tmp.Length();
|
132
132
|
const float savings_ratio = 1.0f - (static_cast<float>(after_size) /
|
133
133
|
static_cast<float>(before_size));
|
134
|
-
|
134
|
+
GRPC_CHECK(grpc_compression_algorithm_name(algorithm, &algo_name));
|
135
135
|
LOG(INFO) << absl::StrFormat(
|
136
136
|
"Compressed[%s] %" PRIuPTR " bytes vs. %" PRIuPTR
|
137
137
|
" bytes (%.2f%% savings)",
|
@@ -145,7 +145,7 @@ MessageHandle ChannelCompression::CompressMessage(
|
|
145
145
|
} else {
|
146
146
|
if (GRPC_TRACE_FLAG_ENABLED(compression)) {
|
147
147
|
const char* algo_name;
|
148
|
-
|
148
|
+
GRPC_CHECK(grpc_compression_algorithm_name(algorithm, &algo_name));
|
149
149
|
LOG(INFO) << "Algorithm '" << algo_name
|
150
150
|
<< "' enabled but decided not to compress. Input size: "
|
151
151
|
<< payload->Length();
|
@@ -156,7 +156,7 @@ MessageHandle ChannelCompression::CompressMessage(
|
|
156
156
|
|
157
157
|
absl::StatusOr<MessageHandle> ChannelCompression::DecompressMessage(
|
158
158
|
bool is_client, MessageHandle message, DecompressArgs args,
|
159
|
-
|
159
|
+
CallTracer* call_tracer) const {
|
160
160
|
GRPC_TRACE_LOG(compression, INFO)
|
161
161
|
<< "DecompressMessage: len=" << message->payload()->Length()
|
162
162
|
<< " max=" << args.max_recv_message_length.value_or(-1)
|
@@ -233,7 +233,7 @@ void ClientCompressionFilter::Call::OnClientInitialMetadata(
|
|
233
233
|
"ClientCompressionFilter::Call::OnClientInitialMetadata");
|
234
234
|
compression_algorithm_ =
|
235
235
|
filter->compression_engine_.HandleOutgoingMetadata(md);
|
236
|
-
call_tracer_ = MaybeGetContext<
|
236
|
+
call_tracer_ = MaybeGetContext<CallTracer>();
|
237
237
|
}
|
238
238
|
|
239
239
|
MessageHandle ClientCompressionFilter::Call::OnClientToServerMessage(
|
@@ -274,7 +274,7 @@ ServerCompressionFilter::Call::OnClientToServerMessage(
|
|
274
274
|
"ServerCompressionFilter::Call::OnClientToServerMessage");
|
275
275
|
return filter->compression_engine_.DecompressMessage(
|
276
276
|
/*is_client=*/false, std::move(message), decompress_args_,
|
277
|
-
MaybeGetContext<
|
277
|
+
MaybeGetContext<CallTracer>());
|
278
278
|
}
|
279
279
|
|
280
280
|
void ServerCompressionFilter::Call::OnServerInitialMetadata(
|
@@ -291,7 +291,7 @@ MessageHandle ServerCompressionFilter::Call::OnServerToClientMessage(
|
|
291
291
|
"ServerCompressionFilter::Call::OnServerToClientMessage");
|
292
292
|
return filter->compression_engine_.CompressMessage(
|
293
293
|
std::move(message), compression_algorithm_,
|
294
|
-
MaybeGetContext<
|
294
|
+
MaybeGetContext<CallTracer>());
|
295
295
|
}
|
296
296
|
|
297
297
|
} // namespace grpc_core
|
@@ -87,11 +87,11 @@ class ChannelCompression {
|
|
87
87
|
// Compress one message synchronously.
|
88
88
|
MessageHandle CompressMessage(MessageHandle message,
|
89
89
|
grpc_compression_algorithm algorithm,
|
90
|
-
|
90
|
+
CallTracer* call_tracer) const;
|
91
91
|
// Decompress one message synchronously.
|
92
92
|
absl::StatusOr<MessageHandle> DecompressMessage(
|
93
93
|
bool is_client, MessageHandle message, DecompressArgs args,
|
94
|
-
|
94
|
+
CallTracer* call_tracer) const;
|
95
95
|
|
96
96
|
channelz::PropertyList ChannelzProperties() const {
|
97
97
|
return channelz::PropertyList()
|
@@ -163,7 +163,7 @@ class ClientCompressionFilter final
|
|
163
163
|
ChannelCompression::DecompressArgs decompress_args_;
|
164
164
|
// TODO(yashykt): Remove call_tracer_ after migration to call v3 stack. (See
|
165
165
|
// https://github.com/grpc/grpc/pull/38729 for more information.)
|
166
|
-
|
166
|
+
CallTracer* call_tracer_ = nullptr;
|
167
167
|
};
|
168
168
|
|
169
169
|
private:
|
@@ -27,7 +27,6 @@
|
|
27
27
|
#include <utility>
|
28
28
|
#include <vector>
|
29
29
|
|
30
|
-
#include "absl/log/check.h"
|
31
30
|
#include "absl/strings/escaping.h"
|
32
31
|
#include "absl/strings/match.h"
|
33
32
|
#include "absl/strings/str_cat.h"
|
@@ -49,6 +48,7 @@
|
|
49
48
|
#include "src/core/resolver/xds/xds_resolver_attributes.h"
|
50
49
|
#include "src/core/service_config/service_config_call_data.h"
|
51
50
|
#include "src/core/util/crash.h"
|
51
|
+
#include "src/core/util/grpc_check.h"
|
52
52
|
#include "src/core/util/latent_see.h"
|
53
53
|
#include "src/core/util/time.h"
|
54
54
|
|
@@ -134,7 +134,7 @@ absl::string_view GetClusterToUse(
|
|
134
134
|
// Get cluster assigned by the XdsConfigSelector.
|
135
135
|
auto cluster_attribute =
|
136
136
|
service_config_call_data->GetCallAttribute<XdsClusterAttribute>();
|
137
|
-
|
137
|
+
GRPC_CHECK_NE(cluster_attribute, nullptr);
|
138
138
|
auto current_cluster = cluster_attribute->cluster();
|
139
139
|
static constexpr absl::string_view kClusterPrefix = "cluster:";
|
140
140
|
// If prefix is not "cluster:", then we can't use cluster override.
|
@@ -148,7 +148,7 @@ absl::string_view GetClusterToUse(
|
|
148
148
|
// Use cluster from the cookie if it is configured for the route.
|
149
149
|
auto route_data =
|
150
150
|
service_config_call_data->GetCallAttribute<XdsRouteStateAttribute>();
|
151
|
-
|
151
|
+
GRPC_CHECK_NE(route_data, nullptr);
|
152
152
|
// Cookie cluster was not configured for route - use the one from the
|
153
153
|
// attribute
|
154
154
|
if (!route_data->HasClusterForRoute(cluster_from_cookie)) {
|
@@ -193,7 +193,7 @@ bool IsConfiguredPath(absl::string_view configured_path,
|
|
193
193
|
// Check to see if the configured path matches the request path.
|
194
194
|
const Slice* path_slice =
|
195
195
|
client_initial_metadata.get_pointer(HttpPathMetadata());
|
196
|
-
|
196
|
+
GRPC_CHECK_NE(path_slice, nullptr);
|
197
197
|
absl::string_view path = path_slice->as_string_view();
|
198
198
|
// Matching criteria from
|
199
199
|
// https://www.rfc-editor.org/rfc/rfc6265#section-5.1.4.
|
@@ -216,13 +216,13 @@ void StatefulSessionFilter::Call::OnClientInitialMetadata(
|
|
216
216
|
GRPC_LATENT_SEE_SCOPE("StatefulSessionFilter::Call::OnClientInitialMetadata");
|
217
217
|
// Get config.
|
218
218
|
auto* service_config_call_data = GetContext<ServiceConfigCallData>();
|
219
|
-
|
219
|
+
GRPC_CHECK_NE(service_config_call_data, nullptr);
|
220
220
|
auto* method_params = static_cast<StatefulSessionMethodParsedConfig*>(
|
221
221
|
service_config_call_data->GetMethodParsedConfig(
|
222
222
|
filter->service_config_parser_index_));
|
223
|
-
|
223
|
+
GRPC_CHECK_NE(method_params, nullptr);
|
224
224
|
cookie_config_ = method_params->GetConfig(filter->index_);
|
225
|
-
|
225
|
+
GRPC_CHECK_NE(cookie_config_, nullptr);
|
226
226
|
if (!cookie_config_->name.has_value() ||
|
227
227
|
!IsConfiguredPath(cookie_config_->path, md)) {
|
228
228
|
return;
|