grpc 1.55.0 → 1.56.0

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

Potentially problematic release.


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

Files changed (374) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +100 -68
  3. data/include/grpc/event_engine/event_engine.h +4 -3
  4. data/include/grpc/grpc_audit_logging.h +96 -0
  5. data/include/grpc/module.modulemap +2 -0
  6. data/include/grpc/support/json.h +218 -0
  7. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +5 -0
  8. data/src/core/ext/filters/client_channel/backend_metric.cc +2 -0
  9. data/src/core/ext/filters/client_channel/channel_connectivity.cc +4 -4
  10. data/src/core/ext/filters/client_channel/client_channel.cc +86 -104
  11. data/src/core/ext/filters/client_channel/client_channel.h +6 -0
  12. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +19 -18
  13. data/src/core/ext/filters/client_channel/client_channel_internal.h +16 -21
  14. data/src/core/ext/filters/client_channel/config_selector.h +9 -24
  15. data/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h +3 -0
  16. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +5 -4
  17. data/src/core/ext/filters/client_channel/lb_policy/health_check_client.cc +455 -0
  18. data/src/core/ext/filters/client_channel/lb_policy/health_check_client.h +54 -0
  19. data/src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h +186 -0
  20. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +2 -7
  21. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +52 -20
  22. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +23 -2
  23. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +19 -6
  24. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +1 -9
  25. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +16 -7
  26. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +18 -1
  27. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +12 -9
  28. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +6 -4
  29. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +36 -13
  30. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc +76 -6
  31. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc +32 -39
  32. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +4 -10
  33. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +52 -47
  34. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +1 -9
  35. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +14 -16
  36. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +40 -43
  37. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +7 -12
  38. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +12 -19
  39. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +35 -33
  40. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +29 -4
  41. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.cc +1 -1
  42. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +28 -27
  43. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +163 -46
  44. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +16 -1
  45. data/src/core/ext/filters/client_channel/retry_service_config.cc +1 -0
  46. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +10 -40
  47. data/src/core/ext/filters/client_channel/subchannel.cc +10 -196
  48. data/src/core/ext/filters/client_channel/subchannel.h +3 -43
  49. data/src/core/ext/filters/http/message_compress/compression_filter.cc +5 -5
  50. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +100 -6
  51. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +6 -8
  52. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +3 -3
  53. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +16 -1
  54. data/src/core/ext/transport/chttp2/transport/flow_control.cc +46 -95
  55. data/src/core/ext/transport/chttp2/transport/internal.h +1 -15
  56. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +11 -2
  57. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +15 -0
  58. data/src/core/ext/xds/certificate_provider_store.cc +4 -9
  59. data/src/core/ext/xds/certificate_provider_store.h +1 -1
  60. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +30 -42
  61. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +14 -9
  62. data/src/core/ext/xds/xds_api.cc +9 -6
  63. data/src/core/ext/xds/xds_api.h +3 -2
  64. data/src/core/ext/xds/xds_audit_logger_registry.cc +122 -0
  65. data/src/core/ext/xds/xds_audit_logger_registry.h +68 -0
  66. data/src/core/ext/xds/xds_bootstrap_grpc.cc +21 -9
  67. data/src/core/ext/xds/xds_bootstrap_grpc.h +5 -0
  68. data/src/core/ext/xds/xds_client.cc +5 -4
  69. data/src/core/ext/xds/xds_client_stats.h +1 -1
  70. data/src/core/ext/xds/xds_cluster.cc +20 -19
  71. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +11 -8
  72. data/src/core/ext/xds/xds_common_types.cc +3 -1
  73. data/src/core/ext/xds/xds_http_fault_filter.cc +16 -13
  74. data/src/core/ext/xds/xds_http_fault_filter.h +2 -1
  75. data/src/core/ext/xds/xds_http_filters.h +4 -2
  76. data/src/core/ext/xds/xds_http_rbac_filter.cc +154 -67
  77. data/src/core/ext/xds/xds_http_rbac_filter.h +2 -1
  78. data/src/core/ext/xds/xds_http_stateful_session_filter.cc +15 -11
  79. data/src/core/ext/xds/xds_http_stateful_session_filter.h +2 -1
  80. data/src/core/ext/xds/xds_lb_policy_registry.cc +22 -16
  81. data/src/core/ext/xds/xds_listener.cc +1 -0
  82. data/src/core/ext/xds/xds_route_config.cc +40 -3
  83. data/src/core/ext/xds/xds_routing.cc +2 -2
  84. data/src/core/ext/xds/xds_transport_grpc.cc +3 -1
  85. data/src/core/lib/avl/avl.h +5 -0
  86. data/src/core/lib/channel/channel_args.cc +80 -22
  87. data/src/core/lib/channel/channel_args.h +34 -1
  88. data/src/core/lib/channel/channel_trace.cc +16 -12
  89. data/src/core/lib/channel/channelz.cc +159 -132
  90. data/src/core/lib/channel/channelz.h +42 -35
  91. data/src/core/lib/channel/channelz_registry.cc +23 -20
  92. data/src/core/lib/channel/connected_channel.cc +17 -6
  93. data/src/core/lib/channel/promise_based_filter.cc +0 -4
  94. data/src/core/lib/channel/promise_based_filter.h +2 -0
  95. data/src/core/lib/compression/compression_internal.cc +2 -5
  96. data/src/core/lib/config/config_vars.cc +20 -18
  97. data/src/core/lib/config/config_vars.h +4 -4
  98. data/src/core/lib/config/load_config.cc +13 -0
  99. data/src/core/lib/config/load_config.h +6 -0
  100. data/src/core/lib/debug/event_log.h +1 -1
  101. data/src/core/lib/debug/stats_data.h +1 -1
  102. data/src/core/lib/debug/trace.cc +24 -55
  103. data/src/core/lib/debug/trace.h +3 -1
  104. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +211 -0
  105. data/src/core/lib/event_engine/cf_engine/cf_engine.h +86 -0
  106. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +354 -0
  107. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +146 -0
  108. data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +79 -0
  109. data/src/core/lib/event_engine/default_event_engine.cc +13 -1
  110. data/src/core/lib/event_engine/default_event_engine_factory.cc +14 -2
  111. data/src/core/lib/event_engine/poller.h +2 -2
  112. data/src/core/lib/event_engine/posix.h +4 -0
  113. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +1 -1
  114. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +7 -18
  115. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +9 -0
  116. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +33 -19
  117. data/src/core/lib/event_engine/posix_engine/posix_engine.h +1 -1
  118. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +4 -4
  119. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +7 -8
  120. data/src/core/lib/event_engine/posix_engine/timer_manager.h +1 -1
  121. data/src/core/lib/event_engine/shim.cc +7 -1
  122. data/src/core/lib/event_engine/{thread_pool.cc → thread_pool/original_thread_pool.cc} +28 -25
  123. data/src/core/lib/event_engine/{thread_pool.h → thread_pool/original_thread_pool.h} +11 -15
  124. data/src/core/lib/event_engine/thread_pool/thread_pool.h +50 -0
  125. data/src/core/lib/event_engine/{executor/executor.h → thread_pool/thread_pool_factory.cc} +17 -15
  126. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +489 -0
  127. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +249 -0
  128. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +166 -0
  129. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +108 -0
  130. data/src/core/lib/event_engine/windows/iocp.cc +4 -3
  131. data/src/core/lib/event_engine/windows/iocp.h +3 -3
  132. data/src/core/lib/event_engine/windows/win_socket.cc +6 -6
  133. data/src/core/lib/event_engine/windows/win_socket.h +4 -4
  134. data/src/core/lib/event_engine/windows/windows_endpoint.cc +11 -10
  135. data/src/core/lib/event_engine/windows/windows_endpoint.h +3 -2
  136. data/src/core/lib/event_engine/windows/windows_engine.cc +19 -17
  137. data/src/core/lib/event_engine/windows/windows_engine.h +6 -6
  138. data/src/core/lib/event_engine/windows/windows_listener.cc +3 -3
  139. data/src/core/lib/event_engine/windows/windows_listener.h +3 -2
  140. data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +63 -0
  141. data/src/core/lib/event_engine/work_queue/basic_work_queue.h +71 -0
  142. data/src/core/lib/event_engine/work_queue/work_queue.h +62 -0
  143. data/src/core/lib/experiments/config.cc +38 -7
  144. data/src/core/lib/experiments/config.h +16 -0
  145. data/src/core/lib/experiments/experiments.cc +67 -20
  146. data/src/core/lib/experiments/experiments.h +27 -21
  147. data/src/core/lib/gpr/log_internal.h +55 -0
  148. data/src/core/lib/gprpp/crash.cc +10 -0
  149. data/src/core/lib/gprpp/crash.h +3 -0
  150. data/src/core/lib/gprpp/per_cpu.cc +33 -0
  151. data/src/core/lib/gprpp/per_cpu.h +29 -6
  152. data/src/core/lib/gprpp/time.cc +1 -0
  153. data/src/core/lib/iomgr/cfstream_handle.cc +1 -1
  154. data/src/core/lib/iomgr/endpoint_cfstream.cc +10 -8
  155. data/src/core/lib/iomgr/ev_apple.cc +12 -12
  156. data/src/core/lib/iomgr/ev_epoll1_linux.cc +10 -3
  157. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +15 -1
  158. data/src/core/lib/iomgr/iocp_windows.cc +24 -3
  159. data/src/core/lib/iomgr/iocp_windows.h +11 -0
  160. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +1 -1
  161. data/src/core/lib/iomgr/socket_utils_common_posix.cc +4 -2
  162. data/src/core/lib/iomgr/socket_windows.cc +61 -7
  163. data/src/core/lib/iomgr/socket_windows.h +9 -2
  164. data/src/core/lib/iomgr/tcp_client_cfstream.cc +14 -3
  165. data/src/core/lib/iomgr/tcp_server_posix.cc +148 -107
  166. data/src/core/lib/iomgr/tcp_server_utils_posix.h +1 -1
  167. data/src/core/lib/iomgr/tcp_server_windows.cc +1 -1
  168. data/src/core/lib/json/json.h +2 -166
  169. data/src/core/lib/json/json_object_loader.cc +8 -9
  170. data/src/core/lib/json/json_object_loader.h +25 -18
  171. data/src/core/lib/json/json_reader.cc +13 -6
  172. data/src/core/lib/json/json_util.cc +6 -11
  173. data/src/core/lib/json/json_writer.cc +7 -8
  174. data/src/core/lib/load_balancing/lb_policy.h +13 -0
  175. data/src/core/lib/load_balancing/lb_policy_registry.cc +2 -1
  176. data/src/core/lib/matchers/matchers.cc +3 -4
  177. data/src/core/lib/matchers/matchers.h +2 -1
  178. data/src/core/lib/promise/activity.cc +5 -0
  179. data/src/core/lib/promise/activity.h +10 -0
  180. data/src/core/lib/promise/detail/promise_factory.h +1 -1
  181. data/src/core/lib/promise/party.cc +31 -13
  182. data/src/core/lib/promise/party.h +11 -2
  183. data/src/core/lib/promise/pipe.h +9 -2
  184. data/src/core/lib/promise/prioritized_race.h +95 -0
  185. data/src/core/lib/promise/sleep.cc +2 -1
  186. data/src/core/lib/resolver/server_address.cc +0 -8
  187. data/src/core/lib/resolver/server_address.h +0 -6
  188. data/src/core/lib/resource_quota/memory_quota.cc +7 -7
  189. data/src/core/lib/resource_quota/memory_quota.h +1 -2
  190. data/src/core/lib/security/authorization/audit_logging.cc +98 -0
  191. data/src/core/lib/security/authorization/audit_logging.h +73 -0
  192. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +47 -2
  193. data/src/core/lib/security/authorization/grpc_authorization_engine.h +18 -1
  194. data/src/core/lib/security/authorization/rbac_policy.cc +36 -4
  195. data/src/core/lib/security/authorization/rbac_policy.h +19 -2
  196. data/src/core/lib/security/authorization/stdout_logger.cc +75 -0
  197. data/src/core/lib/security/authorization/stdout_logger.h +61 -0
  198. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +8 -4
  199. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +8 -18
  200. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +14 -8
  201. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +19 -12
  202. data/src/core/lib/security/credentials/external/external_account_credentials.cc +4 -2
  203. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +1 -0
  204. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +1 -0
  205. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +1 -0
  206. data/src/core/lib/security/credentials/jwt/json_token.cc +15 -14
  207. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +4 -2
  208. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +1 -0
  209. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +1 -0
  210. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +1 -5
  211. data/src/core/lib/security/util/json_util.cc +1 -0
  212. data/src/core/lib/service_config/service_config_call_data.h +49 -20
  213. data/src/core/lib/service_config/service_config_impl.cc +2 -1
  214. data/src/core/lib/surface/call.cc +38 -23
  215. data/src/core/lib/surface/completion_queue.cc +6 -2
  216. data/src/core/lib/surface/version.cc +2 -2
  217. data/src/core/lib/transport/batch_builder.cc +15 -12
  218. data/src/core/lib/transport/batch_builder.h +39 -35
  219. data/src/core/plugin_registry/grpc_plugin_registry.cc +0 -2
  220. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +2 -0
  221. data/src/ruby/ext/grpc/extconf.rb +8 -9
  222. data/src/ruby/lib/grpc/version.rb +1 -1
  223. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +9 -8
  224. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +1 -1
  225. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +3 -3
  226. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +10 -6
  227. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +7 -4
  228. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +6 -4
  229. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +2 -1
  230. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +5 -9
  231. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +4 -2
  232. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +31 -22
  233. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +29 -26
  234. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +8 -0
  235. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +189 -13
  236. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c +62 -0
  237. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_openbsd.c +31 -0
  238. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +6 -4
  239. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +795 -795
  240. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +1 -5
  241. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +4 -0
  242. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +18 -6
  243. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +15 -7
  244. data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c +1 -1
  245. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c +1 -1
  246. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +1 -0
  247. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c +3 -0
  248. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +24 -24
  249. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +1 -1
  250. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c +7 -7
  251. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +74 -74
  252. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +1 -2
  253. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +11 -11
  254. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.c +12 -12
  255. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +14 -15
  256. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +1 -1
  257. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c +10 -10
  258. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +23 -23
  259. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +13 -13
  260. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c +1 -1
  261. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +2 -2
  262. data/third_party/boringssl-with-bazel/src/crypto/{hkdf → fipsmodule/hkdf}/hkdf.c +1 -1
  263. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +2 -10
  264. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +1 -4
  265. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +115 -133
  266. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c +12 -14
  267. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +57 -47
  268. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +1 -8
  269. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.c +27 -28
  270. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +11 -23
  271. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +21 -16
  272. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c +5 -288
  273. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +143 -83
  274. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +95 -183
  275. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +71 -0
  276. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +8 -0
  277. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c +33 -0
  278. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +162 -6
  279. data/third_party/boringssl-with-bazel/src/crypto/internal.h +18 -0
  280. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +18 -11
  281. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +6 -13
  282. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +18 -14
  283. data/third_party/boringssl-with-bazel/src/crypto/{refcount_lock.c → refcount_no_threads.c} +3 -13
  284. data/third_party/boringssl-with-bazel/src/crypto/refcount_win.c +89 -0
  285. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/internal.h +77 -0
  286. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c +568 -0
  287. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +62 -0
  288. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +218 -44
  289. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +35 -0
  290. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +588 -39
  291. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c +27 -18
  292. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +1 -1
  293. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +17 -39
  294. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +39 -48
  295. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +0 -140
  296. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +72 -23
  297. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +11 -14
  298. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c +1 -1
  299. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +2 -2
  300. data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +1 -1
  301. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +33 -46
  302. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +1 -0
  303. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_info.c +3 -5
  304. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +14 -46
  305. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +14 -26
  306. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +17 -10
  307. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +1 -1
  308. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +5 -7
  309. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +6 -4
  310. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +32 -1
  311. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +0 -4
  312. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +1 -4
  313. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +3 -3
  314. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +28 -0
  315. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +2 -11
  316. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +0 -3
  317. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +91 -1
  318. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +5 -0
  319. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +149 -20
  320. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +4 -0
  321. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +4 -0
  322. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +8 -0
  323. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +774 -615
  324. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +42 -10
  325. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +11 -6
  326. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +2 -4
  327. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +24 -16
  328. data/third_party/boringssl-with-bazel/src/ssl/internal.h +65 -18
  329. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +37 -18
  330. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +187 -193
  331. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +13 -129
  332. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +85 -10
  333. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +17 -4
  334. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +27 -19
  335. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +1 -1
  336. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +5 -21
  337. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +5 -2
  338. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_msvc.h +1281 -0
  339. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64_msvc.h +2002 -0
  340. data/third_party/cares/cares/include/ares.h +23 -1
  341. data/third_party/cares/cares/{src/lib → include}/ares_nameser.h +9 -7
  342. data/third_party/cares/cares/include/ares_rules.h +2 -2
  343. data/third_party/cares/cares/include/ares_version.h +3 -3
  344. data/third_party/cares/cares/src/lib/ares__addrinfo2hostent.c +266 -0
  345. data/third_party/cares/cares/src/lib/ares__addrinfo_localhost.c +240 -0
  346. data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +49 -80
  347. data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +37 -43
  348. data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +12 -4
  349. data/third_party/cares/cares/src/lib/ares_data.c +16 -0
  350. data/third_party/cares/cares/src/lib/ares_data.h +7 -0
  351. data/third_party/cares/cares/src/lib/ares_destroy.c +8 -0
  352. data/third_party/cares/cares/src/lib/ares_expand_name.c +17 -6
  353. data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +1 -0
  354. data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +156 -78
  355. data/third_party/cares/cares/src/lib/ares_gethostbyname.c +130 -326
  356. data/third_party/cares/cares/src/lib/ares_init.c +97 -485
  357. data/third_party/cares/cares/src/lib/ares_library_init.c +2 -89
  358. data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +23 -142
  359. data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +22 -142
  360. data/third_party/cares/cares/src/lib/ares_parse_uri_reply.c +184 -0
  361. data/third_party/cares/cares/src/lib/ares_private.h +30 -16
  362. data/third_party/cares/cares/src/lib/ares_process.c +55 -16
  363. data/third_party/cares/cares/src/lib/ares_query.c +1 -35
  364. data/third_party/cares/cares/src/lib/ares_rand.c +279 -0
  365. data/third_party/cares/cares/src/lib/ares_send.c +5 -7
  366. data/third_party/cares/cares/src/lib/ares_strdup.c +12 -19
  367. data/third_party/cares/cares/src/lib/ares_strsplit.c +44 -128
  368. data/third_party/cares/cares/src/lib/ares_strsplit.h +9 -10
  369. data/third_party/cares/cares/src/lib/inet_net_pton.c +78 -116
  370. data/third_party/cares/cares/src/tools/ares_getopt.h +53 -0
  371. metadata +48 -12
  372. data/src/core/ext/filters/client_channel/health/health_check_client.cc +0 -175
  373. data/src/core/ext/filters/client_channel/health/health_check_client.h +0 -43
  374. data/third_party/cares/cares/src/lib/ares_library_init.h +0 -43
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grpc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.55.0
4
+ version: 1.56.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - gRPC Authors
8
8
  autorequire:
