grpc 1.37.1 → 1.38.0.pre1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of grpc might be problematic. Click here for more details.

Files changed (544) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +64 -58
  3. data/include/grpc/event_engine/README.md +38 -0
  4. data/include/grpc/event_engine/channel_args.h +28 -0
  5. data/include/grpc/event_engine/event_engine.h +336 -0
  6. data/include/grpc/event_engine/port.h +39 -0
  7. data/include/grpc/event_engine/slice_allocator.h +81 -0
  8. data/include/grpc/grpc.h +2 -2
  9. data/include/grpc/grpc_security_constants.h +14 -0
  10. data/include/grpc/impl/codegen/grpc_types.h +11 -0
  11. data/include/grpc/impl/codegen/port_platform.h +5 -0
  12. data/include/grpc/module.modulemap +14 -14
  13. data/src/core/ext/filters/client_channel/backup_poller.cc +3 -3
  14. data/src/core/ext/filters/client_channel/channel_connectivity.cc +177 -202
  15. data/src/core/ext/filters/client_channel/client_channel.cc +628 -3101
  16. data/src/core/ext/filters/client_channel/client_channel.h +489 -55
  17. data/src/core/ext/filters/client_channel/client_channel_channelz.h +1 -1
  18. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +4 -1
  19. data/src/core/ext/filters/client_channel/config_selector.h +1 -1
  20. data/src/core/ext/filters/client_channel/connector.h +1 -1
  21. data/src/core/ext/filters/client_channel/dynamic_filters.cc +9 -10
  22. data/src/core/ext/filters/client_channel/dynamic_filters.h +3 -3
  23. data/src/core/ext/filters/client_channel/health/health_check_client.cc +26 -27
  24. data/src/core/ext/filters/client_channel/health/health_check_client.h +27 -26
  25. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +24 -21
  26. data/src/core/ext/filters/client_channel/lb_policy.cc +1 -1
  27. data/src/core/ext/filters/client_channel/lb_policy.h +4 -4
  28. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +6 -6
  29. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +46 -43
  30. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +1 -1
  31. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +2 -1
  32. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +5 -5
  33. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +14 -12
  34. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +4 -4
  35. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +1 -1
  36. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +15 -15
  37. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +36 -30
  38. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +23 -23
  39. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +31 -46
  40. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +84 -61
  41. data/src/core/ext/filters/client_channel/lb_policy_factory.h +1 -1
  42. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +4 -4
  43. data/src/core/ext/filters/client_channel/lb_policy_registry.h +1 -1
  44. data/src/core/ext/filters/client_channel/resolver.h +2 -2
  45. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +23 -15
  46. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +1 -1
  47. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +3 -3
  48. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -2
  49. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +14 -14
  50. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +33 -24
  51. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -1
  52. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +1 -1
  53. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
  54. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +17 -9
  55. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +20 -28
  56. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +7 -5
  57. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +13 -11
  58. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +1 -1
  59. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +43 -28
  60. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +32 -239
  61. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +20 -49
  62. data/src/core/ext/filters/client_channel/retry_filter.cc +2188 -0
  63. data/src/core/ext/filters/client_channel/retry_filter.h +30 -0
  64. data/src/core/ext/filters/client_channel/retry_service_config.cc +287 -0
  65. data/src/core/ext/filters/client_channel/retry_service_config.h +90 -0
  66. data/src/core/ext/filters/client_channel/server_address.cc +1 -1
  67. data/src/core/ext/filters/client_channel/service_config.cc +15 -14
  68. data/src/core/ext/filters/client_channel/service_config.h +7 -6
  69. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +5 -4
  70. data/src/core/ext/filters/client_channel/service_config_parser.cc +6 -6
  71. data/src/core/ext/filters/client_channel/service_config_parser.h +7 -4
  72. data/src/core/ext/filters/client_channel/subchannel.cc +17 -16
  73. data/src/core/ext/filters/client_channel/subchannel.h +7 -6
  74. data/src/core/ext/filters/client_idle/client_idle_filter.cc +16 -15
  75. data/src/core/ext/filters/deadline/deadline_filter.cc +10 -10
  76. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +19 -18
  77. data/src/core/ext/filters/fault_injection/service_config_parser.cc +5 -5
  78. data/src/core/ext/filters/fault_injection/service_config_parser.h +1 -1
  79. data/src/core/ext/filters/http/client/http_client_filter.cc +28 -21
  80. data/src/core/ext/filters/http/client_authority_filter.cc +3 -3
  81. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +23 -22
  82. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +21 -21
  83. data/src/core/ext/filters/http/server/http_server_filter.cc +27 -23
  84. data/src/core/ext/filters/max_age/max_age_filter.cc +12 -10
  85. data/src/core/ext/filters/message_size/message_size_filter.cc +14 -11
  86. data/src/core/ext/filters/message_size/message_size_filter.h +1 -1
  87. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +4 -3
  88. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +7 -7
  89. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +7 -7
  90. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +2 -2
  91. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +1 -1
  92. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +3 -3
  93. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +44 -45
  94. data/src/core/ext/transport/chttp2/server/chttp2_server.h +2 -2
  95. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +3 -4
  96. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +2 -2
  97. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +3 -4
  98. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +129 -116
  99. data/src/core/ext/transport/chttp2/transport/context_list.cc +4 -5
  100. data/src/core/ext/transport/chttp2/transport/context_list.h +4 -4
  101. data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -3
  102. data/src/core/ext/transport/chttp2/transport/flow_control.h +8 -8
  103. data/src/core/ext/transport/chttp2/transport/frame_data.cc +8 -8
  104. data/src/core/ext/transport/chttp2/transport/frame_data.h +10 -10
  105. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +7 -8
  106. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +6 -6
  107. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +7 -8
  108. data/src/core/ext/transport/chttp2/transport/frame_ping.h +7 -6
  109. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +7 -7
  110. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +6 -6
  111. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +6 -5
  112. data/src/core/ext/transport/chttp2/transport/frame_settings.h +6 -6
  113. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +4 -6
  114. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +4 -6
  115. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +237 -208
  116. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +10 -10
  117. data/src/core/ext/transport/chttp2/transport/hpack_table.cc +4 -3
  118. data/src/core/ext/transport/chttp2/transport/hpack_table.h +4 -4
  119. data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +2 -2
  120. data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +2 -2
  121. data/src/core/ext/transport/chttp2/transport/internal.h +31 -27
  122. data/src/core/ext/transport/chttp2/transport/parsing.cc +63 -56
  123. data/src/core/ext/transport/chttp2/transport/writing.cc +7 -3
  124. data/src/core/ext/transport/inproc/inproc_transport.cc +30 -29
  125. data/src/core/ext/xds/certificate_provider_factory.h +1 -1
  126. data/src/core/ext/xds/certificate_provider_store.h +3 -3
  127. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +3 -3
  128. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +2 -2
  129. data/src/core/ext/xds/xds_api.cc +101 -93
  130. data/src/core/ext/xds/xds_api.h +6 -6
  131. data/src/core/ext/xds/xds_bootstrap.cc +97 -159
  132. data/src/core/ext/xds/xds_bootstrap.h +19 -24
  133. data/src/core/ext/xds/xds_certificate_provider.cc +4 -4
  134. data/src/core/ext/xds/xds_certificate_provider.h +4 -4
  135. data/src/core/ext/xds/xds_channel_args.h +5 -2
  136. data/src/core/ext/xds/xds_client.cc +310 -178
  137. data/src/core/ext/xds/xds_client.h +41 -27
  138. data/src/core/ext/xds/xds_client_stats.h +3 -2
  139. data/src/core/ext/xds/xds_server_config_fetcher.cc +34 -20
  140. data/src/core/lib/{iomgr → address_utils}/parse_address.cc +17 -17
  141. data/src/core/lib/{iomgr → address_utils}/parse_address.h +7 -7
  142. data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.cc +3 -20
  143. data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.h +6 -11
  144. data/src/core/lib/channel/channel_stack.cc +10 -9
  145. data/src/core/lib/channel/channel_stack.h +10 -9
  146. data/src/core/lib/channel/channel_stack_builder.cc +2 -2
  147. data/src/core/lib/channel/channel_stack_builder.h +1 -1
  148. data/src/core/lib/channel/channelz.cc +21 -13
  149. data/src/core/lib/channel/connected_channel.cc +4 -4
  150. data/src/core/lib/channel/handshaker.cc +7 -6
  151. data/src/core/lib/channel/handshaker.h +5 -5
  152. data/src/core/lib/event_engine/slice_allocator.cc +59 -0
  153. data/src/core/lib/event_engine/sockaddr.cc +38 -0
  154. data/src/core/lib/gprpp/ref_counted.h +28 -14
  155. data/src/core/lib/gprpp/status_helper.cc +407 -0
  156. data/src/core/lib/gprpp/status_helper.h +180 -0
  157. data/src/core/lib/http/httpcli.cc +11 -11
  158. data/src/core/lib/http/httpcli_security_connector.cc +11 -7
  159. data/src/core/lib/http/parser.cc +16 -16
  160. data/src/core/lib/http/parser.h +4 -4
  161. data/src/core/lib/iomgr/buffer_list.cc +7 -9
  162. data/src/core/lib/iomgr/buffer_list.h +4 -5
  163. data/src/core/lib/iomgr/call_combiner.cc +15 -12
  164. data/src/core/lib/iomgr/call_combiner.h +12 -14
  165. data/src/core/lib/iomgr/cfstream_handle.cc +3 -3
  166. data/src/core/lib/iomgr/cfstream_handle.h +1 -1
  167. data/src/core/lib/iomgr/closure.h +7 -6
  168. data/src/core/lib/iomgr/combiner.cc +14 -12
  169. data/src/core/lib/iomgr/combiner.h +2 -2
  170. data/src/core/lib/iomgr/endpoint.cc +1 -1
  171. data/src/core/lib/iomgr/endpoint.h +2 -2
  172. data/src/core/lib/iomgr/endpoint_cfstream.cc +11 -13
  173. data/src/core/lib/iomgr/endpoint_pair_windows.cc +1 -1
  174. data/src/core/lib/iomgr/error.cc +167 -61
  175. data/src/core/lib/iomgr/error.h +217 -106
  176. data/src/core/lib/iomgr/error_cfstream.cc +3 -2
  177. data/src/core/lib/iomgr/error_cfstream.h +2 -2
  178. data/src/core/lib/iomgr/error_internal.h +5 -1
  179. data/src/core/lib/iomgr/ev_apple.cc +5 -5
  180. data/src/core/lib/iomgr/ev_epoll1_linux.cc +19 -19
  181. data/src/core/lib/iomgr/ev_epollex_linux.cc +48 -45
  182. data/src/core/lib/iomgr/ev_poll_posix.cc +26 -23
  183. data/src/core/lib/iomgr/ev_posix.cc +9 -8
  184. data/src/core/lib/iomgr/ev_posix.h +9 -9
  185. data/src/core/lib/iomgr/exec_ctx.cc +4 -4
  186. data/src/core/lib/iomgr/exec_ctx.h +1 -1
  187. data/src/core/lib/iomgr/executor.cc +8 -8
  188. data/src/core/lib/iomgr/executor.h +2 -2
  189. data/src/core/lib/iomgr/iomgr.cc +1 -1
  190. data/src/core/lib/iomgr/iomgr.h +1 -1
  191. data/src/core/lib/iomgr/iomgr_custom.cc +1 -1
  192. data/src/core/lib/iomgr/iomgr_internal.cc +2 -2
  193. data/src/core/lib/iomgr/iomgr_internal.h +3 -3
  194. data/src/core/lib/iomgr/iomgr_posix.cc +1 -1
  195. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +2 -2
  196. data/src/core/lib/iomgr/iomgr_windows.cc +1 -1
  197. data/src/core/lib/iomgr/load_file.cc +4 -4
  198. data/src/core/lib/iomgr/load_file.h +2 -2
  199. data/src/core/lib/iomgr/lockfree_event.cc +5 -5
  200. data/src/core/lib/iomgr/lockfree_event.h +1 -1
  201. data/src/core/lib/iomgr/pollset.cc +5 -5
  202. data/src/core/lib/iomgr/pollset.h +9 -9
  203. data/src/core/lib/iomgr/pollset_custom.cc +5 -5
  204. data/src/core/lib/iomgr/pollset_windows.cc +5 -5
  205. data/src/core/lib/iomgr/port.h +1 -1
  206. data/src/core/lib/iomgr/python_util.h +1 -1
  207. data/src/core/lib/iomgr/resolve_address.cc +3 -3
  208. data/src/core/lib/iomgr/resolve_address.h +6 -6
  209. data/src/core/lib/iomgr/resolve_address_custom.cc +10 -9
  210. data/src/core/lib/iomgr/resolve_address_custom.h +3 -3
  211. data/src/core/lib/iomgr/resolve_address_posix.cc +3 -3
  212. data/src/core/lib/iomgr/resolve_address_windows.cc +4 -4
  213. data/src/core/lib/iomgr/resource_quota.cc +11 -10
  214. data/src/core/lib/iomgr/socket_utils_common_posix.cc +22 -20
  215. data/src/core/lib/iomgr/socket_utils_posix.h +20 -20
  216. data/src/core/lib/iomgr/tcp_client_cfstream.cc +4 -4
  217. data/src/core/lib/iomgr/tcp_client_custom.cc +5 -6
  218. data/src/core/lib/iomgr/tcp_client_posix.cc +15 -17
  219. data/src/core/lib/iomgr/tcp_client_posix.h +3 -4
  220. data/src/core/lib/iomgr/tcp_client_windows.cc +5 -5
  221. data/src/core/lib/iomgr/tcp_custom.cc +14 -16
  222. data/src/core/lib/iomgr/tcp_custom.h +13 -12
  223. data/src/core/lib/iomgr/tcp_posix.cc +36 -34
  224. data/src/core/lib/iomgr/tcp_server.cc +6 -6
  225. data/src/core/lib/iomgr/tcp_server.h +12 -11
  226. data/src/core/lib/iomgr/tcp_server_custom.cc +23 -21
  227. data/src/core/lib/iomgr/tcp_server_posix.cc +22 -21
  228. data/src/core/lib/iomgr/tcp_server_utils_posix.h +13 -12
  229. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +19 -17
  230. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +9 -9
  231. data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +4 -4
  232. data/src/core/lib/iomgr/tcp_server_windows.cc +26 -25
  233. data/src/core/lib/iomgr/tcp_uv.cc +25 -23
  234. data/src/core/lib/iomgr/tcp_windows.cc +13 -13
  235. data/src/core/lib/iomgr/tcp_windows.h +2 -2
  236. data/src/core/lib/iomgr/timer_custom.cc +2 -1
  237. data/src/core/lib/iomgr/timer_custom.h +1 -1
  238. data/src/core/lib/iomgr/timer_generic.cc +6 -6
  239. data/src/core/lib/iomgr/udp_server.cc +21 -20
  240. data/src/core/lib/iomgr/unix_sockets_posix.cc +3 -3
  241. data/src/core/lib/iomgr/unix_sockets_posix.h +2 -2
  242. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +10 -7
  243. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +3 -3
  244. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +4 -4
  245. data/src/core/lib/iomgr/wakeup_fd_posix.cc +3 -3
  246. data/src/core/lib/iomgr/wakeup_fd_posix.h +8 -6
  247. data/src/core/lib/iomgr/work_serializer.h +17 -1
  248. data/src/core/lib/json/json.h +1 -1
  249. data/src/core/lib/json/json_reader.cc +4 -4
  250. data/src/core/lib/matchers/matchers.cc +39 -39
  251. data/src/core/lib/matchers/matchers.h +28 -28
  252. data/src/core/lib/security/credentials/composite/composite_credentials.cc +4 -4
  253. data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -2
  254. data/src/core/lib/security/credentials/credentials.h +2 -2
  255. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +17 -13
  256. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +13 -11
  257. data/src/core/lib/security/credentials/external/aws_request_signer.cc +2 -1
  258. data/src/core/lib/security/credentials/external/aws_request_signer.h +1 -1
  259. data/src/core/lib/security/credentials/external/external_account_credentials.cc +15 -12
  260. data/src/core/lib/security/credentials/external/external_account_credentials.h +9 -8
  261. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +5 -4
  262. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +4 -3
  263. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +8 -8
  264. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +9 -7
  265. data/src/core/lib/security/credentials/fake/fake_credentials.cc +2 -2
  266. data/src/core/lib/security/credentials/fake/fake_credentials.h +2 -2
  267. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +9 -9
  268. data/src/core/lib/security/credentials/iam/iam_credentials.cc +2 -2
  269. data/src/core/lib/security/credentials/iam/iam_credentials.h +2 -2
  270. data/src/core/lib/security/credentials/jwt/json_token.cc +2 -2
  271. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +3 -3
  272. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +2 -2
  273. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +7 -5
  274. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +21 -19
  275. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +5 -5
  276. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +5 -5
  277. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +2 -2
  278. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +8 -7
  279. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +9 -9
  280. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +19 -13
  281. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -0
  282. data/src/core/lib/security/credentials/xds/xds_credentials.cc +3 -3
  283. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +13 -3
  284. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +13 -3
  285. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +2 -2
  286. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +12 -2
  287. data/src/core/lib/security/security_connector/load_system_roots_linux.cc +1 -1
  288. data/src/core/lib/security/security_connector/local/local_security_connector.cc +14 -4
  289. data/src/core/lib/security/security_connector/security_connector.h +9 -4
  290. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +16 -6
  291. data/src/core/lib/security/security_connector/ssl_utils.cc +22 -4
  292. data/src/core/lib/security/security_connector/ssl_utils.h +4 -4
  293. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +56 -60
  294. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +66 -48
  295. data/src/core/lib/security/transport/client_auth_filter.cc +18 -10
  296. data/src/core/lib/security/transport/secure_endpoint.cc +4 -4
  297. data/src/core/lib/security/transport/security_handshaker.cc +33 -32
  298. data/src/core/lib/security/transport/server_auth_filter.cc +19 -13
  299. data/src/core/lib/security/transport/tsi_error.cc +2 -1
  300. data/src/core/lib/security/transport/tsi_error.h +2 -1
  301. data/src/core/lib/security/util/json_util.cc +2 -2
  302. data/src/core/lib/security/util/json_util.h +1 -1
  303. data/src/core/lib/surface/call.cc +46 -45
  304. data/src/core/lib/surface/call.h +2 -2
  305. data/src/core/lib/surface/channel.cc +6 -6
  306. data/src/core/lib/surface/channel.h +3 -2
  307. data/src/core/lib/surface/channel_ping.cc +1 -1
  308. data/src/core/lib/surface/completion_queue.cc +46 -47
  309. data/src/core/lib/surface/completion_queue.h +2 -1
  310. data/src/core/lib/surface/lame_client.cc +11 -11
  311. data/src/core/lib/surface/lame_client.h +1 -1
  312. data/src/core/lib/surface/server.cc +28 -22
  313. data/src/core/lib/surface/server.h +16 -15
  314. data/src/core/lib/surface/validate_metadata.cc +7 -7
  315. data/src/core/lib/surface/validate_metadata.h +3 -2
  316. data/src/core/lib/surface/version.cc +4 -2
  317. data/src/core/lib/transport/byte_stream.cc +5 -5
  318. data/src/core/lib/transport/byte_stream.h +8 -8
  319. data/src/core/lib/transport/connectivity_state.cc +1 -1
  320. data/src/core/lib/transport/error_utils.cc +19 -8
  321. data/src/core/lib/transport/error_utils.h +11 -5
  322. data/src/core/lib/transport/metadata_batch.cc +37 -37
  323. data/src/core/lib/transport/metadata_batch.h +19 -18
  324. data/src/core/lib/transport/transport.cc +4 -3
  325. data/src/core/lib/transport/transport.h +4 -4
  326. data/src/core/lib/transport/transport_op_string.cc +5 -5
  327. data/src/core/tsi/alts/crypt/gsec.h +4 -0
  328. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +5 -4
  329. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +7 -6
  330. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +2 -1
  331. data/src/core/tsi/ssl_transport_security.cc +32 -14
  332. data/src/core/tsi/ssl_transport_security.h +3 -4
  333. data/src/ruby/bin/math_services_pb.rb +1 -1
  334. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +1 -1
  335. data/src/ruby/lib/grpc/version.rb +1 -1
  336. data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +1 -1
  337. data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +6 -6
  338. data/third_party/abseil-cpp/absl/algorithm/container.h +3 -3
  339. data/third_party/abseil-cpp/absl/base/attributes.h +24 -4
  340. data/third_party/abseil-cpp/absl/base/call_once.h +2 -9
  341. data/third_party/abseil-cpp/absl/base/config.h +37 -9
  342. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +24 -10
  343. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +4 -1
  344. data/third_party/abseil-cpp/absl/base/internal/endian.h +61 -0
  345. data/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +2 -3
  346. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +34 -32
  347. data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +16 -6
  348. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +11 -2
  349. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +14 -5
  350. data/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc +2 -2
  351. data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +3 -3
  352. data/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc +2 -2
  353. data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +11 -11
  354. data/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +5 -5
  355. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +1 -1
  356. data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +5 -2
  357. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +43 -42
  358. data/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc +111 -7
  359. data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +0 -76
  360. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +1 -3
  361. data/third_party/abseil-cpp/absl/base/log_severity.h +4 -4
  362. data/third_party/abseil-cpp/absl/base/macros.h +11 -0
  363. data/third_party/abseil-cpp/absl/base/optimization.h +10 -7
  364. data/third_party/abseil-cpp/absl/base/options.h +1 -1
  365. data/third_party/abseil-cpp/absl/base/port.h +0 -1
  366. data/third_party/abseil-cpp/absl/base/thread_annotations.h +1 -1
  367. data/third_party/abseil-cpp/absl/container/fixed_array.h +2 -2
  368. data/third_party/abseil-cpp/absl/container/inlined_vector.h +5 -3
  369. data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +1 -1
  370. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +5 -1
  371. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +2 -1
  372. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +2 -1
  373. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +141 -66
  374. data/third_party/abseil-cpp/absl/container/internal/layout.h +4 -4
  375. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +14 -1
  376. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +136 -136
  377. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +16 -12
  378. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +5 -2
  379. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +3 -12
  380. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +6 -1
  381. data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +3 -5
  382. data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +2 -2
  383. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +2 -2
  384. data/third_party/abseil-cpp/absl/hash/internal/city.cc +15 -12
  385. data/third_party/abseil-cpp/absl/hash/internal/city.h +1 -19
  386. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +25 -10
  387. data/third_party/abseil-cpp/absl/hash/internal/hash.h +86 -37
  388. data/third_party/abseil-cpp/absl/hash/internal/wyhash.cc +111 -0
  389. data/third_party/abseil-cpp/absl/hash/internal/wyhash.h +48 -0
  390. data/third_party/abseil-cpp/absl/meta/type_traits.h +16 -2
  391. data/third_party/abseil-cpp/absl/numeric/bits.h +177 -0
  392. data/third_party/abseil-cpp/absl/numeric/int128.cc +3 -3
  393. data/third_party/abseil-cpp/absl/numeric/internal/bits.h +358 -0
  394. data/third_party/abseil-cpp/absl/numeric/internal/representation.h +55 -0
  395. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +18 -0
  396. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +4 -7
  397. data/third_party/abseil-cpp/absl/status/status.cc +29 -22
  398. data/third_party/abseil-cpp/absl/status/status.h +81 -20
  399. data/third_party/abseil-cpp/absl/status/statusor.h +3 -3
  400. data/third_party/abseil-cpp/absl/strings/charconv.cc +5 -5
  401. data/third_party/abseil-cpp/absl/strings/cord.cc +326 -371
  402. data/third_party/abseil-cpp/absl/strings/cord.h +182 -64
  403. data/third_party/abseil-cpp/absl/strings/escaping.cc +4 -4
  404. data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +6 -6
  405. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +83 -0
  406. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +387 -17
  407. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +146 -0
  408. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +897 -0
  409. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +589 -0
  410. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h +114 -0
  411. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +14 -0
  412. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +14 -0
  413. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +15 -1
  414. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +19 -4
  415. data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +14 -0
  416. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +36 -18
  417. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +14 -0
  418. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +14 -0
  419. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +14 -0
  420. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +15 -40
  421. data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +64 -0
  422. data/third_party/abseil-cpp/absl/strings/match.cc +6 -3
  423. data/third_party/abseil-cpp/absl/strings/match.h +16 -6
  424. data/third_party/abseil-cpp/absl/strings/numbers.cc +132 -4
  425. data/third_party/abseil-cpp/absl/strings/numbers.h +10 -10
  426. data/third_party/abseil-cpp/absl/strings/str_join.h +1 -1
  427. data/third_party/abseil-cpp/absl/strings/str_split.h +38 -4
  428. data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +154 -0
  429. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +2 -1
  430. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +2 -2
  431. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +4 -4
  432. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +1 -65
  433. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +2 -6
  434. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +71 -59
  435. data/third_party/abseil-cpp/absl/synchronization/mutex.h +79 -62
  436. data/third_party/abseil-cpp/absl/time/clock.cc +146 -130
  437. data/third_party/abseil-cpp/absl/time/clock.h +2 -2
  438. data/third_party/abseil-cpp/absl/time/duration.cc +3 -2
  439. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +7 -11
  440. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +7 -1
  441. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +4 -4
  442. data/third_party/abseil-cpp/absl/time/time.cc +4 -3
  443. data/third_party/abseil-cpp/absl/time/time.h +26 -24
  444. data/third_party/abseil-cpp/absl/types/internal/variant.h +1 -1
  445. data/third_party/abseil-cpp/absl/types/variant.h +9 -4
  446. data/third_party/boringssl-with-bazel/err_data.c +477 -461
  447. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +1 -1
  448. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +1 -1
  449. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +18 -8
  450. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +1 -2
  451. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_locl.h +5 -0
  452. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +1 -1
  453. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +1 -1
  454. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +1 -88
  455. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +14 -3
  456. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +119 -273
  457. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +87 -80
  458. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +1 -0
  459. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +1 -1
  460. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +11 -3
  461. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +25 -2
  462. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c +10 -2
  463. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +4 -43
  464. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +4 -0
  465. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +0 -1
  466. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +0 -4
  467. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +104 -93
  468. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +39 -0
  469. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +43 -46
  470. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +43 -46
  471. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +33 -22
  472. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +9 -8
  473. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +9 -8
  474. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +17 -13
  475. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +1 -22
  476. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +2 -1
  477. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +26 -7
  478. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +79 -0
  479. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +14 -9
  480. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +45 -48
  481. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +38 -43
  482. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +37 -45
  483. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +103 -42
  484. data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +58 -37
  485. data/third_party/boringssl-with-bazel/src/crypto/internal.h +65 -0
  486. data/third_party/boringssl-with-bazel/src/crypto/mem.c +14 -0
  487. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +3 -3
  488. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +1 -1
  489. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +95 -48
  490. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +1 -1
  491. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +0 -28
  492. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +19 -0
  493. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +2 -0
  494. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +19 -25
  495. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +3 -2
  496. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +39 -89
  497. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +9 -16
  498. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +1 -1
  499. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +21 -17
  500. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +7 -25
  501. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +5 -0
  502. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +25 -22
  503. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +2 -0
  504. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +2 -4
  505. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +1 -1
  506. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +1 -0
  507. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +0 -3
  508. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +120 -41
  509. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +9 -0
  510. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +0 -8
  511. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +24 -4
  512. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +5 -2
  513. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +19 -0
  514. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +3 -2
  515. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +1 -38
  516. data/third_party/boringssl-with-bazel/src/{crypto/x509/x509_r2x.c → include/openssl/evp_errors.h} +41 -58
  517. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +24 -5
  518. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +2 -0
  519. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +9 -1
  520. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +2 -2
  521. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +185 -17
  522. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +1 -0
  523. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +416 -121
  524. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +2 -0
  525. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +5 -0
  526. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +444 -0
  527. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +244 -1
  528. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +43 -12
  529. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +149 -8
  530. data/third_party/boringssl-with-bazel/src/ssl/internal.h +220 -46
  531. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +7 -1
  532. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +4 -6
  533. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +23 -26
  534. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +74 -15
  535. data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +98 -64
  536. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +34 -4
  537. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +205 -100
  538. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +4 -2
  539. metadata +68 -45
  540. data/src/core/lib/iomgr/poller/eventmanager_libuv.cc +0 -88
  541. data/src/core/lib/iomgr/poller/eventmanager_libuv.h +0 -88
  542. data/third_party/abseil-cpp/absl/base/internal/bits.h +0 -219
  543. data/third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc +0 -249
  544. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/is_fips.c +0 -29
