diff --git a/BUILD b/BUILD index f3cdfae0e46..6e931a62221 100644 --- a/BUILD +++ b/BUILD @@ -307,16 +307,8 @@ grpc_cc_library( language = "c++", deps = [ "grpc_base", - "grpc_deadline_filter", "grpc_http_filters", - "grpc_lb_policy_pick_first", - "grpc_max_age_filter", - "grpc_message_size_filter", - "grpc_resolver_dns_native", - "grpc_resolver_sockaddr", - "grpc_server_load_reporting", "grpc_transport_chttp2_client_secure", - "grpc_transport_chttp2_server_secure", "grpc_transport_cronet_client_secure", ], ) diff --git a/CMakeLists.txt b/CMakeLists.txt index d194e440c0a..30c2023a2dd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1450,35 +1450,6 @@ add_library(grpc_cronet src/core/lib/transport/transport.cc src/core/lib/transport/transport_op_string.cc src/core/lib/debug/trace.cc - src/core/ext/filters/deadline/deadline_filter.cc - src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc - src/core/ext/filters/client_channel/backup_poller.cc - src/core/ext/filters/client_channel/channel_connectivity.cc - src/core/ext/filters/client_channel/client_channel.cc - src/core/ext/filters/client_channel/client_channel_factory.cc - src/core/ext/filters/client_channel/client_channel_plugin.cc - src/core/ext/filters/client_channel/connector.cc - src/core/ext/filters/client_channel/http_connect_handshaker.cc - src/core/ext/filters/client_channel/http_proxy.cc - src/core/ext/filters/client_channel/lb_policy.cc - src/core/ext/filters/client_channel/lb_policy_factory.cc - src/core/ext/filters/client_channel/lb_policy_registry.cc - src/core/ext/filters/client_channel/method_params.cc - src/core/ext/filters/client_channel/parse_address.cc - src/core/ext/filters/client_channel/proxy_mapper.cc - src/core/ext/filters/client_channel/proxy_mapper_registry.cc - src/core/ext/filters/client_channel/resolver.cc - src/core/ext/filters/client_channel/resolver_registry.cc - src/core/ext/filters/client_channel/retry_throttle.cc - src/core/ext/filters/client_channel/subchannel.cc - src/core/ext/filters/client_channel/subchannel_index.cc - src/core/ext/filters/client_channel/uri_parser.cc - src/core/ext/filters/max_age/max_age_filter.cc - src/core/ext/filters/message_size/message_size_filter.cc - src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc - src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc - src/core/ext/filters/load_reporting/server_load_reporting_filter.cc - src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc src/core/ext/transport/cronet/transport/cronet_api_dummy.cc src/core/ext/transport/cronet/transport/cronet_transport.cc @@ -1510,6 +1481,28 @@ add_library(grpc_cronet src/core/ext/filters/http/http_filters_plugin.cc src/core/ext/filters/http/message_compress/message_compress_filter.cc src/core/ext/filters/http/server/http_server_filter.cc + src/core/ext/filters/client_channel/backup_poller.cc + src/core/ext/filters/client_channel/channel_connectivity.cc + src/core/ext/filters/client_channel/client_channel.cc + src/core/ext/filters/client_channel/client_channel_factory.cc + src/core/ext/filters/client_channel/client_channel_plugin.cc + src/core/ext/filters/client_channel/connector.cc + src/core/ext/filters/client_channel/http_connect_handshaker.cc + src/core/ext/filters/client_channel/http_proxy.cc + src/core/ext/filters/client_channel/lb_policy.cc + src/core/ext/filters/client_channel/lb_policy_factory.cc + src/core/ext/filters/client_channel/lb_policy_registry.cc + src/core/ext/filters/client_channel/method_params.cc + src/core/ext/filters/client_channel/parse_address.cc + src/core/ext/filters/client_channel/proxy_mapper.cc + src/core/ext/filters/client_channel/proxy_mapper_registry.cc + src/core/ext/filters/client_channel/resolver.cc + src/core/ext/filters/client_channel/resolver_registry.cc + src/core/ext/filters/client_channel/retry_throttle.cc + src/core/ext/filters/client_channel/subchannel.cc + src/core/ext/filters/client_channel/subchannel_index.cc + src/core/ext/filters/client_channel/uri_parser.cc + src/core/ext/filters/deadline/deadline_filter.cc src/core/lib/http/httpcli_security_connector.cc src/core/lib/security/context/security_context.cc src/core/lib/security/credentials/alts/alts_credentials.cc @@ -1583,8 +1576,8 @@ add_library(grpc_cronet src/core/tsi/ssl/session_cache/ssl_session_openssl.cc src/core/tsi/ssl_transport_security.cc src/core/tsi/transport_security_grpc.cc - src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc - src/core/ext/transport/chttp2/server/chttp2_server.cc + src/core/ext/filters/load_reporting/server_load_reporting_filter.cc + src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc src/core/plugin_registry/grpc_cronet_plugin_registry.cc ) @@ -1644,20 +1637,9 @@ foreach(_hdr include/grpc/impl/codegen/sync_generic.h include/grpc/impl/codegen/sync_posix.h include/grpc/impl/codegen/sync_windows.h - include/grpc/byte_buffer.h - include/grpc/byte_buffer_reader.h - include/grpc/compression.h - include/grpc/fork.h - include/grpc/grpc.h - include/grpc/grpc_posix.h - include/grpc/grpc_security_constants.h - include/grpc/load_reporting.h - include/grpc/slice.h - include/grpc/slice_buffer.h - include/grpc/status.h - include/grpc/support/workaround_list.h include/grpc/grpc_cronet.h include/grpc/grpc_security.h + include/grpc/grpc_security_constants.h ) string(REPLACE "include/" "" _path ${_hdr}) get_filename_component(_path ${_path} PATH) diff --git a/INSTALL.md b/INSTALL.md index 810f2b5f36b..dde937e2473 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -142,7 +142,7 @@ installed to be able to compile the C/C++ sources. > call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x64 > cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release > cmake --build . -> ninja +> ninja install ``` ### msys2 (with mingw) diff --git a/Makefile b/Makefile index 007314c6c5c..8b6b035ceea 100644 --- a/Makefile +++ b/Makefile @@ -503,7 +503,7 @@ ifeq ($(HAS_PKG_CONFIG),true) OPENSSL_ALPN_CHECK_CMD = $(PKG_CONFIG) --atleast-version=1.0.2 openssl OPENSSL_NPN_CHECK_CMD = $(PKG_CONFIG) --atleast-version=1.0.1 openssl ZLIB_CHECK_CMD = $(PKG_CONFIG) --exists zlib -PROTOBUF_CHECK_CMD = $(PKG_CONFIG) --atleast-version=3.0.0 protobuf +PROTOBUF_CHECK_CMD = $(PKG_CONFIG) --atleast-version=3.5.0 protobuf CARES_CHECK_CMD = $(PKG_CONFIG) --atleast-version=1.11.0 libcares else # HAS_PKG_CONFIG @@ -919,7 +919,7 @@ protobuf_dep_message: @echo @echo "DEPENDENCY ERROR" @echo - @echo "The target you are trying to run requires protobuf 3.0.0+" + @echo "The target you are trying to run requires protobuf 3.5.0+" @echo "Your system doesn't have it, and neither does the third_party directory." @echo @echo "Please consult INSTALL to get more information." @@ -933,7 +933,7 @@ protoc_dep_message: @echo @echo "DEPENDENCY ERROR" @echo - @echo "The target you are trying to run requires protobuf-compiler 3.0.0+" + @echo "The target you are trying to run requires protobuf-compiler 3.5.0+" @echo "Your system doesn't have it, and neither does the third_party directory." @echo @echo "Please consult INSTALL to get more information." @@ -3800,35 +3800,6 @@ LIBGRPC_CRONET_SRC = \ src/core/lib/transport/transport.cc \ src/core/lib/transport/transport_op_string.cc \ src/core/lib/debug/trace.cc \ - src/core/ext/filters/deadline/deadline_filter.cc \ - src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc \ - src/core/ext/filters/client_channel/backup_poller.cc \ - src/core/ext/filters/client_channel/channel_connectivity.cc \ - src/core/ext/filters/client_channel/client_channel.cc \ - src/core/ext/filters/client_channel/client_channel_factory.cc \ - src/core/ext/filters/client_channel/client_channel_plugin.cc \ - src/core/ext/filters/client_channel/connector.cc \ - src/core/ext/filters/client_channel/http_connect_handshaker.cc \ - src/core/ext/filters/client_channel/http_proxy.cc \ - src/core/ext/filters/client_channel/lb_policy.cc \ - src/core/ext/filters/client_channel/lb_policy_factory.cc \ - src/core/ext/filters/client_channel/lb_policy_registry.cc \ - src/core/ext/filters/client_channel/method_params.cc \ - src/core/ext/filters/client_channel/parse_address.cc \ - src/core/ext/filters/client_channel/proxy_mapper.cc \ - src/core/ext/filters/client_channel/proxy_mapper_registry.cc \ - src/core/ext/filters/client_channel/resolver.cc \ - src/core/ext/filters/client_channel/resolver_registry.cc \ - src/core/ext/filters/client_channel/retry_throttle.cc \ - src/core/ext/filters/client_channel/subchannel.cc \ - src/core/ext/filters/client_channel/subchannel_index.cc \ - src/core/ext/filters/client_channel/uri_parser.cc \ - src/core/ext/filters/max_age/max_age_filter.cc \ - src/core/ext/filters/message_size/message_size_filter.cc \ - src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc \ - src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc \ - src/core/ext/filters/load_reporting/server_load_reporting_filter.cc \ - src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc \ src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc \ src/core/ext/transport/cronet/transport/cronet_api_dummy.cc \ src/core/ext/transport/cronet/transport/cronet_transport.cc \ @@ -3860,6 +3831,28 @@ LIBGRPC_CRONET_SRC = \ src/core/ext/filters/http/http_filters_plugin.cc \ src/core/ext/filters/http/message_compress/message_compress_filter.cc \ src/core/ext/filters/http/server/http_server_filter.cc \ + src/core/ext/filters/client_channel/backup_poller.cc \ + src/core/ext/filters/client_channel/channel_connectivity.cc \ + src/core/ext/filters/client_channel/client_channel.cc \ + src/core/ext/filters/client_channel/client_channel_factory.cc \ + src/core/ext/filters/client_channel/client_channel_plugin.cc \ + src/core/ext/filters/client_channel/connector.cc \ + src/core/ext/filters/client_channel/http_connect_handshaker.cc \ + src/core/ext/filters/client_channel/http_proxy.cc \ + src/core/ext/filters/client_channel/lb_policy.cc \ + src/core/ext/filters/client_channel/lb_policy_factory.cc \ + src/core/ext/filters/client_channel/lb_policy_registry.cc \ + src/core/ext/filters/client_channel/method_params.cc \ + src/core/ext/filters/client_channel/parse_address.cc \ + src/core/ext/filters/client_channel/proxy_mapper.cc \ + src/core/ext/filters/client_channel/proxy_mapper_registry.cc \ + src/core/ext/filters/client_channel/resolver.cc \ + src/core/ext/filters/client_channel/resolver_registry.cc \ + src/core/ext/filters/client_channel/retry_throttle.cc \ + src/core/ext/filters/client_channel/subchannel.cc \ + src/core/ext/filters/client_channel/subchannel_index.cc \ + src/core/ext/filters/client_channel/uri_parser.cc \ + src/core/ext/filters/deadline/deadline_filter.cc \ src/core/lib/http/httpcli_security_connector.cc \ src/core/lib/security/context/security_context.cc \ src/core/lib/security/credentials/alts/alts_credentials.cc \ @@ -3933,8 +3926,8 @@ LIBGRPC_CRONET_SRC = \ src/core/tsi/ssl/session_cache/ssl_session_openssl.cc \ src/core/tsi/ssl_transport_security.cc \ src/core/tsi/transport_security_grpc.cc \ - src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc \ - src/core/ext/transport/chttp2/server/chttp2_server.cc \ + src/core/ext/filters/load_reporting/server_load_reporting_filter.cc \ + src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc \ src/core/plugin_registry/grpc_cronet_plugin_registry.cc \ PUBLIC_HEADERS_C += \ @@ -3959,20 +3952,9 @@ PUBLIC_HEADERS_C += \ include/grpc/impl/codegen/sync_generic.h \ include/grpc/impl/codegen/sync_posix.h \ include/grpc/impl/codegen/sync_windows.h \ - include/grpc/byte_buffer.h \ - include/grpc/byte_buffer_reader.h \ - include/grpc/compression.h \ - include/grpc/fork.h \ - include/grpc/grpc.h \ - include/grpc/grpc_posix.h \ - include/grpc/grpc_security_constants.h \ - include/grpc/load_reporting.h \ - include/grpc/slice.h \ - include/grpc/slice_buffer.h \ - include/grpc/status.h \ - include/grpc/support/workaround_list.h \ include/grpc/grpc_cronet.h \ include/grpc/grpc_security.h \ + include/grpc/grpc_security_constants.h \ LIBGRPC_CRONET_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_CRONET_SRC)))) @@ -14599,7 +14581,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/alarm_test: protobuf_dep_error @@ -14642,7 +14624,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/alts_counter_test: protobuf_dep_error @@ -14685,7 +14667,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/alts_crypt_test: protobuf_dep_error @@ -14728,7 +14710,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/alts_crypter_test: protobuf_dep_error @@ -14771,7 +14753,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/alts_frame_handler_test: protobuf_dep_error @@ -14815,7 +14797,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/alts_frame_protector_test: protobuf_dep_error @@ -14860,7 +14842,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/alts_grpc_record_protocol_test: protobuf_dep_error @@ -14903,7 +14885,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/alts_handshaker_client_test: protobuf_dep_error @@ -14946,7 +14928,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/alts_handshaker_service_api_test: protobuf_dep_error @@ -14989,7 +14971,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/alts_iovec_record_protocol_test: protobuf_dep_error @@ -15032,7 +15014,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/alts_security_connector_test: protobuf_dep_error @@ -15075,7 +15057,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/alts_tsi_handshaker_test: protobuf_dep_error @@ -15118,7 +15100,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/alts_tsi_utils_test: protobuf_dep_error @@ -15161,7 +15143,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/alts_zero_copy_grpc_protector_test: protobuf_dep_error @@ -15204,7 +15186,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/async_end2end_test: protobuf_dep_error @@ -15247,7 +15229,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/auth_property_iterator_test: protobuf_dep_error @@ -15290,7 +15272,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/backoff_test: protobuf_dep_error @@ -15333,7 +15315,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/bdp_estimator_test: protobuf_dep_error @@ -15376,7 +15358,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/bm_arena: protobuf_dep_error @@ -15420,7 +15402,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/bm_call_create: protobuf_dep_error @@ -15464,7 +15446,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/bm_chttp2_hpack: protobuf_dep_error @@ -15508,7 +15490,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/bm_chttp2_transport: protobuf_dep_error @@ -15552,7 +15534,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/bm_closure: protobuf_dep_error @@ -15596,7 +15578,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/bm_cq: protobuf_dep_error @@ -15640,7 +15622,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/bm_cq_multiple_threads: protobuf_dep_error @@ -15684,7 +15666,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/bm_error: protobuf_dep_error @@ -15728,7 +15710,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/bm_fullstack_streaming_ping_pong: protobuf_dep_error @@ -15772,7 +15754,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/bm_fullstack_streaming_pump: protobuf_dep_error @@ -15816,7 +15798,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/bm_fullstack_trickle: protobuf_dep_error @@ -15860,7 +15842,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/bm_fullstack_unary_ping_pong: protobuf_dep_error @@ -15904,7 +15886,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/bm_metadata: protobuf_dep_error @@ -15948,7 +15930,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/bm_pollset: protobuf_dep_error @@ -15992,7 +15974,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/byte_stream_test: protobuf_dep_error @@ -16035,7 +16017,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/channel_arguments_test: protobuf_dep_error @@ -16078,7 +16060,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/channel_filter_test: protobuf_dep_error @@ -16122,7 +16104,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/channel_trace_test: protobuf_dep_error @@ -16168,7 +16150,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/check_gcp_environment_linux_test: protobuf_dep_error @@ -16211,7 +16193,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/check_gcp_environment_windows_test: protobuf_dep_error @@ -16254,7 +16236,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/chttp2_settings_timeout_test: protobuf_dep_error @@ -16297,7 +16279,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/cli_call_test: protobuf_dep_error @@ -16341,7 +16323,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/client_channel_stress_test: protobuf_dep_error @@ -16387,7 +16369,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/client_crash_test: protobuf_dep_error @@ -16430,7 +16412,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/client_crash_test_server: protobuf_dep_error @@ -16473,7 +16455,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/client_lb_end2end_test: protobuf_dep_error @@ -16521,7 +16503,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/codegen_test_full: protobuf_dep_error @@ -16581,7 +16563,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/codegen_test_minimal: protobuf_dep_error @@ -16638,7 +16620,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/credentials_test: protobuf_dep_error @@ -16681,7 +16663,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/cxx_byte_buffer_test: protobuf_dep_error @@ -16724,7 +16706,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/cxx_slice_test: protobuf_dep_error @@ -16767,7 +16749,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/cxx_string_ref_test: protobuf_dep_error @@ -16810,7 +16792,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/cxx_time_test: protobuf_dep_error @@ -16853,7 +16835,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/end2end_test: protobuf_dep_error @@ -16897,7 +16879,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/error_details_test: protobuf_dep_error @@ -16943,7 +16925,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/exception_test: protobuf_dep_error @@ -16986,7 +16968,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/filter_end2end_test: protobuf_dep_error @@ -17029,7 +17011,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/generic_end2end_test: protobuf_dep_error @@ -17073,7 +17055,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/golden_file_test: protobuf_dep_error @@ -17119,7 +17101,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/grpc_alts_credentials_options_test: protobuf_dep_error @@ -17162,7 +17144,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/grpc_cli: protobuf_dep_error @@ -17197,7 +17179,7 @@ GRPC_CPP_PLUGIN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basen ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/grpc_cpp_plugin: protobuf_dep_error @@ -17228,7 +17210,7 @@ GRPC_CSHARP_PLUGIN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(ba ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/grpc_csharp_plugin: protobuf_dep_error @@ -17259,7 +17241,7 @@ GRPC_NODE_PLUGIN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(base ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/grpc_node_plugin: protobuf_dep_error @@ -17290,7 +17272,7 @@ GRPC_OBJECTIVE_C_PLUGIN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/grpc_objective_c_plugin: protobuf_dep_error @@ -17321,7 +17303,7 @@ GRPC_PHP_PLUGIN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basen ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/grpc_php_plugin: protobuf_dep_error @@ -17352,7 +17334,7 @@ GRPC_PYTHON_PLUGIN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(ba ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/grpc_python_plugin: protobuf_dep_error @@ -17383,7 +17365,7 @@ GRPC_RUBY_PLUGIN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(base ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/grpc_ruby_plugin: protobuf_dep_error @@ -17424,7 +17406,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/grpc_tool_test: protobuf_dep_error @@ -17473,7 +17455,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/grpclb_api_test: protobuf_dep_error @@ -17520,7 +17502,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/grpclb_end2end_test: protobuf_dep_error @@ -17566,7 +17548,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/h2_ssl_cert_test: protobuf_dep_error @@ -17609,7 +17591,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/h2_ssl_session_reuse_test: protobuf_dep_error @@ -17652,7 +17634,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/health_service_end2end_test: protobuf_dep_error @@ -17691,7 +17673,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/http2_client: protobuf_dep_error @@ -17726,7 +17708,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/hybrid_end2end_test: protobuf_dep_error @@ -17769,7 +17751,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/inlined_vector_test: protobuf_dep_error @@ -17812,7 +17794,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/inproc_sync_unary_ping_pong_test: protobuf_dep_error @@ -17851,7 +17833,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/interop_client: protobuf_dep_error @@ -17882,7 +17864,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/interop_server: protobuf_dep_error @@ -17917,7 +17899,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/interop_test: protobuf_dep_error @@ -17960,7 +17942,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/json_run_localhost: protobuf_dep_error @@ -18003,7 +17985,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/memory_test: protobuf_dep_error @@ -18047,7 +18029,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/metrics_client: protobuf_dep_error @@ -18093,7 +18075,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/mock_test: protobuf_dep_error @@ -18136,7 +18118,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/nonblocking_test: protobuf_dep_error @@ -18179,7 +18161,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/noop-benchmark: protobuf_dep_error @@ -18223,7 +18205,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/orphanable_test: protobuf_dep_error @@ -18266,7 +18248,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/proto_server_reflection_test: protobuf_dep_error @@ -18309,7 +18291,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/proto_utils_test: protobuf_dep_error @@ -18352,7 +18334,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/qps_interarrival_test: protobuf_dep_error @@ -18395,7 +18377,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/qps_json_driver: protobuf_dep_error @@ -18438,7 +18420,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/qps_openloop_test: protobuf_dep_error @@ -18481,7 +18463,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/qps_worker: protobuf_dep_error @@ -18527,7 +18509,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/reconnect_interop_client: protobuf_dep_error @@ -18580,7 +18562,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/reconnect_interop_server: protobuf_dep_error @@ -18630,7 +18612,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/ref_counted_ptr_test: protobuf_dep_error @@ -18673,7 +18655,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/ref_counted_test: protobuf_dep_error @@ -18716,7 +18698,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/retry_throttle_test: protobuf_dep_error @@ -18759,7 +18741,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/secure_auth_context_test: protobuf_dep_error @@ -18802,7 +18784,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/secure_sync_unary_ping_pong_test: protobuf_dep_error @@ -18845,7 +18827,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/server_builder_plugin_test: protobuf_dep_error @@ -18890,7 +18872,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/server_builder_test: protobuf_dep_error @@ -18938,7 +18920,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/server_context_test_spouse_test: protobuf_dep_error @@ -18981,7 +18963,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/server_crash_test: protobuf_dep_error @@ -19024,7 +19006,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/server_crash_test_client: protobuf_dep_error @@ -19067,7 +19049,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/server_early_return_test: protobuf_dep_error @@ -19112,7 +19094,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/server_request_call_test: protobuf_dep_error @@ -19160,7 +19142,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/shutdown_test: protobuf_dep_error @@ -19203,7 +19185,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/slice_hash_table_test: protobuf_dep_error @@ -19246,7 +19228,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/slice_weak_hash_table_test: protobuf_dep_error @@ -19289,7 +19271,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/stats_test: protobuf_dep_error @@ -19332,7 +19314,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/status_metadata_test: protobuf_dep_error @@ -19375,7 +19357,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/status_util_test: protobuf_dep_error @@ -19418,7 +19400,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/streaming_throughput_test: protobuf_dep_error @@ -19468,7 +19450,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/stress_test: protobuf_dep_error @@ -19529,7 +19511,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/thread_manager_test: protobuf_dep_error @@ -19572,7 +19554,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/thread_stress_test: protobuf_dep_error @@ -19615,7 +19597,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/transport_pid_controller_test: protobuf_dep_error @@ -19658,7 +19640,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/transport_security_common_api_test: protobuf_dep_error @@ -19701,7 +19683,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/writes_per_rpc_test: protobuf_dep_error @@ -19874,7 +19856,7 @@ $(BORINGSSL_CRYPTO_TEST_DATA_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_crypto_test_data: protobuf_dep_error @@ -19914,7 +19896,7 @@ $(BORINGSSL_ASN1_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_asn1_test: protobuf_dep_error @@ -19954,7 +19936,7 @@ $(BORINGSSL_BASE64_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_base64_test: protobuf_dep_error @@ -19994,7 +19976,7 @@ $(BORINGSSL_BIO_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_bio_test: protobuf_dep_error @@ -20034,7 +20016,7 @@ $(BORINGSSL_BUF_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_buf_test: protobuf_dep_error @@ -20074,7 +20056,7 @@ $(BORINGSSL_BYTESTRING_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_bytestring_test: protobuf_dep_error @@ -20114,7 +20096,7 @@ $(BORINGSSL_CHACHA_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_chacha_test: protobuf_dep_error @@ -20154,7 +20136,7 @@ $(BORINGSSL_AEAD_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_aead_test: protobuf_dep_error @@ -20194,7 +20176,7 @@ $(BORINGSSL_CIPHER_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_cipher_test: protobuf_dep_error @@ -20234,7 +20216,7 @@ $(BORINGSSL_CMAC_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_cmac_test: protobuf_dep_error @@ -20274,7 +20256,7 @@ $(BORINGSSL_COMPILER_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_compiler_test: protobuf_dep_error @@ -20314,7 +20296,7 @@ $(BORINGSSL_CONSTANT_TIME_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_constant_time_test: protobuf_dep_error @@ -20354,7 +20336,7 @@ $(BORINGSSL_ED25519_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_ed25519_test: protobuf_dep_error @@ -20394,7 +20376,7 @@ $(BORINGSSL_SPAKE25519_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_spake25519_test: protobuf_dep_error @@ -20434,7 +20416,7 @@ $(BORINGSSL_X25519_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_x25519_test: protobuf_dep_error @@ -20474,7 +20456,7 @@ $(BORINGSSL_DH_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_dh_test: protobuf_dep_error @@ -20514,7 +20496,7 @@ $(BORINGSSL_DIGEST_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_digest_test: protobuf_dep_error @@ -20554,7 +20536,7 @@ $(BORINGSSL_DSA_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_dsa_test: protobuf_dep_error @@ -20594,7 +20576,7 @@ $(BORINGSSL_ECDH_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_ecdh_test: protobuf_dep_error @@ -20634,7 +20616,7 @@ $(BORINGSSL_ERR_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_err_test: protobuf_dep_error @@ -20674,7 +20656,7 @@ $(BORINGSSL_EVP_EXTRA_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_evp_extra_test: protobuf_dep_error @@ -20714,7 +20696,7 @@ $(BORINGSSL_EVP_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_evp_test: protobuf_dep_error @@ -20754,7 +20736,7 @@ $(BORINGSSL_PBKDF_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_pbkdf_test: protobuf_dep_error @@ -20794,7 +20776,7 @@ $(BORINGSSL_SCRYPT_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_scrypt_test: protobuf_dep_error @@ -20834,7 +20816,7 @@ $(BORINGSSL_AES_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_aes_test: protobuf_dep_error @@ -20874,7 +20856,7 @@ $(BORINGSSL_BN_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_bn_test: protobuf_dep_error @@ -20914,7 +20896,7 @@ $(BORINGSSL_EC_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_ec_test: protobuf_dep_error @@ -20954,7 +20936,7 @@ $(BORINGSSL_P256-X86_64_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_p256-x86_64_test: protobuf_dep_error @@ -20994,7 +20976,7 @@ $(BORINGSSL_ECDSA_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_ecdsa_test: protobuf_dep_error @@ -21034,7 +21016,7 @@ $(BORINGSSL_GCM_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_gcm_test: protobuf_dep_error @@ -21074,7 +21056,7 @@ $(BORINGSSL_CTRDRBG_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_ctrdrbg_test: protobuf_dep_error @@ -21114,7 +21096,7 @@ $(BORINGSSL_HKDF_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_hkdf_test: protobuf_dep_error @@ -21154,7 +21136,7 @@ $(BORINGSSL_HMAC_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_hmac_test: protobuf_dep_error @@ -21194,7 +21176,7 @@ $(BORINGSSL_LHASH_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_lhash_test: protobuf_dep_error @@ -21234,7 +21216,7 @@ $(BORINGSSL_OBJ_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_obj_test: protobuf_dep_error @@ -21274,7 +21256,7 @@ $(BORINGSSL_PKCS7_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_pkcs7_test: protobuf_dep_error @@ -21314,7 +21296,7 @@ $(BORINGSSL_PKCS12_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_pkcs12_test: protobuf_dep_error @@ -21354,7 +21336,7 @@ $(BORINGSSL_PKCS8_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_pkcs8_test: protobuf_dep_error @@ -21394,7 +21376,7 @@ $(BORINGSSL_POLY1305_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_poly1305_test: protobuf_dep_error @@ -21434,7 +21416,7 @@ $(BORINGSSL_POOL_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_pool_test: protobuf_dep_error @@ -21474,7 +21456,7 @@ $(BORINGSSL_REFCOUNT_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_refcount_test: protobuf_dep_error @@ -21514,7 +21496,7 @@ $(BORINGSSL_RSA_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_rsa_test: protobuf_dep_error @@ -21554,7 +21536,7 @@ $(BORINGSSL_FILE_TEST_GTEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_file_test_gtest: protobuf_dep_error @@ -21594,7 +21576,7 @@ $(BORINGSSL_GTEST_MAIN_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_gtest_main: protobuf_dep_error @@ -21634,7 +21616,7 @@ $(BORINGSSL_THREAD_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_thread_test: protobuf_dep_error @@ -21674,7 +21656,7 @@ $(BORINGSSL_X509_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_x509_test: protobuf_dep_error @@ -21714,7 +21696,7 @@ $(BORINGSSL_TAB_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_tab_test: protobuf_dep_error @@ -21754,7 +21736,7 @@ $(BORINGSSL_V3NAME_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_v3name_test: protobuf_dep_error @@ -21794,7 +21776,7 @@ $(BORINGSSL_SPAN_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_span_test: protobuf_dep_error @@ -21834,7 +21816,7 @@ $(BORINGSSL_SSL_TEST_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/boringssl_ssl_test: protobuf_dep_error @@ -23068,7 +23050,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/resolver_component_test_unsecure: protobuf_dep_error @@ -23111,7 +23093,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/resolver_component_test: protobuf_dep_error @@ -23154,7 +23136,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/resolver_component_tests_runner_invoker_unsecure: protobuf_dep_error @@ -23197,7 +23179,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/resolver_component_tests_runner_invoker: protobuf_dep_error @@ -23240,7 +23222,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/address_sorting_test_unsecure: protobuf_dep_error @@ -23283,7 +23265,7 @@ else ifeq ($(NO_PROTOBUF),true) -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/address_sorting_test: protobuf_dep_error diff --git a/bazel/generate_cc.bzl b/bazel/generate_cc.bzl index e610123dc50..ae747aa42ca 100644 --- a/bazel/generate_cc.bzl +++ b/bazel/generate_cc.bzl @@ -10,7 +10,16 @@ def generate_cc_impl(ctx): includes = [f for src in ctx.attr.srcs for f in src.proto.transitive_imports] outs = [] # label_len is length of the path from WORKSPACE root to the location of this build file - label_len = len(ctx.label.package) + 1 + label_len = 0 + # proto_root is the directory relative to which generated include paths should be + proto_root = "" + if ctx.label.package: + # The +1 is for the trailing slash. + label_len += len(ctx.label.package) + 1 + if ctx.label.workspace_root: + label_len += len(ctx.label.workspace_root) + 1 + proto_root = "/" + ctx.label.workspace_root + if ctx.executable.plugin: outs += [proto.path[label_len:-len(".proto")] + ".grpc.pb.h" for proto in protos] outs += [proto.path[label_len:-len(".proto")] + ".grpc.pb.cc" for proto in protos] @@ -20,7 +29,7 @@ def generate_cc_impl(ctx): outs += [proto.path[label_len:-len(".proto")] + ".pb.h" for proto in protos] outs += [proto.path[label_len:-len(".proto")] + ".pb.cc" for proto in protos] out_files = [ctx.new_file(out) for out in outs] - dir_out = str(ctx.genfiles_dir.path) + dir_out = str(ctx.genfiles_dir.path + proto_root) arguments = [] if ctx.executable.plugin: @@ -33,7 +42,20 @@ def generate_cc_impl(ctx): else: arguments += ["--cpp_out=" + ",".join(ctx.attr.flags) + ":" + dir_out] additional_input = [] - arguments += ["-I{0}={0}".format(include.path) for include in includes] + + # Import protos relative to their workspace root so that protoc prints the + # right include paths. + for include in includes: + directory = include.path + if directory.startswith("external"): + external_sep = directory.find("/") + repository_sep = directory.find("/", external_sep + 1) + arguments += ["--proto_path=" + directory[:repository_sep]] + else: + arguments += ["--proto_path=."] + # Include the output directory so that protoc puts the generated code in the + # right directory. + arguments += ["--proto_path={0}{1}".format(dir_out, proto_root)] arguments += [proto.path for proto in protos] # create a list of well known proto files if the argument is non-None diff --git a/bazel/grpc_deps.bzl b/bazel/grpc_deps.bzl index a441c3ff3d0..6b3a55379e9 100644 --- a/bazel/grpc_deps.bzl +++ b/bazel/grpc_deps.bzl @@ -57,6 +57,16 @@ def grpc_deps(): actual = "@com_github_gflags_gflags//:gflags", ) + native.bind( + name = "grpc_cpp_plugin", + actual = "@com_github_grpc_grpc//:grpc_cpp_plugin" + ) + + native.bind( + name = "grpc++_codegen_proto", + actual = "@com_github_grpc_grpc//:grpc++_codegen_proto" + ) + if "boringssl" not in native.existing_rules(): native.http_archive( name = "boringssl", diff --git a/build.yaml b/build.yaml index 5b531b01778..b79b04f0622 100644 --- a/build.yaml +++ b/build.yaml @@ -1416,17 +1416,9 @@ libs: dll: true filegroups: - grpc_base - - grpc_base_headers - - grpc_deadline_filter - - grpc_lb_policy_pick_first - - grpc_max_age_filter - - grpc_message_size_filter - - grpc_resolver_dns_native - - grpc_resolver_sockaddr - - grpc_server_load_reporting - grpc_transport_cronet_client_secure - grpc_transport_chttp2_client_secure - - grpc_transport_chttp2_server_secure + - grpc_server_load_reporting generate_plugin_registry: true platforms: - linux diff --git a/doc/PROTOCOL-WEB.md b/doc/PROTOCOL-WEB.md index c157cd7e135..5100c9b5556 100644 --- a/doc/PROTOCOL-WEB.md +++ b/doc/PROTOCOL-WEB.md @@ -29,7 +29,7 @@ More specifically, we expect the protocol to * evolve over time, mainly to optimize for browser clients or support web-specific features such as CORS, XSRF * become optional (in 1-2 years) when browsers are able to speak the native -gRPC protocol via the new [whatwg fetch/streams API](https://github.com/whatwg/fetch) +gRPC protocol via the new [whatwg streams API](https://github.com/whatwg/streams) # Protocol differences vs [gRPC over HTTP2](PROTOCOL-HTTP2.md) diff --git a/examples/cpp/helloworld/CMakeLists.txt b/examples/cpp/helloworld/CMakeLists.txt index 4f7d3fdddbf..d0f705f6d99 100644 --- a/examples/cpp/helloworld/CMakeLists.txt +++ b/examples/cpp/helloworld/CMakeLists.txt @@ -27,22 +27,55 @@ else() add_definitions(-D_WIN32_WINNT=0x600) endif() -# Find Protobuf installation -# Looks for protobuf-config.cmake file installed by Protobuf's cmake installation. -set(protobuf_MODULE_COMPATIBLE TRUE) -find_package(Protobuf CONFIG REQUIRED) -message(STATUS "Using protobuf ${protobuf_VERSION}") +if(GRPC_AS_SUBMODULE) + # One way to build a projects that uses gRPC is to just include the + # entire gRPC project tree via "add_subdirectory". + # This approach is very simple to use, but the are some potential + # disadvantages: + # * it includes gRPC's CMakeLists.txt directly into your build script + # without and that can make gRPC's internal setting interfere with your + # own build. + # * depending on what's installed on your system, the contents of submodules + # in gRPC's third_party/* might need to be available (and there might be + # additional prerequisites required to build them). Consider using + # the gRPC_*_PROVIDER options to fine-tune the expected behavior. + # + # A more robust approach to add dependency on gRPC is using + # cmake's ExternalProject_Add (see cmake_externalproject/CMakeLists.txt). + + # Include the gRPC's cmake build (normally grpc source code would live + # in a git submodule called "third_party/grpc", but this example lives in + # the same repository as gRPC sources, so we just look a few directories up) + add_subdirectory(../../.. ${CMAKE_CURRENT_BINARY_DIR}/grpc EXCLUDE_FROM_ALL) + message(STATUS "Using gRPC via add_subdirectory.") + + # After using add_subdirectory, we can now use the grpc targets directly from + # this build. + set(_PROTOBUF_LIBPROTOBUF libprotobuf) + set(_PROTOBUF_PROTOC $) + set(_GRPC_GRPCPP_UNSECURE grpc++_unsecure) + set(_GRPC_CPP_PLUGIN_EXECUTABLE $) +else() + # This branch assumes that gRPC and all its dependencies are already installed + # on this system, so they can be located by find_package(). + + # Find Protobuf installation + # Looks for protobuf-config.cmake file installed by Protobuf's cmake installation. + set(protobuf_MODULE_COMPATIBLE TRUE) + find_package(Protobuf CONFIG REQUIRED) + message(STATUS "Using protobuf ${protobuf_VERSION}") -set(_PROTOBUF_LIBPROTOBUF protobuf::libprotobuf) -set(_PROTOBUF_PROTOC $) + set(_PROTOBUF_LIBPROTOBUF protobuf::libprotobuf) + set(_PROTOBUF_PROTOC $) -# Find gRPC installation -# Looks for gRPCConfig.cmake file installed by gRPC's cmake installation. -find_package(gRPC CONFIG REQUIRED) -message(STATUS "Using gRPC ${gRPC_VERSION}") + # Find gRPC installation + # Looks for gRPCConfig.cmake file installed by gRPC's cmake installation. + find_package(gRPC CONFIG REQUIRED) + message(STATUS "Using gRPC ${gRPC_VERSION}") -# gRPC C++ plugin -set(_GRPC_CPP_PLUGIN_EXECUTABLE $) + set(_GRPC_GRPCPP_UNSECURE gRPC::grpc++_unsecure) + set(_GRPC_CPP_PLUGIN_EXECUTABLE $) +endif() # Proto file get_filename_component(hw_proto "../../protos/helloworld.proto" ABSOLUTE) @@ -74,6 +107,6 @@ foreach(_target ${hw_proto_srcs} ${hw_grpc_srcs}) target_link_libraries(${_target} - ${_PROTOBUF_LIBPROTOBUF} - gRPC::grpc++_unsecure) + ${_GRPC_GRPCPP_UNSECURE} + ${_PROTOBUF_LIBPROTOBUF}) endforeach() diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index 20fc79fcb1e..d60a7f12f3f 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -182,6 +182,7 @@ Pod::Spec.new do |s| ss.dependency 'BoringSSL', '~> 10.0' ss.dependency 'nanopb', '~> 0.3' + # To save you from scrolling, this is the last part of the podspec. ss.source_files = 'src/core/lib/gpr/arena.h', 'src/core/lib/gpr/env.h', 'src/core/lib/gpr/fork.h', @@ -1082,956 +1083,34 @@ Pod::Spec.new do |s| s.subspec 'Cronet-Interface' do |ss| ss.header_mappings_dir = 'include/grpc' - ss.source_files = 'include/grpc/support/alloc.h', - 'include/grpc/support/atm.h', - 'include/grpc/support/atm_gcc_atomic.h', - 'include/grpc/support/atm_gcc_sync.h', - 'include/grpc/support/atm_windows.h', - 'include/grpc/support/cpu.h', - 'include/grpc/support/log.h', - 'include/grpc/support/log_windows.h', - 'include/grpc/support/port_platform.h', - 'include/grpc/support/string_util.h', - 'include/grpc/support/sync.h', - 'include/grpc/support/sync_custom.h', - 'include/grpc/support/sync_generic.h', - 'include/grpc/support/sync_posix.h', - 'include/grpc/support/sync_windows.h', - 'include/grpc/support/thd_id.h', - 'include/grpc/support/time.h', - 'include/grpc/impl/codegen/atm.h', - 'include/grpc/impl/codegen/atm_gcc_atomic.h', - 'include/grpc/impl/codegen/atm_gcc_sync.h', - 'include/grpc/impl/codegen/atm_windows.h', - 'include/grpc/impl/codegen/fork.h', - 'include/grpc/impl/codegen/gpr_slice.h', - 'include/grpc/impl/codegen/gpr_types.h', - 'include/grpc/impl/codegen/port_platform.h', - 'include/grpc/impl/codegen/sync.h', - 'include/grpc/impl/codegen/sync_custom.h', - 'include/grpc/impl/codegen/sync_generic.h', - 'include/grpc/impl/codegen/sync_posix.h', - 'include/grpc/impl/codegen/sync_windows.h', - 'include/grpc/impl/codegen/byte_buffer.h', - 'include/grpc/impl/codegen/byte_buffer_reader.h', - 'include/grpc/impl/codegen/compression_types.h', - 'include/grpc/impl/codegen/connectivity_state.h', - 'include/grpc/impl/codegen/grpc_types.h', - 'include/grpc/impl/codegen/propagation_bits.h', - 'include/grpc/impl/codegen/slice.h', - 'include/grpc/impl/codegen/status.h', - 'include/grpc/impl/codegen/atm.h', - 'include/grpc/impl/codegen/atm_gcc_atomic.h', - 'include/grpc/impl/codegen/atm_gcc_sync.h', - 'include/grpc/impl/codegen/atm_windows.h', - 'include/grpc/impl/codegen/fork.h', - 'include/grpc/impl/codegen/gpr_slice.h', - 'include/grpc/impl/codegen/gpr_types.h', - 'include/grpc/impl/codegen/port_platform.h', - 'include/grpc/impl/codegen/sync.h', - 'include/grpc/impl/codegen/sync_custom.h', - 'include/grpc/impl/codegen/sync_generic.h', - 'include/grpc/impl/codegen/sync_posix.h', - 'include/grpc/impl/codegen/sync_windows.h', - 'include/grpc/byte_buffer.h', - 'include/grpc/byte_buffer_reader.h', - 'include/grpc/compression.h', - 'include/grpc/fork.h', - 'include/grpc/grpc.h', - 'include/grpc/grpc_posix.h', - 'include/grpc/grpc_security_constants.h', - 'include/grpc/load_reporting.h', - 'include/grpc/slice.h', - 'include/grpc/slice_buffer.h', - 'include/grpc/status.h', - 'include/grpc/support/workaround_list.h', - 'include/grpc/grpc_cronet.h', - 'include/grpc/grpc_security.h' + ss.source_files = 'include/grpc/grpc_cronet.h' end s.subspec 'Cronet-Implementation' do |ss| ss.header_mappings_dir = '.' - ss.libraries = 'z' + + ss.dependency "#{s.name}/Interface", version + ss.dependency "#{s.name}/Implementation", version ss.dependency "#{s.name}/Cronet-Interface", version - ss.dependency 'BoringSSL', '~> 10.0' - ss.dependency 'nanopb', '~> 0.3' - ss.source_files = 'src/core/lib/gpr/arena.h', - 'src/core/lib/gpr/env.h', - 'src/core/lib/gpr/fork.h', - 'src/core/lib/gpr/host_port.h', - 'src/core/lib/gpr/mpscq.h', - 'src/core/lib/gpr/murmur_hash.h', - 'src/core/lib/gpr/spinlock.h', - 'src/core/lib/gpr/string.h', - 'src/core/lib/gpr/string_windows.h', - 'src/core/lib/gpr/time_precise.h', - 'src/core/lib/gpr/tls.h', - 'src/core/lib/gpr/tls_gcc.h', - 'src/core/lib/gpr/tls_msvc.h', - 'src/core/lib/gpr/tls_pthread.h', - 'src/core/lib/gpr/tmpfile.h', - 'src/core/lib/gpr/useful.h', - 'src/core/lib/gprpp/abstract.h', - 'src/core/lib/gprpp/atomic.h', - 'src/core/lib/gprpp/atomic_with_atm.h', - 'src/core/lib/gprpp/atomic_with_std.h', - 'src/core/lib/gprpp/manual_constructor.h', - 'src/core/lib/gprpp/memory.h', - 'src/core/lib/gprpp/thd.h', - 'src/core/lib/profiling/timers.h', - 'src/core/lib/gpr/alloc.cc', - 'src/core/lib/gpr/arena.cc', - 'src/core/lib/gpr/atm.cc', - 'src/core/lib/gpr/cpu_iphone.cc', - 'src/core/lib/gpr/cpu_linux.cc', - 'src/core/lib/gpr/cpu_posix.cc', - 'src/core/lib/gpr/cpu_windows.cc', - 'src/core/lib/gpr/env_linux.cc', - 'src/core/lib/gpr/env_posix.cc', - 'src/core/lib/gpr/env_windows.cc', - 'src/core/lib/gpr/fork.cc', - 'src/core/lib/gpr/host_port.cc', - 'src/core/lib/gpr/log.cc', - 'src/core/lib/gpr/log_android.cc', - 'src/core/lib/gpr/log_linux.cc', - 'src/core/lib/gpr/log_posix.cc', - 'src/core/lib/gpr/log_windows.cc', - 'src/core/lib/gpr/mpscq.cc', - 'src/core/lib/gpr/murmur_hash.cc', - 'src/core/lib/gpr/string.cc', - 'src/core/lib/gpr/string_posix.cc', - 'src/core/lib/gpr/string_util_windows.cc', - 'src/core/lib/gpr/string_windows.cc', - 'src/core/lib/gpr/sync.cc', - 'src/core/lib/gpr/sync_posix.cc', - 'src/core/lib/gpr/sync_windows.cc', - 'src/core/lib/gpr/time.cc', - 'src/core/lib/gpr/time_posix.cc', - 'src/core/lib/gpr/time_precise.cc', - 'src/core/lib/gpr/time_windows.cc', - 'src/core/lib/gpr/tls_pthread.cc', - 'src/core/lib/gpr/tmpfile_msys.cc', - 'src/core/lib/gpr/tmpfile_posix.cc', - 'src/core/lib/gpr/tmpfile_windows.cc', - 'src/core/lib/gpr/wrap_memcpy.cc', - 'src/core/lib/gprpp/thd_posix.cc', - 'src/core/lib/gprpp/thd_windows.cc', - 'src/core/lib/profiling/basic_timers.cc', - 'src/core/lib/profiling/stap_timers.cc', - 'src/core/lib/avl/avl.h', - 'src/core/lib/backoff/backoff.h', - 'src/core/lib/channel/channel_args.h', - 'src/core/lib/channel/channel_stack.h', - 'src/core/lib/channel/channel_stack_builder.h', - 'src/core/lib/channel/channel_trace.h', - 'src/core/lib/channel/channel_trace_registry.h', - 'src/core/lib/channel/connected_channel.h', - 'src/core/lib/channel/context.h', - 'src/core/lib/channel/handshaker.h', - 'src/core/lib/channel/handshaker_factory.h', - 'src/core/lib/channel/handshaker_registry.h', - 'src/core/lib/channel/status_util.h', - 'src/core/lib/compression/algorithm_metadata.h', - 'src/core/lib/compression/compression_internal.h', - 'src/core/lib/compression/message_compress.h', - 'src/core/lib/compression/stream_compression.h', - 'src/core/lib/compression/stream_compression_gzip.h', - 'src/core/lib/compression/stream_compression_identity.h', - 'src/core/lib/debug/stats.h', - 'src/core/lib/debug/stats_data.h', - 'src/core/lib/gprpp/debug_location.h', - 'src/core/lib/gprpp/inlined_vector.h', - 'src/core/lib/gprpp/orphanable.h', - 'src/core/lib/gprpp/ref_counted.h', - 'src/core/lib/gprpp/ref_counted_ptr.h', - 'src/core/lib/http/format_request.h', - 'src/core/lib/http/httpcli.h', - 'src/core/lib/http/parser.h', - 'src/core/lib/iomgr/block_annotate.h', - 'src/core/lib/iomgr/call_combiner.h', - 'src/core/lib/iomgr/closure.h', - 'src/core/lib/iomgr/combiner.h', - 'src/core/lib/iomgr/endpoint.h', - 'src/core/lib/iomgr/endpoint_pair.h', - 'src/core/lib/iomgr/error.h', - 'src/core/lib/iomgr/error_internal.h', - 'src/core/lib/iomgr/ev_epoll1_linux.h', - 'src/core/lib/iomgr/ev_epollex_linux.h', - 'src/core/lib/iomgr/ev_epollsig_linux.h', - 'src/core/lib/iomgr/ev_poll_posix.h', - 'src/core/lib/iomgr/ev_posix.h', - 'src/core/lib/iomgr/exec_ctx.h', - 'src/core/lib/iomgr/executor.h', - 'src/core/lib/iomgr/gethostname.h', - 'src/core/lib/iomgr/iocp_windows.h', - 'src/core/lib/iomgr/iomgr.h', - 'src/core/lib/iomgr/iomgr_custom.h', - 'src/core/lib/iomgr/iomgr_internal.h', - 'src/core/lib/iomgr/iomgr_posix.h', - 'src/core/lib/iomgr/is_epollexclusive_available.h', - 'src/core/lib/iomgr/load_file.h', - 'src/core/lib/iomgr/lockfree_event.h', - 'src/core/lib/iomgr/nameser.h', - 'src/core/lib/iomgr/network_status_tracker.h', - 'src/core/lib/iomgr/polling_entity.h', - 'src/core/lib/iomgr/pollset.h', - 'src/core/lib/iomgr/pollset_custom.h', - 'src/core/lib/iomgr/pollset_set.h', - 'src/core/lib/iomgr/pollset_set_custom.h', - 'src/core/lib/iomgr/pollset_set_windows.h', - 'src/core/lib/iomgr/pollset_windows.h', - 'src/core/lib/iomgr/port.h', - 'src/core/lib/iomgr/resolve_address.h', - 'src/core/lib/iomgr/resolve_address_custom.h', - 'src/core/lib/iomgr/resource_quota.h', - 'src/core/lib/iomgr/sockaddr.h', - 'src/core/lib/iomgr/sockaddr_custom.h', - 'src/core/lib/iomgr/sockaddr_posix.h', - 'src/core/lib/iomgr/sockaddr_utils.h', - 'src/core/lib/iomgr/sockaddr_windows.h', - 'src/core/lib/iomgr/socket_factory_posix.h', - 'src/core/lib/iomgr/socket_mutator.h', - 'src/core/lib/iomgr/socket_utils.h', - 'src/core/lib/iomgr/socket_utils_posix.h', - 'src/core/lib/iomgr/socket_windows.h', - 'src/core/lib/iomgr/sys_epoll_wrapper.h', - 'src/core/lib/iomgr/tcp_client.h', - 'src/core/lib/iomgr/tcp_client_posix.h', - 'src/core/lib/iomgr/tcp_custom.h', - 'src/core/lib/iomgr/tcp_posix.h', - 'src/core/lib/iomgr/tcp_server.h', - 'src/core/lib/iomgr/tcp_server_utils_posix.h', - 'src/core/lib/iomgr/tcp_windows.h', - 'src/core/lib/iomgr/time_averaged_stats.h', - 'src/core/lib/iomgr/timer.h', - 'src/core/lib/iomgr/timer_custom.h', - 'src/core/lib/iomgr/timer_heap.h', - 'src/core/lib/iomgr/timer_manager.h', - 'src/core/lib/iomgr/udp_server.h', - 'src/core/lib/iomgr/unix_sockets_posix.h', - 'src/core/lib/iomgr/wakeup_fd_cv.h', - 'src/core/lib/iomgr/wakeup_fd_pipe.h', - 'src/core/lib/iomgr/wakeup_fd_posix.h', - 'src/core/lib/json/json.h', - 'src/core/lib/json/json_common.h', - 'src/core/lib/json/json_reader.h', - 'src/core/lib/json/json_writer.h', - 'src/core/lib/slice/b64.h', - 'src/core/lib/slice/percent_encoding.h', - 'src/core/lib/slice/slice_hash_table.h', - 'src/core/lib/slice/slice_internal.h', - 'src/core/lib/slice/slice_string_helpers.h', - 'src/core/lib/slice/slice_weak_hash_table.h', - 'src/core/lib/surface/api_trace.h', - 'src/core/lib/surface/call.h', - 'src/core/lib/surface/call_test_only.h', - 'src/core/lib/surface/channel.h', - 'src/core/lib/surface/channel_init.h', - 'src/core/lib/surface/channel_stack_type.h', - 'src/core/lib/surface/completion_queue.h', - 'src/core/lib/surface/completion_queue_factory.h', - 'src/core/lib/surface/event_string.h', - 'src/core/lib/surface/init.h', - 'src/core/lib/surface/lame_client.h', - 'src/core/lib/surface/server.h', - 'src/core/lib/surface/validate_metadata.h', - 'src/core/lib/transport/bdp_estimator.h', - 'src/core/lib/transport/byte_stream.h', - 'src/core/lib/transport/connectivity_state.h', - 'src/core/lib/transport/error_utils.h', - 'src/core/lib/transport/http2_errors.h', - 'src/core/lib/transport/metadata.h', - 'src/core/lib/transport/metadata_batch.h', - 'src/core/lib/transport/pid_controller.h', - 'src/core/lib/transport/service_config.h', - 'src/core/lib/transport/static_metadata.h', - 'src/core/lib/transport/status_conversion.h', - 'src/core/lib/transport/status_metadata.h', - 'src/core/lib/transport/timeout_encoding.h', - 'src/core/lib/transport/transport.h', - 'src/core/lib/transport/transport_impl.h', - 'src/core/lib/debug/trace.h', - 'src/core/ext/filters/deadline/deadline_filter.h', - 'src/core/ext/filters/client_channel/backup_poller.h', - 'src/core/ext/filters/client_channel/client_channel.h', - 'src/core/ext/filters/client_channel/client_channel_factory.h', - 'src/core/ext/filters/client_channel/connector.h', - 'src/core/ext/filters/client_channel/http_connect_handshaker.h', - 'src/core/ext/filters/client_channel/http_proxy.h', - 'src/core/ext/filters/client_channel/lb_policy.h', - 'src/core/ext/filters/client_channel/lb_policy_factory.h', - 'src/core/ext/filters/client_channel/lb_policy_registry.h', - 'src/core/ext/filters/client_channel/method_params.h', - 'src/core/ext/filters/client_channel/parse_address.h', - 'src/core/ext/filters/client_channel/proxy_mapper.h', - 'src/core/ext/filters/client_channel/proxy_mapper_registry.h', - 'src/core/ext/filters/client_channel/resolver.h', - 'src/core/ext/filters/client_channel/resolver_factory.h', - 'src/core/ext/filters/client_channel/resolver_registry.h', - 'src/core/ext/filters/client_channel/retry_throttle.h', - 'src/core/ext/filters/client_channel/subchannel.h', - 'src/core/ext/filters/client_channel/subchannel_index.h', - 'src/core/ext/filters/client_channel/uri_parser.h', - 'src/core/ext/filters/client_channel/lb_policy/subchannel_list.h', - 'src/core/ext/filters/max_age/max_age_filter.h', - 'src/core/ext/filters/message_size/message_size_filter.h', - 'src/core/ext/filters/load_reporting/server_load_reporting_filter.h', - 'src/core/ext/filters/load_reporting/server_load_reporting_plugin.h', + ss.source_files = 'src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc', + 'src/core/ext/transport/cronet/transport/cronet_transport.cc', + 'third_party/nanopb/pb_common.c', + 'third_party/nanopb/pb_decode.c', + 'third_party/nanopb/pb_encode.c', 'src/core/ext/transport/cronet/transport/cronet_transport.h', 'third_party/objective_c/Cronet/bidirectional_stream_c.h', - 'src/core/ext/transport/chttp2/transport/bin_decoder.h', - 'src/core/ext/transport/chttp2/transport/bin_encoder.h', - 'src/core/ext/transport/chttp2/transport/chttp2_transport.h', - 'src/core/ext/transport/chttp2/transport/flow_control.h', - 'src/core/ext/transport/chttp2/transport/frame.h', - 'src/core/ext/transport/chttp2/transport/frame_data.h', - 'src/core/ext/transport/chttp2/transport/frame_goaway.h', - 'src/core/ext/transport/chttp2/transport/frame_ping.h', - 'src/core/ext/transport/chttp2/transport/frame_rst_stream.h', - 'src/core/ext/transport/chttp2/transport/frame_settings.h', - 'src/core/ext/transport/chttp2/transport/frame_window_update.h', - 'src/core/ext/transport/chttp2/transport/hpack_encoder.h', - 'src/core/ext/transport/chttp2/transport/hpack_parser.h', - 'src/core/ext/transport/chttp2/transport/hpack_table.h', - 'src/core/ext/transport/chttp2/transport/http2_settings.h', - 'src/core/ext/transport/chttp2/transport/huffsyms.h', - 'src/core/ext/transport/chttp2/transport/incoming_metadata.h', - 'src/core/ext/transport/chttp2/transport/internal.h', - 'src/core/ext/transport/chttp2/transport/stream_map.h', - 'src/core/ext/transport/chttp2/transport/varint.h', - 'src/core/ext/transport/chttp2/alpn/alpn.h', - 'src/core/ext/filters/http/client/http_client_filter.h', - 'src/core/ext/filters/http/message_compress/message_compress_filter.h', - 'src/core/ext/filters/http/server/http_server_filter.h', - 'src/core/lib/security/context/security_context.h', - 'src/core/lib/security/credentials/alts/alts_credentials.h', - 'src/core/lib/security/credentials/composite/composite_credentials.h', - 'src/core/lib/security/credentials/credentials.h', - 'src/core/lib/security/credentials/fake/fake_credentials.h', - 'src/core/lib/security/credentials/google_default/google_default_credentials.h', - 'src/core/lib/security/credentials/iam/iam_credentials.h', - 'src/core/lib/security/credentials/jwt/json_token.h', - 'src/core/lib/security/credentials/jwt/jwt_credentials.h', - 'src/core/lib/security/credentials/jwt/jwt_verifier.h', - 'src/core/lib/security/credentials/oauth2/oauth2_credentials.h', - 'src/core/lib/security/credentials/plugin/plugin_credentials.h', - 'src/core/lib/security/credentials/ssl/ssl_credentials.h', - 'src/core/lib/security/security_connector/alts_security_connector.h', - 'src/core/lib/security/security_connector/security_connector.h', - 'src/core/lib/security/transport/auth_filters.h', - 'src/core/lib/security/transport/secure_endpoint.h', - 'src/core/lib/security/transport/security_handshaker.h', - 'src/core/lib/security/transport/target_authority_table.h', - 'src/core/lib/security/transport/tsi_error.h', - 'src/core/lib/security/util/json_util.h', - 'src/core/tsi/alts/crypt/gsec.h', - 'src/core/tsi/alts/frame_protector/alts_counter.h', - 'src/core/tsi/alts/frame_protector/alts_crypter.h', - 'src/core/tsi/alts/frame_protector/alts_frame_protector.h', - 'src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.h', - 'src/core/tsi/alts/frame_protector/frame_handler.h', - 'src/core/tsi/alts/handshaker/alts_handshaker_client.h', - 'src/core/tsi/alts/handshaker/alts_tsi_event.h', - 'src/core/tsi/alts/handshaker/alts_tsi_handshaker.h', - 'src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h', - 'src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h', - 'src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h', - 'src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h', - 'src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h', - 'src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h', - 'src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h', - 'src/core/lib/security/credentials/alts/check_gcp_environment.h', - 'src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h', - 'src/core/tsi/alts/handshaker/alts_handshaker_service_api.h', - 'src/core/tsi/alts/handshaker/alts_handshaker_service_api_util.h', - 'src/core/tsi/alts/handshaker/alts_tsi_utils.h', - 'src/core/tsi/alts/handshaker/transport_security_common_api.h', - 'src/core/tsi/alts/handshaker/altscontext.pb.h', - 'src/core/tsi/alts/handshaker/handshaker.pb.h', - 'src/core/tsi/alts/handshaker/transport_security_common.pb.h', 'third_party/nanopb/pb.h', 'third_party/nanopb/pb_common.h', 'third_party/nanopb/pb_decode.h', - 'third_party/nanopb/pb_encode.h', - 'src/core/tsi/transport_security.h', - 'src/core/tsi/transport_security_adapter.h', - 'src/core/tsi/transport_security_interface.h', - 'src/core/ext/transport/chttp2/client/authority.h', - 'src/core/ext/transport/chttp2/client/chttp2_connector.h', - 'src/core/tsi/alts_transport_security.h', - 'src/core/tsi/fake_transport_security.h', - 'src/core/tsi/ssl/session_cache/ssl_session.h', - 'src/core/tsi/ssl/session_cache/ssl_session_cache.h', - 'src/core/tsi/ssl_transport_security.h', - 'src/core/tsi/ssl_types.h', - 'src/core/tsi/transport_security_grpc.h', - 'src/core/ext/transport/chttp2/server/chttp2_server.h', - 'src/core/lib/surface/init.cc', - 'src/core/lib/avl/avl.cc', - 'src/core/lib/backoff/backoff.cc', - 'src/core/lib/channel/channel_args.cc', - 'src/core/lib/channel/channel_stack.cc', - 'src/core/lib/channel/channel_stack_builder.cc', - 'src/core/lib/channel/channel_trace.cc', - 'src/core/lib/channel/channel_trace_registry.cc', - 'src/core/lib/channel/connected_channel.cc', - 'src/core/lib/channel/handshaker.cc', - 'src/core/lib/channel/handshaker_factory.cc', - 'src/core/lib/channel/handshaker_registry.cc', - 'src/core/lib/channel/status_util.cc', - 'src/core/lib/compression/compression.cc', - 'src/core/lib/compression/compression_internal.cc', - 'src/core/lib/compression/message_compress.cc', - 'src/core/lib/compression/stream_compression.cc', - 'src/core/lib/compression/stream_compression_gzip.cc', - 'src/core/lib/compression/stream_compression_identity.cc', - 'src/core/lib/debug/stats.cc', - 'src/core/lib/debug/stats_data.cc', - 'src/core/lib/http/format_request.cc', - 'src/core/lib/http/httpcli.cc', - 'src/core/lib/http/parser.cc', - 'src/core/lib/iomgr/call_combiner.cc', - 'src/core/lib/iomgr/combiner.cc', - 'src/core/lib/iomgr/endpoint.cc', - 'src/core/lib/iomgr/endpoint_pair_posix.cc', - 'src/core/lib/iomgr/endpoint_pair_uv.cc', - 'src/core/lib/iomgr/endpoint_pair_windows.cc', - 'src/core/lib/iomgr/error.cc', - 'src/core/lib/iomgr/ev_epoll1_linux.cc', - 'src/core/lib/iomgr/ev_epollex_linux.cc', - 'src/core/lib/iomgr/ev_epollsig_linux.cc', - 'src/core/lib/iomgr/ev_poll_posix.cc', - 'src/core/lib/iomgr/ev_posix.cc', - 'src/core/lib/iomgr/ev_windows.cc', - 'src/core/lib/iomgr/exec_ctx.cc', - 'src/core/lib/iomgr/executor.cc', - 'src/core/lib/iomgr/fork_posix.cc', - 'src/core/lib/iomgr/fork_windows.cc', - 'src/core/lib/iomgr/gethostname_fallback.cc', - 'src/core/lib/iomgr/gethostname_host_name_max.cc', - 'src/core/lib/iomgr/gethostname_sysconf.cc', - 'src/core/lib/iomgr/iocp_windows.cc', - 'src/core/lib/iomgr/iomgr.cc', - 'src/core/lib/iomgr/iomgr_custom.cc', - 'src/core/lib/iomgr/iomgr_internal.cc', - 'src/core/lib/iomgr/iomgr_posix.cc', - 'src/core/lib/iomgr/iomgr_uv.cc', - 'src/core/lib/iomgr/iomgr_windows.cc', - 'src/core/lib/iomgr/is_epollexclusive_available.cc', - 'src/core/lib/iomgr/load_file.cc', - 'src/core/lib/iomgr/lockfree_event.cc', - 'src/core/lib/iomgr/network_status_tracker.cc', - 'src/core/lib/iomgr/polling_entity.cc', - 'src/core/lib/iomgr/pollset.cc', - 'src/core/lib/iomgr/pollset_custom.cc', - 'src/core/lib/iomgr/pollset_set.cc', - 'src/core/lib/iomgr/pollset_set_custom.cc', - 'src/core/lib/iomgr/pollset_set_windows.cc', - 'src/core/lib/iomgr/pollset_uv.cc', - 'src/core/lib/iomgr/pollset_windows.cc', - 'src/core/lib/iomgr/resolve_address.cc', - 'src/core/lib/iomgr/resolve_address_custom.cc', - 'src/core/lib/iomgr/resolve_address_posix.cc', - 'src/core/lib/iomgr/resolve_address_windows.cc', - 'src/core/lib/iomgr/resource_quota.cc', - 'src/core/lib/iomgr/sockaddr_utils.cc', - 'src/core/lib/iomgr/socket_factory_posix.cc', - 'src/core/lib/iomgr/socket_mutator.cc', - 'src/core/lib/iomgr/socket_utils_common_posix.cc', - 'src/core/lib/iomgr/socket_utils_linux.cc', - 'src/core/lib/iomgr/socket_utils_posix.cc', - 'src/core/lib/iomgr/socket_utils_uv.cc', - 'src/core/lib/iomgr/socket_utils_windows.cc', - 'src/core/lib/iomgr/socket_windows.cc', - 'src/core/lib/iomgr/tcp_client.cc', - 'src/core/lib/iomgr/tcp_client_custom.cc', - 'src/core/lib/iomgr/tcp_client_posix.cc', - 'src/core/lib/iomgr/tcp_client_windows.cc', - 'src/core/lib/iomgr/tcp_custom.cc', - 'src/core/lib/iomgr/tcp_posix.cc', - 'src/core/lib/iomgr/tcp_server.cc', - 'src/core/lib/iomgr/tcp_server_custom.cc', - 'src/core/lib/iomgr/tcp_server_posix.cc', - 'src/core/lib/iomgr/tcp_server_utils_posix_common.cc', - 'src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc', - 'src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc', - 'src/core/lib/iomgr/tcp_server_windows.cc', - 'src/core/lib/iomgr/tcp_uv.cc', - 'src/core/lib/iomgr/tcp_windows.cc', - 'src/core/lib/iomgr/time_averaged_stats.cc', - 'src/core/lib/iomgr/timer.cc', - 'src/core/lib/iomgr/timer_custom.cc', - 'src/core/lib/iomgr/timer_generic.cc', - 'src/core/lib/iomgr/timer_heap.cc', - 'src/core/lib/iomgr/timer_manager.cc', - 'src/core/lib/iomgr/timer_uv.cc', - 'src/core/lib/iomgr/udp_server.cc', - 'src/core/lib/iomgr/unix_sockets_posix.cc', - 'src/core/lib/iomgr/unix_sockets_posix_noop.cc', - 'src/core/lib/iomgr/wakeup_fd_cv.cc', - 'src/core/lib/iomgr/wakeup_fd_eventfd.cc', - 'src/core/lib/iomgr/wakeup_fd_nospecial.cc', - 'src/core/lib/iomgr/wakeup_fd_pipe.cc', - 'src/core/lib/iomgr/wakeup_fd_posix.cc', - 'src/core/lib/json/json.cc', - 'src/core/lib/json/json_reader.cc', - 'src/core/lib/json/json_string.cc', - 'src/core/lib/json/json_writer.cc', - 'src/core/lib/slice/b64.cc', - 'src/core/lib/slice/percent_encoding.cc', - 'src/core/lib/slice/slice.cc', - 'src/core/lib/slice/slice_buffer.cc', - 'src/core/lib/slice/slice_intern.cc', - 'src/core/lib/slice/slice_string_helpers.cc', - 'src/core/lib/surface/api_trace.cc', - 'src/core/lib/surface/byte_buffer.cc', - 'src/core/lib/surface/byte_buffer_reader.cc', - 'src/core/lib/surface/call.cc', - 'src/core/lib/surface/call_details.cc', - 'src/core/lib/surface/call_log_batch.cc', - 'src/core/lib/surface/channel.cc', - 'src/core/lib/surface/channel_init.cc', - 'src/core/lib/surface/channel_ping.cc', - 'src/core/lib/surface/channel_stack_type.cc', - 'src/core/lib/surface/completion_queue.cc', - 'src/core/lib/surface/completion_queue_factory.cc', - 'src/core/lib/surface/event_string.cc', - 'src/core/lib/surface/lame_client.cc', - 'src/core/lib/surface/metadata_array.cc', - 'src/core/lib/surface/server.cc', - 'src/core/lib/surface/validate_metadata.cc', - 'src/core/lib/surface/version.cc', - 'src/core/lib/transport/bdp_estimator.cc', - 'src/core/lib/transport/byte_stream.cc', - 'src/core/lib/transport/connectivity_state.cc', - 'src/core/lib/transport/error_utils.cc', - 'src/core/lib/transport/metadata.cc', - 'src/core/lib/transport/metadata_batch.cc', - 'src/core/lib/transport/pid_controller.cc', - 'src/core/lib/transport/service_config.cc', - 'src/core/lib/transport/static_metadata.cc', - 'src/core/lib/transport/status_conversion.cc', - 'src/core/lib/transport/status_metadata.cc', - 'src/core/lib/transport/timeout_encoding.cc', - 'src/core/lib/transport/transport.cc', - 'src/core/lib/transport/transport_op_string.cc', - 'src/core/lib/debug/trace.cc', - 'src/core/ext/filters/deadline/deadline_filter.cc', - 'src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc', - 'src/core/ext/filters/client_channel/backup_poller.cc', - 'src/core/ext/filters/client_channel/channel_connectivity.cc', - 'src/core/ext/filters/client_channel/client_channel.cc', - 'src/core/ext/filters/client_channel/client_channel_factory.cc', - 'src/core/ext/filters/client_channel/client_channel_plugin.cc', - 'src/core/ext/filters/client_channel/connector.cc', - 'src/core/ext/filters/client_channel/http_connect_handshaker.cc', - 'src/core/ext/filters/client_channel/http_proxy.cc', - 'src/core/ext/filters/client_channel/lb_policy.cc', - 'src/core/ext/filters/client_channel/lb_policy_factory.cc', - 'src/core/ext/filters/client_channel/lb_policy_registry.cc', - 'src/core/ext/filters/client_channel/method_params.cc', - 'src/core/ext/filters/client_channel/parse_address.cc', - 'src/core/ext/filters/client_channel/proxy_mapper.cc', - 'src/core/ext/filters/client_channel/proxy_mapper_registry.cc', - 'src/core/ext/filters/client_channel/resolver.cc', - 'src/core/ext/filters/client_channel/resolver_registry.cc', - 'src/core/ext/filters/client_channel/retry_throttle.cc', - 'src/core/ext/filters/client_channel/subchannel.cc', - 'src/core/ext/filters/client_channel/subchannel_index.cc', - 'src/core/ext/filters/client_channel/uri_parser.cc', - 'src/core/ext/filters/max_age/max_age_filter.cc', - 'src/core/ext/filters/message_size/message_size_filter.cc', - 'src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc', - 'src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc', - 'src/core/ext/filters/load_reporting/server_load_reporting_filter.cc', - 'src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc', - 'src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc', - 'src/core/ext/transport/cronet/transport/cronet_transport.cc', - 'src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc', - 'src/core/ext/transport/chttp2/transport/bin_decoder.cc', - 'src/core/ext/transport/chttp2/transport/bin_encoder.cc', - 'src/core/ext/transport/chttp2/transport/chttp2_plugin.cc', - 'src/core/ext/transport/chttp2/transport/chttp2_transport.cc', - 'src/core/ext/transport/chttp2/transport/flow_control.cc', - 'src/core/ext/transport/chttp2/transport/frame_data.cc', - 'src/core/ext/transport/chttp2/transport/frame_goaway.cc', - 'src/core/ext/transport/chttp2/transport/frame_ping.cc', - 'src/core/ext/transport/chttp2/transport/frame_rst_stream.cc', - 'src/core/ext/transport/chttp2/transport/frame_settings.cc', - 'src/core/ext/transport/chttp2/transport/frame_window_update.cc', - 'src/core/ext/transport/chttp2/transport/hpack_encoder.cc', - 'src/core/ext/transport/chttp2/transport/hpack_parser.cc', - 'src/core/ext/transport/chttp2/transport/hpack_table.cc', - 'src/core/ext/transport/chttp2/transport/http2_settings.cc', - 'src/core/ext/transport/chttp2/transport/huffsyms.cc', - 'src/core/ext/transport/chttp2/transport/incoming_metadata.cc', - 'src/core/ext/transport/chttp2/transport/parsing.cc', - 'src/core/ext/transport/chttp2/transport/stream_lists.cc', - 'src/core/ext/transport/chttp2/transport/stream_map.cc', - 'src/core/ext/transport/chttp2/transport/varint.cc', - 'src/core/ext/transport/chttp2/transport/writing.cc', - 'src/core/ext/transport/chttp2/alpn/alpn.cc', - 'src/core/ext/filters/http/client/http_client_filter.cc', - 'src/core/ext/filters/http/http_filters_plugin.cc', - 'src/core/ext/filters/http/message_compress/message_compress_filter.cc', - 'src/core/ext/filters/http/server/http_server_filter.cc', - 'src/core/lib/http/httpcli_security_connector.cc', - 'src/core/lib/security/context/security_context.cc', - 'src/core/lib/security/credentials/alts/alts_credentials.cc', - 'src/core/lib/security/credentials/composite/composite_credentials.cc', - 'src/core/lib/security/credentials/credentials.cc', - 'src/core/lib/security/credentials/credentials_metadata.cc', - 'src/core/lib/security/credentials/fake/fake_credentials.cc', - 'src/core/lib/security/credentials/google_default/credentials_generic.cc', - 'src/core/lib/security/credentials/google_default/google_default_credentials.cc', - 'src/core/lib/security/credentials/iam/iam_credentials.cc', - 'src/core/lib/security/credentials/jwt/json_token.cc', - 'src/core/lib/security/credentials/jwt/jwt_credentials.cc', - 'src/core/lib/security/credentials/jwt/jwt_verifier.cc', - 'src/core/lib/security/credentials/oauth2/oauth2_credentials.cc', - 'src/core/lib/security/credentials/plugin/plugin_credentials.cc', - 'src/core/lib/security/credentials/ssl/ssl_credentials.cc', - 'src/core/lib/security/security_connector/alts_security_connector.cc', - 'src/core/lib/security/security_connector/security_connector.cc', - 'src/core/lib/security/transport/client_auth_filter.cc', - 'src/core/lib/security/transport/secure_endpoint.cc', - 'src/core/lib/security/transport/security_handshaker.cc', - 'src/core/lib/security/transport/server_auth_filter.cc', - 'src/core/lib/security/transport/target_authority_table.cc', - 'src/core/lib/security/transport/tsi_error.cc', - 'src/core/lib/security/util/json_util.cc', - 'src/core/lib/surface/init_secure.cc', - 'src/core/tsi/alts/crypt/aes_gcm.cc', - 'src/core/tsi/alts/crypt/gsec.cc', - 'src/core/tsi/alts/frame_protector/alts_counter.cc', - 'src/core/tsi/alts/frame_protector/alts_crypter.cc', - 'src/core/tsi/alts/frame_protector/alts_frame_protector.cc', - 'src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc', - 'src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc', - 'src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc', - 'src/core/tsi/alts/frame_protector/frame_handler.cc', - 'src/core/tsi/alts/handshaker/alts_handshaker_client.cc', - 'src/core/tsi/alts/handshaker/alts_tsi_event.cc', - 'src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc', - 'src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc', - 'src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc', - 'src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc', - 'src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc', - 'src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc', - 'src/core/lib/security/credentials/alts/check_gcp_environment.cc', - 'src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc', - 'src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc', - 'src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc', - 'src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc', - 'src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc', - 'src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc', - 'src/core/tsi/alts/handshaker/alts_handshaker_service_api.cc', - 'src/core/tsi/alts/handshaker/alts_handshaker_service_api_util.cc', - 'src/core/tsi/alts/handshaker/alts_tsi_utils.cc', - 'src/core/tsi/alts/handshaker/transport_security_common_api.cc', - 'src/core/tsi/alts/handshaker/altscontext.pb.c', - 'src/core/tsi/alts/handshaker/handshaker.pb.c', - 'src/core/tsi/alts/handshaker/transport_security_common.pb.c', - 'third_party/nanopb/pb_common.c', - 'third_party/nanopb/pb_decode.c', - 'third_party/nanopb/pb_encode.c', - 'src/core/tsi/transport_security.cc', - 'src/core/tsi/transport_security_adapter.cc', - 'src/core/ext/transport/chttp2/client/insecure/channel_create.cc', - 'src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc', - 'src/core/ext/transport/chttp2/client/authority.cc', - 'src/core/ext/transport/chttp2/client/chttp2_connector.cc', - 'src/core/tsi/alts_transport_security.cc', - 'src/core/tsi/fake_transport_security.cc', - 'src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc', - 'src/core/tsi/ssl/session_cache/ssl_session_cache.cc', - 'src/core/tsi/ssl/session_cache/ssl_session_openssl.cc', - 'src/core/tsi/ssl_transport_security.cc', - 'src/core/tsi/transport_security_grpc.cc', - 'src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc', - 'src/core/ext/transport/chttp2/server/chttp2_server.cc', - 'src/core/plugin_registry/grpc_cronet_plugin_registry.cc' - - ss.private_header_files = 'src/core/lib/gpr/arena.h', - 'src/core/lib/gpr/env.h', - 'src/core/lib/gpr/fork.h', - 'src/core/lib/gpr/host_port.h', - 'src/core/lib/gpr/mpscq.h', - 'src/core/lib/gpr/murmur_hash.h', - 'src/core/lib/gpr/spinlock.h', - 'src/core/lib/gpr/string.h', - 'src/core/lib/gpr/string_windows.h', - 'src/core/lib/gpr/time_precise.h', - 'src/core/lib/gpr/tls.h', - 'src/core/lib/gpr/tls_gcc.h', - 'src/core/lib/gpr/tls_msvc.h', - 'src/core/lib/gpr/tls_pthread.h', - 'src/core/lib/gpr/tmpfile.h', - 'src/core/lib/gpr/useful.h', - 'src/core/lib/gprpp/abstract.h', - 'src/core/lib/gprpp/atomic.h', - 'src/core/lib/gprpp/atomic_with_atm.h', - 'src/core/lib/gprpp/atomic_with_std.h', - 'src/core/lib/gprpp/manual_constructor.h', - 'src/core/lib/gprpp/memory.h', - 'src/core/lib/gprpp/thd.h', - 'src/core/lib/profiling/timers.h', - 'src/core/lib/avl/avl.h', - 'src/core/lib/backoff/backoff.h', - 'src/core/lib/channel/channel_args.h', - 'src/core/lib/channel/channel_stack.h', - 'src/core/lib/channel/channel_stack_builder.h', - 'src/core/lib/channel/channel_trace.h', - 'src/core/lib/channel/channel_trace_registry.h', - 'src/core/lib/channel/connected_channel.h', - 'src/core/lib/channel/context.h', - 'src/core/lib/channel/handshaker.h', - 'src/core/lib/channel/handshaker_factory.h', - 'src/core/lib/channel/handshaker_registry.h', - 'src/core/lib/channel/status_util.h', - 'src/core/lib/compression/algorithm_metadata.h', - 'src/core/lib/compression/compression_internal.h', - 'src/core/lib/compression/message_compress.h', - 'src/core/lib/compression/stream_compression.h', - 'src/core/lib/compression/stream_compression_gzip.h', - 'src/core/lib/compression/stream_compression_identity.h', - 'src/core/lib/debug/stats.h', - 'src/core/lib/debug/stats_data.h', - 'src/core/lib/gprpp/debug_location.h', - 'src/core/lib/gprpp/inlined_vector.h', - 'src/core/lib/gprpp/orphanable.h', - 'src/core/lib/gprpp/ref_counted.h', - 'src/core/lib/gprpp/ref_counted_ptr.h', - 'src/core/lib/http/format_request.h', - 'src/core/lib/http/httpcli.h', - 'src/core/lib/http/parser.h', - 'src/core/lib/iomgr/block_annotate.h', - 'src/core/lib/iomgr/call_combiner.h', - 'src/core/lib/iomgr/closure.h', - 'src/core/lib/iomgr/combiner.h', - 'src/core/lib/iomgr/endpoint.h', - 'src/core/lib/iomgr/endpoint_pair.h', - 'src/core/lib/iomgr/error.h', - 'src/core/lib/iomgr/error_internal.h', - 'src/core/lib/iomgr/ev_epoll1_linux.h', - 'src/core/lib/iomgr/ev_epollex_linux.h', - 'src/core/lib/iomgr/ev_epollsig_linux.h', - 'src/core/lib/iomgr/ev_poll_posix.h', - 'src/core/lib/iomgr/ev_posix.h', - 'src/core/lib/iomgr/exec_ctx.h', - 'src/core/lib/iomgr/executor.h', - 'src/core/lib/iomgr/gethostname.h', - 'src/core/lib/iomgr/iocp_windows.h', - 'src/core/lib/iomgr/iomgr.h', - 'src/core/lib/iomgr/iomgr_custom.h', - 'src/core/lib/iomgr/iomgr_internal.h', - 'src/core/lib/iomgr/iomgr_posix.h', - 'src/core/lib/iomgr/is_epollexclusive_available.h', - 'src/core/lib/iomgr/load_file.h', - 'src/core/lib/iomgr/lockfree_event.h', - 'src/core/lib/iomgr/nameser.h', - 'src/core/lib/iomgr/network_status_tracker.h', - 'src/core/lib/iomgr/polling_entity.h', - 'src/core/lib/iomgr/pollset.h', - 'src/core/lib/iomgr/pollset_custom.h', - 'src/core/lib/iomgr/pollset_set.h', - 'src/core/lib/iomgr/pollset_set_custom.h', - 'src/core/lib/iomgr/pollset_set_windows.h', - 'src/core/lib/iomgr/pollset_windows.h', - 'src/core/lib/iomgr/port.h', - 'src/core/lib/iomgr/resolve_address.h', - 'src/core/lib/iomgr/resolve_address_custom.h', - 'src/core/lib/iomgr/resource_quota.h', - 'src/core/lib/iomgr/sockaddr.h', - 'src/core/lib/iomgr/sockaddr_custom.h', - 'src/core/lib/iomgr/sockaddr_posix.h', - 'src/core/lib/iomgr/sockaddr_utils.h', - 'src/core/lib/iomgr/sockaddr_windows.h', - 'src/core/lib/iomgr/socket_factory_posix.h', - 'src/core/lib/iomgr/socket_mutator.h', - 'src/core/lib/iomgr/socket_utils.h', - 'src/core/lib/iomgr/socket_utils_posix.h', - 'src/core/lib/iomgr/socket_windows.h', - 'src/core/lib/iomgr/sys_epoll_wrapper.h', - 'src/core/lib/iomgr/tcp_client.h', - 'src/core/lib/iomgr/tcp_client_posix.h', - 'src/core/lib/iomgr/tcp_custom.h', - 'src/core/lib/iomgr/tcp_posix.h', - 'src/core/lib/iomgr/tcp_server.h', - 'src/core/lib/iomgr/tcp_server_utils_posix.h', - 'src/core/lib/iomgr/tcp_windows.h', - 'src/core/lib/iomgr/time_averaged_stats.h', - 'src/core/lib/iomgr/timer.h', - 'src/core/lib/iomgr/timer_custom.h', - 'src/core/lib/iomgr/timer_heap.h', - 'src/core/lib/iomgr/timer_manager.h', - 'src/core/lib/iomgr/udp_server.h', - 'src/core/lib/iomgr/unix_sockets_posix.h', - 'src/core/lib/iomgr/wakeup_fd_cv.h', - 'src/core/lib/iomgr/wakeup_fd_pipe.h', - 'src/core/lib/iomgr/wakeup_fd_posix.h', - 'src/core/lib/json/json.h', - 'src/core/lib/json/json_common.h', - 'src/core/lib/json/json_reader.h', - 'src/core/lib/json/json_writer.h', - 'src/core/lib/slice/b64.h', - 'src/core/lib/slice/percent_encoding.h', - 'src/core/lib/slice/slice_hash_table.h', - 'src/core/lib/slice/slice_internal.h', - 'src/core/lib/slice/slice_string_helpers.h', - 'src/core/lib/slice/slice_weak_hash_table.h', - 'src/core/lib/surface/api_trace.h', - 'src/core/lib/surface/call.h', - 'src/core/lib/surface/call_test_only.h', - 'src/core/lib/surface/channel.h', - 'src/core/lib/surface/channel_init.h', - 'src/core/lib/surface/channel_stack_type.h', - 'src/core/lib/surface/completion_queue.h', - 'src/core/lib/surface/completion_queue_factory.h', - 'src/core/lib/surface/event_string.h', - 'src/core/lib/surface/init.h', - 'src/core/lib/surface/lame_client.h', - 'src/core/lib/surface/server.h', - 'src/core/lib/surface/validate_metadata.h', - 'src/core/lib/transport/bdp_estimator.h', - 'src/core/lib/transport/byte_stream.h', - 'src/core/lib/transport/connectivity_state.h', - 'src/core/lib/transport/error_utils.h', - 'src/core/lib/transport/http2_errors.h', - 'src/core/lib/transport/metadata.h', - 'src/core/lib/transport/metadata_batch.h', - 'src/core/lib/transport/pid_controller.h', - 'src/core/lib/transport/service_config.h', - 'src/core/lib/transport/static_metadata.h', - 'src/core/lib/transport/status_conversion.h', - 'src/core/lib/transport/status_metadata.h', - 'src/core/lib/transport/timeout_encoding.h', - 'src/core/lib/transport/transport.h', - 'src/core/lib/transport/transport_impl.h', - 'src/core/lib/debug/trace.h', - 'src/core/ext/filters/deadline/deadline_filter.h', - 'src/core/ext/filters/client_channel/backup_poller.h', - 'src/core/ext/filters/client_channel/client_channel.h', - 'src/core/ext/filters/client_channel/client_channel_factory.h', - 'src/core/ext/filters/client_channel/connector.h', - 'src/core/ext/filters/client_channel/http_connect_handshaker.h', - 'src/core/ext/filters/client_channel/http_proxy.h', - 'src/core/ext/filters/client_channel/lb_policy.h', - 'src/core/ext/filters/client_channel/lb_policy_factory.h', - 'src/core/ext/filters/client_channel/lb_policy_registry.h', - 'src/core/ext/filters/client_channel/method_params.h', - 'src/core/ext/filters/client_channel/parse_address.h', - 'src/core/ext/filters/client_channel/proxy_mapper.h', - 'src/core/ext/filters/client_channel/proxy_mapper_registry.h', - 'src/core/ext/filters/client_channel/resolver.h', - 'src/core/ext/filters/client_channel/resolver_factory.h', - 'src/core/ext/filters/client_channel/resolver_registry.h', - 'src/core/ext/filters/client_channel/retry_throttle.h', - 'src/core/ext/filters/client_channel/subchannel.h', - 'src/core/ext/filters/client_channel/subchannel_index.h', - 'src/core/ext/filters/client_channel/uri_parser.h', - 'src/core/ext/filters/client_channel/lb_policy/subchannel_list.h', - 'src/core/ext/filters/max_age/max_age_filter.h', - 'src/core/ext/filters/message_size/message_size_filter.h', - 'src/core/ext/filters/load_reporting/server_load_reporting_filter.h', - 'src/core/ext/filters/load_reporting/server_load_reporting_plugin.h', - 'src/core/ext/transport/cronet/transport/cronet_transport.h', - 'third_party/objective_c/Cronet/bidirectional_stream_c.h', - 'src/core/ext/transport/chttp2/transport/bin_decoder.h', - 'src/core/ext/transport/chttp2/transport/bin_encoder.h', - 'src/core/ext/transport/chttp2/transport/chttp2_transport.h', - 'src/core/ext/transport/chttp2/transport/flow_control.h', - 'src/core/ext/transport/chttp2/transport/frame.h', - 'src/core/ext/transport/chttp2/transport/frame_data.h', - 'src/core/ext/transport/chttp2/transport/frame_goaway.h', - 'src/core/ext/transport/chttp2/transport/frame_ping.h', - 'src/core/ext/transport/chttp2/transport/frame_rst_stream.h', - 'src/core/ext/transport/chttp2/transport/frame_settings.h', - 'src/core/ext/transport/chttp2/transport/frame_window_update.h', - 'src/core/ext/transport/chttp2/transport/hpack_encoder.h', - 'src/core/ext/transport/chttp2/transport/hpack_parser.h', - 'src/core/ext/transport/chttp2/transport/hpack_table.h', - 'src/core/ext/transport/chttp2/transport/http2_settings.h', - 'src/core/ext/transport/chttp2/transport/huffsyms.h', - 'src/core/ext/transport/chttp2/transport/incoming_metadata.h', - 'src/core/ext/transport/chttp2/transport/internal.h', - 'src/core/ext/transport/chttp2/transport/stream_map.h', - 'src/core/ext/transport/chttp2/transport/varint.h', - 'src/core/ext/transport/chttp2/alpn/alpn.h', - 'src/core/ext/filters/http/client/http_client_filter.h', - 'src/core/ext/filters/http/message_compress/message_compress_filter.h', - 'src/core/ext/filters/http/server/http_server_filter.h', - 'src/core/lib/security/context/security_context.h', - 'src/core/lib/security/credentials/alts/alts_credentials.h', - 'src/core/lib/security/credentials/composite/composite_credentials.h', - 'src/core/lib/security/credentials/credentials.h', - 'src/core/lib/security/credentials/fake/fake_credentials.h', - 'src/core/lib/security/credentials/google_default/google_default_credentials.h', - 'src/core/lib/security/credentials/iam/iam_credentials.h', - 'src/core/lib/security/credentials/jwt/json_token.h', - 'src/core/lib/security/credentials/jwt/jwt_credentials.h', - 'src/core/lib/security/credentials/jwt/jwt_verifier.h', - 'src/core/lib/security/credentials/oauth2/oauth2_credentials.h', - 'src/core/lib/security/credentials/plugin/plugin_credentials.h', - 'src/core/lib/security/credentials/ssl/ssl_credentials.h', - 'src/core/lib/security/security_connector/alts_security_connector.h', - 'src/core/lib/security/security_connector/security_connector.h', - 'src/core/lib/security/transport/auth_filters.h', - 'src/core/lib/security/transport/secure_endpoint.h', - 'src/core/lib/security/transport/security_handshaker.h', - 'src/core/lib/security/transport/target_authority_table.h', - 'src/core/lib/security/transport/tsi_error.h', - 'src/core/lib/security/util/json_util.h', - 'src/core/tsi/alts/crypt/gsec.h', - 'src/core/tsi/alts/frame_protector/alts_counter.h', - 'src/core/tsi/alts/frame_protector/alts_crypter.h', - 'src/core/tsi/alts/frame_protector/alts_frame_protector.h', - 'src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.h', - 'src/core/tsi/alts/frame_protector/frame_handler.h', - 'src/core/tsi/alts/handshaker/alts_handshaker_client.h', - 'src/core/tsi/alts/handshaker/alts_tsi_event.h', - 'src/core/tsi/alts/handshaker/alts_tsi_handshaker.h', - 'src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h', - 'src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h', - 'src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h', - 'src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h', - 'src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h', - 'src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h', - 'src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h', - 'src/core/lib/security/credentials/alts/check_gcp_environment.h', - 'src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h', - 'src/core/tsi/alts/handshaker/alts_handshaker_service_api.h', - 'src/core/tsi/alts/handshaker/alts_handshaker_service_api_util.h', - 'src/core/tsi/alts/handshaker/alts_tsi_utils.h', - 'src/core/tsi/alts/handshaker/transport_security_common_api.h', - 'src/core/tsi/alts/handshaker/altscontext.pb.h', - 'src/core/tsi/alts/handshaker/handshaker.pb.h', - 'src/core/tsi/alts/handshaker/transport_security_common.pb.h', - 'third_party/nanopb/pb.h', - 'third_party/nanopb/pb_common.h', - 'third_party/nanopb/pb_decode.h', - 'third_party/nanopb/pb_encode.h', - 'src/core/tsi/transport_security.h', - 'src/core/tsi/transport_security_adapter.h', - 'src/core/tsi/transport_security_interface.h', - 'src/core/ext/transport/chttp2/client/authority.h', - 'src/core/ext/transport/chttp2/client/chttp2_connector.h', - 'src/core/tsi/alts_transport_security.h', - 'src/core/tsi/fake_transport_security.h', - 'src/core/tsi/ssl/session_cache/ssl_session.h', - 'src/core/tsi/ssl/session_cache/ssl_session_cache.h', - 'src/core/tsi/ssl_transport_security.h', - 'src/core/tsi/ssl_types.h', - 'src/core/tsi/transport_security_grpc.h', - 'src/core/ext/transport/chttp2/server/chttp2_server.h' + 'third_party/nanopb/pb_encode.h' end - s.subspec 'Cronet-Tests' do |ss| + s.subspec 'Tests' do |ss| ss.header_mappings_dir = '.' - ss.dependency "#{s.name}/Cronet-Interface", version - ss.dependency "#{s.name}/Cronet-Implementation", version + ss.dependency "#{s.name}/Interface", version + ss.dependency "#{s.name}/Implementation", version ss.source_files = 'test/core/util/test_config.cc', 'test/core/util/test_config.h', diff --git a/include/grpc/impl/codegen/grpc_types.h b/include/grpc/impl/codegen/grpc_types.h index 03aaa9fae4d..022be5fec46 100644 --- a/include/grpc/impl/codegen/grpc_types.h +++ b/include/grpc/impl/codegen/grpc_types.h @@ -333,6 +333,9 @@ typedef struct { /** Channel arg that carries the bridged objective c object for custom metrics * logging filter. */ #define GRPC_ARG_MOBILE_LOG_CONFIG "grpc.mobile_log_config" +/** If non-zero, client authority filter is disabled for the channel */ +#define GRPC_ARG_DISABLE_CLIENT_AUTHORITY_FILTER \ + "grpc.disable_client_authority_filter" /** \} */ /** Result of a grpc call. If the caller satisfies the prerequisites of a diff --git a/include/grpcpp/impl/codegen/byte_buffer.h b/include/grpcpp/impl/codegen/byte_buffer.h index 8d6a169db99..e637efeb857 100644 --- a/include/grpcpp/impl/codegen/byte_buffer.h +++ b/include/grpcpp/impl/codegen/byte_buffer.h @@ -31,6 +31,8 @@ namespace grpc { +class ServerInterface; + namespace internal { class CallOpSendMessage; template @@ -98,6 +100,7 @@ class ByteBuffer final { private: friend class SerializationTraits; + friend class ServerInterface; friend class internal::CallOpSendMessage; template friend class internal::CallOpRecvMessage; diff --git a/include/grpcpp/impl/codegen/server_interface.h b/include/grpcpp/impl/codegen/server_interface.h index 4700763ed25..cf330ac3524 100644 --- a/include/grpcpp/impl/codegen/server_interface.h +++ b/include/grpcpp/impl/codegen/server_interface.h @@ -20,6 +20,7 @@ #define GRPCPP_IMPL_CODEGEN_SERVER_INTERFACE_H #include +#include #include #include #include @@ -185,14 +186,18 @@ class ServerInterface : public internal::CallHook { notification_cq_(notification_cq), tag_(tag), request_(request) { - IssueRequest(registered_method, &payload_, notification_cq); + IssueRequest(registered_method, payload_.bbuf_ptr(), notification_cq); + } + + ~PayloadAsyncRequest() { + payload_.Release(); // We do not own the payload_ } bool FinalizeResult(void** tag, bool* status) override { if (*status) { - if (payload_ == nullptr || - !SerializationTraits::Deserialize(payload_, request_) - .ok()) { + if (!payload_.Valid() || !SerializationTraits::Deserialize( + payload_.bbuf_ptr(), request_) + .ok()) { // If deserialization fails, we cancel the call and instantiate // a new instance of ourselves to request another call. We then // return false, which prevents the call from being returned to @@ -219,7 +224,7 @@ class ServerInterface : public internal::CallHook { ServerCompletionQueue* const notification_cq_; void* const tag_; Message* const request_; - grpc_byte_buffer* payload_; + ByteBuffer payload_; }; class GenericAsyncRequest : public BaseAsyncRequest { diff --git a/src/compiler/ruby_generator.cc b/src/compiler/ruby_generator.cc index e81dea603ba..c7af9c38fad 100644 --- a/src/compiler/ruby_generator.cc +++ b/src/compiler/ruby_generator.cc @@ -73,7 +73,7 @@ void PrintService(const ServiceDescriptor* service, const grpc::string& package, // Begin the service module std::map module_vars = ListToDict({ "module.name", - CapitalizeFirst(service->name()), + Modularize(service->name()), }); out->Print(module_vars, "module $module.name$\n"); out->Indent(); diff --git a/src/compiler/ruby_generator_string-inl.h b/src/compiler/ruby_generator_string-inl.h index fb429784bb7..ecfe796e7a2 100644 --- a/src/compiler/ruby_generator_string-inl.h +++ b/src/compiler/ruby_generator_string-inl.h @@ -81,13 +81,23 @@ inline bool ReplacePrefix(grpc::string* s, const grpc::string& from, return true; } -// CapitalizeFirst capitalizes the first char in a string. -inline grpc::string CapitalizeFirst(grpc::string s) { +// Modularize converts a string into a ruby module compatible name +inline grpc::string Modularize(grpc::string s) { if (s.empty()) { return s; } - s[0] = ::toupper(s[0]); - return s; + grpc::string new_string = ""; + bool was_last_underscore = false; + new_string.append(1, ::toupper(s[0])); + for (grpc::string::size_type i = 1; i < s.size(); ++i) { + if (was_last_underscore && s[i] != '_') { + new_string.append(1, ::toupper(s[i])); + } else if (s[i] != '_') { + new_string.append(1, s[i]); + } + was_last_underscore = s[i] == '_'; + } + return new_string; } // RubyTypeOf updates a proto type to the required ruby equivalent. @@ -106,7 +116,7 @@ inline grpc::string RubyTypeOf(const grpc::string& a_type, res += "::"; // switch '.' to the ruby module delim } if (i < prefixes_and_type.size() - 1) { - res += CapitalizeFirst(prefixes_and_type[i]); // capitalize pkgs + res += Modularize(prefixes_and_type[i]); // capitalize pkgs } else { res += prefixes_and_type[i]; } diff --git a/src/core/ext/filters/http/client_authority_filter.cc b/src/core/ext/filters/http/client_authority_filter.cc index f2b3e0fe7be..1f57ab5ce62 100644 --- a/src/core/ext/filters/http/client_authority_filter.cc +++ b/src/core/ext/filters/http/client_authority_filter.cc @@ -91,14 +91,18 @@ grpc_error* init_channel_elem(grpc_channel_element* elem, const grpc_arg* default_authority_arg = grpc_channel_args_find(args->channel_args, GRPC_ARG_DEFAULT_AUTHORITY); if (default_authority_arg == nullptr) { - gpr_log( - GPR_ERROR, + return GRPC_ERROR_CREATE_FROM_STATIC_STRING( "GRPC_ARG_DEFAULT_AUTHORITY channel arg. not found. Note that direct " "channels must explicity specify a value for this argument."); - abort(); } - chand->default_authority = grpc_slice_from_copied_string( - grpc_channel_arg_get_string(default_authority_arg)); + const char* default_authority_str = + grpc_channel_arg_get_string(default_authority_arg); + if (default_authority_str == nullptr) { + return GRPC_ERROR_CREATE_FROM_STATIC_STRING( + "GRPC_ARG_DEFAULT_AUTHORITY channel arg. must be a string"); + } + chand->default_authority = + grpc_slice_from_copied_string(default_authority_str); GPR_ASSERT(!args->is_last); return GRPC_ERROR_NONE; } @@ -125,6 +129,17 @@ const grpc_channel_filter grpc_client_authority_filter = { static bool add_client_authority_filter(grpc_channel_stack_builder* builder, void* arg) { + const grpc_channel_args* channel_args = + grpc_channel_stack_builder_get_channel_arguments(builder); + const grpc_arg* disable_client_authority_filter_arg = grpc_channel_args_find( + channel_args, GRPC_ARG_DISABLE_CLIENT_AUTHORITY_FILTER); + if (disable_client_authority_filter_arg != nullptr) { + const bool is_client_authority_filter_disabled = + grpc_channel_arg_get_bool(disable_client_authority_filter_arg, false); + if (is_client_authority_filter_disabled) { + return true; + } + } return grpc_channel_stack_builder_prepend_filter( builder, static_cast(arg), nullptr, nullptr); } diff --git a/src/core/lib/iomgr/lockfree_event.h b/src/core/lib/iomgr/lockfree_event.h index b507b94648c..d6a6c226bc0 100644 --- a/src/core/lib/iomgr/lockfree_event.h +++ b/src/core/lib/iomgr/lockfree_event.h @@ -42,12 +42,23 @@ class LockfreeEvent { void InitEvent(); void DestroyEvent(); + // Returns true if fd has been shutdown, false otherwise. bool IsShutdown() const { return (gpr_atm_no_barrier_load(&state_) & kShutdownBit) != 0; } + // Schedules \a closure when the event is received (see SetReady()) or the + // shutdown state has been set. Note that the event may have already been + // received, in which case the closure would be scheduled immediately. + // If the shutdown state has already been set, then \a closure is scheduled + // with the shutdown error. void NotifyOn(grpc_closure* closure); + + // Sets the shutdown state. If a closure had been provided by NotifyOn and has + // not yet been scheduled, it will be scheduled with \a error. bool SetShutdown(grpc_error* error); + + // Signals that the event has been received. void SetReady(); private: diff --git a/src/core/lib/iomgr/socket_utils_linux.cc b/src/core/lib/iomgr/socket_utils_linux.cc index f506329f970..b0207578de1 100644 --- a/src/core/lib/iomgr/socket_utils_linux.cc +++ b/src/core/lib/iomgr/socket_utils_linux.cc @@ -34,7 +34,6 @@ int grpc_accept4(int sockfd, grpc_resolved_address* resolved_addr, int nonblock, int cloexec) { int flags = 0; GPR_ASSERT(sizeof(socklen_t) <= sizeof(size_t)); - GPR_ASSERT(resolved_addr->len <= (socklen_t)-1); flags |= nonblock ? SOCK_NONBLOCK : 0; flags |= cloexec ? SOCK_CLOEXEC : 0; return accept4(sockfd, reinterpret_cast(resolved_addr->addr), diff --git a/src/core/lib/iomgr/socket_utils_posix.cc b/src/core/lib/iomgr/socket_utils_posix.cc index d5d00af9760..2a49583ac4e 100644 --- a/src/core/lib/iomgr/socket_utils_posix.cc +++ b/src/core/lib/iomgr/socket_utils_posix.cc @@ -35,7 +35,6 @@ int grpc_accept4(int sockfd, grpc_resolved_address* resolved_addr, int nonblock, int cloexec) { int fd, flags; GPR_ASSERT(sizeof(socklen_t) <= sizeof(size_t)); - GPR_ASSERT(resolved_addr->len <= (socklen_t)-1); fd = accept(sockfd, (grpc_sockaddr*)resolved_addr->addr, (socklen_t*)&resolved_addr->len); if (fd >= 0) { diff --git a/src/core/lib/iomgr/tcp_server_utils_posix_common.cc b/src/core/lib/iomgr/tcp_server_utils_posix_common.cc index 0734453364a..9f4e58ca16e 100644 --- a/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +++ b/src/core/lib/iomgr/tcp_server_utils_posix_common.cc @@ -170,7 +170,6 @@ grpc_error* grpc_tcp_server_prepare_socket(int fd, err = grpc_set_socket_no_sigpipe_if_possible(fd); if (err != GRPC_ERROR_NONE) goto error; - GPR_ASSERT(addr->len < ~(socklen_t)0); if (bind(fd, reinterpret_cast(const_cast(addr->addr)), addr->len) < 0) { err = GRPC_OS_ERROR(errno, "bind"); diff --git a/src/core/lib/iomgr/udp_server.cc b/src/core/lib/iomgr/udp_server.cc index 04716a254d1..9990deec7a3 100644 --- a/src/core/lib/iomgr/udp_server.cc +++ b/src/core/lib/iomgr/udp_server.cc @@ -381,7 +381,6 @@ static int prepare_socket(grpc_socket_factory* socket_factory, int fd, } } - GPR_ASSERT(addr->len < ~(socklen_t)0); if (bind_socket(socket_factory, fd, addr) < 0) { char* addr_str; grpc_sockaddr_to_string(&addr_str, addr, 0); diff --git a/src/core/lib/security/security_connector/security_connector.cc b/src/core/lib/security/security_connector/security_connector.cc index d7d5a8c4dee..3551061aa45 100644 --- a/src/core/lib/security/security_connector/security_connector.cc +++ b/src/core/lib/security/security_connector/security_connector.cc @@ -1151,16 +1151,6 @@ const char* DefaultSslRootStore::GetPemRootCerts() { GRPC_SLICE_START_PTR(default_pem_root_certs_); } -void DefaultSslRootStore::Initialize() { - default_root_store_ = nullptr; - default_pem_root_certs_ = grpc_empty_slice(); -} - -void DefaultSslRootStore::Destroy() { - tsi_ssl_root_certs_store_destroy(default_root_store_); - grpc_slice_unref_internal(default_pem_root_certs_); -} - grpc_slice DefaultSslRootStore::ComputePemRootCerts() { grpc_slice result = grpc_empty_slice(); // First try to load the roots from the environment. diff --git a/src/core/lib/security/security_connector/security_connector.h b/src/core/lib/security/security_connector/security_connector.h index 5d3d1e0f44f..c4cc19db817 100644 --- a/src/core/lib/security/security_connector/security_connector.h +++ b/src/core/lib/security/security_connector/security_connector.h @@ -256,15 +256,6 @@ class DefaultSslRootStore { // Gets the default PEM root certificate. static const char* GetPemRootCerts(); - // Initializes the SSL root store's underlying data structure. It does not - // load default SSL root certificates. Should only be called by - // grpc_security_init(). - static void Initialize(); - - // Destroys the default SSL root store. Should only be called by - // grpc_security_shutdown(). - static void Destroy(); - protected: // Returns default PEM root certificates in nullptr terminated grpc_slice. // This function is protected instead of private, so that it can be tested. diff --git a/src/core/lib/surface/channel.cc b/src/core/lib/surface/channel.cc index 807e28eef1b..d740ebd4114 100644 --- a/src/core/lib/surface/channel.cc +++ b/src/core/lib/surface/channel.cc @@ -167,7 +167,7 @@ static grpc_core::UniquePtr get_default_authority( has_default_authority = true; } else if (0 == strcmp(input_args->args[i].key, GRPC_SSL_TARGET_NAME_OVERRIDE_ARG)) { - ssl_override = input_args->args[i].value.string; + ssl_override = grpc_channel_arg_get_string(&input_args->args[i]); } } if (!has_default_authority && ssl_override != nullptr) { diff --git a/src/core/lib/surface/init.cc b/src/core/lib/surface/init.cc index 52e0ee1c443..bd436d68575 100644 --- a/src/core/lib/surface/init.cc +++ b/src/core/lib/surface/init.cc @@ -172,7 +172,6 @@ void grpc_shutdown(void) { } } } - grpc_security_shutdown(); grpc_iomgr_shutdown(); gpr_timers_global_destroy(); grpc_tracer_shutdown(); diff --git a/src/core/lib/surface/init.h b/src/core/lib/surface/init.h index d8282b475bf..9353208332f 100644 --- a/src/core/lib/surface/init.h +++ b/src/core/lib/surface/init.h @@ -22,7 +22,6 @@ void grpc_register_security_filters(void); void grpc_security_pre_init(void); void grpc_security_init(void); -void grpc_security_shutdown(void); int grpc_is_initialized(void); #endif /* GRPC_CORE_LIB_SURFACE_INIT_H */ diff --git a/src/core/lib/surface/init_secure.cc b/src/core/lib/surface/init_secure.cc index caa67c2512c..28c6f7b121f 100644 --- a/src/core/lib/surface/init_secure.cc +++ b/src/core/lib/surface/init_secure.cc @@ -78,9 +78,4 @@ void grpc_register_security_filters(void) { maybe_prepend_server_auth_filter, nullptr); } -void grpc_security_init() { - grpc_security_register_handshaker_factories(); - grpc_core::DefaultSslRootStore::Initialize(); -} - -void grpc_security_shutdown() { grpc_core::DefaultSslRootStore::Destroy(); } +void grpc_security_init() { grpc_security_register_handshaker_factories(); } diff --git a/src/core/lib/surface/init_unsecure.cc b/src/core/lib/surface/init_unsecure.cc index 1c8d07b38b7..2b3bc643820 100644 --- a/src/core/lib/surface/init_unsecure.cc +++ b/src/core/lib/surface/init_unsecure.cc @@ -25,5 +25,3 @@ void grpc_security_pre_init(void) {} void grpc_register_security_filters(void) {} void grpc_security_init(void) {} - -void grpc_security_shutdown(void) {} diff --git a/src/core/plugin_registry/grpc_cronet_plugin_registry.cc b/src/core/plugin_registry/grpc_cronet_plugin_registry.cc index 84228cb38a0..49b9c7d4fed 100644 --- a/src/core/plugin_registry/grpc_cronet_plugin_registry.cc +++ b/src/core/plugin_registry/grpc_cronet_plugin_registry.cc @@ -20,50 +20,30 @@ #include -void grpc_deadline_filter_init(void); -void grpc_deadline_filter_shutdown(void); -void grpc_client_channel_init(void); -void grpc_client_channel_shutdown(void); -void grpc_lb_policy_pick_first_init(void); -void grpc_lb_policy_pick_first_shutdown(void); -void grpc_max_age_filter_init(void); -void grpc_max_age_filter_shutdown(void); -void grpc_message_size_filter_init(void); -void grpc_message_size_filter_shutdown(void); -void grpc_resolver_dns_native_init(void); -void grpc_resolver_dns_native_shutdown(void); -void grpc_resolver_sockaddr_init(void); -void grpc_resolver_sockaddr_shutdown(void); -void grpc_server_load_reporting_plugin_init(void); -void grpc_server_load_reporting_plugin_shutdown(void); void grpc_http_filters_init(void); void grpc_http_filters_shutdown(void); void grpc_chttp2_plugin_init(void); void grpc_chttp2_plugin_shutdown(void); +void grpc_deadline_filter_init(void); +void grpc_deadline_filter_shutdown(void); +void grpc_client_channel_init(void); +void grpc_client_channel_shutdown(void); void grpc_tsi_alts_init(void); void grpc_tsi_alts_shutdown(void); +void grpc_server_load_reporting_plugin_init(void); +void grpc_server_load_reporting_plugin_shutdown(void); void grpc_register_built_in_plugins(void) { - grpc_register_plugin(grpc_deadline_filter_init, - grpc_deadline_filter_shutdown); - grpc_register_plugin(grpc_client_channel_init, - grpc_client_channel_shutdown); - grpc_register_plugin(grpc_lb_policy_pick_first_init, - grpc_lb_policy_pick_first_shutdown); - grpc_register_plugin(grpc_max_age_filter_init, - grpc_max_age_filter_shutdown); - grpc_register_plugin(grpc_message_size_filter_init, - grpc_message_size_filter_shutdown); - grpc_register_plugin(grpc_resolver_dns_native_init, - grpc_resolver_dns_native_shutdown); - grpc_register_plugin(grpc_resolver_sockaddr_init, - grpc_resolver_sockaddr_shutdown); - grpc_register_plugin(grpc_server_load_reporting_plugin_init, - grpc_server_load_reporting_plugin_shutdown); grpc_register_plugin(grpc_http_filters_init, grpc_http_filters_shutdown); grpc_register_plugin(grpc_chttp2_plugin_init, grpc_chttp2_plugin_shutdown); + grpc_register_plugin(grpc_deadline_filter_init, + grpc_deadline_filter_shutdown); + grpc_register_plugin(grpc_client_channel_init, + grpc_client_channel_shutdown); grpc_register_plugin(grpc_tsi_alts_init, grpc_tsi_alts_shutdown); + grpc_register_plugin(grpc_server_load_reporting_plugin_init, + grpc_server_load_reporting_plugin_shutdown); } diff --git a/src/objective-c/GRPCClient/GRPCCall.m b/src/objective-c/GRPCClient/GRPCCall.m index ea658bca2b6..cf70064298e 100644 --- a/src/objective-c/GRPCClient/GRPCCall.m +++ b/src/objective-c/GRPCClient/GRPCCall.m @@ -196,9 +196,6 @@ static NSString * const kBearerPrefix = @"Bearer "; _state = GRXWriterStateFinished; } - // If the call isn't retained anywhere else, it can be deallocated now. - _retainSelf = nil; - // If there were still request messages coming, stop them. @synchronized(_requestWriter) { _requestWriter.state = GRXWriterStateFinished; @@ -211,6 +208,9 @@ static NSString * const kBearerPrefix = @"Bearer "; } [GRPCConnectivityMonitor unregisterObserver:self]; + + // If the call isn't retained anywhere else, it can be deallocated now. + _retainSelf = nil; } - (void)cancelCall { diff --git a/src/objective-c/GRPCClient/private/GRPCHost.m b/src/objective-c/GRPCClient/private/GRPCHost.m index c282fbd1947..152c3d3ed64 100644 --- a/src/objective-c/GRPCClient/private/GRPCHost.m +++ b/src/objective-c/GRPCClient/private/GRPCHost.m @@ -192,7 +192,7 @@ static NSMutableDictionary *kHostCache; return YES; } -- (NSDictionary *)channelArgs { +- (NSDictionary *)channelArgsUsingCronet:(BOOL)useCronet { NSMutableDictionary *args = [NSMutableDictionary dictionary]; // TODO(jcanizales): Add OS and device information (see @@ -226,14 +226,19 @@ static NSMutableDictionary *kHostCache; args[@GRPC_ARG_MOBILE_LOG_CONFIG] = logConfig; } + if (useCronet) { + args[@GRPC_ARG_DISABLE_CLIENT_AUTHORITY_FILTER] = [NSNumber numberWithInt:1]; + } + return args; } - (GRPCChannel *)newChannel { - NSDictionary *args = [self channelArgs]; + BOOL useCronet = NO; #ifdef GRPC_COMPILE_WITH_CRONET - BOOL useCronet = [GRPCCall isUsingCronet]; + useCronet = [GRPCCall isUsingCronet]; #endif + NSDictionary *args = [self channelArgsUsingCronet:useCronet]; if (_secure) { GRPCChannel *channel; @synchronized(self) { diff --git a/src/objective-c/tests/CoreCronetEnd2EndTests/CoreCronetEnd2EndTests.mm b/src/objective-c/tests/CoreCronetEnd2EndTests/CoreCronetEnd2EndTests.mm index 8e1a0ee7df9..5d384d8fc8a 100644 --- a/src/objective-c/tests/CoreCronetEnd2EndTests/CoreCronetEnd2EndTests.mm +++ b/src/objective-c/tests/CoreCronetEnd2EndTests/CoreCronetEnd2EndTests.mm @@ -82,8 +82,14 @@ static void cronet_init_client_secure_fullstack(grpc_end2end_test_fixture *f, grpc_channel_args *client_args, stream_engine *cronetEngine) { fullstack_secure_fixture_data *ffd = (fullstack_secure_fixture_data *)f->fixture_data; + grpc_arg arg; + arg.key = const_cast(GRPC_ARG_DISABLE_CLIENT_AUTHORITY_FILTER); + arg.type = GRPC_ARG_INTEGER; + arg.value.integer = 1; + client_args = grpc_channel_args_copy_and_add(client_args, &arg, 1); f->client = grpc_cronet_secure_channel_create(cronetEngine, ffd->localaddr, client_args, NULL); + grpc_channel_args_destroy(client_args); GPR_ASSERT(f->client != NULL); } diff --git a/src/objective-c/tests/CronetUnitTests/CronetUnitTests.m b/src/objective-c/tests/CronetUnitTests/CronetUnitTests.m index 28414b8e39f..3da7d533b42 100644 --- a/src/objective-c/tests/CronetUnitTests/CronetUnitTests.m +++ b/src/objective-c/tests/CronetUnitTests/CronetUnitTests.m @@ -126,6 +126,14 @@ unsigned int parse_h2_length(const char *field) { ((unsigned int)(unsigned char)(field[2])); } +grpc_channel_args *add_disable_client_authority_filter_args(grpc_channel_args *args) { + grpc_arg arg; + arg.key = const_cast(GRPC_ARG_DISABLE_CLIENT_AUTHORITY_FILTER); + arg.type = GRPC_ARG_INTEGER; + arg.value.integer = 1; + return grpc_channel_args_copy_and_add(args, &arg, 1); +} + - (void)testInternalError { grpc_call *c; grpc_slice request_payload_slice = @@ -147,8 +155,10 @@ unsigned int parse_h2_length(const char *field) { gpr_join_host_port(&addr, "127.0.0.1", port); grpc_completion_queue *cq = grpc_completion_queue_create_for_next(NULL); stream_engine *cronetEngine = [Cronet getGlobalEngine]; + grpc_channel_args *client_args = add_disable_client_authority_filter_args(NULL); grpc_channel *client = - grpc_cronet_secure_channel_create(cronetEngine, addr, NULL, NULL); + grpc_cronet_secure_channel_create(cronetEngine, addr, client_args, NULL); + grpc_channel_args_destroy(client_args); cq_verifier *cqv = cq_verifier_create(cq); grpc_op ops[6]; @@ -262,6 +272,8 @@ unsigned int parse_h2_length(const char *field) { arg.type = GRPC_ARG_INTEGER; arg.value.integer = useCoalescing ? 1 : 0; grpc_channel_args *args = grpc_channel_args_copy_and_add(NULL, &arg, 1); + args = add_disable_client_authority_filter_args(args); + grpc_call *c; grpc_slice request_payload_slice = grpc_slice_from_copied_string("hello world"); diff --git a/src/objective-c/tests/Podfile b/src/objective-c/tests/Podfile index 6e17d9a7cb2..af1a34ab6b6 100644 --- a/src/objective-c/tests/Podfile +++ b/src/objective-c/tests/Podfile @@ -43,8 +43,10 @@ end target target_name do pod 'BoringSSL', :podspec => "#{GRPC_LOCAL_SRC}/src/objective-c", :inhibit_warnings => true pod 'CronetFramework', :podspec => "#{GRPC_LOCAL_SRC}/src/objective-c" + pod 'gRPC-Core', :path => GRPC_LOCAL_SRC + pod 'gRPC-Core/Cronet-Interface', :path => GRPC_LOCAL_SRC pod 'gRPC-Core/Cronet-Implementation', :path => GRPC_LOCAL_SRC - pod 'gRPC-Core/Cronet-Tests', :path => GRPC_LOCAL_SRC + pod 'gRPC-Core/Tests', :path => GRPC_LOCAL_SRC end end diff --git a/src/php/ext/grpc/channel.c b/src/php/ext/grpc/channel.c index 4054723b433..ed30888c43a 100644 --- a/src/php/ext/grpc/channel.c +++ b/src/php/ext/grpc/channel.c @@ -57,9 +57,8 @@ int le_plink; /* Frees and destroys an instance of wrapped_grpc_channel */ PHP_GRPC_FREE_WRAPPED_FUNC_START(wrapped_grpc_channel) - bool is_last_wrapper = false; - // In_persistent_list is used when the user don't close the channel. - // In this case, le in the list won't be freed. + // In_persistent_list is used when the user don't close the channel, + // In this case, channels not in the list should be freed. bool in_persistent_list = true; if (p->wrapper != NULL) { gpr_mu_lock(&p->wrapper->mu); @@ -79,41 +78,18 @@ PHP_GRPC_FREE_WRAPPED_FUNC_START(wrapped_grpc_channel) free(p->wrapper->creds_hashstr); p->wrapper->creds_hashstr = NULL; } + free(p->wrapper->key); } gpr_mu_unlock(&global_persistent_list_mu); } } p->wrapper->ref_count -= 1; - if (p->wrapper->ref_count == 0) { - is_last_wrapper = true; - } gpr_mu_unlock(&p->wrapper->mu); - if (is_last_wrapper) { - if (in_persistent_list) { - // If ref_count==0 and the key still in the list, it means the user - // don't call channel->close().persistent list should free the - // allocation in such case, as well as related wrapped channel. - if (p->wrapper->wrapped != NULL) { - gpr_mu_lock(&p->wrapper->mu); - grpc_channel_destroy(p->wrapper->wrapped); - free(p->wrapper->target); - free(p->wrapper->args_hashstr); - if(p->wrapper->creds_hashstr != NULL){ - free(p->wrapper->creds_hashstr); - p->wrapper->creds_hashstr = NULL; - } - p->wrapper->wrapped = NULL; - php_grpc_delete_persistent_list_entry(p->wrapper->key, - strlen(p->wrapper->key) - TSRMLS_CC); - gpr_mu_unlock(&p->wrapper->mu); - } - } + if (!in_persistent_list) { gpr_mu_destroy(&p->wrapper->mu); - free(p->wrapper->key); free(p->wrapper); + p->wrapper = NULL; } - p->wrapper = NULL; } PHP_GRPC_FREE_WRAPPED_FUNC_END() @@ -330,7 +306,6 @@ PHP_METHOD(Channel, __construct) { gpr_mu_init(&channel->wrapper->mu); smart_str_free(&buf); - if (force_new || (creds != NULL && creds->has_call_creds)) { // If the ChannelCredentials object was composed with a CallCredentials // object, there is no way we can tell them apart. Do NOT persist @@ -540,8 +515,18 @@ static void php_grpc_channel_plink_dtor(php_grpc_zend_resource *rsrc grpc_channel_destroy(le->channel->wrapped); free(le->channel->target); free(le->channel->args_hashstr); + le->channel->wrapped = NULL; + le->channel->target = NULL; + le->channel->args_hashstr = NULL; } + free(le->channel->key); + le->channel->key = NULL; gpr_mu_unlock(&le->channel->mu); + gpr_mu_destroy(&le->channel->mu); + free(le->channel); + le->channel = NULL; + free(le); + le = NULL; } } diff --git a/src/python/grpcio_tests/commands.py b/src/python/grpcio_tests/commands.py index d4dbcdc191c..42e01c18d3e 100644 --- a/src/python/grpcio_tests/commands.py +++ b/src/python/grpcio_tests/commands.py @@ -121,6 +121,8 @@ class TestGevent(setuptools.Command): 'testing._client_test.ClientTest.test_infinite_request_stream_real_time', # TODO(https://github.com/grpc/grpc/issues/14789) enable this test 'unit._server_ssl_cert_config_test', + # TODO(https://github.com/grpc/grpc/issues/14901) enable this test + 'protoc_plugin._python_plugin_test.PythonPluginTest', # Beta API is unsupported for gevent 'protoc_plugin.beta_python_plugin_test', 'unit.beta._beta_features_test', diff --git a/src/python/grpcio_tests/tests/interop/_insecure_intraop_test.py b/src/python/grpcio_tests/tests/interop/_insecure_intraop_test.py index 8d464b2d4b5..ace15bea585 100644 --- a/src/python/grpcio_tests/tests/interop/_insecure_intraop_test.py +++ b/src/python/grpcio_tests/tests/interop/_insecure_intraop_test.py @@ -36,6 +36,9 @@ class InsecureIntraopTest(_intraop_test_case.IntraopTestCase, self.stub = test_pb2_grpc.TestServiceStub( grpc.insecure_channel('localhost:{}'.format(port))) + def tearDown(self): + self.server.stop(None) + if __name__ == '__main__': unittest.main(verbosity=2) diff --git a/src/python/grpcio_tests/tests/interop/_secure_intraop_test.py b/src/python/grpcio_tests/tests/interop/_secure_intraop_test.py index c89135998dc..e27e551ecb0 100644 --- a/src/python/grpcio_tests/tests/interop/_secure_intraop_test.py +++ b/src/python/grpcio_tests/tests/interop/_secure_intraop_test.py @@ -45,6 +45,9 @@ class SecureIntraopTest(_intraop_test_case.IntraopTestCase, unittest.TestCase): _SERVER_HOST_OVERRIDE, ),))) + def tearDown(self): + self.server.stop(None) + if __name__ == '__main__': unittest.main(verbosity=2) diff --git a/src/ruby/spec/pb/package_with_underscore/checker_spec.rb b/src/ruby/spec/pb/package_with_underscore/checker_spec.rb new file mode 100644 index 00000000000..6155b3b9343 --- /dev/null +++ b/src/ruby/spec/pb/package_with_underscore/checker_spec.rb @@ -0,0 +1,54 @@ +# Copyright 2016 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'open3' +require 'tmpdir' + +def debug_mode? + !ENV['CONFIG'].nil? && ENV['CONFIG'] == 'dbg' +end + +describe 'Package with underscore protobuf code generation' do + it 'should have the same content as created by code generation' do + root_dir = File.join(File.dirname(__FILE__), '..', '..', '..', '..', '..') + pb_dir = File.join(root_dir, 'src', 'ruby', 'spec', 'pb') + + bins_sub_dir = debug_mode? ? 'dbg' : 'opt' + bins_dir = File.join(root_dir, 'bins', bins_sub_dir) + + plugin = File.join(bins_dir, 'grpc_ruby_plugin') + protoc = File.join(bins_dir, 'protobuf', 'protoc') + + got = nil + + Dir.mktmpdir do |tmp_dir| + gen_out = File.join(tmp_dir, 'package_with_underscore', 'service_services_pb.rb') + + pid = spawn( + protoc, + '-I.', + 'package_with_underscore/service.proto', + "--grpc_out=#{tmp_dir}", + "--plugin=protoc-gen-grpc=#{plugin}", + chdir: pb_dir) + Process.waitpid2(pid) + File.open(gen_out) { |f| got = f.read } + end + + correct_modularized_rpc = 'rpc :TestOne, ' \ + 'Grpc::Testing::PackageWithUnderscore::Data::Request, ' \ + 'Grpc::Testing::PackageWithUnderscore::Data::Response' + expect(got).to include(correct_modularized_rpc) + end +end diff --git a/src/ruby/spec/pb/package_with_underscore/data.proto b/src/ruby/spec/pb/package_with_underscore/data.proto new file mode 100644 index 00000000000..2706f1d7be4 --- /dev/null +++ b/src/ruby/spec/pb/package_with_underscore/data.proto @@ -0,0 +1,23 @@ +// Copyright 2018 gRPC authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package grpc.testing.package_with_underscore.data; + +message Request { +} + +message Response { +} diff --git a/src/ruby/spec/pb/package_with_underscore/service.proto b/src/ruby/spec/pb/package_with_underscore/service.proto new file mode 100644 index 00000000000..814c7898cda --- /dev/null +++ b/src/ruby/spec/pb/package_with_underscore/service.proto @@ -0,0 +1,23 @@ +// Copyright 2018 gRPC authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package grpc.testing.package_with_underscore.service; + +import "package_with_underscore/data.proto"; + +service MyService { + rpc TestOne(data.Request) returns (data.Response) {} +} diff --git a/templates/Makefile.template b/templates/Makefile.template index c0ce2e5cb46..354f2a2f403 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -416,7 +416,7 @@ OPENSSL_ALPN_CHECK_CMD = $(PKG_CONFIG) --atleast-version=1.0.2 openssl OPENSSL_NPN_CHECK_CMD = $(PKG_CONFIG) --atleast-version=1.0.1 openssl ZLIB_CHECK_CMD = $(PKG_CONFIG) --exists zlib - PROTOBUF_CHECK_CMD = $(PKG_CONFIG) --atleast-version=3.0.0 protobuf + PROTOBUF_CHECK_CMD = $(PKG_CONFIG) --atleast-version=3.5.0 protobuf CARES_CHECK_CMD = $(PKG_CONFIG) --atleast-version=1.11.0 libcares else # HAS_PKG_CONFIG @@ -844,7 +844,7 @@ @echo @echo "DEPENDENCY ERROR" @echo - @echo "The target you are trying to run requires protobuf 3.0.0+" + @echo "The target you are trying to run requires protobuf 3.5.0+" @echo "Your system doesn't have it, and neither does the third_party directory." @echo @echo "Please consult INSTALL to get more information." @@ -858,7 +858,7 @@ @echo @echo "DEPENDENCY ERROR" @echo - @echo "The target you are trying to run requires protobuf-compiler 3.0.0+" + @echo "The target you are trying to run requires protobuf-compiler 3.5.0+" @echo "Your system doesn't have it, and neither does the third_party directory." @echo @echo "Please consult INSTALL to get more information." @@ -1636,7 +1636,7 @@ % endif % if lib.language == 'c++': ## If the lib was C++, we have to close the Makefile's if that tested - ## the presence of protobuf 3.0.0+ + ## the presence of protobuf 3.5.0+ endif % endif @@ -1702,7 +1702,7 @@ ifeq ($(NO_PROTOBUF),true) - # You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + # You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+. $(BINDIR)/$(CONFIG)/${tgt.name}: protobuf_dep_error diff --git a/templates/gRPC-Core.podspec.template b/templates/gRPC-Core.podspec.template index 33a8a8b3746..af97d818346 100644 --- a/templates/gRPC-Core.podspec.template +++ b/templates/gRPC-Core.podspec.template @@ -42,21 +42,21 @@ out = grpc_lib_files(libs, ("grpc", "gpr"), ("headers",)) return [file for file in out if not file.startswith("third_party/nanopb/")] - def grpc_cronet_private_files(libs): - out = grpc_lib_files(libs, ("grpc_cronet", "gpr"), ("headers", "src")) - excl = [ - # We do not want dummy cronet API for ObjC + def grpc_cronet_files(libs): + out = grpc_lib_files(libs, ("grpc_cronet",), ("src", "headers")) + excl = grpc_private_files(libs) + excl += [ + # We do not need cronet dedicated plugin registry + "src/core/plugin_registry/grpc_cronet_plugin_registry.cc", + # We do not need dummy cronet API for ObjC "src/core/ext/transport/cronet/transport/cronet_api_dummy.cc", ] return [file for file in out if not file in excl] def grpc_cronet_public_headers(libs): - out = grpc_lib_files(libs, ("grpc_cronet", "gpr"), ("public_headers",)) - return out - - def grpc_cronet_private_headers(libs): - out = grpc_lib_files(libs, ("grpc_cronet", "gpr"), ("headers",)) - return out + out = grpc_lib_files(libs, ("grpc_cronet",), ("public_headers",)) + excl = grpc_public_headers(libs) + return [file for file in out if not file in excl] def grpc_test_util_files(libs): out = grpc_lib_files(libs, ("grpc_test_util", "gpr_test_util"), ("src", "headers")) @@ -169,6 +169,7 @@ ss.dependency 'BoringSSL', '~> 10.0' ss.dependency 'nanopb', '~> 0.3' + # To save you from scrolling, this is the last part of the podspec. ss.source_files = ${ruby_multiline_list(grpc_private_files(libs), 22)} ss.private_header_files = ${ruby_multiline_list(grpc_private_headers(libs), 30)} @@ -181,21 +182,19 @@ s.subspec 'Cronet-Implementation' do |ss| ss.header_mappings_dir = '.' - ss.libraries = 'z' - ss.dependency "#{s.name}/Cronet-Interface", version - ss.dependency 'BoringSSL', '~> 10.0' - ss.dependency 'nanopb', '~> 0.3' - ss.source_files = ${ruby_multiline_list(grpc_cronet_private_files(libs), 22)} + ss.dependency "#{s.name}/Interface", version + ss.dependency "#{s.name}/Implementation", version + ss.dependency "#{s.name}/Cronet-Interface", version - ss.private_header_files = ${ruby_multiline_list(grpc_cronet_private_headers(libs), 30)} + ss.source_files = ${ruby_multiline_list(grpc_cronet_files(libs), 22)} end - s.subspec 'Cronet-Tests' do |ss| + s.subspec 'Tests' do |ss| ss.header_mappings_dir = '.' - ss.dependency "#{s.name}/Cronet-Interface", version - ss.dependency "#{s.name}/Cronet-Implementation", version + ss.dependency "#{s.name}/Interface", version + ss.dependency "#{s.name}/Implementation", version ss.source_files = ${ruby_multiline_list(grpc_test_util_files(libs), 22)}, ${ruby_multiline_list(end2end_tests_files(libs), 22)} diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/clusterfuzz-testcase-api_fuzzer-5406804084260864 b/test/core/end2end/fuzzers/api_fuzzer_corpus/clusterfuzz-testcase-api_fuzzer-5406804084260864 new file mode 100644 index 00000000000..121aac7ec87 Binary files /dev/null and b/test/core/end2end/fuzzers/api_fuzzer_corpus/clusterfuzz-testcase-api_fuzzer-5406804084260864 differ diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/clusterfuzz-testcase-api_fuzzer-5471994809155584 b/test/core/end2end/fuzzers/api_fuzzer_corpus/clusterfuzz-testcase-api_fuzzer-5471994809155584 new file mode 100644 index 00000000000..e5d3d38e96c Binary files /dev/null and b/test/core/end2end/fuzzers/api_fuzzer_corpus/clusterfuzz-testcase-api_fuzzer-5471994809155584 differ diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/clusterfuzz-testcase-api_fuzzer-6609852341157888 b/test/core/end2end/fuzzers/api_fuzzer_corpus/clusterfuzz-testcase-api_fuzzer-6609852341157888 new file mode 100644 index 00000000000..b7debabf190 Binary files /dev/null and b/test/core/end2end/fuzzers/api_fuzzer_corpus/clusterfuzz-testcase-api_fuzzer-6609852341157888 differ diff --git a/test/cpp/naming/resolver_component_test.cc b/test/cpp/naming/resolver_component_test.cc index bfdcd962386..f4be064305c 100644 --- a/test/cpp/naming/resolver_component_test.cc +++ b/test/cpp/naming/resolver_component_test.cc @@ -65,11 +65,6 @@ DEFINE_string(expected_addrs, "", "List of expected backend or balancer addresses in the form " "',;,;...'. " "'is_balancer' should be bool, i.e. true or false."); -DEFINE_bool(allow_extra_addrs, false, - "Permit extra resolved addresses in the final list of " - "resolved addresses. This is useful in certain integration " - "test environments in which DNS responses are not fully " - "deterministic."); DEFINE_string(expected_chosen_service_config, "", "Expected service config json string that gets chosen (no " "whitespace). Empty for none."); @@ -245,11 +240,9 @@ void CheckResolverResultLocked(void* argsp, grpc_error* err) { GPR_ASSERT(channel_arg->type == GRPC_ARG_POINTER); grpc_lb_addresses* addresses = (grpc_lb_addresses*)channel_arg->value.pointer.p; - gpr_log(GPR_INFO, - "num addrs found: %" PRIdPTR ". expected %" PRIdPTR - ". Allow extra addresses:%d.", - addresses->num_addresses, args->expected_addrs.size(), - FLAGS_allow_extra_addrs); + gpr_log(GPR_INFO, "num addrs found: %" PRIdPTR ". expected %" PRIdPTR, + addresses->num_addresses, args->expected_addrs.size()); + GPR_ASSERT(addresses->num_addresses == args->expected_addrs.size()); std::vector found_lb_addrs; for (size_t i = 0; i < addresses->num_addresses; i++) { grpc_lb_address addr = addresses->addresses[i]; @@ -261,20 +254,13 @@ void CheckResolverResultLocked(void* argsp, grpc_error* err) { gpr_free(str); } if (args->expected_addrs.size() != found_lb_addrs.size()) { - // Permit extra resolved addresses if "--allow_extra_addrs" was set. - if (!(FLAGS_allow_extra_addrs && - found_lb_addrs.size() > args->expected_addrs.size())) { - gpr_log(GPR_DEBUG, - "found lb addrs size is: %" PRIdPTR - ". expected addrs size is %" PRIdPTR ". --allow_extra_addrs=%d.", - found_lb_addrs.size(), args->expected_addrs.size(), - FLAGS_allow_extra_addrs); - abort(); - } - } - for (size_t i = 0; i < args->expected_addrs.size(); i++) { - EXPECT_THAT(found_lb_addrs, ::testing::Contains(args->expected_addrs[i])); + gpr_log(GPR_DEBUG, + "found lb addrs size is: %" PRIdPTR + ". expected addrs size is %" PRIdPTR, + found_lb_addrs.size(), args->expected_addrs.size()); + abort(); } + EXPECT_THAT(args->expected_addrs, UnorderedElementsAreArray(found_lb_addrs)); CheckServiceConfigResultLocked(channel_args, args); if (args->expected_service_config_string == "") { CheckLBPolicyResultLocked(channel_args, args); diff --git a/test/distrib/cpp/run_distrib_test_cmake_as_submodule.sh b/test/distrib/cpp/run_distrib_test_cmake_as_submodule.sh new file mode 100755 index 00000000000..defc63e0900 --- /dev/null +++ b/test/distrib/cpp/run_distrib_test_cmake_as_submodule.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# Copyright 2017 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -ex + +cd "$(dirname "$0")/../../.." + +# Build helloworld example using cmake, including grpc with "add_subdirectory" +cd examples/cpp/helloworld +mkdir -p cmake/build +cd cmake/build +cmake -DGRPC_AS_SUBMODULE=ON ../.. +make diff --git a/tools/interop_matrix/client_matrix.py b/tools/interop_matrix/client_matrix.py index 83a593ffde8..c45a6273952 100644 --- a/tools/interop_matrix/client_matrix.py +++ b/tools/interop_matrix/client_matrix.py @@ -117,10 +117,10 @@ LANG_RELEASE_MATRIX = { 'v1.9.2': None }, { - 'v1.10.0': None + 'v1.10.1': None }, { - 'v1.11.0': None + 'v1.11.1': None }, ], 'java': [ @@ -157,6 +157,9 @@ LANG_RELEASE_MATRIX = { { 'v1.10.1': None }, + { + 'v1.11.0': None + }, ], 'python': [ { diff --git a/tools/run_tests/artifacts/distribtest_targets.py b/tools/run_tests/artifacts/distribtest_targets.py index 386949975bb..1b467edbc5a 100644 --- a/tools/run_tests/artifacts/distribtest_targets.py +++ b/tools/run_tests/artifacts/distribtest_targets.py @@ -288,6 +288,7 @@ def targets(): CppDistribTest('linux', 'x64', 'jessie', 'routeguide'), CppDistribTest('linux', 'x64', 'jessie', 'cmake'), CppDistribTest('linux', 'x64', 'jessie', 'cmake_as_externalproject'), + CppDistribTest('linux', 'x64', 'jessie', 'cmake_as_submodule'), CppDistribTest('windows', 'x86', testcase='cmake'), CppDistribTest('windows', 'x86', testcase='cmake_as_externalproject'), CSharpDistribTest('linux', 'x64', 'wheezy'), diff --git a/tools/run_tests/generated/sources_and_headers.json b/tools/run_tests/generated/sources_and_headers.json index fb2b2eb806c..9676fe379dd 100644 --- a/tools/run_tests/generated/sources_and_headers.json +++ b/tools/run_tests/generated/sources_and_headers.json @@ -6740,16 +6740,8 @@ "deps": [ "gpr", "grpc_base", - "grpc_base_headers", - "grpc_deadline_filter", - "grpc_lb_policy_pick_first", - "grpc_max_age_filter", - "grpc_message_size_filter", - "grpc_resolver_dns_native", - "grpc_resolver_sockaddr", "grpc_server_load_reporting", "grpc_transport_chttp2_client_secure", - "grpc_transport_chttp2_server_secure", "grpc_transport_cronet_client_secure" ], "headers": [], diff --git a/tools/run_tests/generated/tests.json b/tools/run_tests/generated/tests.json index c5d3143924f..d8c1a125a1a 100644 --- a/tools/run_tests/generated/tests.json +++ b/tools/run_tests/generated/tests.json @@ -104488,6 +104488,75 @@ ], "uses_polling": false }, + { + "args": [ + "test/core/end2end/fuzzers/api_fuzzer_corpus/clusterfuzz-testcase-api_fuzzer-5406804084260864" + ], + "ci_platforms": [ + "linux" + ], + "cpu_cost": 0.1, + "exclude_configs": [ + "tsan" + ], + "exclude_iomgrs": [ + "uv" + ], + "flaky": false, + "language": "c", + "name": "api_fuzzer_one_entry", + "platforms": [ + "mac", + "linux" + ], + "uses_polling": false + }, + { + "args": [ + "test/core/end2end/fuzzers/api_fuzzer_corpus/clusterfuzz-testcase-api_fuzzer-5471994809155584" + ], + "ci_platforms": [ + "linux" + ], + "cpu_cost": 0.1, + "exclude_configs": [ + "tsan" + ], + "exclude_iomgrs": [ + "uv" + ], + "flaky": false, + "language": "c", + "name": "api_fuzzer_one_entry", + "platforms": [ + "mac", + "linux" + ], + "uses_polling": false + }, + { + "args": [ + "test/core/end2end/fuzzers/api_fuzzer_corpus/clusterfuzz-testcase-api_fuzzer-6609852341157888" + ], + "ci_platforms": [ + "linux" + ], + "cpu_cost": 0.1, + "exclude_configs": [ + "tsan" + ], + "exclude_iomgrs": [ + "uv" + ], + "flaky": false, + "language": "c", + "name": "api_fuzzer_one_entry", + "platforms": [ + "mac", + "linux" + ], + "uses_polling": false + }, { "args": [ "test/core/end2end/fuzzers/api_fuzzer_corpus/clusterfuzz-testcase-minimized-4688823906729984" diff --git a/tools/run_tests/helper_scripts/run_ruby.sh b/tools/run_tests/helper_scripts/run_ruby.sh index 4e9c212877a..03eaeb0ec7e 100755 --- a/tools/run_tests/helper_scripts/run_ruby.sh +++ b/tools/run_tests/helper_scripts/run_ruby.sh @@ -18,4 +18,7 @@ set -ex # change to grpc repo root cd "$(dirname "$0")/../../.." +# build grpc_ruby_plugin +make grpc_ruby_plugin -j8 + rake