9
9
  bindir: src/ruby/bin
10
10
  cert_chain: []
11
- date: 2023-05-19 00:00:00.000000000 Z
11
+ date: 2023-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-protobuf
@@ -224,6 +224,7 @@ files:
224
224
  - include/grpc/event_engine/slice_buffer.h
225
225
  - include/grpc/fork.h
226
226
  - include/grpc/grpc.h
227
+ - include/grpc/grpc_audit_logging.h
227
228
  - include/grpc/grpc_cronet.h
228
229
  - include/grpc/grpc_posix.h
229
230
  - include/grpc/grpc_security.h
@@ -267,6 +268,7 @@ files:
267
268
  - include/grpc/support/atm_gcc_sync.h
268
269
  - include/grpc/support/atm_windows.h
269
270
  - include/grpc/support/cpu.h
271
+ - include/grpc/support/json.h
270
272
  - include/grpc/support/log.h
271
273
  - include/grpc/support/log_windows.h
272
274
  - include/grpc/support/port_platform.h
@@ -310,8 +312,6 @@ files:
310
312
  - src/core/ext/filters/client_channel/dynamic_filters.h
311
313
  - src/core/ext/filters/client_channel/global_subchannel_pool.cc
312
314
  - src/core/ext/filters/client_channel/global_subchannel_pool.h
