grpc 1.64.3 → 1.65.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (632) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +57 -58
  3. data/include/grpc/event_engine/event_engine.h +13 -6
  4. data/include/grpc/impl/channel_arg_names.h +7 -3
  5. data/include/grpc/module.modulemap +1 -0
  6. data/include/grpc/passive_listener.h +62 -0
  7. data/include/grpc/support/log.h +7 -17
  8. data/include/grpc/support/port_platform.h +3 -0
  9. data/src/core/channelz/channel_trace.cc +1 -1
  10. data/src/core/channelz/channel_trace.h +1 -1
  11. data/src/core/channelz/channelz.cc +3 -3
  12. data/src/core/channelz/channelz.h +7 -7
  13. data/src/core/channelz/channelz_registry.cc +4 -3
  14. data/src/core/client_channel/backup_poller.cc +4 -5
  15. data/src/core/client_channel/client_channel.cc +1324 -0
  16. data/src/core/client_channel/client_channel.h +243 -0
  17. data/src/core/client_channel/client_channel_filter.cc +266 -709
  18. data/src/core/client_channel/client_channel_filter.h +11 -64
  19. data/src/core/client_channel/client_channel_internal.h +16 -5
  20. data/src/core/client_channel/client_channel_plugin.cc +1 -14
  21. data/src/core/client_channel/client_channel_service_config.h +3 -3
  22. data/src/core/client_channel/config_selector.cc +1 -1
  23. data/src/core/client_channel/config_selector.h +1 -1
  24. data/src/core/client_channel/dynamic_filters.cc +3 -3
  25. data/src/core/client_channel/dynamic_filters.h +1 -3
  26. data/src/core/client_channel/load_balanced_call_destination.cc +336 -0
  27. data/src/core/client_channel/load_balanced_call_destination.h +49 -0
  28. data/src/core/client_channel/retry_filter.cc +2 -9
  29. data/src/core/client_channel/retry_filter.h +2 -7
  30. data/src/core/client_channel/retry_filter_legacy_call_data.cc +65 -72
  31. data/src/core/client_channel/retry_filter_legacy_call_data.h +0 -2
  32. data/src/core/client_channel/retry_service_config.cc +4 -5
  33. data/src/core/client_channel/retry_service_config.h +3 -3
  34. data/src/core/client_channel/subchannel.cc +220 -112
  35. data/src/core/client_channel/subchannel.h +31 -18
  36. data/src/core/client_channel/subchannel_pool_interface.cc +0 -2
  37. data/src/core/client_channel/subchannel_pool_interface.h +2 -4
  38. data/src/core/client_channel/subchannel_stream_client.cc +36 -49
  39. data/src/core/client_channel/subchannel_stream_client.h +2 -4
  40. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +7 -10
  41. data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +1 -0
  42. data/src/core/ext/filters/backend_metrics/backend_metric_provider.h +7 -0
  43. data/src/core/ext/filters/census/grpc_context.cc +2 -4
  44. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +8 -15
  45. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h +2 -0
  46. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +3 -7
  47. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +1 -0
  48. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +3 -3
  49. data/src/core/ext/filters/http/client/http_client_filter.cc +1 -0
  50. data/src/core/ext/filters/http/client/http_client_filter.h +1 -0
  51. data/src/core/ext/filters/http/client_authority_filter.cc +1 -0
  52. data/src/core/ext/filters/http/client_authority_filter.h +1 -0
  53. data/src/core/ext/filters/http/message_compress/compression_filter.cc +10 -15
  54. data/src/core/ext/filters/http/message_compress/compression_filter.h +2 -0
  55. data/src/core/ext/filters/http/server/http_server_filter.cc +2 -2
  56. data/src/core/ext/filters/http/server/http_server_filter.h +1 -0
  57. data/src/core/ext/filters/message_size/message_size_filter.cc +6 -9
  58. data/src/core/ext/filters/message_size/message_size_filter.h +6 -6
  59. data/src/core/ext/filters/rbac/rbac_filter.cc +2 -5
  60. data/src/core/ext/filters/rbac/rbac_filter.h +1 -0
  61. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +2 -2
  62. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +1 -1
  63. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +2 -6
  64. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +1 -0
  65. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +3 -3
  66. data/src/core/ext/transport/chttp2/alpn/alpn.cc +1 -1
  67. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +8 -25
  68. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +0 -5
  69. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +223 -148
  70. data/src/core/ext/transport/chttp2/server/chttp2_server.h +33 -0
  71. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +131 -107
  72. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +8 -8
  73. data/src/core/ext/transport/chttp2/transport/context_list_entry.h +1 -1
  74. data/src/core/ext/transport/chttp2/transport/flow_control.cc +2 -4
  75. data/src/core/ext/transport/chttp2/transport/flow_control.h +0 -2
  76. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -6
  77. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +1 -2
  78. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +9 -5
  79. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +5 -4
  80. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +9 -2
  81. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +32 -43
  82. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +1 -3
  83. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +3 -8
  84. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +1 -1
  85. data/src/core/ext/transport/chttp2/transport/http2_settings.h +1 -1
  86. data/src/core/ext/transport/chttp2/transport/internal.h +29 -19
  87. data/src/core/ext/transport/chttp2/transport/parsing.cc +15 -25
  88. data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +0 -2
  89. data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +0 -2
  90. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +29 -13
  91. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +5 -4
  92. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +3 -5
  93. data/src/core/ext/transport/chttp2/transport/writing.cc +24 -25
  94. data/src/core/ext/transport/inproc/inproc_transport.cc +56 -32
  95. data/src/core/ext/transport/inproc/inproc_transport.h +1 -3
  96. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +13 -15
  97. data/src/core/ext/transport/inproc/legacy_inproc_transport.h +0 -2
  98. data/src/core/handshaker/handshaker.cc +6 -14
  99. data/src/core/handshaker/http_connect/http_connect_handshaker.cc +9 -17
  100. data/src/core/handshaker/http_connect/http_proxy_mapper.cc +3 -2
  101. data/src/core/handshaker/security/secure_endpoint.cc +38 -32
  102. data/src/core/handshaker/security/secure_endpoint.h +0 -2
  103. data/src/core/handshaker/security/security_handshaker.cc +25 -37
  104. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +2 -1
  105. data/src/core/lib/address_utils/parse_address.cc +27 -39
  106. data/src/core/lib/address_utils/sockaddr_utils.cc +5 -6
  107. data/src/core/lib/avl/avl.h +1 -1
  108. data/src/core/lib/channel/channel_args.cc +13 -17
  109. data/src/core/lib/channel/channel_args.h +19 -8
  110. data/src/core/lib/channel/channel_stack.cc +5 -63
  111. data/src/core/lib/channel/channel_stack.h +13 -37
  112. data/src/core/lib/channel/channel_stack_builder.h +0 -5
  113. data/src/core/lib/channel/channel_stack_builder_impl.cc +0 -142
  114. data/src/core/lib/channel/channel_stack_builder_impl.h +0 -2
  115. data/src/core/lib/channel/connected_channel.cc +37 -676
  116. data/src/core/lib/channel/promise_based_filter.cc +41 -47
  117. data/src/core/lib/channel/promise_based_filter.h +124 -477
  118. data/src/core/lib/channel/status_util.cc +1 -1
  119. data/src/core/lib/compression/compression.cc +1 -1
  120. data/src/core/lib/compression/message_compress.cc +6 -6
  121. data/src/core/lib/config/config_vars.cc +3 -8
  122. data/src/core/lib/config/config_vars.h +1 -5
  123. data/src/core/lib/debug/event_log.h +1 -1
  124. data/src/core/lib/debug/trace.cc +43 -59
  125. data/src/core/lib/debug/trace.h +2 -97
  126. data/src/core/lib/debug/trace_flags.cc +255 -0
  127. data/src/core/lib/debug/trace_flags.h +133 -0
  128. data/src/core/lib/debug/trace_impl.h +115 -0
  129. data/src/core/lib/event_engine/ares_resolver.cc +5 -7
  130. data/src/core/lib/event_engine/ares_resolver.h +1 -3
  131. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +1 -1
  132. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +17 -22
  133. data/src/core/lib/event_engine/event_engine.cc +29 -4
  134. data/src/core/lib/event_engine/extensions/supports_fd.h +7 -0
  135. data/src/core/lib/event_engine/extensions/tcp_trace.h +43 -0
  136. data/src/core/lib/event_engine/forkable.cc +4 -5
  137. data/src/core/lib/event_engine/forkable.h +0 -11
  138. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +10 -11
  139. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +4 -3
  140. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +1 -1
  141. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +19 -33
  142. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +3 -2
  143. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +24 -7
  144. data/src/core/lib/event_engine/posix_engine/posix_engine.h +2 -0
  145. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +14 -16
  146. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +18 -22
  147. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +13 -17
  148. data/src/core/lib/event_engine/posix_engine/timer.cc +1 -1
  149. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +4 -6
  150. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +2 -1
  151. data/src/core/lib/event_engine/shim.cc +1 -1
  152. data/src/core/lib/event_engine/tcp_socket_utils.cc +6 -8
  153. data/src/core/lib/event_engine/thread_local.h +1 -1
  154. data/src/core/lib/event_engine/thread_pool/thread_count.h +1 -1
  155. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +19 -21
  156. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +3 -6
  157. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +14 -13
  158. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +4 -3
  159. data/src/core/lib/event_engine/trace.h +6 -17
  160. data/src/core/lib/event_engine/windows/iocp.h +1 -1
  161. data/src/core/lib/event_engine/windows/win_socket.cc +23 -17
  162. data/src/core/lib/event_engine/windows/win_socket.h +4 -5
  163. data/src/core/lib/event_engine/windows/windows_endpoint.cc +6 -9
  164. data/src/core/lib/event_engine/windows/windows_engine.cc +201 -87
  165. data/src/core/lib/event_engine/windows/windows_engine.h +136 -25
  166. data/src/core/lib/event_engine/windows/windows_listener.cc +12 -23
  167. data/src/core/lib/experiments/experiments.cc +35 -151
  168. data/src/core/lib/experiments/experiments.h +12 -45
  169. data/src/core/lib/gprpp/bitset.h +1 -1
  170. data/src/core/lib/gprpp/crash.cc +2 -3
  171. data/src/core/lib/gprpp/dual_ref_counted.h +45 -33
  172. data/src/core/lib/gprpp/dump_args.cc +54 -0
  173. data/src/core/lib/gprpp/dump_args.h +69 -0
  174. data/src/core/lib/gprpp/glob.cc +70 -0
  175. data/src/core/lib/gprpp/glob.h +29 -0
  176. data/src/core/lib/gprpp/per_cpu.cc +1 -1
  177. data/src/core/lib/gprpp/posix/stat.cc +3 -4
  178. data/src/core/lib/gprpp/posix/thd.cc +8 -9
  179. data/src/core/lib/gprpp/ref_counted.h +30 -22
  180. data/src/core/lib/gprpp/single_set_ptr.h +5 -3
  181. data/src/core/lib/gprpp/status_helper.cc +11 -30
  182. data/src/core/lib/gprpp/status_helper.h +3 -31
  183. data/src/core/lib/gprpp/time.cc +3 -4
  184. data/src/core/lib/gprpp/time.h +3 -2
  185. data/src/core/lib/gprpp/unique_type_name.h +1 -1
  186. data/src/core/lib/gprpp/validation_errors.cc +10 -1
  187. data/src/core/lib/gprpp/validation_errors.h +11 -0
  188. data/src/core/lib/gprpp/windows/stat.cc +3 -4
  189. data/src/core/lib/gprpp/windows/thd.cc +3 -2
  190. data/src/core/lib/gprpp/work_serializer.cc +48 -57
  191. data/src/core/lib/iomgr/buffer_list.cc +4 -2
  192. data/src/core/lib/iomgr/call_combiner.cc +18 -27
  193. data/src/core/lib/iomgr/call_combiner.h +1 -3
  194. data/src/core/lib/iomgr/cfstream_handle.cc +4 -6
  195. data/src/core/lib/iomgr/closure.h +2 -4
  196. data/src/core/lib/iomgr/combiner.cc +6 -8
  197. data/src/core/lib/iomgr/combiner.h +0 -2
  198. data/src/core/lib/iomgr/endpoint.cc +0 -6
  199. data/src/core/lib/iomgr/endpoint.h +0 -2
  200. data/src/core/lib/iomgr/endpoint_cfstream.cc +19 -41
  201. data/src/core/lib/iomgr/endpoint_pair_posix.cc +1 -1
  202. data/src/core/lib/iomgr/endpoint_pair_windows.cc +5 -6
  203. data/src/core/lib/iomgr/error.cc +13 -21
  204. data/src/core/lib/iomgr/error.h +1 -1
  205. data/src/core/lib/iomgr/ev_apple.cc +3 -5
  206. data/src/core/lib/iomgr/ev_epoll1_linux.cc +43 -42
  207. data/src/core/lib/iomgr/ev_poll_posix.cc +38 -29
  208. data/src/core/lib/iomgr/ev_posix.cc +8 -9
  209. data/src/core/lib/iomgr/ev_posix.h +10 -7
  210. data/src/core/lib/iomgr/event_engine_shims/closure.cc +2 -2
  211. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +14 -28
  212. data/src/core/lib/iomgr/exec_ctx.cc +2 -2
  213. data/src/core/lib/iomgr/exec_ctx.h +1 -1
  214. data/src/core/lib/iomgr/executor.cc +6 -15
  215. data/src/core/lib/iomgr/executor.h +1 -1
  216. data/src/core/lib/iomgr/fork_posix.cc +8 -10
  217. data/src/core/lib/iomgr/fork_windows.cc +3 -1
  218. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +2 -3
  219. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +3 -5
  220. data/src/core/lib/iomgr/internal_errqueue.cc +4 -2
  221. data/src/core/lib/iomgr/iocp_windows.cc +4 -3
  222. data/src/core/lib/iomgr/iomgr.cc +13 -17
  223. data/src/core/lib/iomgr/lockfree_event.cc +3 -5
  224. data/src/core/lib/iomgr/pollset.h +0 -2
  225. data/src/core/lib/iomgr/pollset_windows.cc +0 -2
  226. data/src/core/lib/iomgr/resolve_address_posix.cc +7 -14
  227. data/src/core/lib/iomgr/resolve_address_windows.cc +1 -1
  228. data/src/core/lib/iomgr/socket_factory_posix.cc +1 -1
  229. data/src/core/lib/iomgr/socket_mutator.cc +1 -1
  230. data/src/core/lib/iomgr/socket_utils_common_posix.cc +11 -17
  231. data/src/core/lib/iomgr/socket_windows.cc +4 -6
  232. data/src/core/lib/iomgr/tcp_client_cfstream.cc +3 -5
  233. data/src/core/lib/iomgr/tcp_client_posix.cc +9 -15
  234. data/src/core/lib/iomgr/tcp_client_windows.cc +2 -4
  235. data/src/core/lib/iomgr/tcp_posix.cc +57 -84
  236. data/src/core/lib/iomgr/tcp_posix.h +0 -2
  237. data/src/core/lib/iomgr/tcp_server_posix.cc +3 -3
  238. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +4 -6
  239. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +7 -7
  240. data/src/core/lib/iomgr/tcp_server_windows.cc +10 -16
  241. data/src/core/lib/iomgr/tcp_windows.cc +25 -41
  242. data/src/core/lib/iomgr/timer_generic.cc +17 -20
  243. data/src/core/lib/iomgr/timer_heap.cc +1 -1
  244. data/src/core/lib/iomgr/timer_manager.cc +17 -30
  245. data/src/core/lib/iomgr/unix_sockets_posix.cc +1 -1
  246. data/src/core/lib/iomgr/vsock.cc +1 -1
  247. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +3 -3
  248. data/src/core/lib/promise/activity.h +27 -4
  249. data/src/core/lib/promise/cancel_callback.h +24 -0
  250. data/src/core/lib/promise/context.h +11 -0
  251. data/src/core/lib/promise/detail/basic_seq.h +1 -2
  252. data/src/core/lib/promise/detail/join_state.h +354 -398
  253. data/src/core/lib/promise/detail/promise_like.h +6 -5
  254. data/src/core/lib/promise/detail/seq_state.h +1178 -1178
  255. data/src/core/lib/promise/for_each.h +6 -6
  256. data/src/core/lib/promise/interceptor_list.h +6 -7
  257. data/src/core/lib/promise/latch.h +9 -9
  258. data/src/core/lib/promise/map.h +17 -0
  259. data/src/core/lib/promise/observable.h +182 -0
  260. data/src/core/lib/promise/party.cc +7 -8
  261. data/src/core/lib/promise/party.h +10 -8
  262. data/src/core/lib/promise/pipe.h +16 -35
  263. data/src/core/lib/promise/promise.h +1 -0
  264. data/src/core/lib/promise/status_flag.h +2 -0
  265. data/src/core/lib/resource_quota/arena.cc +56 -79
  266. data/src/core/lib/resource_quota/arena.h +118 -209
  267. data/src/core/lib/resource_quota/memory_quota.cc +12 -13
  268. data/src/core/lib/resource_quota/memory_quota.h +2 -3
  269. data/src/core/lib/resource_quota/periodic_update.cc +1 -1
  270. data/src/core/lib/resource_quota/resource_quota.h +1 -1
  271. data/src/core/lib/security/authorization/authorization_policy_provider.h +1 -1
  272. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +1 -1
  273. data/src/core/lib/security/authorization/evaluate_args.cc +6 -8
  274. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +5 -6
  275. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +1 -0
  276. data/src/core/lib/security/authorization/matchers.cc +3 -3
  277. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +2 -2
  278. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +2 -3
  279. data/src/core/lib/security/context/security_context.cc +12 -13
  280. data/src/core/lib/security/context/security_context.h +31 -8
  281. data/src/core/lib/security/credentials/alts/alts_credentials.h +1 -1
  282. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +3 -1
  283. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +2 -3
  284. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +5 -5
  285. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +3 -3
  286. data/src/core/lib/security/credentials/call_creds_util.cc +2 -1
  287. data/src/core/lib/security/credentials/channel_creds_registry.h +2 -2
  288. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +5 -3
  289. data/src/core/lib/security/credentials/composite/composite_credentials.h +1 -1
  290. data/src/core/lib/security/credentials/credentials.cc +6 -6
  291. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +4 -4
  292. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +2 -2
  293. data/src/core/lib/security/credentials/external/external_account_credentials.cc +9 -11
  294. data/src/core/lib/security/credentials/external/external_account_credentials.h +3 -3
  295. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +2 -2
  296. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +4 -4
  297. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +1 -1
  298. data/src/core/lib/security/credentials/fake/fake_credentials.h +1 -1
  299. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +3 -3
  300. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +11 -11
  301. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +1 -1
  302. data/src/core/lib/security/credentials/iam/iam_credentials.h +1 -1
  303. data/src/core/lib/security/credentials/jwt/json_token.cc +14 -15
  304. data/src/core/lib/security/credentials/jwt/json_token.h +1 -1
  305. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +6 -5
  306. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +1 -1
  307. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +50 -54
  308. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +1 -1
  309. data/src/core/lib/security/credentials/local/local_credentials.h +1 -1
  310. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +12 -11
  311. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +4 -4
  312. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +6 -7
  313. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +1 -3
  314. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +15 -21
  315. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +1 -1
  316. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +21 -30
  317. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +1 -1
  318. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +1 -1
  319. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -4
  320. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +3 -5
  321. data/src/core/lib/security/credentials/tls/tls_credentials.cc +14 -16
  322. data/src/core/lib/security/credentials/tls/tls_utils.cc +4 -4
  323. data/src/core/lib/security/credentials/xds/xds_credentials.cc +1 -1
  324. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +13 -16
  325. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +15 -12
  326. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +6 -6
  327. data/src/core/lib/security/security_connector/load_system_roots_windows.cc +1 -1
  328. data/src/core/lib/security/security_connector/local/local_security_connector.cc +8 -12
  329. data/src/core/lib/security/security_connector/security_connector.cc +1 -4
  330. data/src/core/lib/security/security_connector/security_connector.h +1 -3
  331. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +17 -19
  332. data/src/core/lib/security/security_connector/ssl_utils.cc +19 -21
  333. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +29 -40
  334. data/src/core/lib/security/transport/auth_filters.h +1 -0
  335. data/src/core/lib/security/transport/client_auth_filter.cc +7 -13
  336. data/src/core/lib/security/transport/server_auth_filter.cc +3 -8
  337. data/src/core/lib/security/util/json_util.h +1 -1
  338. data/src/core/lib/slice/slice.h +1 -1
  339. data/src/core/lib/slice/slice_refcount.h +2 -4
  340. data/src/core/lib/slice/slice_string_helpers.cc +1 -1
  341. data/src/core/lib/surface/api_trace.h +1 -3
  342. data/src/core/lib/surface/call.cc +64 -3738
  343. data/src/core/lib/surface/call.h +41 -143
  344. data/src/core/lib/surface/call_log_batch.cc +1 -1
  345. data/src/core/lib/surface/call_utils.cc +276 -0
  346. data/src/core/lib/surface/call_utils.h +449 -0
  347. data/src/core/lib/surface/channel.cc +8 -3
  348. data/src/core/lib/surface/channel.h +10 -7
  349. data/src/core/lib/surface/channel_create.cc +14 -6
  350. data/src/core/lib/surface/channel_create.h +3 -2
  351. data/src/core/lib/surface/channel_init.cc +21 -77
  352. data/src/core/lib/surface/channel_init.h +19 -97
  353. data/src/core/lib/surface/client_call.cc +419 -0
  354. data/src/core/lib/surface/client_call.h +180 -0
  355. data/src/core/lib/surface/completion_queue.cc +28 -33
  356. data/src/core/lib/surface/completion_queue.h +0 -8
  357. data/src/core/lib/surface/filter_stack_call.cc +1157 -0
  358. data/src/core/lib/surface/filter_stack_call.h +369 -0
  359. data/src/core/lib/surface/init.cc +7 -6
  360. data/src/core/lib/surface/lame_client.cc +1 -1
  361. data/src/core/lib/surface/legacy_channel.cc +40 -27
  362. data/src/core/lib/surface/legacy_channel.h +9 -18
  363. data/src/core/lib/surface/server_call.cc +222 -0
  364. data/src/core/lib/surface/server_call.h +167 -0
  365. data/src/core/lib/surface/version.cc +2 -2
  366. data/src/core/lib/transport/bdp_estimator.cc +3 -5
  367. data/src/core/lib/transport/bdp_estimator.h +2 -4
  368. data/src/core/lib/transport/call_arena_allocator.h +9 -7
  369. data/src/core/lib/transport/call_destination.h +76 -0
  370. data/src/core/lib/transport/call_filters.cc +28 -10
  371. data/src/core/lib/transport/call_filters.h +128 -22
  372. data/src/core/lib/transport/call_spine.cc +5 -6
  373. data/src/core/lib/transport/call_spine.h +159 -334
  374. data/src/core/lib/transport/connectivity_state.cc +8 -10
  375. data/src/core/lib/transport/connectivity_state.h +0 -2
  376. data/src/core/lib/transport/interception_chain.cc +155 -0
  377. data/src/core/lib/transport/interception_chain.h +236 -0
  378. data/src/core/lib/transport/metadata_batch.h +10 -1
  379. data/src/core/lib/transport/metadata_info.h +1 -1
  380. data/src/core/lib/transport/transport.cc +3 -6
  381. data/src/core/lib/transport/transport.h +43 -40
  382. data/src/core/load_balancing/child_policy_handler.cc +8 -8
  383. data/src/core/load_balancing/endpoint_list.cc +5 -5
  384. data/src/core/load_balancing/endpoint_list.h +1 -1
  385. data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +1 -0
  386. data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +1 -0
  387. data/src/core/load_balancing/grpclb/grpclb.cc +25 -29
  388. data/src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc +1 -1
  389. data/src/core/load_balancing/grpclb/load_balancer_api.cc +3 -4
  390. data/src/core/load_balancing/health_check_client.cc +10 -13
  391. data/src/core/load_balancing/lb_policy.cc +5 -8
  392. data/src/core/load_balancing/lb_policy.h +19 -3
  393. data/src/core/load_balancing/lb_policy_factory.h +1 -1
  394. data/src/core/load_balancing/lb_policy_registry.cc +2 -3
  395. data/src/core/load_balancing/lb_policy_registry.h +1 -1
  396. data/src/core/load_balancing/oob_backend_metric.cc +2 -4
  397. data/src/core/load_balancing/outlier_detection/outlier_detection.cc +33 -35
  398. data/src/core/load_balancing/outlier_detection/outlier_detection.h +3 -3
  399. data/src/core/load_balancing/pick_first/pick_first.cc +65 -65
  400. data/src/core/load_balancing/priority/priority.cc +26 -28
  401. data/src/core/load_balancing/ring_hash/ring_hash.cc +11 -13
  402. data/src/core/load_balancing/ring_hash/ring_hash.h +3 -3
  403. data/src/core/load_balancing/rls/rls.cc +82 -82
  404. data/src/core/load_balancing/round_robin/round_robin.cc +17 -20
  405. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +54 -43
  406. data/src/core/load_balancing/weighted_target/weighted_target.cc +21 -24
  407. data/src/core/load_balancing/xds/cds.cc +14 -16
  408. data/src/core/load_balancing/xds/xds_cluster_impl.cc +16 -18
  409. data/src/core/load_balancing/xds/xds_cluster_manager.cc +15 -17
  410. data/src/core/load_balancing/xds/xds_override_host.cc +40 -41
  411. data/src/core/load_balancing/xds/xds_override_host.h +3 -3
  412. data/src/core/load_balancing/xds/xds_wrr_locality.cc +10 -12
  413. data/src/core/plugin_registry/grpc_plugin_registry.cc +5 -1
  414. data/src/core/resolver/binder/binder_resolver.cc +3 -2
  415. data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +3 -2
  416. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +1 -1
  417. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +7 -14
  418. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -5
  419. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
  420. data/src/core/resolver/dns/dns_resolver_plugin.cc +6 -5
  421. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +4 -9
  422. data/src/core/resolver/dns/event_engine/service_config_helper.cc +5 -5
  423. data/src/core/resolver/dns/native/dns_resolver.cc +8 -9
  424. data/src/core/resolver/endpoint_addresses.cc +1 -1
  425. data/src/core/resolver/fake/fake_resolver.cc +1 -1
  426. data/src/core/resolver/fake/fake_resolver.h +1 -1
  427. data/src/core/resolver/google_c2p/google_c2p_resolver.cc +13 -14
  428. data/src/core/resolver/polling_resolver.cc +30 -35
  429. data/src/core/resolver/resolver.cc +2 -6
  430. data/src/core/resolver/resolver.h +0 -2
  431. data/src/core/resolver/resolver_registry.cc +6 -8
  432. data/src/core/resolver/sockaddr/sockaddr_resolver.cc +3 -3
  433. data/src/core/resolver/xds/xds_dependency_manager.cc +22 -23
  434. data/src/core/resolver/xds/xds_resolver.cc +13 -15
  435. data/src/core/server/server.cc +269 -389
  436. data/src/core/server/server.h +37 -19
  437. data/src/core/server/server_call_tracer_filter.cc +7 -14
  438. data/src/core/server/server_config_selector.h +1 -1
  439. data/src/core/server/server_config_selector_filter.cc +3 -3
  440. data/src/core/server/server_interface.h +2 -0
  441. data/src/core/server/xds_channel_stack_modifier.cc +1 -1
  442. data/src/core/server/xds_channel_stack_modifier.h +1 -1
  443. data/src/core/server/xds_server_config_fetcher.cc +1 -4
  444. data/src/core/service_config/service_config.h +1 -1
  445. data/src/core/service_config/service_config_call_data.h +13 -11
  446. data/src/core/service_config/service_config_channel_arg_filter.cc +6 -4
  447. data/src/core/service_config/service_config_impl.cc +5 -5
  448. data/src/core/service_config/service_config_impl.h +1 -1
  449. data/src/core/service_config/service_config_parser.cc +3 -6
  450. data/src/core/service_config/service_config_parser.h +1 -1
  451. data/src/core/{lib/channel → telemetry}/call_tracer.cc +20 -30
  452. data/src/core/{lib/channel → telemetry}/call_tracer.h +32 -9
  453. data/src/core/{lib/debug → telemetry}/histogram_view.cc +1 -1
  454. data/src/core/{lib/debug → telemetry}/histogram_view.h +3 -3
  455. data/src/core/telemetry/metrics.cc +178 -0
  456. data/src/core/telemetry/metrics.h +562 -0
  457. data/src/core/{lib/debug → telemetry}/stats.cc +1 -1
  458. data/src/core/{lib/debug → telemetry}/stats.h +5 -5
  459. data/src/core/{lib/debug → telemetry}/stats_data.cc +1 -1
  460. data/src/core/{lib/debug → telemetry}/stats_data.h +4 -4
  461. data/src/core/{lib/channel → telemetry}/tcp_tracer.h +3 -3
  462. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +12 -13
  463. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +25 -27
  464. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +32 -33
  465. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -1
  466. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -1
  467. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +5 -4
  468. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +5 -3
  469. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +1 -1
  470. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +4 -3
  471. data/src/core/tsi/fake_transport_security.cc +14 -17
  472. data/src/core/tsi/local_transport_security.cc +6 -5
  473. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +4 -4
  474. data/src/core/tsi/ssl_transport_security.cc +76 -81
  475. data/src/core/tsi/ssl_transport_security_utils.cc +74 -18
  476. data/src/core/tsi/ssl_transport_security_utils.h +11 -0
  477. data/src/core/tsi/transport_security.cc +0 -4
  478. data/src/core/tsi/transport_security.h +0 -2
  479. data/src/core/tsi/transport_security_interface.h +0 -4
  480. data/src/core/{lib/gpr → util}/alloc.h +3 -3
  481. data/src/core/{lib/gpr → util}/android/log.cc +0 -19
  482. data/src/core/{lib/gpr → util}/atm.cc +1 -1
  483. data/src/core/{ext/gcp/metadata_query.cc → util/gcp_metadata_query.cc} +25 -26
  484. data/src/core/{ext/gcp/metadata_query.h → util/gcp_metadata_query.h} +11 -11
  485. data/src/core/{lib/http → util/http_client}/format_request.cc +4 -3
  486. data/src/core/{lib/http → util/http_client}/format_request.h +6 -5
  487. data/src/core/{lib/http → util/http_client}/httpcli.cc +9 -10
  488. data/src/core/{lib/http → util/http_client}/httpcli.h +6 -5
  489. data/src/core/{lib/http → util/http_client}/httpcli_security_connector.cc +9 -9
  490. data/src/core/{lib/http → util/http_client}/httpcli_ssl_credentials.h +5 -4
  491. data/src/core/{lib/http → util/http_client}/parser.cc +4 -5
  492. data/src/core/{lib/http → util/http_client}/parser.h +5 -6
  493. data/src/core/{lib → util}/json/json.h +5 -4
  494. data/src/core/{lib → util}/json/json_args.h +5 -5
  495. data/src/core/{lib → util}/json/json_channel_args.h +6 -6
  496. data/src/core/{lib → util}/json/json_object_loader.cc +3 -2
  497. data/src/core/{lib → util}/json/json_object_loader.h +7 -7
  498. data/src/core/{lib → util}/json/json_reader.cc +3 -2
  499. data/src/core/{lib → util}/json/json_reader.h +6 -6
  500. data/src/core/{lib → util}/json/json_util.cc +4 -4
  501. data/src/core/{lib → util}/json/json_util.h +6 -6
  502. data/src/core/{lib → util}/json/json_writer.cc +3 -3
  503. data/src/core/{lib → util}/json/json_writer.h +6 -6
  504. data/src/core/{lib/gpr → util}/linux/log.cc +0 -45
  505. data/src/core/util/log.cc +165 -0
  506. data/src/core/{lib/gpr → util}/msys/tmpfile.cc +2 -2
  507. data/src/core/{lib/gpr → util}/posix/cpu.cc +1 -1
  508. data/src/core/{lib/gpr → util}/posix/log.cc +0 -42
  509. data/src/core/{lib/gpr → util}/posix/time.cc +1 -1
  510. data/src/core/{lib/gpr → util}/posix/tmpfile.cc +2 -2
  511. data/src/core/{lib/gpr → util}/spinlock.h +3 -3
  512. data/src/core/{lib/gpr → util}/string.cc +2 -2
  513. data/src/core/{lib/gpr → util}/string.h +3 -3
  514. data/src/core/{lib/gpr → util}/time_precise.cc +1 -1
  515. data/src/core/{lib/gpr → util}/time_precise.h +3 -3
  516. data/src/core/{lib/gpr → util}/tmpfile.h +3 -3
  517. data/src/core/{lib/gpr → util}/useful.h +3 -3
  518. data/src/core/{lib/gpr → util}/windows/log.cc +1 -44
  519. data/src/core/{lib/gpr → util}/windows/string.cc +1 -1
  520. data/src/core/{lib/gpr → util}/windows/string_util.cc +1 -1
  521. data/src/core/{lib/gpr → util}/windows/time.cc +1 -1
  522. data/src/core/{lib/gpr → util}/windows/tmpfile.cc +1 -1
  523. data/src/core/xds/grpc/certificate_provider_store.cc +3 -3
  524. data/src/core/xds/grpc/certificate_provider_store.h +4 -4
  525. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +3 -3
  526. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +3 -3
  527. data/src/core/xds/grpc/xds_audit_logger_registry.h +1 -1
  528. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +5 -5
  529. data/src/core/xds/grpc/xds_bootstrap_grpc.h +3 -3
  530. data/src/core/xds/grpc/xds_certificate_provider.h +1 -1
  531. data/src/core/xds/grpc/xds_client_grpc.cc +27 -23
  532. data/src/core/xds/grpc/xds_client_grpc.h +2 -2
  533. data/src/core/xds/grpc/xds_cluster.cc +4 -5
  534. data/src/core/xds/grpc/xds_cluster.h +1 -1
  535. data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +2 -2
  536. data/src/core/xds/grpc/xds_cluster_specifier_plugin.h +1 -1
  537. data/src/core/xds/grpc/xds_common_types.cc +1 -1
  538. data/src/core/xds/grpc/xds_common_types.h +1 -1
  539. data/src/core/xds/grpc/xds_endpoint.cc +4 -5
  540. data/src/core/xds/grpc/xds_http_fault_filter.cc +2 -2
  541. data/src/core/xds/grpc/xds_http_filters.h +2 -2
  542. data/src/core/xds/grpc/xds_http_rbac_filter.cc +3 -3
  543. data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +2 -2
  544. data/src/core/xds/grpc/xds_lb_policy_registry.h +1 -1
  545. data/src/core/xds/grpc/xds_listener.cc +4 -6
  546. data/src/core/xds/grpc/xds_route_config.cc +7 -8
  547. data/src/core/xds/grpc/xds_transport_grpc.cc +2 -2
  548. data/src/core/xds/grpc/xds_transport_grpc.h +1 -1
  549. data/src/core/xds/xds_client/xds_api.cc +5 -9
  550. data/src/core/xds/xds_client/xds_bootstrap.cc +1 -1
  551. data/src/core/xds/xds_client/xds_bootstrap.h +1 -1
  552. data/src/core/xds/xds_client/xds_client.cc +39 -45
  553. data/src/core/xds/xds_client/xds_client.h +0 -3
  554. data/src/core/xds/xds_client/xds_client_stats.cc +6 -6
  555. data/src/core/xds/xds_client/xds_client_stats.h +2 -2
  556. data/src/ruby/bin/math_pb.rb +1 -22
  557. data/src/ruby/ext/grpc/rb_call.c +8 -1
  558. data/src/ruby/ext/grpc/rb_completion_queue.c +15 -32
  559. data/src/ruby/ext/grpc/rb_completion_queue.h +7 -1
  560. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +2 -2
  561. data/src/ruby/ext/grpc/rb_server.c +39 -22
  562. data/src/ruby/lib/grpc/version.rb +1 -1
  563. data/src/ruby/pb/grpc/health/v1/health_pb.rb +1 -22
  564. data/src/ruby/pb/grpc/testing/duplicate/echo_duplicate_services_pb.rb +5 -5
  565. data/src/ruby/pb/grpc/testing/metrics_pb.rb +10 -19
  566. data/src/ruby/pb/grpc/testing/metrics_services_pb.rb +5 -5
  567. data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +1 -22
  568. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +1 -22
  569. data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +1 -22
  570. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +4 -0
  571. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +12 -12
  572. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +66 -41
  573. data/third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c +1497 -0
  574. data/third_party/boringssl-with-bazel/src/crypto/dilithium/internal.h +58 -0
  575. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +10 -3
  576. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +0 -2
  577. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +2 -0
  578. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +5 -0
  579. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +45 -1
  580. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +33 -23
  581. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c +3 -6
  582. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +9 -4
  583. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +6 -0
  584. data/third_party/boringssl-with-bazel/src/crypto/internal.h +7 -0
  585. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +0 -4
  586. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.c +49 -16
  587. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +0 -10
  588. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +7 -17
  589. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +8 -6
  590. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +3 -0
  591. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +125 -0
  592. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +0 -23
  593. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +1 -1
  594. data/third_party/boringssl-with-bazel/src/ssl/internal.h +4 -10
  595. metadata +103 -93
  596. data/src/core/ext/transport/chttp2/transport/http_trace.cc +0 -19
  597. data/src/core/ext/transport/chttp2/transport/http_trace.h +0 -24
  598. data/src/core/ext/transport/inproc/inproc_plugin.cc +0 -23
  599. data/src/core/handshaker/security/tsi_error.cc +0 -31
  600. data/src/core/handshaker/security/tsi_error.h +0 -30
  601. data/src/core/lib/channel/channel_stack_trace.cc +0 -19
  602. data/src/core/lib/channel/channel_stack_trace.h +0 -24
  603. data/src/core/lib/channel/context.h +0 -105
  604. data/src/core/lib/channel/metrics.cc +0 -334
  605. data/src/core/lib/channel/metrics.h +0 -365
  606. data/src/core/lib/event_engine/trace.cc +0 -25
  607. data/src/core/lib/gpr/log.cc +0 -166
  608. data/src/core/lib/iomgr/ev_windows.cc +0 -30
  609. data/src/core/lib/promise/trace.cc +0 -20
  610. data/src/core/lib/promise/trace.h +0 -24
  611. data/src/core/lib/resource_quota/trace.cc +0 -19
  612. data/src/core/lib/resource_quota/trace.h +0 -24
  613. data/src/core/lib/slice/slice_refcount.cc +0 -20
  614. data/src/core/lib/surface/api_trace.cc +0 -25
  615. data/src/core/lib/surface/call_trace.h +0 -24
  616. data/src/core/lib/surface/wait_for_cq_end_op.cc +0 -75
  617. data/src/core/lib/surface/wait_for_cq_end_op.h +0 -72
  618. data/src/core/lib/transport/batch_builder.cc +0 -172
  619. data/src/core/lib/transport/batch_builder.h +0 -474
  620. data/src/core/resolver/xds/xds_resolver_trace.cc +0 -25
  621. data/src/core/resolver/xds/xds_resolver_trace.h +0 -30
  622. data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +0 -122
  623. /data/src/core/{lib/gpr → util}/alloc.cc +0 -0
  624. /data/src/core/{lib/gpr → util}/iphone/cpu.cc +0 -0
  625. /data/src/core/{lib/gpr → util}/linux/cpu.cc +0 -0
  626. /data/src/core/{lib/gpr → util}/posix/string.cc +0 -0
  627. /data/src/core/{lib/gpr → util}/posix/sync.cc +0 -0
  628. /data/src/core/{lib/gpr → util}/sync.cc +0 -0
  629. /data/src/core/{lib/gpr → util}/sync_abseil.cc +0 -0
  630. /data/src/core/{lib/gpr → util}/time.cc +0 -0
  631. /data/src/core/{lib/gpr → util}/windows/cpu.cc +0 -0
  632. /data/src/core/{lib/gpr → util}/windows/sync.cc +0 -0
