grpc 1.33.0.pre1 → 1.34.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Makefile +342 -134
- data/include/grpc/grpc.h +1 -2
- data/include/grpc/grpc_security.h +149 -172
- data/include/grpc/impl/codegen/grpc_types.h +9 -2
- data/include/grpc/impl/codegen/port_platform.h +22 -55
- data/src/core/ext/filters/client_channel/client_channel.cc +11 -34
- data/src/core/ext/filters/client_channel/config_selector.h +2 -3
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +4 -1
- data/src/core/ext/filters/client_channel/health/health_check_client.h +2 -2
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy.cc +5 -1
- data/src/core/ext/filters/client_channel/lb_policy.h +3 -3
- data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +80 -71
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +3 -1
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +2 -2
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +47 -17
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +2 -2
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +8 -5
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +3 -3
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/xds/eds.cc +16 -243
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +53 -17
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +809 -0
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +20 -25
- data/src/core/ext/filters/client_channel/resolver.cc +3 -1
- data/src/core/ext/filters/client_channel/resolver.h +4 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +1 -1
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +20 -0
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +66 -7
- data/src/core/ext/filters/client_channel/resolver_registry.cc +4 -4
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +13 -25
- data/src/core/ext/filters/client_channel/resolving_lb_policy.cc +1 -1
- data/src/core/ext/filters/client_channel/resolving_lb_policy.h +2 -2
- data/src/core/ext/filters/client_channel/retry_throttle.h +1 -1
- data/src/core/ext/filters/client_channel/server_address.h +0 -4
- data/src/core/ext/filters/client_channel/service_config.cc +3 -1
- data/src/core/ext/filters/client_channel/service_config.h +1 -1
- data/src/core/ext/filters/client_channel/subchannel.cc +18 -15
- data/src/core/ext/filters/client_channel/subchannel.h +2 -2
- data/src/core/ext/filters/client_channel/subchannel_interface.h +7 -15
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +6 -2
- data/src/core/ext/filters/deadline/deadline_filter.cc +83 -77
- data/src/core/ext/filters/deadline/deadline_filter.h +7 -11
- data/src/core/ext/filters/http/client/http_client_filter.cc +1 -1
- data/src/core/ext/filters/http/server/http_server_filter.cc +3 -3
- data/src/core/ext/filters/max_age/max_age_filter.cc +1 -1
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +1 -1
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +17 -3
- data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +7 -7
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +4 -24
- data/src/core/ext/transport/chttp2/transport/flow_control.h +2 -2
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +2 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +12 -8
- data/src/core/ext/transport/chttp2/transport/internal.h +0 -1
- data/src/core/ext/transport/chttp2/transport/parsing.cc +2 -1
- data/src/core/ext/transport/chttp2/transport/writing.cc +1 -2
- data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +38 -0
- data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +30 -0
- data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +41 -0
- data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +254 -0
- data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +105 -0
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +100 -0
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +45 -0
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +558 -0
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +145 -0
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +53 -0
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +133 -0
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +127 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +65 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +56 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +266 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +125 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +143 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +55 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +56 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +66 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +263 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +100 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +233 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +70 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +56 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +228 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +80 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +46 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +59 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +55 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +110 -0
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +50 -0
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +113 -0
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +50 -0
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +146 -0
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +55 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +50 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +190 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +55 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +185 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +65 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +62 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +97 -0
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +915 -0
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +280 -0
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +71 -0
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +45 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +64 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +511 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +115 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +48 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +30 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +166 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +55 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +105 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +45 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +249 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +60 -0
- data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c +72 -0
- data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +60 -0
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +152 -0
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +60 -0
- data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c +83 -0
- data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c +82 -0
- data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +83 -0
- data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c +86 -0
- data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c +74 -0
- data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +64 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +54 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +53 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +73 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +45 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +72 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +81 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +45 -0
- data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +92 -0
- data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +65 -0
- data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +95 -0
- data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +55 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +34 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +30 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +59 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +54 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +45 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +47 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +40 -0
- data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +30 -0
- data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +61 -0
- data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +45 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +38 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +386 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +165 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +39 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +37 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +65 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +50 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +39 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +66 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +75 -0
- data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +42 -0
- data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +70 -0
- data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +45 -0
- data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +56 -0
- data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +33 -0
- data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +30 -0
- data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +49 -0
- data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +43 -0
- data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/udpa/core/v1/authority.upbdefs.c +42 -0
- data/src/core/ext/upbdefs-generated/udpa/core/v1/authority.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/udpa/core/v1/collection_entry.upbdefs.c +62 -0
- data/src/core/ext/upbdefs-generated/udpa/core/v1/collection_entry.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/udpa/core/v1/context_params.upbdefs.c +45 -0
- data/src/core/ext/upbdefs-generated/udpa/core/v1/context_params.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/udpa/core/v1/resource.upbdefs.c +49 -0
- data/src/core/ext/upbdefs-generated/udpa/core/v1/resource.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/udpa/core/v1/resource_locator.upbdefs.c +68 -0
- data/src/core/ext/upbdefs-generated/udpa/core/v1/resource_locator.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/udpa/core/v1/resource_name.upbdefs.c +51 -0
- data/src/core/ext/upbdefs-generated/udpa/core/v1/resource_name.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +307 -0
- data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +145 -0
- data/src/core/ext/xds/certificate_provider_factory.h +7 -5
- data/src/core/ext/xds/certificate_provider_store.cc +84 -0
- data/src/core/ext/xds/certificate_provider_store.h +65 -8
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +119 -0
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +72 -0
- data/src/core/ext/xds/google_mesh_ca_certificate_provider_factory.cc +28 -140
- data/src/core/ext/xds/google_mesh_ca_certificate_provider_factory.h +6 -4
- data/src/core/ext/xds/xds_api.cc +241 -718
- data/src/core/ext/xds/xds_api.h +50 -9
- data/src/core/ext/xds/xds_bootstrap.cc +172 -25
- data/src/core/ext/xds/xds_bootstrap.h +23 -7
- data/src/core/ext/xds/xds_certificate_provider.cc +240 -0
- data/src/core/ext/xds/xds_certificate_provider.h +74 -0
- data/src/core/ext/xds/xds_client.cc +161 -128
- data/src/core/ext/xds/xds_client.h +12 -11
- data/src/core/ext/xds/xds_client_stats.cc +41 -4
- data/src/core/ext/xds/xds_client_stats.h +2 -2
- data/src/core/lib/channel/channel_args.cc +2 -1
- data/src/core/lib/channel/channel_trace.cc +4 -2
- data/src/core/lib/channel/channelz.h +2 -2
- data/src/core/lib/channel/handshaker.h +2 -2
- data/src/core/lib/compression/compression.cc +8 -4
- data/src/core/lib/compression/compression_internal.cc +10 -5
- data/src/core/lib/compression/compression_internal.h +2 -1
- data/src/core/lib/compression/stream_compression_identity.cc +1 -3
- data/src/core/lib/debug/stats_data.cc +1 -0
- data/src/core/lib/gpr/cpu_iphone.cc +10 -2
- data/src/core/lib/gpr/log_linux.cc +17 -3
- data/src/core/lib/gpr/log_posix.cc +13 -1
- data/src/core/lib/gpr/log_windows.cc +16 -4
- data/src/core/lib/gpr/murmur_hash.cc +1 -1
- data/src/core/lib/gpr/string.cc +1 -1
- data/src/core/lib/gpr/time_precise.cc +3 -2
- data/src/core/lib/gpr/tls.h +4 -0
- data/src/core/lib/gpr/tls_msvc.h +2 -0
- data/src/core/lib/gpr/tls_stdcpp.h +48 -0
- data/src/core/lib/gpr/useful.h +5 -4
- data/src/core/lib/gprpp/dual_ref_counted.h +44 -49
- data/src/core/lib/gprpp/examine_stack.cc +43 -0
- data/src/core/lib/gprpp/examine_stack.h +46 -0
- data/src/core/lib/gprpp/fork.cc +2 -2
- data/src/core/lib/gprpp/manual_constructor.h +1 -1
- data/src/core/lib/gprpp/orphanable.h +4 -8
- data/src/core/lib/gprpp/ref_counted.h +40 -46
- data/src/core/lib/gprpp/ref_counted_ptr.h +9 -11
- data/src/core/lib/{security/authorization/mock_cel/statusor.h → gprpp/stat.h} +13 -25
- data/src/core/lib/gprpp/stat_posix.cc +49 -0
- data/src/core/lib/gprpp/stat_windows.cc +48 -0
- data/src/core/lib/gprpp/thd.h +2 -2
- data/src/core/lib/gprpp/thd_posix.cc +36 -36
- data/src/core/lib/http/parser.cc +46 -25
- data/src/core/lib/iomgr/error.cc +2 -1
- data/src/core/lib/iomgr/ev_epollex_linux.cc +8 -4
- data/src/core/lib/iomgr/exec_ctx.cc +1 -1
- data/src/core/lib/iomgr/executor/mpmcqueue.h +5 -5
- data/src/core/lib/iomgr/executor/threadpool.h +3 -3
- data/src/core/lib/iomgr/parse_address.cc +84 -6
- data/src/core/lib/iomgr/parse_address.h +20 -0
- data/src/core/lib/iomgr/poller/eventmanager_libuv.cc +2 -1
- data/src/core/lib/iomgr/python_util.h +3 -3
- data/src/core/lib/iomgr/resolve_address_posix.cc +1 -5
- data/src/core/lib/iomgr/tcp_posix.cc +3 -2
- data/src/core/lib/iomgr/timer_custom.cc +2 -2
- data/src/core/lib/iomgr/unix_sockets_posix.cc +27 -15
- data/src/core/lib/iomgr/unix_sockets_posix.h +5 -0
- data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +7 -0
- data/src/core/lib/iomgr/wakeup_fd_pipe.cc +2 -2
- data/src/core/lib/json/json.h +2 -2
- data/src/core/lib/json/json_reader.cc +8 -4
- data/src/core/lib/json/json_util.h +167 -0
- data/src/core/lib/json/json_writer.cc +2 -1
- data/src/core/lib/security/authorization/mock_cel/cel_expr_builder_factory.h +3 -1
- data/src/core/lib/security/authorization/mock_cel/cel_expression.h +5 -4
- data/src/core/lib/security/authorization/mock_cel/cel_value.h +4 -0
- data/src/core/lib/security/authorization/mock_cel/evaluator_core.h +6 -6
- data/src/core/lib/security/authorization/mock_cel/flat_expr_builder.h +10 -9
- data/src/core/lib/security/context/security_context.h +3 -1
- data/src/core/lib/security/credentials/credentials.cc +1 -1
- data/src/core/lib/security/credentials/credentials.h +3 -3
- data/src/core/lib/security/credentials/external/aws_request_signer.cc +208 -0
- data/src/core/lib/security/credentials/external/aws_request_signer.h +73 -0
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +311 -0
- data/src/core/lib/security/credentials/external/external_account_credentials.h +118 -0
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +136 -0
- data/src/core/lib/security/credentials/external/file_external_account_credentials.h +49 -0
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +211 -0
- data/src/core/lib/security/credentials/external/url_external_account_credentials.h +59 -0
- data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +51 -0
- data/src/core/lib/security/credentials/jwt/json_token.cc +5 -2
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +4 -3
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +5 -1
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +2 -2
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +35 -5
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +12 -8
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +78 -0
- data/src/core/lib/security/{certificate_provider.h → credentials/tls/grpc_tls_certificate_provider.h} +32 -18
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +77 -149
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +58 -187
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +16 -12
- data/src/core/lib/security/credentials/tls/tls_credentials.h +2 -2
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +2 -2
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +88 -0
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +70 -0
- data/src/core/lib/security/security_connector/load_system_roots.h +4 -0
- data/src/core/lib/security/security_connector/load_system_roots_linux.h +2 -0
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +2 -2
- data/src/core/lib/security/security_connector/security_connector.cc +1 -1
- data/src/core/lib/security/security_connector/security_connector.h +4 -2
- data/src/core/lib/security/security_connector/ssl_utils.h +4 -2
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +293 -275
- data/src/core/lib/security/security_connector/tls/tls_security_connector.h +106 -61
- data/src/core/lib/security/transport/security_handshaker.cc +1 -1
- data/src/core/lib/security/transport/server_auth_filter.cc +2 -1
- data/src/core/lib/security/util/json_util.h +1 -0
- data/src/core/lib/slice/slice.cc +7 -4
- data/src/core/lib/slice/slice_buffer.cc +2 -1
- data/src/core/lib/slice/slice_intern.cc +2 -2
- data/src/core/lib/surface/call.cc +9 -8
- data/src/core/lib/surface/completion_queue.cc +7 -6
- data/src/core/lib/surface/server.cc +4 -2
- data/src/core/lib/surface/server.h +2 -2
- data/src/core/lib/surface/validate_metadata.h +3 -0
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/authority_override.h +2 -0
- data/src/core/lib/transport/bdp_estimator.cc +1 -1
- data/src/core/lib/transport/byte_stream.h +3 -3
- data/src/core/lib/transport/connectivity_state.h +3 -3
- data/src/core/lib/transport/metadata.h +2 -2
- data/src/core/lib/transport/timeout_encoding.cc +4 -4
- data/src/core/lib/transport/transport.cc +5 -3
- data/src/core/lib/transport/transport.h +1 -1
- data/src/core/plugin_registry/grpc_plugin_registry.cc +4 -4
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +4 -3
- data/src/core/tsi/fake_transport_security.cc +1 -0
- data/src/core/tsi/local_transport_security.cc +5 -1
- data/src/core/tsi/local_transport_security.h +6 -7
- data/src/core/tsi/ssl/session_cache/ssl_session.h +3 -0
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +4 -1
- data/src/core/tsi/ssl_transport_security.cc +14 -7
- data/src/core/tsi/ssl_transport_security.h +3 -0
- data/src/core/tsi/transport_security.cc +4 -2
- data/src/ruby/ext/grpc/extconf.rb +1 -1
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +22 -14
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +36 -24
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/third_party/abseil-cpp/absl/algorithm/container.h +59 -22
- data/third_party/abseil-cpp/absl/base/attributes.h +99 -38
- data/third_party/abseil-cpp/absl/base/call_once.h +1 -1
- data/third_party/abseil-cpp/absl/base/casts.h +9 -6
- data/third_party/abseil-cpp/absl/base/config.h +60 -17
- data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +428 -335
- data/third_party/abseil-cpp/absl/base/internal/bits.h +17 -16
- data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +5 -0
- data/third_party/abseil-cpp/absl/base/internal/dynamic_annotations.h +398 -0
- data/third_party/abseil-cpp/absl/base/internal/invoke.h +4 -4
- data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +1 -1
- data/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +29 -1
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +2 -2
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +7 -5
- data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +25 -38
- data/third_party/abseil-cpp/absl/base/internal/spinlock.h +19 -25
- data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +8 -0
- data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +28 -5
- data/third_party/abseil-cpp/absl/base/internal/sysinfo.h +8 -0
- data/third_party/abseil-cpp/absl/base/internal/tsan_mutex_interface.h +3 -1
- data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +2 -2
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +3 -3
- data/third_party/abseil-cpp/absl/base/macros.h +36 -109
- data/third_party/abseil-cpp/absl/base/optimization.h +61 -1
- data/third_party/abseil-cpp/absl/base/options.h +31 -4
- data/third_party/abseil-cpp/absl/base/policy_checks.h +1 -1
- data/third_party/abseil-cpp/absl/base/thread_annotations.h +94 -39
- data/third_party/abseil-cpp/absl/container/fixed_array.h +42 -25
- data/third_party/abseil-cpp/absl/container/flat_hash_set.h +2 -1
- data/third_party/abseil-cpp/absl/container/inlined_vector.h +33 -36
- data/third_party/abseil-cpp/absl/container/internal/common.h +6 -2
- data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +33 -8
- data/third_party/abseil-cpp/absl/container/internal/container_memory.h +49 -29
- data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +15 -0
- data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +24 -7
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +2 -1
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +35 -11
- data/third_party/abseil-cpp/absl/container/internal/have_sse.h +10 -9
- data/third_party/abseil-cpp/absl/container/internal/layout.h +7 -5
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +55 -34
- data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +5 -4
- data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +66 -16
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +4 -0
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +13 -4
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +43 -24
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +12 -3
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +10 -2
- data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +22 -1
- data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +0 -21
- data/third_party/abseil-cpp/absl/debugging/symbolize.cc +12 -1
- data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +101 -0
- data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +100 -20
- data/third_party/abseil-cpp/absl/functional/bind_front.h +184 -0
- data/third_party/abseil-cpp/absl/functional/function_ref.h +1 -1
- data/third_party/abseil-cpp/absl/functional/internal/front_binder.h +95 -0
- data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +2 -2
- data/third_party/abseil-cpp/absl/hash/hash.h +6 -5
- data/third_party/abseil-cpp/absl/hash/internal/hash.h +73 -65
- data/third_party/abseil-cpp/absl/memory/memory.h +4 -0
- data/third_party/abseil-cpp/absl/meta/type_traits.h +2 -8
- data/third_party/abseil-cpp/absl/numeric/int128.cc +13 -27
- data/third_party/abseil-cpp/absl/numeric/int128.h +16 -15
- data/third_party/abseil-cpp/absl/status/internal/status_internal.h +51 -0
- data/third_party/abseil-cpp/absl/status/status.cc +4 -6
- data/third_party/abseil-cpp/absl/status/status.h +502 -113
- data/third_party/abseil-cpp/absl/status/status_payload_printer.cc +5 -10
- data/third_party/abseil-cpp/absl/strings/charconv.cc +2 -2
- data/third_party/abseil-cpp/absl/strings/cord.cc +91 -112
- data/third_party/abseil-cpp/absl/strings/cord.h +360 -205
- data/third_party/abseil-cpp/absl/strings/escaping.cc +9 -9
- data/third_party/abseil-cpp/absl/strings/internal/char_map.h +1 -1
- data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +1 -1
- data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +2 -2
- data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +2 -2
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +45 -23
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +222 -136
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +136 -64
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +1 -1
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +14 -21
- data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +7 -14
- data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +31 -7
- data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +147 -135
- data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +999 -87
- data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +3 -3
- data/third_party/abseil-cpp/absl/strings/internal/str_format/output.h +4 -12
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +8 -6
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +13 -11
- data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +2 -2
- data/third_party/abseil-cpp/absl/strings/str_cat.cc +4 -4
- data/third_party/abseil-cpp/absl/strings/str_cat.h +1 -1
- data/third_party/abseil-cpp/absl/strings/str_format.h +289 -13
- data/third_party/abseil-cpp/absl/strings/str_split.cc +2 -2
- data/third_party/abseil-cpp/absl/strings/str_split.h +1 -0
- data/third_party/abseil-cpp/absl/strings/string_view.h +26 -19
- data/third_party/abseil-cpp/absl/strings/substitute.cc +5 -5
- data/third_party/abseil-cpp/absl/strings/substitute.h +32 -29
- data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +3 -3
- data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +3 -3
- data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +28 -28
- data/third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc +4 -16
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +1 -1
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +8 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +2 -2
- data/third_party/abseil-cpp/absl/synchronization/mutex.cc +75 -64
- data/third_party/abseil-cpp/absl/synchronization/mutex.h +15 -6
- data/third_party/abseil-cpp/absl/time/civil_time.cc +9 -9
- data/third_party/abseil-cpp/absl/time/clock.cc +3 -3
- data/third_party/abseil-cpp/absl/time/duration.cc +90 -59
- data/third_party/abseil-cpp/absl/time/format.cc +43 -36
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +26 -16
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +4 -2
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h +1 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +136 -29
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +13 -21
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +1 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +136 -129
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +4 -5
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +8 -7
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +6 -6
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +2 -1
- data/third_party/abseil-cpp/absl/time/time.h +15 -16
- data/third_party/abseil-cpp/absl/types/internal/variant.h +4 -4
- data/third_party/abseil-cpp/absl/types/optional.h +9 -9
- data/third_party/abseil-cpp/absl/types/span.h +49 -36
- data/third_party/abseil-cpp/absl/utility/utility.h +2 -2
- data/third_party/address_sorting/include/address_sorting/address_sorting.h +2 -0
- data/third_party/boringssl-with-bazel/err_data.c +340 -336
- data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +173 -35
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +46 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +8 -2
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +90 -63
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +60 -60
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +179 -47
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +766 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +10 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c +5 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +14 -14
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +24 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +7 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +5 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +4 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/des.h +6 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +3 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +202 -134
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +55 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +4 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +31 -23
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +435 -394
- data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +18 -5
- data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +35 -0
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +36 -1
- data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +42 -1
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +67 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +11 -14
- data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +216 -11
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +53 -11
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +133 -39
- data/third_party/upb/upb/def.c +2169 -0
- data/third_party/upb/upb/def.h +330 -0
- data/third_party/upb/upb/def.hpp +525 -0
- data/third_party/upb/upb/reflection.c +391 -0
- data/third_party/upb/upb/reflection.h +168 -0
- data/third_party/upb/upb/text_encode.c +398 -0
- data/third_party/upb/upb/text_encode.h +35 -0
- metadata +227 -37
- data/src/core/ext/filters/client_channel/lb_policy/xds/eds_drop.cc +0 -571
- data/third_party/abseil-cpp/absl/base/dynamic_annotations.cc +0 -129
@@ -23,13 +23,14 @@
|
|
23
23
|
|
24
24
|
#include "src/core/lib/gprpp/sync.h"
|
25
25
|
#include "src/core/lib/security/context/security_context.h"
|
26
|
+
#include "src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h"
|
26
27
|
#include "src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h"
|
27
28
|
|
28
29
|
#define GRPC_TLS_TRANSPORT_SECURITY_TYPE "tls"
|
29
30
|
|
30
31
|
namespace grpc_core {
|
31
32
|
|
32
|
-
// TLS
|
33
|
+
// Channel security connector using TLS as transport security protocol.
|
33
34
|
class TlsChannelSecurityConnector final
|
34
35
|
: public grpc_channel_security_connector {
|
35
36
|
public:
|
@@ -37,14 +38,18 @@ class TlsChannelSecurityConnector final
|
|
37
38
|
static grpc_core::RefCountedPtr<grpc_channel_security_connector>
|
38
39
|
CreateTlsChannelSecurityConnector(
|
39
40
|
grpc_core::RefCountedPtr<grpc_channel_credentials> channel_creds,
|
41
|
+
grpc_core::RefCountedPtr<grpc_tls_credentials_options> options,
|
40
42
|
grpc_core::RefCountedPtr<grpc_call_credentials> request_metadata_creds,
|
41
43
|
const char* target_name, const char* overridden_target_name,
|
42
44
|
tsi_ssl_session_cache* ssl_session_cache);
|
43
45
|
|
44
46
|
TlsChannelSecurityConnector(
|
45
47
|
grpc_core::RefCountedPtr<grpc_channel_credentials> channel_creds,
|
48
|
+
grpc_core::RefCountedPtr<grpc_tls_credentials_options> options,
|
46
49
|
grpc_core::RefCountedPtr<grpc_call_credentials> request_metadata_creds,
|
47
|
-
const char* target_name, const char* overridden_target_name
|
50
|
+
const char* target_name, const char* overridden_target_name,
|
51
|
+
tsi_ssl_session_cache* ssl_session_cache);
|
52
|
+
|
48
53
|
~TlsChannelSecurityConnector() override;
|
49
54
|
|
50
55
|
void add_handshakers(const grpc_channel_args* args,
|
@@ -64,15 +69,45 @@ class TlsChannelSecurityConnector final
|
|
64
69
|
void cancel_check_call_host(grpc_closure* on_call_host_checked,
|
65
70
|
grpc_error* error) override;
|
66
71
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
72
|
+
tsi_ssl_client_handshaker_factory* ClientHandshakerFactoryForTesting() {
|
73
|
+
grpc_core::MutexLock lock(&mu_);
|
74
|
+
return client_handshaker_factory_;
|
75
|
+
};
|
71
76
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
77
|
+
const absl::optional<absl::string_view>& RootCertsForTesting() {
|
78
|
+
grpc_core::MutexLock lock(&mu_);
|
79
|
+
return pem_root_certs_;
|
80
|
+
}
|
81
|
+
|
82
|
+
const absl::optional<grpc_core::PemKeyCertPairList>&
|
83
|
+
KeyCertPairListForTesting() {
|
84
|
+
grpc_core::MutexLock lock(&mu_);
|
85
|
+
return pem_key_cert_pair_list_;
|
86
|
+
}
|
87
|
+
|
88
|
+
private:
|
89
|
+
// A watcher that watches certificate updates from
|
90
|
+
// grpc_tls_certificate_distributor. It will never outlive
|
91
|
+
// |security_connector_|.
|
92
|
+
class TlsChannelCertificateWatcher : public grpc_tls_certificate_distributor::
|
93
|
+
TlsCertificatesWatcherInterface {
|
94
|
+
public:
|
95
|
+
explicit TlsChannelCertificateWatcher(
|
96
|
+
TlsChannelSecurityConnector* security_connector)
|
97
|
+
: security_connector_(security_connector) {}
|
98
|
+
void OnCertificatesChanged(
|
99
|
+
absl::optional<absl::string_view> root_certs,
|
100
|
+
absl::optional<grpc_core::PemKeyCertPairList> key_cert_pairs) override;
|
101
|
+
void OnError(grpc_error* root_cert_error,
|
102
|
+
grpc_error* identity_cert_error) override;
|
103
|
+
|
104
|
+
private:
|
105
|
+
TlsChannelSecurityConnector* security_connector_ = nullptr;
|
106
|
+
};
|
107
|
+
|
108
|
+
// Updates |client_handshaker_factory_| when the certificates that
|
109
|
+
// |certificate_watcher_| is watching get updated.
|
110
|
+
grpc_security_status UpdateHandshakerFactoryLocked();
|
76
111
|
|
77
112
|
// gRPC-provided callback executed by application, which servers to bring the
|
78
113
|
// control back to gRPC core.
|
@@ -91,29 +126,32 @@ class TlsChannelSecurityConnector final
|
|
91
126
|
static void ServerAuthorizationCheckArgDestroy(
|
92
127
|
grpc_tls_server_authorization_check_arg* arg);
|
93
128
|
|
94
|
-
// A util function to refresh SSL TSI client handshaker factory with a valid
|
95
|
-
// credential.
|
96
|
-
grpc_security_status RefreshHandshakerFactory();
|
97
|
-
|
98
129
|
grpc_core::Mutex mu_;
|
99
|
-
|
130
|
+
grpc_core::RefCountedPtr<grpc_tls_credentials_options> options_;
|
131
|
+
grpc_tls_certificate_distributor::TlsCertificatesWatcherInterface*
|
132
|
+
certificate_watcher_ = nullptr;
|
133
|
+
grpc_closure* on_peer_checked_ = nullptr;
|
100
134
|
std::string target_name_;
|
101
135
|
std::string overridden_target_name_;
|
102
136
|
tsi_ssl_client_handshaker_factory* client_handshaker_factory_ = nullptr;
|
103
|
-
grpc_tls_server_authorization_check_arg* check_arg_;
|
104
|
-
|
137
|
+
grpc_tls_server_authorization_check_arg* check_arg_ = nullptr;
|
138
|
+
tsi_ssl_session_cache* ssl_session_cache_ = nullptr;
|
139
|
+
absl::optional<absl::string_view> pem_root_certs_;
|
140
|
+
absl::optional<grpc_core::PemKeyCertPairList> pem_key_cert_pair_list_;
|
105
141
|
};
|
106
142
|
|
107
|
-
// TLS
|
143
|
+
// Server security connector using TLS as transport security protocol.
|
108
144
|
class TlsServerSecurityConnector final : public grpc_server_security_connector {
|
109
145
|
public:
|
110
146
|
// static factory method to create a TLS server security connector.
|
111
147
|
static grpc_core::RefCountedPtr<grpc_server_security_connector>
|
112
148
|
CreateTlsServerSecurityConnector(
|
113
|
-
grpc_core::RefCountedPtr<grpc_server_credentials> server_creds
|
149
|
+
grpc_core::RefCountedPtr<grpc_server_credentials> server_creds,
|
150
|
+
grpc_core::RefCountedPtr<grpc_tls_credentials_options> options);
|
114
151
|
|
115
|
-
|
116
|
-
grpc_core::RefCountedPtr<grpc_server_credentials> server_creds
|
152
|
+
TlsServerSecurityConnector(
|
153
|
+
grpc_core::RefCountedPtr<grpc_server_credentials> server_creds,
|
154
|
+
grpc_core::RefCountedPtr<grpc_tls_credentials_options> options);
|
117
155
|
~TlsServerSecurityConnector() override;
|
118
156
|
|
119
157
|
void add_handshakers(const grpc_channel_args* args,
|
@@ -126,58 +164,65 @@ class TlsServerSecurityConnector final : public grpc_server_security_connector {
|
|
126
164
|
|
127
165
|
int cmp(const grpc_security_connector* other) const override;
|
128
166
|
|
129
|
-
|
130
|
-
|
131
|
-
|
167
|
+
tsi_ssl_server_handshaker_factory* ServerHandshakerFactoryForTesting() {
|
168
|
+
grpc_core::MutexLock lock(&mu_);
|
169
|
+
return server_handshaker_factory_;
|
170
|
+
};
|
132
171
|
|
133
|
-
|
134
|
-
|
135
|
-
|
172
|
+
const absl::optional<absl::string_view>& RootCertsForTesting() {
|
173
|
+
grpc_core::MutexLock lock(&mu_);
|
174
|
+
return pem_root_certs_;
|
175
|
+
}
|
136
176
|
|
137
|
-
|
138
|
-
|
139
|
-
|
177
|
+
const absl::optional<grpc_core::PemKeyCertPairList>&
|
178
|
+
KeyCertPairListForTesting() {
|
179
|
+
grpc_core::MutexLock lock(&mu_);
|
180
|
+
return pem_key_cert_pair_list_;
|
181
|
+
}
|
182
|
+
|
183
|
+
private:
|
184
|
+
// A watcher that watches certificate updates from
|
185
|
+
// grpc_tls_certificate_distributor. It will never outlive
|
186
|
+
// |security_connector_|.
|
187
|
+
class TlsServerCertificateWatcher : public grpc_tls_certificate_distributor::
|
188
|
+
TlsCertificatesWatcherInterface {
|
189
|
+
public:
|
190
|
+
explicit TlsServerCertificateWatcher(
|
191
|
+
TlsServerSecurityConnector* security_connector)
|
192
|
+
: security_connector_(security_connector) {}
|
193
|
+
void OnCertificatesChanged(
|
194
|
+
absl::optional<absl::string_view> root_certs,
|
195
|
+
absl::optional<grpc_core::PemKeyCertPairList> key_cert_pairs) override;
|
196
|
+
void OnError(grpc_error* root_cert_error,
|
197
|
+
grpc_error* identity_cert_error) override;
|
198
|
+
|
199
|
+
private:
|
200
|
+
TlsServerSecurityConnector* security_connector_ = nullptr;
|
201
|
+
};
|
202
|
+
|
203
|
+
// Updates |server_handshaker_factory_| when the certificates that
|
204
|
+
// |certificate_watcher_| is watching get updated.
|
205
|
+
grpc_security_status UpdateHandshakerFactoryLocked();
|
140
206
|
|
141
207
|
grpc_core::Mutex mu_;
|
208
|
+
grpc_core::RefCountedPtr<grpc_tls_credentials_options> options_;
|
209
|
+
grpc_tls_certificate_distributor::TlsCertificatesWatcherInterface*
|
210
|
+
certificate_watcher_ = nullptr;
|
211
|
+
|
142
212
|
tsi_ssl_server_handshaker_factory* server_handshaker_factory_ = nullptr;
|
143
|
-
|
213
|
+
absl::optional<absl::string_view> pem_root_certs_;
|
214
|
+
absl::optional<grpc_core::PemKeyCertPairList> pem_key_cert_pair_list_;
|
144
215
|
};
|
145
216
|
|
146
217
|
// ---- Functions below are exposed for testing only -----------------------
|
147
|
-
|
148
|
-
/** The |TlsFetchKeyMaterials| API ensures that |key_materials_config| has a
|
149
|
-
* non-empty pem-key-cert pair list. This is done as follows:
|
150
|
-
* - if |options| is equipped with a credential reload config, then this
|
151
|
-
* methods uses credential reloading to populate |key_materials_config|, and
|
152
|
-
* afterwards it populates |reload_status| with the status of this operation.
|
153
|
-
* In particular, any data stored in |key_materials_config| is overwritten.
|
154
|
-
* - if |options| has no credential reload config, then:
|
155
|
-
* - if |key_materials_config| already has a non-empty pem-key-cert pair
|
156
|
-
* list or is called by a client, then the method returns |GRPC_STATUS_OK|.
|
157
|
-
* - if |key_materials_config| has an empty pem-key-cert pair list and is
|
158
|
-
* called by a server, then the method return an error code.
|
159
|
-
*
|
160
|
-
* The arguments are detailed below:
|
161
|
-
* - key_materials_config: a key materials config that will be populated by the
|
162
|
-
* method on success; the caller should not pass in nullptr. Any data held by
|
163
|
-
* the config will be overwritten.
|
164
|
-
* - options: the TLS credentials options whose credential reloading config
|
165
|
-
* will be used to populate |key_materials_config|.
|
166
|
-
* - is_server: true denotes that this method is called by a server, and
|
167
|
-
* false denotes that this method is called by a client.
|
168
|
-
* - status: the status of the credential reloading after the method
|
169
|
-
* returns; the caller should not pass in nullptr. **/
|
170
|
-
grpc_status_code TlsFetchKeyMaterials(
|
171
|
-
const grpc_core::RefCountedPtr<grpc_tls_key_materials_config>&
|
172
|
-
key_materials_config,
|
173
|
-
const grpc_tls_credentials_options& options, bool is_server,
|
174
|
-
grpc_ssl_certificate_config_reload_status* status);
|
218
|
+
namespace internal {
|
175
219
|
|
176
220
|
// TlsCheckHostName checks if |peer_name| matches the identity information
|
177
221
|
// contained in |peer|. This is AKA hostname check.
|
178
222
|
grpc_error* TlsCheckHostName(const char* peer_name, const tsi_peer* peer);
|
179
223
|
|
224
|
+
} // namespace internal
|
225
|
+
|
180
226
|
} // namespace grpc_core
|
181
227
|
|
182
|
-
#endif
|
183
|
-
*/
|
228
|
+
#endif // GRPC_CORE_LIB_SECURITY_SECURITY_CONNECTOR_TLS_TLS_SECURITY_CONNECTOR_H
|
@@ -123,8 +123,9 @@ static grpc_filtered_mdelem remove_consumed_md(void* user_data,
|
|
123
123
|
for (i = 0; i < calld->num_consumed_md; i++) {
|
124
124
|
const grpc_metadata* consumed_md = &calld->consumed_md[i];
|
125
125
|
if (grpc_slice_eq(GRPC_MDKEY(md), consumed_md->key) &&
|
126
|
-
grpc_slice_eq(GRPC_MDVALUE(md), consumed_md->value))
|
126
|
+
grpc_slice_eq(GRPC_MDVALUE(md), consumed_md->value)) {
|
127
127
|
return GRPC_FILTERED_REMOVE();
|
128
|
+
}
|
128
129
|
}
|
129
130
|
return GRPC_FILTERED_MDELEM(md);
|
130
131
|
}
|
@@ -30,6 +30,7 @@
|
|
30
30
|
#define GRPC_AUTH_JSON_TYPE_INVALID "invalid"
|
31
31
|
#define GRPC_AUTH_JSON_TYPE_SERVICE_ACCOUNT "service_account"
|
32
32
|
#define GRPC_AUTH_JSON_TYPE_AUTHORIZED_USER "authorized_user"
|
33
|
+
#define GRPC_AUTH_JSON_TYPE_EXTERNAL_ACCOUNT "external_account"
|
33
34
|
|
34
35
|
// Gets a child property from a json node.
|
35
36
|
const char* grpc_json_get_string_property(const grpc_core::Json& json,
|
data/src/core/lib/slice/slice.cc
CHANGED
@@ -555,8 +555,9 @@ int grpc_slice_buf_start_eq(grpc_slice a, const void* b, size_t len) {
|
|
555
555
|
int grpc_slice_rchr(grpc_slice s, char c) {
|
556
556
|
const char* b = reinterpret_cast<const char*> GRPC_SLICE_START_PTR(s);
|
557
557
|
int i;
|
558
|
-
for (i = static_cast<int> GRPC_SLICE_LENGTH(s) - 1; i != -1 && b[i] != c;
|
559
|
-
|
558
|
+
for (i = static_cast<int> GRPC_SLICE_LENGTH(s) - 1; i != -1 && b[i] != c;
|
559
|
+
i--) {
|
560
|
+
}
|
560
561
|
return i;
|
561
562
|
}
|
562
563
|
|
@@ -574,10 +575,12 @@ int grpc_slice_slice(grpc_slice haystack, grpc_slice needle) {
|
|
574
575
|
|
575
576
|
if (haystack_len == 0 || needle_len == 0) return -1;
|
576
577
|
if (haystack_len < needle_len) return -1;
|
577
|
-
if (haystack_len == needle_len)
|
578
|
+
if (haystack_len == needle_len) {
|
578
579
|
return grpc_slice_eq(haystack, needle) ? 0 : -1;
|
579
|
-
|
580
|
+
}
|
581
|
+
if (needle_len == 1) {
|
580
582
|
return grpc_slice_chr(haystack, static_cast<char>(*needle_bytes));
|
583
|
+
}
|
581
584
|
|
582
585
|
const uint8_t* last = haystack_bytes + haystack_len - needle_len;
|
583
586
|
for (const uint8_t* cur = haystack_bytes; cur != last; ++cur) {
|
@@ -106,8 +106,9 @@ uint8_t* grpc_slice_buffer_tiny_add(grpc_slice_buffer* sb, size_t n) {
|
|
106
106
|
if (sb->count == 0) goto add_first;
|
107
107
|
back = &sb->slices[sb->count - 1];
|
108
108
|
if (back->refcount) goto add_new;
|
109
|
-
if ((back->data.inlined.length + n) > sizeof(back->data.inlined.bytes))
|
109
|
+
if ((back->data.inlined.length + n) > sizeof(back->data.inlined.bytes)) {
|
110
110
|
goto add_new;
|
111
|
+
}
|
111
112
|
out = back->data.inlined.bytes + back->data.inlined.length;
|
112
113
|
back->data.inlined.length =
|
113
114
|
static_cast<uint8_t>(back->data.inlined.length + n);
|
@@ -74,8 +74,8 @@ InternedSliceRefcount::~InternedSliceRefcount() {
|
|
74
74
|
InternedSliceRefcount* cur;
|
75
75
|
for (prev_next = &shard->strs[TABLE_IDX(this->hash, shard->capacity)],
|
76
76
|
cur = *prev_next;
|
77
|
-
cur != this; prev_next = &cur->bucket_next, cur = cur->bucket_next)
|
78
|
-
|
77
|
+
cur != this; prev_next = &cur->bucket_next, cur = cur->bucket_next) {
|
78
|
+
}
|
79
79
|
*prev_next = cur->bucket_next;
|
80
80
|
shard->count--;
|
81
81
|
}
|
@@ -298,8 +298,9 @@ static void post_batch_completion(batch_control* bctl);
|
|
298
298
|
|
299
299
|
static void add_init_error(grpc_error** composite, grpc_error* new_err) {
|
300
300
|
if (new_err == GRPC_ERROR_NONE) return;
|
301
|
-
if (*composite == GRPC_ERROR_NONE)
|
301
|
+
if (*composite == GRPC_ERROR_NONE) {
|
302
302
|
*composite = GRPC_ERROR_CREATE_FROM_STATIC_STRING("Call creation failed");
|
303
|
+
}
|
303
304
|
*composite = grpc_error_add_child(*composite, new_err);
|
304
305
|
}
|
305
306
|
|
@@ -412,7 +413,7 @@ grpc_error* grpc_call_create(const grpc_call_create_args* args,
|
|
412
413
|
"without Census tracing propagation"));
|
413
414
|
}
|
414
415
|
if (args->propagation_mask & GRPC_PROPAGATE_CANCELLATION) {
|
415
|
-
call->cancellation_is_inherited =
|
416
|
+
call->cancellation_is_inherited = true;
|
416
417
|
if (gpr_atm_acq_load(&args->parent->received_final_op_atm)) {
|
417
418
|
immediately_cancel = true;
|
418
419
|
}
|
@@ -595,7 +596,7 @@ void grpc_call_unref(grpc_call* c) {
|
|
595
596
|
}
|
596
597
|
|
597
598
|
GPR_ASSERT(!c->destroy_called);
|
598
|
-
c->destroy_called =
|
599
|
+
c->destroy_called = true;
|
599
600
|
bool cancel = gpr_atm_acq_load(&c->any_ops_sent_atm) != 0 &&
|
600
601
|
gpr_atm_acq_load(&c->received_final_op_atm) == 0;
|
601
602
|
if (cancel) {
|
@@ -811,7 +812,7 @@ uint32_t grpc_call_test_only_get_message_flags(grpc_call* call) {
|
|
811
812
|
return flags;
|
812
813
|
}
|
813
814
|
|
814
|
-
static void destroy_encodings_accepted_by_peer(void* /*p*/) {
|
815
|
+
static void destroy_encodings_accepted_by_peer(void* /*p*/) {}
|
815
816
|
|
816
817
|
static void set_encodings_accepted_by_peer(grpc_call* /*call*/,
|
817
818
|
grpc_mdelem mdel,
|
@@ -1253,7 +1254,7 @@ static void continue_receiving_slices(batch_control* bctl) {
|
|
1253
1254
|
size_t remaining = call->receiving_stream->length() -
|
1254
1255
|
(*call->receiving_buffer)->data.raw.slice_buffer.length;
|
1255
1256
|
if (remaining == 0) {
|
1256
|
-
call->receiving_message =
|
1257
|
+
call->receiving_message = false;
|
1257
1258
|
call->receiving_stream.reset();
|
1258
1259
|
finish_batch_step(bctl);
|
1259
1260
|
return;
|
@@ -1267,7 +1268,7 @@ static void continue_receiving_slices(batch_control* bctl) {
|
|
1267
1268
|
call->receiving_stream.reset();
|
1268
1269
|
grpc_byte_buffer_destroy(*call->receiving_buffer);
|
1269
1270
|
*call->receiving_buffer = nullptr;
|
1270
|
-
call->receiving_message =
|
1271
|
+
call->receiving_message = false;
|
1271
1272
|
finish_batch_step(bctl);
|
1272
1273
|
GRPC_ERROR_UNREF(error);
|
1273
1274
|
return;
|
@@ -1303,7 +1304,7 @@ static void receiving_slice_ready(void* bctlp, grpc_error* error) {
|
|
1303
1304
|
call->receiving_stream.reset();
|
1304
1305
|
grpc_byte_buffer_destroy(*call->receiving_buffer);
|
1305
1306
|
*call->receiving_buffer = nullptr;
|
1306
|
-
call->receiving_message =
|
1307
|
+
call->receiving_message = false;
|
1307
1308
|
finish_batch_step(bctl);
|
1308
1309
|
if (release_error) {
|
1309
1310
|
GRPC_ERROR_UNREF(error);
|
@@ -1315,7 +1316,7 @@ static void process_data_after_md(batch_control* bctl) {
|
|
1315
1316
|
grpc_call* call = bctl->call;
|
1316
1317
|
if (call->receiving_stream == nullptr) {
|
1317
1318
|
*call->receiving_buffer = nullptr;
|
1318
|
-
call->receiving_message =
|
1319
|
+
call->receiving_message = false;
|
1319
1320
|
finish_batch_step(bctl);
|
1320
1321
|
} else {
|
1321
1322
|
call->test_only_last_message_flags = call->receiving_stream->flags();
|
@@ -126,8 +126,8 @@ grpc_error* non_polling_poller_work(grpc_pollset* pollset,
|
|
126
126
|
gpr_timespec deadline_ts =
|
127
127
|
grpc_millis_to_timespec(deadline, GPR_CLOCK_MONOTONIC);
|
128
128
|
while (!npp->shutdown && !w.kicked &&
|
129
|
-
!gpr_cv_wait(&w.cv, &npp->mu, deadline_ts))
|
130
|
-
|
129
|
+
!gpr_cv_wait(&w.cv, &npp->mu, deadline_ts)) {
|
130
|
+
}
|
131
131
|
grpc_core::ExecCtx::Get()->InvalidateNow();
|
132
132
|
if (&w == npp->root) {
|
133
133
|
npp->root = w.next;
|
@@ -148,8 +148,9 @@ grpc_error* non_polling_poller_work(grpc_pollset* pollset,
|
|
148
148
|
grpc_error* non_polling_poller_kick(grpc_pollset* pollset,
|
149
149
|
grpc_pollset_worker* specific_worker) {
|
150
150
|
non_polling_poller* p = reinterpret_cast<non_polling_poller*>(pollset);
|
151
|
-
if (specific_worker == nullptr)
|
151
|
+
if (specific_worker == nullptr) {
|
152
152
|
specific_worker = reinterpret_cast<grpc_pollset_worker*>(p->root);
|
153
|
+
}
|
153
154
|
if (specific_worker != nullptr) {
|
154
155
|
non_polling_worker* w =
|
155
156
|
reinterpret_cast<non_polling_worker*>(specific_worker);
|
@@ -422,9 +423,9 @@ static const cq_vtable g_cq_vtable[] = {
|
|
422
423
|
cq_end_op_for_callback, nullptr, nullptr},
|
423
424
|
};
|
424
425
|
|
425
|
-
#define DATA_FROM_CQ(cq) ((void*)(cq + 1))
|
426
|
+
#define DATA_FROM_CQ(cq) ((void*)((cq) + 1))
|
426
427
|
#define POLLSET_FROM_CQ(cq) \
|
427
|
-
((grpc_pollset*)(cq->vtable->data_size + (char*)DATA_FROM_CQ(cq)))
|
428
|
+
((grpc_pollset*)((cq)->vtable->data_size + (char*)DATA_FROM_CQ(cq)))
|
428
429
|
|
429
430
|
grpc_core::TraceFlag grpc_cq_pluck_trace(false, "queue_pluck");
|
430
431
|
|
@@ -1329,7 +1330,7 @@ static void cq_finish_shutdown_pluck(grpc_completion_queue* cq) {
|
|
1329
1330
|
|
1330
1331
|
GPR_ASSERT(cqd->shutdown_called);
|
1331
1332
|
GPR_ASSERT(!cqd->shutdown.Load(grpc_core::MemoryOrder::RELAXED));
|
1332
|
-
cqd->shutdown.Store(
|
1333
|
+
cqd->shutdown.Store(true, grpc_core::MemoryOrder::RELAXED);
|
1333
1334
|
|
1334
1335
|
cq->poller_vtable->shutdown(POLLSET_FROM_CQ(cq), &cq->pollset_shutdown_done);
|
1335
1336
|
}
|
@@ -30,6 +30,7 @@
|
|
30
30
|
#include <utility>
|
31
31
|
#include <vector>
|
32
32
|
|
33
|
+
#include "absl/memory/memory.h"
|
33
34
|
#include "absl/types/optional.h"
|
34
35
|
|
35
36
|
#include <grpc/support/alloc.h>
|
@@ -936,7 +937,7 @@ class Server::ChannelData::ConnectivityWatcher
|
|
936
937
|
GRPC_CHANNEL_INTERNAL_REF(chand_->channel_, "connectivity");
|
937
938
|
}
|
938
939
|
|
939
|
-
~ConnectivityWatcher() {
|
940
|
+
~ConnectivityWatcher() override {
|
940
941
|
GRPC_CHANNEL_INTERNAL_UNREF(chand_->channel_, "connectivity");
|
941
942
|
}
|
942
943
|
|
@@ -1000,7 +1001,8 @@ void Server::ChannelData::InitTransport(RefCountedPtr<Server> server,
|
|
1000
1001
|
if (num_registered_methods > 0) {
|
1001
1002
|
uint32_t max_probes = 0;
|
1002
1003
|
size_t slots = 2 * num_registered_methods;
|
1003
|
-
registered_methods_
|
1004
|
+
registered_methods_ =
|
1005
|
+
absl::make_unique<std::vector<ChannelRegisteredMethod>>(slots);
|
1004
1006
|
for (std::unique_ptr<RegisteredMethod>& rm : server_->registered_methods_) {
|
1005
1007
|
ExternallyManagedSlice host;
|
1006
1008
|
ExternallyManagedSlice method(rm->method.c_str());
|