313
- - src/core/ext/filters/client_channel/health/health_check_client.cc
314
- - src/core/ext/filters/client_channel/health/health_check_client.h
315
315
  - src/core/ext/filters/client_channel/http_proxy.cc
316
316
  - src/core/ext/filters/client_channel/http_proxy.h
317
317
  - src/core/ext/filters/client_channel/lb_policy/address_filtering.cc
@@ -329,6 +329,9 @@ files:
329
329
  - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h
330
330
  - src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc
331
331
  - src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h
332
+ - src/core/ext/filters/client_channel/lb_policy/health_check_client.cc
333
+ - src/core/ext/filters/client_channel/lb_policy/health_check_client.h
334
+ - src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h
332
335
  - src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc
333
336
  - src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h
334
337
  - src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h
@@ -1110,6 +1113,8 @@ files:
1110
1113
  - src/core/ext/xds/upb_utils.h
1111
1114
  - src/core/ext/xds/xds_api.cc
1112
1115
  - src/core/ext/xds/xds_api.h
1116
+ - src/core/ext/xds/xds_audit_logger_registry.cc
1117
+ - src/core/ext/xds/xds_audit_logger_registry.h
1113
1118
  - src/core/ext/xds/xds_bootstrap.cc
1114
1119
  - src/core/ext/xds/xds_bootstrap.h