@@ -23,6 +23,8 @@
23
23
 
24
24
  #include <grpc/support/port_platform.h>
25
25
 
26
+ #include "src/core/tsi/transport_security_interface.h"
27
+
26
28
  // TODO(jboeuf): refactor inet_ntop into a portability header.
27
29
  // Note: for whomever reads this and tries to refactor this, this
28
30
  // can't be in grpc, it has to be in gpr.
@@ -46,6 +48,7 @@
46
48
  #include <openssl/x509v3.h>
47
49
 
48
50
  #include "absl/log/check.h"
51
+ #include "absl/log/log.h"
49
52
  #include "absl/strings/match.h"
50
53
  #include "absl/strings/str_cat.h"
51
54
  #include "absl/strings/string_view.h"
@@ -53,12 +56,10 @@
53
56
  #include <grpc/grpc_crl_provider.h>
54
57
  #include <grpc/grpc_security.h>
55
58
  #include <grpc/support/alloc.h>
56
- #include <grpc/support/log.h>
57
59
  #include <grpc/support/string_util.h>
58
60
  #include <grpc/support/sync.h>
59
61
  #include <grpc/support/thd_id.h>
60
62
 
61
- #include "src/core/lib/gpr/useful.h"
62
63
  #include "src/core/lib/gprpp/crash.h"