@@ -78,13 +78,13 @@ class grpc_oauth2_token_fetcher_credentials : public grpc_call_credentials {
78
78
  grpc_auth_metadata_context context,
79
79
  grpc_credentials_mdelem_array* md_array,
80
80
  grpc_closure* on_request_metadata,
81
- grpc_error** error) override;
81
+ grpc_error_handle* error) override;
82
82
 
83
83
  void cancel_get_request_metadata(grpc_credentials_mdelem_array* md_array,
84
- grpc_error* error) override;
84
+ grpc_error_handle error) override;
85
85
 
86
86
  void on_http_response(grpc_credentials_metadata_request* r,
87
- grpc_error* error);
87
+ grpc_error_handle error);
88
88
  std::string debug_string() override;
89
89
 
90
90
  protected:
@@ -138,10 +138,10 @@ class grpc_access_token_credentials final : public grpc_call_credentials {
138
138
  grpc_auth_metadata_context context,
139
139
  grpc_credentials_mdelem_array* md_array,
140
140
  grpc_closure* on_request_metadata,
141
- grpc_error** error) override;
141
+ grpc_error_handle* error) override;
142
142
 
143
143
  void cancel_get_request_metadata(grpc_credentials_mdelem_array* md_array,
144
- grpc_error* error) override;
144
+ grpc_error_handle error) override;
145
145
 