1115
1120
  - src/core/ext/xds/xds_bootstrap_grpc.cc
@@ -1216,6 +1221,11 @@ files:
1216
1221
  - src/core/lib/debug/stats_data.h
1217
1222
  - src/core/lib/debug/trace.cc
1218
1223
  - src/core/lib/debug/trace.h
1224
+ - src/core/lib/event_engine/cf_engine/cf_engine.cc
1225
+ - src/core/lib/event_engine/cf_engine/cf_engine.h
1226
+ - src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc
1227
+ - src/core/lib/event_engine/cf_engine/cfstream_endpoint.h
1228
+ - src/core/lib/event_engine/cf_engine/cftype_unique_ref.h
1219
1229
  - src/core/lib/event_engine/channel_args_endpoint_config.cc
1220
1230
  - src/core/lib/event_engine/channel_args_endpoint_config.h
1221
1231
  - src/core/lib/event_engine/common_closures.h
@@ -1224,7 +1234,6 @@ files:
1224
1234
  - src/core/lib/event_engine/default_event_engine_factory.cc
1225
1235
  - src/core/lib/event_engine/default_event_engine_factory.h
1226
1236
  - src/core/lib/event_engine/event_engine.cc
1227
- - src/core/lib/event_engine/executor/executor.h
1228
1237
  - src/core/lib/event_engine/forkable.cc