63
64
  #include "src/core/lib/security/credentials/tls/grpc_tls_crl_provider.h"
64
65
  #include "src/core/tsi/ssl/key_logging/ssl_key_logging.h"
@@ -66,6 +67,7 @@
66
67
  #include "src/core/tsi/ssl_transport_security_utils.h"
67
68
  #include "src/core/tsi/ssl_types.h"
68
69
  #include "src/core/tsi/transport_security.h"
70
+ #include "src/core/util/useful.h"
69
71
 
70
72
  // --- Constants. ---
71
73
 
@@ -204,7 +206,7 @@ static void init_openssl(void) {
204
206
  CRYPTO_set_locking_callback(openssl_locking_cb);
205
207
  CRYPTO_set_id_callback(openssl_thread_id_cb);
206
208
  } else {
207
- gpr_log(GPR_INFO, "OpenSSL callback has already been set.");
209
+ LOG(INFO) << "OpenSSL callback has already been set.";
208
210
  }
209
211
  #endif
210
212
  g_ssl_ctx_ex_factory_index =
@@ -225,7 +227,7 @@ static void init_openssl(void) {
225
227
  // TODO(jboeuf): Remove when we are past the debugging phase with this code.
226
228
  static void ssl_log_where_info(const SSL* ssl, int where, int flag,
227
229
  const char* msg) {
228
- if ((where & flag) && GRPC_TRACE_FLAG_ENABLED(tsi_tracing_enabled)) {
230
+ if ((where & flag) && GRPC_TRACE_FLAG_ENABLED(tsi)) {
229
231
  gpr_log(GPR_INFO, "%20.20s - %30.30s - %5.10s", msg,
230
232
  SSL_state_string_long(ssl), SSL_state_string(ssl));
231
233
  }
@@ -234,7 +236,7 @@ static void ssl_log_where_info(const SSL* ssl, int where, int flag,
234
236
  // Used for debugging. TODO(jboeuf): Remove when code is mature enough.
235
237
  static void ssl_info_callback(const SSL* ssl, int where, int ret) {
236
238
  if (ret == 0) {
237
- gpr_log(GPR_ERROR, "ssl_info_callback: error occurred.\n");
239
+ LOG(ERROR) << "ssl_info_callback: error occurred.\n";
238
240
  return;
239
241
  }
240
242
 
@@ -277,30 +279,28 @@ static tsi_result ssl_get_x509_common_name(X509* cert, unsigned char** utf8,
277
279
  X509_NAME* subject_name = X509_get_subject_name(cert);
278
280
  int utf8_returned_size = 0;
279
281
  if (subject_name == nullptr) {
280
- gpr_log(GPR_DEBUG, "Could not get subject name from certificate.");
282
+ VLOG(2) << "Could not get subject name from certificate.";
281
283
  return TSI_NOT_FOUND;
282
284
  }
283
285
  common_name_index =
284
286
  X509_NAME_get_index_by_NID(subject_name, NID_commonName, -1);
285
287
  if (common_name_index == -1) {
286
- gpr_log(GPR_DEBUG,
287
- "Could not get common name of subject from certificate.");
288
+ VLOG(2) << "Could not get common name of subject from certificate.";
288
289
  return TSI_NOT_FOUND;
289
290
  }
290
291
  common_name_entry = X509_NAME_get_entry(subject_name, common_name_index);
291
292
  if (common_name_entry == nullptr) {
292
- gpr_log(GPR_ERROR, "Could not get common name entry from certificate.");
293
+ LOG(ERROR) << "Could not get common name entry from certificate.";
293
294
  return TSI_INTERNAL_ERROR;
294
295
  }
295
296
  common_name_asn1 = X509_NAME_ENTRY_get_data(common_name_entry);
296
297
  if (common_name_asn1 == nullptr) {
297
- gpr_log(GPR_ERROR,
298
- "Could not get common name entry asn1 from certificate.");
298
+ LOG(ERROR) << "Could not get common name entry asn1 from certificate.";
299
299
  return TSI_INTERNAL_ERROR;
300
300
  }
301
301
  utf8_returned_size = ASN1_STRING_to_UTF8(utf8, common_name_asn1);
302
302
  if (utf8_returned_size < 0) {
303
- gpr_log(GPR_ERROR, "Could not extract utf8 from asn1 string.");
303
+ LOG(ERROR) << "Could not extract utf8 from asn1 string.";
304
304
  return TSI_OUT_OF_RESOURCES;
305
305
  }
306
306
  *utf8_size = static_cast<size_t>(utf8_returned_size);
@@ -336,7 +336,7 @@ static tsi_result peer_property_from_x509_subject(X509* cert,
336
336
  bool is_verified_root_cert) {
337
337
  X509_NAME* subject_name = X509_get_subject_name(cert);
338
338
  if (subject_name == nullptr) {
339
- gpr_log(GPR_INFO, "Could not get subject name from certificate.");
339
+ LOG(INFO) << "Could not get subject name from certificate.";
340
340
  return TSI_NOT_FOUND;
341
341
  }
342
342
  BIO* bio = BIO_new(BIO_s_mem());
@@ -344,7 +344,7 @@ static tsi_result peer_property_from_x509_subject(X509* cert,
344
344
  char* contents;
345
345
  long len = BIO_get_mem_data(bio, &contents);
346
346
  if (len < 0) {
347
- gpr_log(GPR_ERROR, "Could not get subject entry from certificate.");
347
+ LOG(ERROR) << "Could not get subject entry from certificate.";
348
348
  BIO_free(bio);
349
349
  return TSI_INTERNAL_ERROR;
350
350
  }
@@ -409,7 +409,7 @@ static tsi_result add_subject_alt_names_properties_to_peer(
409
409
  property_name = TSI_X509_URI_PEER_PROPERTY;
410
410
  }
411
411
  if (name_size < 0) {
412
- gpr_log(GPR_ERROR, "Could not get utf8 from asn1 string.");
412
+ LOG(ERROR) << "Could not get utf8 from asn1 string.";
413
413
  result = TSI_INTERNAL_ERROR;
414
414
  break;
415
415
  }
@@ -435,14 +435,14 @@ static tsi_result add_subject_alt_names_properties_to_peer(
435
435
  } else if (subject_alt_name->d.iPAddress->length == 16) {
436
436
  af = AF_INET6;
437
437
  } else {
438
- gpr_log(GPR_ERROR, "SAN IP Address contained invalid IP");
438
+ LOG(ERROR) << "SAN IP Address contained invalid IP";
439
439
  result = TSI_INTERNAL_ERROR;
440
440
  break;
441
441
  }
442
442
  const char* name = inet_ntop(af, subject_alt_name->d.iPAddress->data,
443
443
  ntop_buf, INET6_ADDRSTRLEN);
444
444
  if (name == nullptr) {
445
- gpr_log(GPR_ERROR, "Could not get IP string from asn1 octet.");
445
+ LOG(ERROR) << "Could not get IP string from asn1 octet.";
446
446
  result = TSI_INTERNAL_ERROR;
447
447
  break;
448
448
  }
@@ -605,7 +605,7 @@ static tsi_result ssl_ctx_use_engine_private_key(SSL_CTX* context,
605
605
  }
606
606
  engine_name = static_cast<char*>(gpr_zalloc(engine_name_length + 1));
607
607
  memcpy(engine_name, engine_start, engine_name_length);
608
- gpr_log(GPR_DEBUG, "ENGINE key: %s", engine_name);
608
+ VLOG(2) << "ENGINE key: " << engine_name;
609
609
  ENGINE_load_dynamic();
610
610
  engine = ENGINE_by_id(engine_name);
611
611
  if (engine == nullptr) {
@@ -613,7 +613,7 @@ static tsi_result ssl_ctx_use_engine_private_key(SSL_CTX* context,
613
613
  // current working directory.
614
614
  engine = ENGINE_by_id("dynamic");
615
615
  if (engine == nullptr) {
616
- gpr_log(GPR_ERROR, "Cannot load dynamic engine");
616
+ LOG(ERROR) << "Cannot load dynamic engine";
617
617
  result = TSI_INVALID_ARGUMENT;
618
618
  break;
619
619
  }
@@ -622,29 +622,29 @@ static tsi_result ssl_ctx_use_engine_private_key(SSL_CTX* context,
622
622
  !ENGINE_ctrl_cmd_string(engine, "DIR_ADD", ".", 0) ||
623
623
  !ENGINE_ctrl_cmd_string(engine, "LIST_ADD", "1", 0) ||
624
624
  !ENGINE_ctrl_cmd_string(engine, "LOAD", NULL, 0)) {
625
- gpr_log(GPR_ERROR, "Cannot find engine");
625
+ LOG(ERROR) << "Cannot find engine";
626
626
  result = TSI_INVALID_ARGUMENT;
627
627
  break;
628
628
  }
629
629
  }
630
630
  if (!ENGINE_set_default(engine, ENGINE_METHOD_ALL)) {
631
- gpr_log(GPR_ERROR, "ENGINE_set_default with ENGINE_METHOD_ALL failed");
631
+ LOG(ERROR) << "ENGINE_set_default with ENGINE_METHOD_ALL failed";
632
632
  result = TSI_INVALID_ARGUMENT;
633
633
  break;
634
634
  }
635
635
  if (!ENGINE_init(engine)) {
636
- gpr_log(GPR_ERROR, "ENGINE_init failed");
636
+ LOG(ERROR) << "ENGINE_init failed";
637
637
  result = TSI_INVALID_ARGUMENT;
638
638
  break;
639
639
  }
640
640
  private_key = ENGINE_load_private_key(engine, key_id, 0, 0);
641
641
  if (private_key == nullptr) {
642
- gpr_log(GPR_ERROR, "ENGINE_load_private_key failed");
642
+ LOG(ERROR) << "ENGINE_load_private_key failed";
643
643
  result = TSI_INVALID_ARGUMENT;
644
644
  break;
645
645
  }
646
646
  if (!SSL_CTX_use_PrivateKey(context, private_key)) {
647
- gpr_log(GPR_ERROR, "SSL_CTX_use_PrivateKey failed");
647
+ LOG(ERROR) << "SSL_CTX_use_PrivateKey failed";
648
648
  result = TSI_INVALID_ARGUMENT;
649
649
  break;
650
650
  }
@@ -725,7 +725,7 @@ static tsi_result x509_store_load_certs(X509_STORE* cert_store,
725
725
  if (root_names != nullptr) {
726
726
  root_name = X509_get_subject_name(root);
727
727
  if (root_name == nullptr) {
728
- gpr_log(GPR_ERROR, "Could not get name from root certificate.");
728
+ LOG(ERROR) << "Could not get name from root certificate.";
729
729
  result = TSI_INVALID_ARGUMENT;
730
730
  break;
731
731
  }
@@ -742,7 +742,7 @@ static tsi_result x509_store_load_certs(X509_STORE* cert_store,
742
742
  unsigned long error = ERR_get_error();
743
743
  if (ERR_GET_LIB(error) != ERR_LIB_X509 ||
744
744
  ERR_GET_REASON(error) != X509_R_CERT_ALREADY_IN_HASH_TABLE) {
745
- gpr_log(GPR_ERROR, "Could not add root certificate to ssl context.");
745
+ LOG(ERROR) << "Could not add root certificate to ssl context.";
746
746
  result = TSI_INTERNAL_ERROR;
747
747
  break;
748
748
  }
@@ -751,7 +751,7 @@ static tsi_result x509_store_load_certs(X509_STORE* cert_store,
751
751
  num_roots++;
752
752
  }
753
753
  if (num_roots == 0) {
754
- gpr_log(GPR_ERROR, "Could not load any root certificate.");
754
+ LOG(ERROR) << "Could not load any root certificate.";
755
755
  result = TSI_INVALID_ARGUMENT;
756
756
  }
757
757
 
@@ -790,7 +790,7 @@ static tsi_result populate_ssl_context(
790
790
  result = ssl_ctx_use_certificate_chain(context, key_cert_pair->cert_chain,
791
791
  strlen(key_cert_pair->cert_chain));
792
792
  if (result != TSI_OK) {
793
- gpr_log(GPR_ERROR, "Invalid cert chain file.");
793
+ LOG(ERROR) << "Invalid cert chain file.";
794
794
  return result;
795
795
  }
796
796
  }
@@ -798,21 +798,21 @@ static tsi_result populate_ssl_context(
798
798
  result = ssl_ctx_use_private_key(context, key_cert_pair->private_key,
799
799
  strlen(key_cert_pair->private_key));
800
800
  if (result != TSI_OK || !SSL_CTX_check_private_key(context)) {
801
- gpr_log(GPR_ERROR, "Invalid private key.");
801
+ LOG(ERROR) << "Invalid private key.";
802
802
  return result != TSI_OK ? result : TSI_INVALID_ARGUMENT;
803
803
  }
804
804
  }
805
805
  }
806
806
  if ((cipher_list != nullptr) &&
807
807
  !SSL_CTX_set_cipher_list(context, cipher_list)) {
808
- gpr_log(GPR_ERROR, "Invalid cipher list: %s.", cipher_list);
808
+ LOG(ERROR) << "Invalid cipher list: " << cipher_list;
809
809
  return TSI_INVALID_ARGUMENT;
810
810
  }
811
811
  {
812
812
  #if OPENSSL_VERSION_NUMBER < 0x30000000L
813
813
  EC_KEY* ecdh = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
814
814
  if (!SSL_CTX_set_tmp_ecdh(context, ecdh)) {
815
- gpr_log(GPR_ERROR, "Could not set ephemeral ECDH key.");
815
+ LOG(ERROR) << "Could not set ephemeral ECDH key.";
816
816
  EC_KEY_free(ecdh);
817
817
  return TSI_INTERNAL_ERROR;
818
818
  }
@@ -820,7 +820,7 @@ static tsi_result populate_ssl_context(
820
820
  EC_KEY_free(ecdh);
821
821
  #else
822
822
  if (!SSL_CTX_set1_groups(context, kSslEcCurveNames, 1)) {
823
- gpr_log(GPR_ERROR, "Could not set ephemeral ECDH key.");
823
+ LOG(ERROR) << "Could not set ephemeral ECDH key.";
824
824
  return TSI_INTERNAL_ERROR;
825
825
  }
826
826
  SSL_CTX_set_options(context, SSL_OP_SINGLE_ECDH_USE);
@@ -840,7 +840,7 @@ tsi_result tsi_ssl_extract_x509_subject_names_from_pem_cert(
840
840
 
841
841
  cert = PEM_read_bio_X509(pem, nullptr, nullptr, const_cast<char*>(""));
842
842
  if (cert == nullptr) {
843
- gpr_log(GPR_ERROR, "Invalid certificate");
843
+ LOG(ERROR) << "Invalid certificate";
844
844
  result = TSI_INVALID_ARGUMENT;
845
845
  } else {
846
846
  result = peer_from_x509(cert, 0, peer);
@@ -863,8 +863,7 @@ static tsi_result build_alpn_protocol_name_list(
863
863
  size_t length =
864
864
  alpn_protocols[i] == nullptr ? 0 : strlen(alpn_protocols[i]);
865
865
  if (length == 0 || length > 255) {
866
- gpr_log(GPR_ERROR, "Invalid protocol name length: %d.",
867
- static_cast<int>(length));
866
+ LOG(ERROR) << "Invalid protocol name length: " << length;
868
867
  return TSI_INVALID_ARGUMENT;
869
868
  }
870
869
  *protocol_name_list_length += length + 1;
@@ -893,13 +892,12 @@ static tsi_result build_alpn_protocol_name_list(
893
892
  static int verify_cb(int ok, X509_STORE_CTX* ctx) {
894
893
  int cert_error = X509_STORE_CTX_get_error(ctx);
895
894
  if (cert_error == X509_V_ERR_UNABLE_TO_GET_CRL) {
896
- gpr_log(GPR_INFO,
897
- "Certificate verification failed to find relevant CRL file. "
898
- "Ignoring error.");
895
+ LOG(INFO) << "Certificate verification failed to find relevant CRL file. "
896
+ "Ignoring error.";
899
897
  return 1;
900
898
  }
901
899
  if (cert_error != 0) {
902
- gpr_log(GPR_ERROR, "Certificate verify failed with code %d", cert_error);
900
+ LOG(ERROR) << "Certificate verify failed with code " << cert_error;
903
901
  }
904
902
  return ok;
905
903
  }
@@ -943,8 +941,8 @@ static int RootCertExtractCallback(X509_STORE_CTX* ctx, void* /*arg*/) {
943
941
  if (ssl_index < 0) {
944
942
  char err_str[256];
945
943
  ERR_error_string_n(ERR_get_error(), err_str, sizeof(err_str));
946
- gpr_log(GPR_ERROR,
947
- "error getting the SSL index from the X509_STORE_CTX: %s", err_str);
944
+ LOG(ERROR) << "error getting the SSL index from the X509_STORE_CTX: "
945
+ << err_str;
948
946
  return ret;
949
947
  }
950
948
  SSL* ssl = static_cast<SSL*>(X509_STORE_CTX_get_ex_data(ctx, ssl_index));
@@ -962,7 +960,7 @@ static int RootCertExtractCallback(X509_STORE_CTX* ctx, void* /*arg*/) {
962
960
  int success =
963
961
  SSL_set_ex_data(ssl, g_ssl_ex_verified_root_cert_index, root_cert);
964
962
  if (success == 0) {
965
- gpr_log(GPR_INFO, "Could not set verified root cert in SSL's ex_data");
963
+ LOG(INFO) << "Could not set verified root cert in SSL's ex_data";
966
964
  } else {
967
965
  #if OPENSSL_VERSION_NUMBER >= 0x10100000L
968
966
  X509_up_ref(root_cert);
@@ -988,8 +986,7 @@ static grpc_core::experimental::CrlProvider* GetCrlProvider(
988
986
  }
989
987
  SSL* ssl = static_cast<SSL*>(X509_STORE_CTX_get_ex_data(ctx, ssl_index));
990
988
  if (ssl == nullptr) {
991
- gpr_log(GPR_INFO,
992
- "error while fetching from CrlProvider. SSL object is null");
989
+ LOG(INFO) << "error while fetching from CrlProvider. SSL object is null";
993
990
  return nullptr;
994
991
  }
995
992
  SSL_CTX* ssl_ctx = SSL_get_SSL_CTX(ssl);
@@ -1007,13 +1004,13 @@ static absl::StatusOr<X509_CRL*> GetCrlFromProvider(
1007
1004
  }
1008
1005
  absl::StatusOr<std::string> issuer_name = grpc_core::IssuerFromCert(cert);
1009
1006
  if (!issuer_name.ok()) {
1010
- gpr_log(GPR_INFO, "Could not get certificate issuer name");
1007
+ LOG(INFO) << "Could not get certificate issuer name";
1011
1008
  return absl::InvalidArgumentError(issuer_name.status().message());
1012
1009
  }
1013
1010
  absl::StatusOr<std::string> akid = grpc_core::AkidFromCertificate(cert);
1014
1011
  std::string akid_to_use;
1015
1012
  if (!akid.ok()) {
1016
- gpr_log(GPR_INFO, "Could not get certificate authority key identifier.");
1013
+ LOG(INFO) << "Could not get certificate authority key identifier.";
1017
1014
  } else {
1018
1015
  akid_to_use = *akid;
1019
1016
  }
@@ -1046,12 +1043,12 @@ static bool ValidateCrl(X509* cert, X509* issuer, X509_CRL* crl) {
1046
1043
  // 6.3.3b verify issuer and scope
1047
1044
  valid = grpc_core::VerifyCrlCertIssuerNamesMatch(crl, cert);
1048
1045
  if (!valid) {
1049
- gpr_log(GPR_DEBUG, "CRL and cert issuer names mismatched.");
1046
+ VLOG(2) << "CRL and cert issuer names mismatched.";
1050
1047
  return valid;
1051
1048
  }
1052
1049
  valid = grpc_core::HasCrlSignBit(issuer);
1053
1050
  if (!valid) {
1054
- gpr_log(GPR_DEBUG, "CRL issuer not allowed to sign CRLs.");
1051
+ VLOG(2) << "CRL issuer not allowed to sign CRLs.";
1055
1052
  return valid;
1056
1053
  }
1057
1054
  // 6.3.3c Not supporting deltas
@@ -1062,7 +1059,7 @@ static bool ValidateCrl(X509* cert, X509* issuer, X509_CRL* crl) {
1062
1059
  // 6.3.3g Verify CRL Signature
1063
1060
  valid = grpc_core::VerifyCrlSignature(crl, issuer);
1064
1061
  if (!valid) {
1065
- gpr_log(GPR_DEBUG, "Crl signature check failed.");
1062
+ VLOG(2) << "Crl signature check failed.";
1066
1063
  }
1067
1064
  return valid;
1068
1065
  }
@@ -1152,7 +1149,7 @@ static int CheckChainRevocation(
1152
1149
  static int CustomVerificationFunction(X509_STORE_CTX* ctx, void* arg) {
1153
1150
  int ret = X509_verify_cert(ctx);
1154
1151
  if (ret <= 0) {
1155
- gpr_log(GPR_DEBUG, "Failed to verify cert chain.");
1152
+ VLOG(2) << "Failed to verify cert chain.";
1156
1153
  // Verification failed. We shouldn't expect to have a verified chain, so
1157
1154
  // there is no need to attempt to extract the root cert from it, check for
1158
1155
  // revocation, or check anything else.
@@ -1162,7 +1159,7 @@ static int CustomVerificationFunction(X509_STORE_CTX* ctx, void* arg) {
1162
1159
  if (provider != nullptr) {
1163
1160
  ret = CheckChainRevocation(ctx, provider);
1164
1161
  if (ret <= 0) {
1165
- gpr_log(GPR_DEBUG, "The chain failed revocation checks.");
1162
+ VLOG(2) << "The chain failed revocation checks.";
1166
1163
  return ret;
1167
1164
  }
1168
1165
  }
@@ -1176,8 +1173,8 @@ static tsi_result tsi_set_min_and_max_tls_versions(
1176
1173
  SSL_CTX* ssl_context, tsi_tls_version min_tls_version,
1177
1174
  tsi_tls_version max_tls_version) {
1178
1175
  if (ssl_context == nullptr) {
1179
- gpr_log(GPR_INFO,
1180
- "Invalid nullptr argument to |tsi_set_min_and_max_tls_versions|.");
1176
+ LOG(INFO) << "Invalid nullptr argument to "
1177
+ "|tsi_set_min_and_max_tls_versions|.";
1181
1178
  return TSI_INVALID_ARGUMENT;
1182
1179
  }
1183
1180
  #if OPENSSL_VERSION_NUMBER >= 0x10100000
@@ -1198,7 +1195,7 @@ static tsi_result tsi_set_min_and_max_tls_versions(
1198
1195
  break;
1199
1196
  #endif
1200
1197
  default:
1201
- gpr_log(GPR_INFO, "TLS version is not supported.");
1198
+ LOG(INFO) << "TLS version is not supported.";
1202
1199
  return TSI_FAILED_PRECONDITION;
1203
1200
  }
1204
1201
 
@@ -1217,7 +1214,7 @@ static tsi_result tsi_set_min_and_max_tls_versions(
1217
1214
  #endif
1218
1215
  break;
1219
1216
  default:
1220
- gpr_log(GPR_INFO, "TLS version is not supported.");
1217
+ LOG(INFO) << "TLS version is not supported.";
1221
1218
  return TSI_FAILED_PRECONDITION;
1222
1219
  }
1223
1220
  #endif
@@ -1229,25 +1226,25 @@ static tsi_result tsi_set_min_and_max_tls_versions(
1229
1226
  tsi_ssl_root_certs_store* tsi_ssl_root_certs_store_create(
1230
1227
  const char* pem_roots) {
1231
1228
  if (pem_roots == nullptr) {
1232
- gpr_log(GPR_ERROR, "The root certificates are empty.");
1229
+ LOG(ERROR) << "The root certificates are empty.";
1233
1230
  return nullptr;
1234
1231
  }
1235
1232
  tsi_ssl_root_certs_store* root_store = static_cast<tsi_ssl_root_certs_store*>(
1236
1233
  gpr_zalloc(sizeof(tsi_ssl_root_certs_store)));
1237
1234
  if (root_store == nullptr) {
1238
- gpr_log(GPR_ERROR, "Could not allocate buffer for ssl_root_certs_store.");
1235
+ LOG(ERROR) << "Could not allocate buffer for ssl_root_certs_store.";
1239
1236
  return nullptr;
1240
1237
  }
1241
1238
  root_store->store = X509_STORE_new();
1242
1239
  if (root_store->store == nullptr) {
1243
- gpr_log(GPR_ERROR, "Could not allocate buffer for X509_STORE.");
1240
+ LOG(ERROR) << "Could not allocate buffer for X509_STORE.";
1244
1241
  gpr_free(root_store);
1245
1242
  return nullptr;
1246
1243
  }
1247
1244
  tsi_result result = x509_store_load_certs(root_store->store, pem_roots,
1248
1245
  strlen(pem_roots), nullptr);
1249
1246
  if (result != TSI_OK) {
1250
- gpr_log(GPR_ERROR, "Could not load root certificates.");
1247
+ LOG(ERROR) << "Could not load root certificates.";
1251
1248
  X509_STORE_free(root_store->store);
1252
1249
  gpr_free(root_store);
1253
1250
  return nullptr;
@@ -1477,9 +1474,8 @@ static tsi_result ssl_handshaker_result_extract_peer(
1477
1474
  result = peer_property_from_x509_subject(
1478
1475
  verified_root_cert, &peer->properties[peer->property_count], true);
1479
1476
  if (result != TSI_OK) {
1480
- gpr_log(GPR_DEBUG,
1481
- "Problem extracting subject from verified_root_cert. result: %d",
1482
- static_cast<int>(result));
1477
+ VLOG(2) << "Problem extracting subject from verified_root_cert. result: "
1478
+ << result;
1483
1479
  }
1484
1480
  peer->property_count++;
1485
1481
  }
@@ -1676,7 +1672,7 @@ static tsi_result ssl_handshaker_process_bytes_from_peer(
1676
1672
  bytes_written_into_ssl_size =
1677
1673
  BIO_write(impl->network_io, bytes, static_cast<int>(*bytes_size));
1678
1674
  if (bytes_written_into_ssl_size < 0) {
1679
- gpr_log(GPR_ERROR, "Could not write to memory BIO.");
1675
+ LOG(ERROR) << "Could not write to memory BIO.";
1680
1676
  if (error != nullptr) *error = "could not write to memory BIO";
1681
1677
  impl->result = TSI_INTERNAL_ERROR;
1682
1678
  return impl->result;
@@ -1823,7 +1819,7 @@ static tsi_result ssl_handshaker_next(tsi_handshaker* self,
1823
1819
  ssl_bytes_remaining(impl, &unused_bytes, &unused_bytes_size, error);
1824
1820
  if (status != TSI_OK) return status;
1825
1821
  if (unused_bytes_size > received_bytes_size) {
1826
- gpr_log(GPR_ERROR, "More unused bytes than received bytes.");
1822
+ LOG(ERROR) << "More unused bytes than received bytes.";
1827
1823
  gpr_free(unused_bytes);
1828
1824
  if (error != nullptr) *error = "More unused bytes than received bytes.";
1829
1825
  return TSI_INTERNAL_ERROR;
@@ -1877,7 +1873,7 @@ static tsi_result create_tsi_ssl_handshaker(SSL_CTX* ctx, int is_client,
1877
1873
  tsi_ssl_handshaker* impl = nullptr;
1878
1874
  *handshaker = nullptr;
1879
1875
  if (ctx == nullptr) {
1880
- gpr_log(GPR_ERROR, "SSL Context is null. Should never happen.");
1876
+ LOG(ERROR) << "SSL Context is null. Should never happen.";
1881
1877
  return TSI_INTERNAL_ERROR;
1882
1878
  }
1883
1879
  if (ssl == nullptr) {
@@ -1887,7 +1883,7 @@ static tsi_result create_tsi_ssl_handshaker(SSL_CTX* ctx, int is_client,
1887
1883
 
1888
1884
  if (!BIO_new_bio_pair(&network_io, network_bio_buf_size, &ssl_io,
1889
1885
  ssl_bio_buf_size)) {
1890
- gpr_log(GPR_ERROR, "BIO_new_bio_pair failed.");
1886
+ LOG(ERROR) << "BIO_new_bio_pair failed.";
1891
1887
  SSL_free(ssl);
1892
1888
  return TSI_OUT_OF_RESOURCES;
1893
1889
  }
@@ -2076,7 +2072,7 @@ static int does_entry_match_name(absl::string_view entry,
2076
2072
 
2077
2073
  // Wildchar subdomain matching.
2078
2074
  if (entry.size() < 3 || entry[1] != '.') { // At least *.x
2079
- gpr_log(GPR_ERROR, "Invalid wildchar entry.");
2075
+ LOG(ERROR) << "Invalid wildchar entry.";
2080
2076
  return 0;
2081
2077
  }
2082
2078
  size_t name_subdomain_pos = name.find('.');
@@ -2087,8 +2083,7 @@ static int does_entry_match_name(absl::string_view entry,
2087
2083
  entry.remove_prefix(2); // Remove *.
2088
2084
  size_t dot = name_subdomain.find('.');
2089
2085
  if (dot == absl::string_view::npos || dot == name_subdomain.size() - 1) {
2090
- gpr_log(GPR_ERROR, "Invalid toplevel subdomain: %s",
2091
- std::string(name_subdomain).c_str());
2086
+ LOG(ERROR) << "Invalid toplevel subdomain: " << name_subdomain;
2092
2087
  return 0;
2093
2088
  }
2094
2089
  if (name_subdomain.back() == '.') {
@@ -2115,7 +2110,7 @@ static int ssl_server_handshaker_factory_servername_callback(SSL* ssl,
2115
2110
  return SSL_TLSEXT_ERR_OK;
2116
2111
  }
2117
2112
  }
2118
- gpr_log(GPR_ERROR, "No match found for server name: %s.", servername);
2113
+ LOG(ERROR) << "No match found for server name: " << servername;
2119
2114
  return SSL_TLSEXT_ERR_NOACK;
2120
2115
  }
2121
2116
 
@@ -2222,7 +2217,7 @@ tsi_result tsi_create_ssl_client_handshaker_factory_with_options(
2222
2217
  #endif
2223
2218
  if (ssl_context == nullptr) {
2224
2219
  grpc_core::LogSslErrorStack();
2225
- gpr_log(GPR_ERROR, "Could not create ssl context.");
2220
+ LOG(ERROR) << "Could not create ssl context.";
2226
2221
  return TSI_INVALID_ARGUMENT;
2227
2222
  }
2228
2223
 
@@ -2289,7 +2284,7 @@ tsi_result tsi_create_ssl_client_handshaker_factory_with_options(
2289
2284
 
2290
2285
  X509_VERIFY_PARAM_set_depth(param, kMaxChainLength);
2291
2286
  if (result != TSI_OK) {
2292
- gpr_log(GPR_ERROR, "Cannot load server root certificates.");
2287
+ LOG(ERROR) << "Cannot load server root certificates.";
2293
2288
  break;
2294
2289
  }
2295
2290
  }
@@ -2299,8 +2294,8 @@ tsi_result tsi_create_ssl_client_handshaker_factory_with_options(
2299
2294
  options->alpn_protocols, options->num_alpn_protocols,
2300
2295
  &impl->alpn_protocol_list, &impl->alpn_protocol_list_length);
2301
2296
  if (result != TSI_OK) {
2302
- gpr_log(GPR_ERROR, "Building alpn list failed with error %s.",
2303
- tsi_result_to_string(result));
2297
+ LOG(ERROR) << "Building alpn list failed with error "
2298
+ << tsi_result_to_string(result);
2304
2299
  break;
2305
2300
  }
2306
2301
  #if TSI_OPENSSL_ALPN_SUPPORT
@@ -2308,7 +2303,7 @@ tsi_result tsi_create_ssl_client_handshaker_factory_with_options(
2308
2303
  if (SSL_CTX_set_alpn_protos(
2309
2304
  ssl_context, impl->alpn_protocol_list,
2310
2305
  static_cast<unsigned int>(impl->alpn_protocol_list_length))) {
2311
- gpr_log(GPR_ERROR, "Could not set alpn protocol list to context.");
2306
+ LOG(ERROR) << "Could not set alpn protocol list to context.";
2312
2307
  result = TSI_INVALID_ARGUMENT;
2313
2308
  break;
2314
2309
  }
@@ -2338,7 +2333,7 @@ tsi_result tsi_create_ssl_client_handshaker_factory_with_options(
2338
2333
  X509_STORE_set_verify_cb(cert_store, verify_cb);
2339
2334
  if (!X509_STORE_load_locations(cert_store, nullptr,
2340
2335
  options->crl_directory)) {
2341
- gpr_log(GPR_ERROR, "Failed to load CRL File from directory.");
2336
+ LOG(ERROR) << "Failed to load CRL File from directory.";
2342
2337
  } else {
2343
2338
  X509_VERIFY_PARAM* param = X509_STORE_get0_param(cert_store);
2344
2339
  X509_VERIFY_PARAM_set_flags(
@@ -2443,7 +2438,7 @@ tsi_result tsi_create_ssl_server_handshaker_factory_with_options(
2443
2438
  #endif
2444
2439
  if (impl->ssl_contexts[i] == nullptr) {
2445
2440
  grpc_core::LogSslErrorStack();
2446
- gpr_log(GPR_ERROR, "Could not create ssl context.");
2441
+ LOG(ERROR) << "Could not create ssl context.";
2447
2442
  result = TSI_OUT_OF_RESOURCES;
2448
2443
  break;
2449
2444
  }
@@ -2465,7 +2460,7 @@ tsi_result tsi_create_ssl_server_handshaker_factory_with_options(
2465
2460
  impl->ssl_contexts[i], kSslSessionIdContext,
2466
2461
  GPR_ARRAY_SIZE(kSslSessionIdContext));
2467
2462
  if (set_sid_ctx_result == 0) {
2468
- gpr_log(GPR_ERROR, "Failed to set session id context.");
2463
+ LOG(ERROR) << "Failed to set session id context.";
2469
2464
  result = TSI_INTERNAL_ERROR;
2470
2465
  break;
2471
2466
  }
@@ -2475,7 +2470,7 @@ tsi_result tsi_create_ssl_server_handshaker_factory_with_options(
2475
2470
  impl->ssl_contexts[i],
2476
2471
  const_cast<char*>(options->session_ticket_key),
2477
2472
  options->session_ticket_key_size) == 0) {
2478
- gpr_log(GPR_ERROR, "Invalid STEK size.");
2473
+ LOG(ERROR) << "Invalid STEK size.";
2479
2474
  result = TSI_INVALID_ARGUMENT;
2480
2475
  break;
2481
2476
  }
@@ -2488,7 +2483,7 @@ tsi_result tsi_create_ssl_server_handshaker_factory_with_options(
2488
2483
  strlen(options->pem_client_root_certs),
2489
2484
  options->send_client_ca_list ? &root_names : nullptr);
2490
2485
  if (result != TSI_OK) {
2491
- gpr_log(GPR_ERROR, "Invalid verification certs.");
2486
+ LOG(ERROR) << "Invalid verification certs.";
2492
2487
  break;
2493
2488
  }
2494
2489
  if (options->send_client_ca_list) {
@@ -2536,7 +2531,7 @@ tsi_result tsi_create_ssl_server_handshaker_factory_with_options(
2536
2531
  X509_STORE_set_verify_cb(cert_store, verify_cb);
2537
2532
  if (!X509_STORE_load_locations(cert_store, nullptr,
2538
2533
  options->crl_directory)) {
2539
- gpr_log(GPR_ERROR, "Failed to load CRL File from directory.");
2534
+ LOG(ERROR) << "Failed to load CRL File from directory.";
2540
2535
  } else {
2541
2536
  X509_VERIFY_PARAM* param = X509_STORE_get0_param(cert_store);
2542
2537
  X509_VERIFY_PARAM_set_flags(