146
146
  std::string debug_string() override;
147
147
 
@@ -82,10 +82,10 @@ void grpc_plugin_credentials::pending_request_complete(pending_request* r) {
82
82
  Unref();
83
83
  }
84
84
 
85
- static grpc_error* process_plugin_result(
85
+ static grpc_error_handle process_plugin_result(
86
86
  grpc_plugin_credentials::pending_request* r, const grpc_metadata* md,
87
87
  size_t num_md, grpc_status_code status, const char* error_details) {
88
- grpc_error* error = GRPC_ERROR_NONE;
88
+ grpc_error_handle error = GRPC_ERROR_NONE;
89
89
  if (status != GRPC_STATUS_OK) {
90
90
  error = GRPC_ERROR_CREATE_FROM_COPIED_STRING(
91
91
  absl::StrCat("Getting metadata from plugin failed with error: ",
@@ -142,7 +142,7 @@ static void plugin_md_request_metadata_ready(void* request,
142
142
  r->creds->pending_request_complete(r);
143
143
  // If it has not been cancelled, process it.
144
144
  if (!r->cancelled) {
145
- grpc_error* error =
145
+ grpc_error_handle error =
146
146
  process_plugin_result(r, md, num_md, status, error_details);
147
147
  grpc_core::ExecCtx::Run(DEBUG_LOCATION, r->on_request_metadata, error);
148
148
  } else if (GRPC_TRACE_FLAG_ENABLED(grpc_plugin_credentials_trace)) {
@@ -157,7 +157,7 @@ static void plugin_md_request_metadata_ready(void* request,
157
157
  bool grpc_plugin_credentials::get_request_metadata(
158
158
  grpc_polling_entity* /*pollent*/, grpc_auth_metadata_context context,
159
159
  grpc_credentials_mdelem_array* md_array, grpc_closure* on_request_metadata,
160
- grpc_error** error) {
160
+ grpc_error_handle* error) {
161
161
  bool retval = true; // Synchronous return.
162
162
  if (plugin_.get_metadata != nullptr) {
163
163
  // Create pending_request object.
@@ -231,7 +231,7 @@ bool grpc_plugin_credentials::get_request_metadata(
231
231
  }
232
232
 
233
233
  void grpc_plugin_credentials::cancel_get_request_metadata(
234
- grpc_credentials_mdelem_array* md_array, grpc_error* error) {
234
+ grpc_credentials_mdelem_array* md_array, grpc_error_handle error) {
235
235
  gpr_mu_lock(&mu_);
236
236
  for (pending_request* pending_request = pending_requests_;
237
237
  pending_request != nullptr; pending_request = pending_request->next) {
@@ -47,10 +47,10 @@ struct grpc_plugin_credentials final : public grpc_call_credentials {
47
47
  grpc_auth_metadata_context context,
48
48
  grpc_credentials_mdelem_array* md_array,
49
49
  grpc_closure* on_request_metadata,
50
- grpc_error** error) override;
50
+ grpc_error_handle* error) override;
51
51
 
52
52
  void cancel_get_request_metadata(grpc_credentials_mdelem_array* md_array,
53
- grpc_error* error) override;
53
+ grpc_error_handle error) override;
54
54
 
55
55
  // Checks if the request has been cancelled.
56
56
  // If not, removes it from the pending list, so that it cannot be
@@ -100,8 +100,9 @@ bool grpc_tls_certificate_distributor::HasKeyCertPairs(
100
100
  };
101
101
 
102
102
  void grpc_tls_certificate_distributor::SetErrorForCert(
103
- const std::string& cert_name, absl::optional<grpc_error*> root_cert_error,
104
- absl::optional<grpc_error*> identity_cert_error) {
103
+ const std::string& cert_name,
104
+ absl::optional<grpc_error_handle> root_cert_error,
105
+ absl::optional<grpc_error_handle> identity_cert_error) {
105
106
  GPR_ASSERT(root_cert_error.has_value() || identity_cert_error.has_value());
106
107
  grpc_core::MutexLock lock(&mu_);
107
108
  CertificateInfo& cert_info = certificate_info_map_[cert_name];
@@ -112,7 +113,7 @@ void grpc_tls_certificate_distributor::SetErrorForCert(
112
113
  GPR_ASSERT(watcher_it != watchers_.end());
113
114
  // identity_cert_error_to_report is the error of the identity cert this
114
115
  // watcher is watching, if there is any.
115
- grpc_error* identity_cert_error_to_report = GRPC_ERROR_NONE;
116
+ grpc_error_handle identity_cert_error_to_report = GRPC_ERROR_NONE;
116
117
  if (identity_cert_error.has_value() &&
117
118
  watcher_it->second.identity_cert_name == cert_name) {
118
119
  identity_cert_error_to_report = *identity_cert_error;
@@ -133,7 +134,7 @@ void grpc_tls_certificate_distributor::SetErrorForCert(
133
134
  GPR_ASSERT(watcher_it != watchers_.end());
134
135
  // root_cert_error_to_report is the error of the root cert this watcher is
135
136
  // watching, if there is any.
136
- grpc_error* root_cert_error_to_report = GRPC_ERROR_NONE;
137
+ grpc_error_handle root_cert_error_to_report = GRPC_ERROR_NONE;
137
138
  if (root_cert_error.has_value() &&
138
139
  watcher_it->second.root_cert_name == cert_name) {
139
140
  // In this case, We've already sent the error updates at the time when
@@ -151,7 +152,7 @@ void grpc_tls_certificate_distributor::SetErrorForCert(
151
152
  }
152
153
  };
153
154
 
154
- void grpc_tls_certificate_distributor::SetError(grpc_error* error) {
155
+ void grpc_tls_certificate_distributor::SetError(grpc_error_handle error) {
155
156
  GPR_ASSERT(error != GRPC_ERROR_NONE);
156
157
  grpc_core::MutexLock lock(&mu_);
157
158
  for (const auto& watcher : watchers_) {
@@ -194,8 +195,8 @@ void grpc_tls_certificate_distributor::WatchTlsCertificates(
194
195
  identity_cert_name};
195
196
  absl::optional<absl::string_view> updated_root_certs;
196
197
  absl::optional<grpc_core::PemKeyCertPairList> updated_identity_pairs;
197
- grpc_error* root_error = GRPC_ERROR_NONE;
198
- grpc_error* identity_error = GRPC_ERROR_NONE;
198
+ grpc_error_handle root_error = GRPC_ERROR_NONE;
199
+ grpc_error_handle identity_error = GRPC_ERROR_NONE;
199
200
  if (root_cert_name.has_value()) {
200
201
  CertificateInfo& cert_info = certificate_info_map_[*root_cert_name];
201
202
  start_watching_root_cert = cert_info.root_cert_watchers.empty();
@@ -68,8 +68,8 @@ struct grpc_tls_certificate_distributor
68
68
  // certificates.
69
69
  // @param identity_cert_error the error occurred while reloading identity
70
70
  // certificates.
71
- virtual void OnError(grpc_error* root_cert_error,
72
- grpc_error* identity_cert_error) = 0;
71
+ virtual void OnError(grpc_error_handle root_cert_error,
72
+ grpc_error_handle identity_cert_error) = 0;
73
73
  };
74
74
 
75
75
  // Sets the key materials based on their certificate name.
@@ -95,14 +95,14 @@ struct grpc_tls_certificate_distributor
95
95
  // @param identity_cert_error The error that the caller encounters when
96
96
  // reloading identity certs.
97
97
  void SetErrorForCert(const std::string& cert_name,
98
- absl::optional<grpc_error*> root_cert_error,
99
- absl::optional<grpc_error*> identity_cert_error);
98
+ absl::optional<grpc_error_handle> root_cert_error,
99
+ absl::optional<grpc_error_handle> identity_cert_error);
100
100
 
101
101
  // Propagates the error that the caller (e.g. Producer) encounters to all
102
102
  // watchers.
103
103
  //
104
104
  // @param error The error that the caller encounters.
105
- void SetError(grpc_error* error);
105
+ void SetError(grpc_error_handle error);
106
106
 
107
107
  // Sets the TLS certificate watch status callback function. The
108
108
  // grpc_tls_certificate_distributor will invoke this callback when a new
@@ -169,9 +169,9 @@ struct grpc_tls_certificate_distributor
169
169
  // The contents of the identity key-certificate pairs.
170
170
  grpc_core::PemKeyCertPairList pem_key_cert_pairs;
171
171
  // The root cert reloading error propagated by the caller.
172
- grpc_error* root_cert_error = GRPC_ERROR_NONE;
172
+ grpc_error_handle root_cert_error = GRPC_ERROR_NONE;
173
173
  // The identity cert reloading error propagated by the caller.
174
- grpc_error* identity_cert_error = GRPC_ERROR_NONE;
174
+ grpc_error_handle identity_cert_error = GRPC_ERROR_NONE;
175
175
  // The set of watchers watching root certificates.
176
176
  // This is mainly used for quickly looking up the affected watchers while
177
177
  // performing a credential reloading.
@@ -185,11 +185,11 @@ struct grpc_tls_certificate_distributor
185
185
  GRPC_ERROR_UNREF(root_cert_error);
186
186
  GRPC_ERROR_UNREF(identity_cert_error);
187
187
  }
188
- void SetRootError(grpc_error* error) {
188
+ void SetRootError(grpc_error_handle error) {
189
189
  GRPC_ERROR_UNREF(root_cert_error);
190
190
  root_cert_error = error;
191
191
  }
192
- void SetIdentityError(grpc_error* error) {
192
+ void SetIdentityError(grpc_error_handle error) {
193
193
  GRPC_ERROR_UNREF(identity_cert_error);
194
194
  identity_cert_error = error;
195
195
  }
@@ -60,8 +60,8 @@ StaticDataCertificateProvider::StaticDataCertificateProvider(
60
60
  distributor_->SetKeyMaterials(cert_name, std::move(root_certificate),
61
61
  std::move(pem_key_cert_pairs));
62
62
  }
63
- grpc_error* root_cert_error = GRPC_ERROR_NONE;
64
- grpc_error* identity_cert_error = GRPC_ERROR_NONE;
63
+ grpc_error_handle root_cert_error = GRPC_ERROR_NONE;
64
+ grpc_error_handle identity_cert_error = GRPC_ERROR_NONE;
65
65
  if (root_being_watched && !root_has_update) {
66
66
  root_cert_error = GRPC_ERROR_CREATE_FROM_STATIC_STRING(
67
67
  "Unable to get latest root certificates.");
@@ -150,8 +150,8 @@ FileWatcherCertificateProvider::FileWatcherCertificateProvider(
150
150
  distributor_->SetKeyMaterials(cert_name, root_certificate,
151
151
  pem_key_cert_pairs);
152
152
  }
153
- grpc_error* root_cert_error = GRPC_ERROR_NONE;
154
- grpc_error* identity_cert_error = GRPC_ERROR_NONE;
153
+ grpc_error_handle root_cert_error = GRPC_ERROR_NONE;
154
+ grpc_error_handle identity_cert_error = GRPC_ERROR_NONE;
155
155
  if (root_being_watched && !root_certificate.has_value()) {
156
156
  root_cert_error = GRPC_ERROR_CREATE_FROM_STATIC_STRING(
157
157
  "Unable to get latest root certificates.");
@@ -210,10 +210,11 @@ void FileWatcherCertificateProvider::ForceUpdate() {
210
210
  }
211
211
  if (root_cert_changed || identity_cert_changed) {
212
212
  ExecCtx exec_ctx;
213
- grpc_error* root_cert_error = GRPC_ERROR_CREATE_FROM_STATIC_STRING(
213
+ grpc_error_handle root_cert_error = GRPC_ERROR_CREATE_FROM_STATIC_STRING(
214
214
  "Unable to get latest root certificates.");
215
- grpc_error* identity_cert_error = GRPC_ERROR_CREATE_FROM_STATIC_STRING(
216
- "Unable to get latest identity certificates.");
215
+ grpc_error_handle identity_cert_error =
216
+ GRPC_ERROR_CREATE_FROM_STATIC_STRING(
217
+ "Unable to get latest identity certificates.");
217
218
  for (const auto& p : watcher_info_) {
218
219
  const std::string& cert_name = p.first;
219
220
  const WatcherInfo& info = p.second;
@@ -256,11 +257,12 @@ FileWatcherCertificateProvider::ReadRootCertificatesFromFile(
256
257
  const std::string& root_cert_full_path) {
257
258
  // Read the root file.
258
259
  grpc_slice root_slice = grpc_empty_slice();
259
- grpc_error* root_error =
260
+ grpc_error_handle root_error =
260
261
  grpc_load_file(root_cert_full_path.c_str(), 0, &root_slice);
261
262
  if (root_error != GRPC_ERROR_NONE) {
262
263
  gpr_log(GPR_ERROR, "Reading file %s failed: %s",
263
- root_cert_full_path.c_str(), grpc_error_string(root_error));
264
+ root_cert_full_path.c_str(),
265
+ grpc_error_std_string(root_error).c_str());
264
266
  GRPC_ERROR_UNREF(root_error);
265
267
  return absl::nullopt;
266
268
  }
@@ -314,19 +316,21 @@ FileWatcherCertificateProvider::ReadIdentityKeyCertPairFromFiles(
314
316
  }
315
317
  // Read the identity files.
316
318
  SliceWrapper key_slice, cert_slice;
317
- grpc_error* key_error =
319
+ grpc_error_handle key_error =
318
320
  grpc_load_file(private_key_path.c_str(), 0, &key_slice.slice);
319
321
  if (key_error != GRPC_ERROR_NONE) {
320
322
  gpr_log(GPR_ERROR, "Reading file %s failed: %s. Start retrying...",
321
- private_key_path.c_str(), grpc_error_string(key_error));
323
+ private_key_path.c_str(),
324
+ grpc_error_std_string(key_error).c_str());
322
325
  GRPC_ERROR_UNREF(key_error);
323
326
  continue;
324
327
  }
325
- grpc_error* cert_error =
328
+ grpc_error_handle cert_error =
326
329
  grpc_load_file(identity_certificate_path.c_str(), 0, &cert_slice.slice);
327
330
  if (cert_error != GRPC_ERROR_NONE) {
328
331
  gpr_log(GPR_ERROR, "Reading file %s failed: %s. Start retrying...",
329
- identity_certificate_path.c_str(), grpc_error_string(cert_error));
332
+ identity_certificate_path.c_str(),
333
+ grpc_error_std_string(cert_error).c_str());
330
334
  GRPC_ERROR_UNREF(cert_error);
331
335
  continue;
332
336
  }
@@ -367,6 +371,7 @@ FileWatcherCertificateProvider::ReadIdentityKeyCertPairFromFiles(
367
371
  grpc_tls_certificate_provider* grpc_tls_certificate_provider_static_data_create(
368
372
  const char* root_certificate, grpc_tls_identity_pairs* pem_key_cert_pairs) {
369
373
  GPR_ASSERT(root_certificate != nullptr || pem_key_cert_pairs != nullptr);
374
+ grpc_core::ExecCtx exec_ctx;
370
375
  grpc_core::PemKeyCertPairList identity_pairs_core;
371
376
  if (pem_key_cert_pairs != nullptr) {
372
377
  identity_pairs_core = std::move(pem_key_cert_pairs->pem_key_cert_pairs);
@@ -384,6 +389,7 @@ grpc_tls_certificate_provider*
384
389
  grpc_tls_certificate_provider_file_watcher_create(
385
390
  const char* private_key_path, const char* identity_certificate_path,
386
391
  const char* root_cert_path, unsigned int refresh_interval_sec) {
392
+ grpc_core::ExecCtx exec_ctx;
387
393
  return new grpc_core::FileWatcherCertificateProvider(
388
394
  private_key_path == nullptr ? "" : private_key_path,
389
395
  identity_certificate_path == nullptr ? "" : identity_certificate_path,
@@ -87,6 +87,7 @@ void grpc_tls_server_authorization_check_config::Cancel(
87
87
  /** -- Wrapper APIs declared in grpc_security.h -- **/
88
88
 
89
89
  grpc_tls_credentials_options* grpc_tls_credentials_options_create() {
90
+ grpc_core::ExecCtx exec_ctx;
90
91
  return new grpc_tls_credentials_options();
91
92
  }
92
93
 
@@ -109,6 +110,7 @@ void grpc_tls_credentials_options_set_certificate_provider(
109
110
  grpc_tls_certificate_provider* provider) {
110
111
  GPR_ASSERT(options != nullptr);
111
112
  GPR_ASSERT(provider != nullptr);
113
+ grpc_core::ExecCtx exec_ctx;
112
114
  options->set_certificate_provider(
113
115
  provider->Ref(DEBUG_LOCATION, "set_certificate_provider"));
114
116
  }
@@ -142,6 +144,7 @@ void grpc_tls_credentials_options_set_server_authorization_check_config(
142
144
  grpc_tls_server_authorization_check_config* config) {
143
145
  GPR_ASSERT(options != nullptr);
144
146
  GPR_ASSERT(config != nullptr);
147
+ grpc_core::ExecCtx exec_ctx;
145
148
  options->set_server_authorization_check_config(config->Ref());
146
149
  }
147
150
 
@@ -159,6 +162,7 @@ grpc_tls_server_authorization_check_config_create(
159
162
  "check config.");
160
163
  return nullptr;
161
164
  }
165
+ grpc_core::ExecCtx exec_ctx;
162
166
  return new grpc_tls_server_authorization_check_config(
163
167
  config_user_data, schedule, cancel, destruct);
164
168
  }
@@ -40,13 +40,13 @@ bool XdsVerifySubjectAlternativeNames(
40
40
  if (matchers.empty()) return true;
41
41
  for (size_t i = 0; i < subject_alternative_names_size; ++i) {
42
42
  for (const auto& matcher : matchers) {
43
- if (matcher.type() == StringMatcher::Type::EXACT) {
44
- // For EXACT match, use DNS rules for verifying SANs
43
+ if (matcher.type() == StringMatcher::Type::kExact) {
44
+ // For Exact match, use DNS rules for verifying SANs
45
45
  // TODO(zhenlian): Right now, the SSL layer does not save the type of
46
46
  // the SAN, so we are doing a DNS style verification for all SANs when
47
47
  // the type is EXACT. When we expose the SAN type, change this to only
48
48
  // do this verification when the SAN type is DNS and match type is
49
- // EXACT. For all other cases, we should use matcher.Match().
49
+ // kExact. For all other cases, we should use matcher.Match().
50
50
  if (VerifySubjectAlternativeName(subject_alternative_names[i],
51
51
  matcher.string_matcher())) {
52
52
  return true;
@@ -54,7 +54,7 @@ void alts_check_peer(tsi_peer peer,
54
54
  *auth_context =
55
55
  grpc_core::internal::grpc_alts_auth_context_from_tsi_peer(&peer);
56
56
  tsi_peer_destruct(&peer);
57
- grpc_error* error =
57
+ grpc_error_handle error =
58
58
  *auth_context != nullptr
59
59
  ? GRPC_ERROR_NONE
60
60
  : GRPC_ERROR_CREATE_FROM_STATIC_STRING(
@@ -103,6 +103,11 @@ class grpc_alts_channel_security_connector final
103
103
  alts_check_peer(peer, auth_context, on_peer_checked);
104
104
  }
105
105
 
106
+ void cancel_check_peer(grpc_closure* /*on_peer_checked*/,
107
+ grpc_error_handle error) override {
108
+ GRPC_ERROR_UNREF(error);
109
+ }
110
+
106
111
  int cmp(const grpc_security_connector* other_sc) const override {
107
112
  auto* other =
108
113
  reinterpret_cast<const grpc_alts_channel_security_connector*>(other_sc);
@@ -114,7 +119,7 @@ class grpc_alts_channel_security_connector final
114
119
  bool check_call_host(absl::string_view host,
115
120
  grpc_auth_context* /*auth_context*/,
116
121
  grpc_closure* /*on_call_host_checked*/,
117
- grpc_error** error) override {
122
+ grpc_error_handle* error) override {
118
123
  if (host.empty() || host != target_name_) {
119
124
  *error = GRPC_ERROR_CREATE_FROM_STATIC_STRING(
120
125
  "ALTS call host does not match target name");
@@ -123,7 +128,7 @@ class grpc_alts_channel_security_connector final
123
128
  }
124
129
 
125
130
  void cancel_check_call_host(grpc_closure* /*on_call_host_checked*/,
126
- grpc_error* error) override {
131
+ grpc_error_handle error) override {
127
132
  GRPC_ERROR_UNREF(error);
128
133
  }
129
134
 
@@ -168,6 +173,11 @@ class grpc_alts_server_security_connector final
168
173
  alts_check_peer(peer, auth_context, on_peer_checked);
169
174
  }
170
175
 
176
+ void cancel_check_peer(grpc_closure* /*on_peer_checked*/,
177
+ grpc_error_handle error) override {
178
+ GRPC_ERROR_UNREF(error);
179
+ }
180
+
171
181
  int cmp(const grpc_security_connector* other) const override {
172
182
  return server_security_connector_cmp(
173
183
  static_cast<const grpc_server_security_connector*>(other));
@@ -79,6 +79,11 @@ class grpc_fake_channel_security_connector final
79
79
  grpc_core::RefCountedPtr<grpc_auth_context>* auth_context,
80
80
  grpc_closure* on_peer_checked) override;
81
81
 
82
+ void cancel_check_peer(grpc_closure* /*on_peer_checked*/,
83
+ grpc_error_handle error) override {
84
+ GRPC_ERROR_UNREF(error);
85
+ }
86
+
82
87
  int cmp(const grpc_security_connector* other_sc) const override {
83
88
  auto* other =
84
89
  reinterpret_cast<const grpc_fake_channel_security_connector*>(other_sc);
@@ -105,7 +110,7 @@ class grpc_fake_channel_security_connector final
105
110
  bool check_call_host(absl::string_view host,
106
111
  grpc_auth_context* /*auth_context*/,
107
112
  grpc_closure* /*on_call_host_checked*/,
108
- grpc_error** /*error*/) override {
113
+ grpc_error_handle* /*error*/) override {
109
114
  absl::string_view authority_hostname;
110
115
  absl::string_view authority_ignored_port;
111
116
  absl::string_view target_hostname;
@@ -135,7 +140,7 @@ class grpc_fake_channel_security_connector final
135
140
  }
136
141
 
137
142
  void cancel_check_call_host(grpc_closure* /*on_call_host_checked*/,
138
- grpc_error* error) override {
143
+ grpc_error_handle error) override {
139
144
  GRPC_ERROR_UNREF(error);
140
145
  }
141
146
 
@@ -214,7 +219,7 @@ static void fake_check_peer(
214
219
  grpc_core::RefCountedPtr<grpc_auth_context>* auth_context,
215
220
  grpc_closure* on_peer_checked) {
216
221
  const char* prop_name;
217
- grpc_error* error = GRPC_ERROR_NONE;
222
+ grpc_error_handle error = GRPC_ERROR_NONE;
218
223
  *auth_context = nullptr;
219
224
  if (peer.property_count != 2) {
220
225
  error = GRPC_ERROR_CREATE_FROM_STATIC_STRING(
@@ -287,6 +292,11 @@ class grpc_fake_server_security_connector
287
292
  fake_check_peer(this, peer, auth_context, on_peer_checked);
288
293
  }
289
294
 
295
+ void cancel_check_peer(grpc_closure* /*on_peer_checked*/,
296
+ grpc_error_handle error) override {
297
+ GRPC_ERROR_UNREF(error);
298
+ }
299
+
290
300
  void add_handshakers(const grpc_channel_args* args,
291
301
  grpc_pollset_set* /*interested_parties*/,
292
302
  grpc_core::HandshakeManager* handshake_mgr) override {
@@ -52,13 +52,13 @@ RefCountedPtr<grpc_auth_context> TestOnlyMakeInsecureAuthContext() {
52
52
  // provide an insecure channel.
53
53
  bool InsecureChannelSecurityConnector::check_call_host(
54
54
  absl::string_view /*host*/, grpc_auth_context* /*auth_context*/,
55
- grpc_closure* /*on_call_host_checked*/, grpc_error** error) {
55
+ grpc_closure* /*on_call_host_checked*/, grpc_error_handle* error) {
56
56
  *error = GRPC_ERROR_NONE;
57
57
  return true;
58
58
  }
59
59
 
60
60
  void InsecureChannelSecurityConnector::cancel_check_call_host(
61
- grpc_closure* /*on_call_host_checked*/, grpc_error* error) {
61
+ grpc_closure* /*on_call_host_checked*/, grpc_error_handle error) {
62
62
  GRPC_ERROR_UNREF(error);
63
63
  }
64
64
 
@@ -47,10 +47,10 @@ class InsecureChannelSecurityConnector
47
47
 
48
48
  bool check_call_host(absl::string_view host, grpc_auth_context* auth_context,
49
49
  grpc_closure* on_call_host_checked,
50
- grpc_error** error) override;
50
+ grpc_error_handle* error) override;
51
51
 
52
52
  void cancel_check_call_host(grpc_closure* on_call_host_checked,
53
- grpc_error* error) override;
53
+ grpc_error_handle error) override;
54
54
 
55
55
  void add_handshakers(const grpc_channel_args* args,
56
56
  grpc_pollset_set* /* interested_parties */,
@@ -60,6 +60,11 @@ class InsecureChannelSecurityConnector
60
60
  grpc_core::RefCountedPtr<grpc_auth_context>* auth_context,
61
61
  grpc_closure* on_peer_checked) override;
62
62
 
63
+ void cancel_check_peer(grpc_closure* /*on_peer_checked*/,
64
+ grpc_error_handle error) override {
65
+ GRPC_ERROR_UNREF(error);
66
+ }
67
+
63
68
  int cmp(const grpc_security_connector* other_sc) const override;
64
69
  };
65
70
 
@@ -78,6 +83,11 @@ class InsecureServerSecurityConnector : public grpc_server_security_connector {
78
83
  grpc_core::RefCountedPtr<grpc_auth_context>* auth_context,
79
84
  grpc_closure* on_peer_checked) override;
80
85
 
86
+ void cancel_check_peer(grpc_closure* /*on_peer_checked*/,
87
+ grpc_error_handle error) override {
88
+ GRPC_ERROR_UNREF(error);
89
+ }
90
+
81
91
  int cmp(const grpc_security_connector* other) const override;
82
92
  };
83
93