1229
1238
  - src/core/lib/event_engine/forkable.h
1230
1239
  - src/core/lib/event_engine/handle_containers.h
@@ -1279,8 +1288,14 @@ files:
1279
1288
  - src/core/lib/event_engine/tcp_socket_utils.h
1280
1289
  - src/core/lib/event_engine/thread_local.cc
1281
1290
  - src/core/lib/event_engine/thread_local.h
1282
- - src/core/lib/event_engine/thread_pool.cc
1283
- - src/core/lib/event_engine/thread_pool.h
1291
+ - src/core/lib/event_engine/thread_pool/original_thread_pool.cc
1292
+ - src/core/lib/event_engine/thread_pool/original_thread_pool.h
1293
+ - src/core/lib/event_engine/thread_pool/thread_pool.h
1294
+ - src/core/lib/event_engine/thread_pool/thread_pool_factory.cc
1295
+ - src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc
1296
+ - src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h
1297
+ - src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc
1298
+ - src/core/lib/event_engine/thready_event_engine/thready_event_engine.h
1284
1299
  - src/core/lib/event_engine/time_util.cc
1285
1300
  - src/core/lib/event_engine/time_util.h
1286
1301
  - src/core/lib/event_engine/trace.cc
@@ -1297,6 +1312,9 @@ files:
1297
1312
  - src/core/lib/event_engine/windows/windows_engine.h
1298
1313
  - src/core/lib/event_engine/windows/windows_listener.cc
1299
1314
  - src/core/lib/event_engine/windows/windows_listener.h
1315
+ - src/core/lib/event_engine/work_queue/basic_work_queue.cc
1316
+ - src/core/lib/event_engine/work_queue/basic_work_queue.h
1317
+ - src/core/lib/event_engine/work_queue/work_queue.h
1300
1318
  - src/core/lib/experiments/config.cc
1301
1319
  - src/core/lib/experiments/config.h
1302
1320
  - src/core/lib/experiments/experiments.cc
@@ -1309,6 +1327,7 @@ files:
1309
1327
  - src/core/lib/gpr/linux/cpu.cc
1310
1328
  - src/core/lib/gpr/linux/log.cc
1311
1329
  - src/core/lib/gpr/log.cc
1330
+ - src/core/lib/gpr/log_internal.h
1312
1331
  - src/core/lib/gpr/msys/tmpfile.cc
1313
1332
  - src/core/lib/gpr/posix/cpu.cc
1314
1333
  - src/core/lib/gpr/posix/log.cc
@@ -1363,6 +1382,7 @@ files:
1363
1382
  - src/core/lib/gprpp/orphanable.h
1364
1383
  - src/core/lib/gprpp/overload.h
1365
1384
  - src/core/lib/gprpp/packed_table.h
1385
+ - src/core/lib/gprpp/per_cpu.cc
1366
1386
  - src/core/lib/gprpp/per_cpu.h
1367
1387
  - src/core/lib/gprpp/posix/env.cc
1368
1388
  - src/core/lib/gprpp/posix/stat.cc
@@ -1589,6 +1609,7 @@ files:
1589
1609
  - src/core/lib/promise/party.h
1590
1610
  - src/core/lib/promise/pipe.h
1591
1611
  - src/core/lib/promise/poll.h
1612
+ - src/core/lib/promise/prioritized_race.h
1592
1613
  - src/core/lib/promise/promise.h
1593
1614
  - src/core/lib/promise/race.h
1594
1615
  - src/core/lib/promise/seq.h
@@ -1619,6 +1640,8 @@ files:
1619
1640
  - src/core/lib/resource_quota/thread_quota.h
1620
1641
  - src/core/lib/resource_quota/trace.cc
1621
1642
  - src/core/lib/resource_quota/trace.h
1643
+ - src/core/lib/security/authorization/audit_logging.cc
1644
+ - src/core/lib/security/authorization/audit_logging.h
1622
1645
  - src/core/lib/security/authorization/authorization_engine.h
1623
1646
  - src/core/lib/security/authorization/authorization_policy_provider.h
1624
1647
  - src/core/lib/security/authorization/authorization_policy_provider_vtable.cc
@@ -1632,6 +1655,8 @@ files:
1632
1655
  - src/core/lib/security/authorization/matchers.h
1633
1656
  - src/core/lib/security/authorization/rbac_policy.cc
1634
1657
  - src/core/lib/security/authorization/rbac_policy.h
1658
+ - src/core/lib/security/authorization/stdout_logger.cc
1659
+ - src/core/lib/security/authorization/stdout_logger.h
1635
1660
  - src/core/lib/security/certificate_provider/certificate_provider_factory.h
1636
1661
  - src/core/lib/security/certificate_provider/certificate_provider_registry.cc
1637
1662
  - src/core/lib/security/certificate_provider/certificate_provider_registry.h
@@ -2469,11 +2494,13 @@ files:
2469
2494
  - third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_freebsd.c
2470
2495
  - third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c
2471
2496
  - third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c
2497
+ - third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c
2472
2498
  - third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c
2473
2499
  - third_party/boringssl-with-bazel/src/crypto/cpu_arm.c
2474
2500
  - third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c
2475
2501
  - third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c
2476
2502
  - third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.h
2503
+ - third_party/boringssl-with-bazel/src/crypto/cpu_arm_openbsd.c
2477
2504
  - third_party/boringssl-with-bazel/src/crypto/cpu_intel.c
2478
2505
  - third_party/boringssl-with-bazel/src/crypto/crypto.c
2479
2506
  - third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c
@@ -2581,6 +2608,7 @@ files:
2581
2608
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c
2582
2609
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h
2583
2610
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c
2611
+ - third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.c
2584
2612
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.c
2585
2613
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c
2586
2614
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/internal.h
@@ -2615,7 +2643,6 @@ files:
2615
2643
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c
2616
2644
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h
2617
2645
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c
2618
- - third_party/boringssl-with-bazel/src/crypto/hkdf/hkdf.c
2619
2646
  - third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c
2620
2647
  - third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c
2621
2648
  - third_party/boringssl-with-bazel/src/crypto/hrss/internal.h
@@ -2658,8 +2685,11 @@ files:
2658
2685
  - third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c
2659
2686
  - third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c
2660
2687
  - third_party/boringssl-with-bazel/src/crypto/refcount_c11.c
2661
- - third_party/boringssl-with-bazel/src/crypto/refcount_lock.c
2688
+ - third_party/boringssl-with-bazel/src/crypto/refcount_no_threads.c
2689
+ - third_party/boringssl-with-bazel/src/crypto/refcount_win.c
2690
+ - third_party/boringssl-with-bazel/src/crypto/rsa_extra/internal.h
2662
2691
  - third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c
2692
+ - third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c
2663
2693
  - third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_print.c
2664
2694
  - third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c
2665
2695
  - third_party/boringssl-with-bazel/src/crypto/stack/stack.c
@@ -2870,13 +2900,18 @@ files:
2870
2900
  - third_party/boringssl-with-bazel/src/ssl/tls_record.cc
2871
2901
  - third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h
2872
2902
  - third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h
2903
+ - third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_msvc.h
2873
2904
  - third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h
2874
2905
  - third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h
2906
+ - third_party/boringssl-with-bazel/src/third_party/fiat/p256_64_msvc.h
2875
2907
  - third_party/cares/ares_build.h
2876
2908
  - third_party/cares/cares/include/ares.h
2877
2909
  - third_party/cares/cares/include/ares_dns.h
2910
+ - third_party/cares/cares/include/ares_nameser.h
2878
2911
  - third_party/cares/cares/include/ares_rules.h
2879
2912
  - third_party/cares/cares/include/ares_version.h
2913
+ - third_party/cares/cares/src/lib/ares__addrinfo2hostent.c
2914
+ - third_party/cares/cares/src/lib/ares__addrinfo_localhost.c
2880
2915
  - third_party/cares/cares/src/lib/ares__close_sockets.c
2881
2916
  - third_party/cares/cares/src/lib/ares__get_hostent.c
2882
2917
  - third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c
@@ -2909,11 +2944,9 @@ files:
2909
2944
  - third_party/cares/cares/src/lib/ares_iphlpapi.h
2910
2945
  - third_party/cares/cares/src/lib/ares_ipv6.h
2911
2946
  - third_party/cares/cares/src/lib/ares_library_init.c
2912
- - third_party/cares/cares/src/lib/ares_library_init.h
2913
2947
  - third_party/cares/cares/src/lib/ares_llist.c
2914
2948
  - third_party/cares/cares/src/lib/ares_llist.h
2915
2949
  - third_party/cares/cares/src/lib/ares_mkquery.c
2916
- - third_party/cares/cares/src/lib/ares_nameser.h
2917
2950
  - third_party/cares/cares/src/lib/ares_nowarn.c
2918
2951
  - third_party/cares/cares/src/lib/ares_nowarn.h
2919
2952
  - third_party/cares/cares/src/lib/ares_options.c
@@ -2927,11 +2960,13 @@ files:
2927
2960
  - third_party/cares/cares/src/lib/ares_parse_soa_reply.c
2928
2961
  - third_party/cares/cares/src/lib/ares_parse_srv_reply.c
2929
2962
  - third_party/cares/cares/src/lib/ares_parse_txt_reply.c
2963
+ - third_party/cares/cares/src/lib/ares_parse_uri_reply.c
2930
2964
  - third_party/cares/cares/src/lib/ares_platform.c
2931
2965
  - third_party/cares/cares/src/lib/ares_platform.h
2932
2966
  - third_party/cares/cares/src/lib/ares_private.h
2933
2967
  - third_party/cares/cares/src/lib/ares_process.c
2934
2968
  - third_party/cares/cares/src/lib/ares_query.c
2969
+ - third_party/cares/cares/src/lib/ares_rand.c
2935
2970
  - third_party/cares/cares/src/lib/ares_search.c
2936
2971
  - third_party/cares/cares/src/lib/ares_send.c
2937
2972
  - third_party/cares/cares/src/lib/ares_setup.h
@@ -2954,6 +2989,7 @@ files:
2954
2989
  - third_party/cares/cares/src/lib/inet_ntop.c
2955
2990
  - third_party/cares/cares/src/lib/setup_once.h
2956
2991
  - third_party/cares/cares/src/lib/windows_port.c
2992
+ - third_party/cares/cares/src/tools/ares_getopt.h
2957
2993
  - third_party/cares/config_darwin/ares_config.h
2958
2994
  - third_party/cares/config_freebsd/ares_config.h
2959
2995
  - third_party/cares/config_linux/ares_config.h
@@ -3208,7 +3244,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
3208
3244
  - !ruby/object:Gem::Version
3209
3245
  version: '0'
3210
3246
  requirements: []
3211
- rubygems_version: 3.4.13
3247
+ rubygems_version: 3.4.14
3212
3248
  signing_key:
3213
3249
  specification_version: 4
3214
3250
  summary: GRPC system in Ruby
@@ -1,175 +0,0 @@
1
- //
2
- // Copyright 2018 gRPC authors.
3
- //
4
- // Licensed under the Apache License, Version 2.0 (the "License");
5
- // you may not use this file except in compliance with the License.
6
- // You may obtain a copy of the License at
7
- //
8
- // http://www.apache.org/licenses/LICENSE-2.0
9
- //
10
- // Unless required by applicable law or agreed to in writing, software
11
- // distributed under the License is distributed on an "AS IS" BASIS,
12
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- // See the License for the specific language governing permissions and
14
- // limitations under the License.
15
- //
16
-
17
- #include <grpc/support/port_platform.h>
18
-
19
- #include "src/core/ext/filters/client_channel/health/health_check_client.h"
20
-
21
- #include <stdint.h>
22
- #include <stdio.h>
23
- #include <string.h>
24
-
25
- #include <memory>
26
- #include <utility>
27
-
28
- #include "absl/status/status.h"
29
- #include "absl/status/statusor.h"
30
- #include "absl/strings/string_view.h"
31
- #include "upb/base/string_view.h"
32
- #include "upb/upb.hpp"
33
-
34
- #include <grpc/impl/connectivity_state.h>
35
- #include <grpc/slice.h>
36
- #include <grpc/status.h>
37
- #include <grpc/support/log.h>
38
-
39
- #include "src/core/lib/channel/channel_trace.h"
40
- #include "src/core/lib/debug/trace.h"
41
- #include "src/core/lib/slice/slice.h"
42
- #include "src/proto/grpc/health/v1/health.upb.h"
43
-
44
- namespace grpc_core {
45
-
46
- TraceFlag grpc_health_check_client_trace(false, "health_check_client");
47
-
48
- namespace {
49
-
50
- class HealthStreamEventHandler
51
- : public SubchannelStreamClient::CallEventHandler {
52
- public:
53
- HealthStreamEventHandler(
54
- std::string service_name,
55
- RefCountedPtr<channelz::SubchannelNode> channelz_node,
56
- RefCountedPtr<ConnectivityStateWatcherInterface> watcher)
57
- : service_name_(std::move(service_name)),
58
- channelz_node_(std::move(channelz_node)),
59
- watcher_(std::move(watcher)) {}
60
-
61
- Slice GetPathLocked() override {
62
- return Slice::FromStaticString("/grpc.health.v1.Health/Watch");
63
- }
64
-
65
- void OnCallStartLocked(SubchannelStreamClient* client) override {
66
- SetHealthStatusLocked(client, GRPC_CHANNEL_CONNECTING,
67
- "starting health watch");
68
- }
69
-
70
- void OnRetryTimerStartLocked(SubchannelStreamClient* client) override {
71
- SetHealthStatusLocked(client, GRPC_CHANNEL_TRANSIENT_FAILURE,
72
- "health check call failed; will retry after backoff");
73
- }
74
-
75
- grpc_slice EncodeSendMessageLocked() override {
76
- upb::Arena arena;
77
- grpc_health_v1_HealthCheckRequest* request_struct =
78
- grpc_health_v1_HealthCheckRequest_new(arena.ptr());
79
- grpc_health_v1_HealthCheckRequest_set_service(
80
- request_struct, upb_StringView_FromDataAndSize(service_name_.data(),
81
- service_name_.size()));
82
- size_t buf_length;
83
- char* buf = grpc_health_v1_HealthCheckRequest_serialize(
84
- request_struct, arena.ptr(), &buf_length);
85
- grpc_slice request_slice = GRPC_SLICE_MALLOC(buf_length);
86
- memcpy(GRPC_SLICE_START_PTR(request_slice), buf, buf_length);
87
- return request_slice;
88
- }
89
-
90
- absl::Status RecvMessageReadyLocked(
91
- SubchannelStreamClient* client,
92
- absl::string_view serialized_message) override {
93
- auto healthy = DecodeResponse(serialized_message);
94
- if (!healthy.ok()) {
95
- SetHealthStatusLocked(client, GRPC_CHANNEL_TRANSIENT_FAILURE,
96
- healthy.status().ToString().c_str());
97
- return healthy.status();
98
- }
99
- if (!*healthy) {
100
- SetHealthStatusLocked(client, GRPC_CHANNEL_TRANSIENT_FAILURE,
101
- "backend unhealthy");
102
- } else {
103
- SetHealthStatusLocked(client, GRPC_CHANNEL_READY, "OK");
104
- }
105
- return absl::OkStatus();
106
- }
107
-
108
- void RecvTrailingMetadataReadyLocked(SubchannelStreamClient* client,
109
- grpc_status_code status) override {
110
- if (status == GRPC_STATUS_UNIMPLEMENTED) {
111
- static const char kErrorMessage[] =
112
- "health checking Watch method returned UNIMPLEMENTED; "
113
- "disabling health checks but assuming server is healthy";
114
- gpr_log(GPR_ERROR, kErrorMessage);
115
- if (channelz_node_ != nullptr) {
116
- channelz_node_->AddTraceEvent(
117
- channelz::ChannelTrace::Error,
118
- grpc_slice_from_static_string(kErrorMessage));
119
- }
120
- SetHealthStatusLocked(client, GRPC_CHANNEL_READY, kErrorMessage);
121
- }
122
- }
123
-
124
- private:
125
- // Returns true if healthy.
126
- static absl::StatusOr<bool> DecodeResponse(
127
- absl::string_view serialized_message) {
128
- // Deserialize message.
129
- upb::Arena arena;
130
- auto* response = grpc_health_v1_HealthCheckResponse_parse(
131
- serialized_message.data(), serialized_message.size(), arena.ptr());
132
- if (response == nullptr) {
133
- // Can't parse message; assume unhealthy.
134
- return absl::InvalidArgumentError("cannot parse health check response");
135
- }
136
- int32_t status = grpc_health_v1_HealthCheckResponse_status(response);
137
- return status == grpc_health_v1_HealthCheckResponse_SERVING;
138
- }
139
-
140
- void SetHealthStatusLocked(SubchannelStreamClient* client,
141
- grpc_connectivity_state state,
142
- const char* reason) {
143
- if (GRPC_TRACE_FLAG_ENABLED(grpc_health_check_client_trace)) {
144
- gpr_log(GPR_INFO, "HealthCheckClient %p: setting state=%s reason=%s",
145
- client, ConnectivityStateName(state), reason);
146
- }
147
- watcher_->Notify(state, state == GRPC_CHANNEL_TRANSIENT_FAILURE
148
- ? absl::UnavailableError(reason)
149
- : absl::Status());
150
- }
151
-
152
- std::string service_name_;
153
- RefCountedPtr<channelz::SubchannelNode> channelz_node_;
154
- RefCountedPtr<ConnectivityStateWatcherInterface> watcher_;
155
- };
156
-
157
- } // namespace
158
-
159
- OrphanablePtr<SubchannelStreamClient> MakeHealthCheckClient(
160
- std::string service_name,
161
- RefCountedPtr<ConnectedSubchannel> connected_subchannel,
162
- grpc_pollset_set* interested_parties,
163
- RefCountedPtr<channelz::SubchannelNode> channelz_node,
164
- RefCountedPtr<ConnectivityStateWatcherInterface> watcher) {
165
- return MakeOrphanable<SubchannelStreamClient>(
166
- std::move(connected_subchannel), interested_parties,
167
- std::make_unique<HealthStreamEventHandler>(std::move(service_name),
168
- std::move(channelz_node),
169
- std::move(watcher)),
170
- GRPC_TRACE_FLAG_ENABLED(grpc_health_check_client_trace)
171
- ? "HealthCheckClient"
172
- : nullptr);
173
- }
174
-
175
- } // namespace grpc_core
@@ -1,43 +0,0 @@
1
- //
2
- // Copyright 2018 gRPC authors.
3
- //
4
- // Licensed under the Apache License, Version 2.0 (the "License");
5
- // you may not use this file except in compliance with the License.
6
- // You may obtain a copy of the License at
7
- //
8
- // http://www.apache.org/licenses/LICENSE-2.0
9
- //
10
- // Unless required by applicable law or agreed to in writing, software
11
- // distributed under the License is distributed on an "AS IS" BASIS,
12
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- // See the License for the specific language governing permissions and
14
- // limitations under the License.
15
- //
16
-
17
- #ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HEALTH_HEALTH_CHECK_CLIENT_H
18
- #define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HEALTH_HEALTH_CHECK_CLIENT_H
19
-
20
- #include <grpc/support/port_platform.h>
21
-
22
- #include <string>
23
-
24
- #include "src/core/ext/filters/client_channel/client_channel_channelz.h"
25
- #include "src/core/ext/filters/client_channel/subchannel.h"
26
- #include "src/core/ext/filters/client_channel/subchannel_stream_client.h"
27
- #include "src/core/lib/gprpp/orphanable.h"
28
- #include "src/core/lib/gprpp/ref_counted_ptr.h"
29
- #include "src/core/lib/iomgr/iomgr_fwd.h"
30
- #include "src/core/lib/transport/connectivity_state.h"
31
-
32
- namespace grpc_core {
33
-
34
- OrphanablePtr<SubchannelStreamClient> MakeHealthCheckClient(
35
- std::string service_name,
36
- RefCountedPtr<ConnectedSubchannel> connected_subchannel,
37
- grpc_pollset_set* interested_parties,
38
- RefCountedPtr<channelz::SubchannelNode> channelz_node,
39
- RefCountedPtr<ConnectivityStateWatcherInterface> watcher);
40
-
41
- } // namespace grpc_core
42
-
43
- #endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HEALTH_HEALTH_CHECK_CLIENT_H
@@ -1,43 +0,0 @@
1
- #ifndef HEADER_CARES_LIBRARY_INIT_H
2
- #define HEADER_CARES_LIBRARY_INIT_H
3
-
4
-
5
- /* Copyright 1998 by the Massachusetts Institute of Technology.
6
- * Copyright (C) 2004-2011 by Daniel Stenberg
7
- *
8
- * Permission to use, copy, modify, and distribute this
9
- * software and its documentation for any purpose and without
10
- * fee is hereby granted, provided that the above copyright
11
- * notice appear in all copies and that both that copyright
12
- * notice and this permission notice appear in supporting
13
- * documentation, and that the name of M.I.T. not be used in
14
- * advertising or publicity pertaining to distribution of the
15
- * software without specific, written prior permission.
16
- * M.I.T. makes no representations about the suitability of
17
- * this software for any purpose. It is provided "as is"
18
- * without express or implied warranty.
19
- */
20
-
21
- #include "ares_setup.h"
22
-
23
- #ifdef USE_WINSOCK
24
-
25
- #include <iphlpapi.h>
26
- #include "ares_iphlpapi.h"
27
-
28
- typedef DWORD (WINAPI *fpGetNetworkParams_t) (FIXED_INFO*, DWORD*);
29
- typedef BOOLEAN (APIENTRY *fpSystemFunction036_t) (void*, ULONG);
30
- typedef ULONG (WINAPI *fpGetAdaptersAddresses_t) ( ULONG, ULONG, void*, IP_ADAPTER_ADDRESSES*, ULONG* );
31
- typedef NETIO_STATUS (WINAPI *fpGetBestRoute2_t) ( NET_LUID *, NET_IFINDEX, const SOCKADDR_INET *, const SOCKADDR_INET *, ULONG, PMIB_IPFORWARD_ROW2, SOCKADDR_INET * );
32
- /* Forward-declaration of variables defined in ares_library_init.c */
33
- /* that are global and unique instances for whole c-ares library. */
34
-
35
- extern fpGetNetworkParams_t ares_fpGetNetworkParams;
36
- extern fpSystemFunction036_t ares_fpSystemFunction036;
37
- extern fpGetAdaptersAddresses_t ares_fpGetAdaptersAddresses;
38
- extern fpGetBestRoute2_t ares_fpGetBestRoute2;
39
-
40
- #endif /* USE_WINSOCK */
41
-
42
- #endif /* HEADER_CARES_LIBRARY_INIT_H */
43
-