grpc 1.55.3 → 1.56.0.pre3

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 (385) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +100 -70
  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 +82 -98
  11. data/src/core/ext/filters/client_channel/client_channel.h +4 -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/hpack_parser.cc +543 -567
  56. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +9 -150
  57. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +32 -46
  58. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +5 -18
  59. data/src/core/ext/transport/chttp2/transport/internal.h +1 -15
  60. data/src/core/ext/transport/chttp2/transport/parsing.cc +12 -12
  61. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +11 -2
  62. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +15 -0
  63. data/src/core/ext/xds/certificate_provider_store.cc +4 -9
  64. data/src/core/ext/xds/certificate_provider_store.h +1 -1
  65. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +30 -42
  66. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +14 -9
  67. data/src/core/ext/xds/xds_api.cc +9 -6
  68. data/src/core/ext/xds/xds_api.h +3 -2
  69. data/src/core/ext/xds/xds_audit_logger_registry.cc +122 -0
  70. data/src/core/ext/xds/xds_audit_logger_registry.h +68 -0
  71. data/src/core/ext/xds/xds_bootstrap_grpc.cc +21 -9
  72. data/src/core/ext/xds/xds_bootstrap_grpc.h +5 -0
  73. data/src/core/ext/xds/xds_client.cc +5 -4
  74. data/src/core/ext/xds/xds_client_stats.h +1 -1
  75. data/src/core/ext/xds/xds_cluster.cc +20 -19
  76. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +11 -8
  77. data/src/core/ext/xds/xds_common_types.cc +3 -1
  78. data/src/core/ext/xds/xds_http_fault_filter.cc +16 -13
  79. data/src/core/ext/xds/xds_http_fault_filter.h +2 -1
  80. data/src/core/ext/xds/xds_http_filters.h +4 -2
  81. data/src/core/ext/xds/xds_http_rbac_filter.cc +154 -67
  82. data/src/core/ext/xds/xds_http_rbac_filter.h +2 -1
  83. data/src/core/ext/xds/xds_http_stateful_session_filter.cc +15 -11
  84. data/src/core/ext/xds/xds_http_stateful_session_filter.h +2 -1
  85. data/src/core/ext/xds/xds_lb_policy_registry.cc +22 -16
  86. data/src/core/ext/xds/xds_listener.cc +1 -0
  87. data/src/core/ext/xds/xds_route_config.cc +40 -3
  88. data/src/core/ext/xds/xds_routing.cc +2 -2
  89. data/src/core/ext/xds/xds_transport_grpc.cc +3 -1
  90. data/src/core/lib/avl/avl.h +5 -0
  91. data/src/core/lib/backoff/random_early_detection.h +0 -5
  92. data/src/core/lib/channel/channel_args.cc +80 -22
  93. data/src/core/lib/channel/channel_args.h +34 -1
  94. data/src/core/lib/channel/channel_trace.cc +16 -12
  95. data/src/core/lib/channel/channelz.cc +159 -132
  96. data/src/core/lib/channel/channelz.h +42 -35
  97. data/src/core/lib/channel/channelz_registry.cc +23 -20
  98. data/src/core/lib/channel/connected_channel.cc +17 -6
  99. data/src/core/lib/channel/promise_based_filter.cc +0 -4
  100. data/src/core/lib/channel/promise_based_filter.h +2 -0
  101. data/src/core/lib/compression/compression_internal.cc +2 -5
  102. data/src/core/lib/config/config_vars.cc +20 -18
  103. data/src/core/lib/config/config_vars.h +4 -4
  104. data/src/core/lib/config/load_config.cc +13 -0
  105. data/src/core/lib/config/load_config.h +6 -0
  106. data/src/core/lib/debug/event_log.h +1 -1
  107. data/src/core/lib/debug/stats_data.h +1 -1
  108. data/src/core/lib/debug/trace.cc +24 -55
  109. data/src/core/lib/debug/trace.h +3 -1
  110. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +211 -0
  111. data/src/core/lib/event_engine/cf_engine/cf_engine.h +86 -0
  112. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +354 -0
  113. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +146 -0
  114. data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +79 -0
  115. data/src/core/lib/event_engine/default_event_engine.cc +13 -1
  116. data/src/core/lib/event_engine/default_event_engine_factory.cc +14 -2
  117. data/src/core/lib/event_engine/poller.h +2 -2
  118. data/src/core/lib/event_engine/posix.h +4 -0
  119. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +1 -1
  120. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +7 -18
  121. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +9 -0
  122. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +3 -2
  123. data/src/core/lib/event_engine/posix_engine/posix_engine.h +1 -2
  124. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +4 -33
  125. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +7 -11
  126. data/src/core/lib/event_engine/posix_engine/timer_manager.h +1 -1
  127. data/src/core/lib/event_engine/shim.cc +7 -1
  128. data/src/core/lib/event_engine/{thread_pool.cc → thread_pool/original_thread_pool.cc} +28 -25
  129. data/src/core/lib/event_engine/{thread_pool.h → thread_pool/original_thread_pool.h} +11 -15
  130. data/src/core/lib/event_engine/thread_pool/thread_pool.h +50 -0
  131. data/src/core/lib/event_engine/{executor/executor.h → thread_pool/thread_pool_factory.cc} +17 -15
  132. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +489 -0
  133. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +249 -0
  134. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +166 -0
  135. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +108 -0
  136. data/src/core/lib/event_engine/windows/iocp.cc +4 -3
  137. data/src/core/lib/event_engine/windows/iocp.h +3 -3
  138. data/src/core/lib/event_engine/windows/win_socket.cc +6 -6
  139. data/src/core/lib/event_engine/windows/win_socket.h +4 -4
  140. data/src/core/lib/event_engine/windows/windows_endpoint.cc +11 -10
  141. data/src/core/lib/event_engine/windows/windows_endpoint.h +3 -2
  142. data/src/core/lib/event_engine/windows/windows_engine.cc +19 -17
  143. data/src/core/lib/event_engine/windows/windows_engine.h +6 -6
  144. data/src/core/lib/event_engine/windows/windows_listener.cc +3 -3
  145. data/src/core/lib/event_engine/windows/windows_listener.h +3 -2
  146. data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +63 -0
  147. data/src/core/lib/event_engine/work_queue/basic_work_queue.h +71 -0
  148. data/src/core/lib/event_engine/work_queue/work_queue.h +62 -0
  149. data/src/core/lib/experiments/config.cc +38 -7
  150. data/src/core/lib/experiments/config.h +16 -0
  151. data/src/core/lib/experiments/experiments.cc +67 -20
  152. data/src/core/lib/experiments/experiments.h +27 -21
  153. data/src/core/lib/gpr/log_internal.h +55 -0
  154. data/src/core/lib/gprpp/crash.cc +10 -0
  155. data/src/core/lib/gprpp/crash.h +3 -0
  156. data/src/core/lib/gprpp/per_cpu.cc +33 -0
  157. data/src/core/lib/gprpp/per_cpu.h +29 -6
  158. data/src/core/lib/gprpp/time.cc +1 -0
  159. data/src/core/lib/iomgr/cfstream_handle.cc +1 -1
  160. data/src/core/lib/iomgr/endpoint_cfstream.cc +10 -8
  161. data/src/core/lib/iomgr/ev_apple.cc +12 -12
  162. data/src/core/lib/iomgr/ev_epoll1_linux.cc +10 -3
  163. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +15 -1
  164. data/src/core/lib/iomgr/iocp_windows.cc +24 -3
  165. data/src/core/lib/iomgr/iocp_windows.h +11 -0
  166. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +1 -1
  167. data/src/core/lib/iomgr/socket_utils_common_posix.cc +4 -2
  168. data/src/core/lib/iomgr/socket_windows.cc +61 -7
  169. data/src/core/lib/iomgr/socket_windows.h +9 -2
  170. data/src/core/lib/iomgr/tcp_client_cfstream.cc +14 -3
  171. data/src/core/lib/iomgr/tcp_server_posix.cc +156 -140
  172. data/src/core/lib/iomgr/tcp_server_utils_posix.h +1 -13
  173. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +0 -21
  174. data/src/core/lib/iomgr/tcp_server_windows.cc +1 -1
  175. data/src/core/lib/json/json.h +2 -166
  176. data/src/core/lib/json/json_object_loader.cc +8 -9
  177. data/src/core/lib/json/json_object_loader.h +25 -18
  178. data/src/core/lib/json/json_reader.cc +13 -6
  179. data/src/core/lib/json/json_util.cc +6 -11
  180. data/src/core/lib/json/json_writer.cc +7 -8
  181. data/src/core/lib/load_balancing/lb_policy.h +13 -0
  182. data/src/core/lib/load_balancing/lb_policy_registry.cc +2 -1
  183. data/src/core/lib/matchers/matchers.cc +3 -4
  184. data/src/core/lib/matchers/matchers.h +2 -1
  185. data/src/core/lib/promise/activity.cc +5 -0
  186. data/src/core/lib/promise/activity.h +10 -0
  187. data/src/core/lib/promise/detail/promise_factory.h +1 -1
  188. data/src/core/lib/promise/party.cc +31 -13
  189. data/src/core/lib/promise/party.h +11 -2
  190. data/src/core/lib/promise/pipe.h +9 -2
  191. data/src/core/lib/promise/prioritized_race.h +95 -0
  192. data/src/core/lib/promise/sleep.cc +2 -1
  193. data/src/core/lib/resolver/server_address.cc +0 -8
  194. data/src/core/lib/resolver/server_address.h +0 -6
  195. data/src/core/lib/resource_quota/memory_quota.cc +7 -7
  196. data/src/core/lib/resource_quota/memory_quota.h +1 -2
  197. data/src/core/lib/security/authorization/audit_logging.cc +98 -0
  198. data/src/core/lib/security/authorization/audit_logging.h +73 -0
  199. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +47 -2
  200. data/src/core/lib/security/authorization/grpc_authorization_engine.h +18 -1
  201. data/src/core/lib/security/authorization/rbac_policy.cc +36 -4
  202. data/src/core/lib/security/authorization/rbac_policy.h +19 -2
  203. data/src/core/lib/security/authorization/stdout_logger.cc +75 -0
  204. data/src/core/lib/security/authorization/stdout_logger.h +61 -0
  205. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +8 -4
  206. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +8 -18
  207. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +14 -8
  208. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +19 -12
  209. data/src/core/lib/security/credentials/external/external_account_credentials.cc +4 -2
  210. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +1 -0
  211. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +1 -0
  212. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +1 -0
  213. data/src/core/lib/security/credentials/jwt/json_token.cc +15 -14
  214. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +4 -2
  215. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +1 -0
  216. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +1 -0
  217. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +1 -5
  218. data/src/core/lib/security/util/json_util.cc +1 -0
  219. data/src/core/lib/service_config/service_config_call_data.h +49 -20
  220. data/src/core/lib/service_config/service_config_impl.cc +2 -1
  221. data/src/core/lib/surface/call.cc +38 -23
  222. data/src/core/lib/surface/completion_queue.cc +6 -2
  223. data/src/core/lib/surface/validate_metadata.cc +22 -37
  224. data/src/core/lib/surface/validate_metadata.h +3 -13
  225. data/src/core/lib/surface/version.cc +2 -2
  226. data/src/core/lib/transport/batch_builder.cc +15 -12
  227. data/src/core/lib/transport/batch_builder.h +39 -35
  228. data/src/core/plugin_registry/grpc_plugin_registry.cc +0 -2
  229. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +2 -0
  230. data/src/ruby/ext/grpc/extconf.rb +8 -9
  231. data/src/ruby/lib/grpc/version.rb +1 -1
  232. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +9 -8
  233. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +1 -1
  234. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +3 -3
  235. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +10 -6
  236. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +7 -4
  237. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +6 -4
  238. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +2 -1
  239. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +5 -9
  240. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +4 -2
  241. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +31 -22
  242. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +29 -26
  243. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +8 -0
  244. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +189 -13
  245. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c +62 -0
  246. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_openbsd.c +31 -0
  247. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +6 -4
  248. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +795 -795
  249. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +1 -5
  250. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +4 -0
  251. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +18 -6
  252. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +15 -7
  253. data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c +1 -1
  254. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c +1 -1
  255. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +1 -0
  256. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c +3 -0
  257. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +24 -24
  258. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +1 -1
  259. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c +7 -7
  260. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +74 -74
  261. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +1 -2
  262. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +11 -11
  263. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.c +12 -12
  264. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +14 -15
  265. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +1 -1
  266. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c +10 -10
  267. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +23 -23
  268. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +13 -13
  269. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c +1 -1
  270. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +2 -2
  271. data/third_party/boringssl-with-bazel/src/crypto/{hkdf → fipsmodule/hkdf}/hkdf.c +1 -1
  272. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +2 -10
  273. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +1 -4
  274. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +115 -133
  275. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c +12 -14
  276. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +57 -47
  277. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +1 -8
  278. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.c +27 -28
  279. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +11 -23
  280. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +21 -16
  281. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c +5 -288
  282. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +143 -83
  283. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +95 -183
  284. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +71 -0
  285. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +8 -0
  286. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c +33 -0
  287. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +162 -6
  288. data/third_party/boringssl-with-bazel/src/crypto/internal.h +18 -0
  289. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +18 -11
  290. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +6 -13
  291. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +18 -14
  292. data/third_party/boringssl-with-bazel/src/crypto/{refcount_lock.c → refcount_no_threads.c} +3 -13
  293. data/third_party/boringssl-with-bazel/src/crypto/refcount_win.c +89 -0
  294. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/internal.h +77 -0
  295. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c +568 -0
  296. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +62 -0
  297. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +218 -44
  298. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +35 -0
  299. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +588 -39
  300. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c +27 -18
  301. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +1 -1
  302. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +17 -39
  303. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +39 -48
  304. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +0 -140
  305. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +72 -23
  306. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +11 -14
  307. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c +1 -1
  308. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +2 -2
  309. data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +1 -1
  310. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +33 -46
  311. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +1 -0
  312. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_info.c +3 -5
  313. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +14 -46
  314. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +14 -26
  315. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +17 -10
  316. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +1 -1
  317. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +5 -7
  318. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +6 -4
  319. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +32 -1
  320. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +0 -4
  321. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +1 -4
  322. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +3 -3
  323. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +28 -0
  324. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +2 -11
  325. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +0 -3
  326. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +91 -1
  327. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +5 -0
  328. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +149 -20
  329. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +4 -0
  330. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +4 -0
  331. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +8 -0
  332. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +774 -615
  333. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +42 -10
  334. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +11 -6
  335. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +2 -4
  336. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +24 -16
  337. data/third_party/boringssl-with-bazel/src/ssl/internal.h +65 -18
  338. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +37 -18
  339. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +187 -193
  340. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +13 -129
  341. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +85 -10
  342. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +17 -4
  343. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +27 -19
  344. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +1 -1
  345. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +5 -21
  346. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +5 -2
  347. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_msvc.h +1281 -0
  348. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64_msvc.h +2002 -0
  349. data/third_party/cares/cares/include/ares.h +23 -1
  350. data/third_party/cares/cares/{src/lib → include}/ares_nameser.h +9 -7
  351. data/third_party/cares/cares/include/ares_rules.h +2 -2
  352. data/third_party/cares/cares/include/ares_version.h +3 -3
  353. data/third_party/cares/cares/src/lib/ares__addrinfo2hostent.c +266 -0
  354. data/third_party/cares/cares/src/lib/ares__addrinfo_localhost.c +240 -0
  355. data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +49 -80
  356. data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +37 -43
  357. data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +12 -4
  358. data/third_party/cares/cares/src/lib/ares_data.c +16 -0
  359. data/third_party/cares/cares/src/lib/ares_data.h +7 -0
  360. data/third_party/cares/cares/src/lib/ares_destroy.c +8 -0
  361. data/third_party/cares/cares/src/lib/ares_expand_name.c +17 -6
  362. data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +1 -0
  363. data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +156 -78
  364. data/third_party/cares/cares/src/lib/ares_gethostbyname.c +130 -326
  365. data/third_party/cares/cares/src/lib/ares_init.c +97 -485
  366. data/third_party/cares/cares/src/lib/ares_library_init.c +2 -89
  367. data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +23 -142
  368. data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +22 -142
  369. data/third_party/cares/cares/src/lib/ares_parse_uri_reply.c +184 -0
  370. data/third_party/cares/cares/src/lib/ares_private.h +30 -16
  371. data/third_party/cares/cares/src/lib/ares_process.c +55 -16
  372. data/third_party/cares/cares/src/lib/ares_query.c +1 -35
  373. data/third_party/cares/cares/src/lib/ares_rand.c +279 -0
  374. data/third_party/cares/cares/src/lib/ares_send.c +5 -7
  375. data/third_party/cares/cares/src/lib/ares_strdup.c +12 -19
  376. data/third_party/cares/cares/src/lib/ares_strsplit.c +44 -128
  377. data/third_party/cares/cares/src/lib/ares_strsplit.h +9 -10
  378. data/third_party/cares/cares/src/lib/inet_net_pton.c +78 -116
  379. data/third_party/cares/cares/src/tools/ares_getopt.h +53 -0
  380. metadata +50 -16
  381. data/src/core/ext/filters/client_channel/health/health_check_client.cc +0 -175
  382. data/src/core/ext/filters/client_channel/health/health_check_client.h +0 -43
  383. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +0 -176
  384. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +0 -325
  385. 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.3
4
+ version: 1.56.0.pre3
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-07-31 00:00:00.000000000 Z
11
+ date: 2023-06-13 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
@@ -462,8 +465,6 @@ files:
462
465
  - src/core/ext/transport/chttp2/transport/hpack_encoder.h
463
466
  - src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc
464
467
  - src/core/ext/transport/chttp2/transport/hpack_encoder_table.h
465
- - src/core/ext/transport/chttp2/transport/hpack_parse_result.cc
466
- - src/core/ext/transport/chttp2/transport/hpack_parse_result.h
467
468
  - src/core/ext/transport/chttp2/transport/hpack_parser.cc
468
469
  - src/core/ext/transport/chttp2/transport/hpack_parser.h
469
470
  - src/core/ext/transport/chttp2/transport/hpack_parser_table.cc
@@ -1112,6 +1113,8 @@ files:
1112
1113
  - src/core/ext/xds/upb_utils.h
1113
1114
  - src/core/ext/xds/xds_api.cc
1114
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
1115
1118
  - src/core/ext/xds/xds_bootstrap.cc
1116
1119
  - src/core/ext/xds/xds_bootstrap.h
1117
1120
  - src/core/ext/xds/xds_bootstrap_grpc.cc
@@ -1218,6 +1221,11 @@ files:
1218
1221
  - src/core/lib/debug/stats_data.h
1219
1222
  - src/core/lib/debug/trace.cc
1220
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
1221
1229
  - src/core/lib/event_engine/channel_args_endpoint_config.cc
1222
1230
  - src/core/lib/event_engine/channel_args_endpoint_config.h
1223
1231
  - src/core/lib/event_engine/common_closures.h
@@ -1226,7 +1234,6 @@ files:
1226
1234
  - src/core/lib/event_engine/default_event_engine_factory.cc
1227
1235
  - src/core/lib/event_engine/default_event_engine_factory.h
1228
1236
  - src/core/lib/event_engine/event_engine.cc
1229
- - src/core/lib/event_engine/executor/executor.h
1230
1237
  - src/core/lib/event_engine/forkable.cc
1231
1238
  - src/core/lib/event_engine/forkable.h
1232
1239
  - src/core/lib/event_engine/handle_containers.h
@@ -1281,8 +1288,14 @@ files:
1281
1288
  - src/core/lib/event_engine/tcp_socket_utils.h
1282
1289
  - src/core/lib/event_engine/thread_local.cc
1283
1290
  - src/core/lib/event_engine/thread_local.h
1284
- - src/core/lib/event_engine/thread_pool.cc
1285
- - 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
1286
1299
  - src/core/lib/event_engine/time_util.cc
1287
1300
  - src/core/lib/event_engine/time_util.h
1288
1301
  - src/core/lib/event_engine/trace.cc
@@ -1299,6 +1312,9 @@ files:
1299
1312
  - src/core/lib/event_engine/windows/windows_engine.h
1300
1313
  - src/core/lib/event_engine/windows/windows_listener.cc
1301
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
1302
1318
  - src/core/lib/experiments/config.cc
1303
1319
  - src/core/lib/experiments/config.h
1304
1320
  - src/core/lib/experiments/experiments.cc
@@ -1311,6 +1327,7 @@ files:
1311
1327
  - src/core/lib/gpr/linux/cpu.cc
1312
1328
  - src/core/lib/gpr/linux/log.cc
1313
1329
  - src/core/lib/gpr/log.cc
1330
+ - src/core/lib/gpr/log_internal.h
1314
1331
  - src/core/lib/gpr/msys/tmpfile.cc
1315
1332
  - src/core/lib/gpr/posix/cpu.cc
1316
1333
  - src/core/lib/gpr/posix/log.cc
@@ -1365,6 +1382,7 @@ files:
1365
1382
  - src/core/lib/gprpp/orphanable.h
1366
1383
  - src/core/lib/gprpp/overload.h
1367
1384
  - src/core/lib/gprpp/packed_table.h
1385
+ - src/core/lib/gprpp/per_cpu.cc
1368
1386
  - src/core/lib/gprpp/per_cpu.h
1369
1387
  - src/core/lib/gprpp/posix/env.cc
1370
1388
  - src/core/lib/gprpp/posix/stat.cc
@@ -1591,6 +1609,7 @@ files:
1591
1609
  - src/core/lib/promise/party.h
1592
1610
  - src/core/lib/promise/pipe.h
1593
1611
  - src/core/lib/promise/poll.h
1612
+ - src/core/lib/promise/prioritized_race.h
1594
1613
  - src/core/lib/promise/promise.h
1595
1614
  - src/core/lib/promise/race.h
1596
1615
  - src/core/lib/promise/seq.h
@@ -1621,6 +1640,8 @@ files:
1621
1640
  - src/core/lib/resource_quota/thread_quota.h
1622
1641
  - src/core/lib/resource_quota/trace.cc
1623
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
1624
1645
  - src/core/lib/security/authorization/authorization_engine.h
1625
1646
  - src/core/lib/security/authorization/authorization_policy_provider.h
1626
1647
  - src/core/lib/security/authorization/authorization_policy_provider_vtable.cc
@@ -1634,6 +1655,8 @@ files:
1634
1655
  - src/core/lib/security/authorization/matchers.h
1635
1656
  - src/core/lib/security/authorization/rbac_policy.cc
1636
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
1637
1660
  - src/core/lib/security/certificate_provider/certificate_provider_factory.h
1638
1661
  - src/core/lib/security/certificate_provider/certificate_provider_registry.cc
1639
1662
  - src/core/lib/security/certificate_provider/certificate_provider_registry.h
@@ -2471,11 +2494,13 @@ files:
2471
2494
  - third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_freebsd.c
2472
2495
  - third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c
2473
2496
  - third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c
2497
+ - third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c
2474
2498
  - third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c
2475
2499
  - third_party/boringssl-with-bazel/src/crypto/cpu_arm.c
2476
2500
  - third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c
2477
2501
  - third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c
2478
2502
  - third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.h
2503
+ - third_party/boringssl-with-bazel/src/crypto/cpu_arm_openbsd.c
2479
2504
  - third_party/boringssl-with-bazel/src/crypto/cpu_intel.c
2480
2505
  - third_party/boringssl-with-bazel/src/crypto/crypto.c
2481
2506
  - third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c
@@ -2583,6 +2608,7 @@ files:
2583
2608
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c
2584
2609
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h
2585
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
2586
2612
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.c
2587
2613
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c
2588
2614
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/internal.h
@@ -2617,7 +2643,6 @@ files:
2617
2643
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c
2618
2644
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h
2619
2645
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c
2620
- - third_party/boringssl-with-bazel/src/crypto/hkdf/hkdf.c
2621
2646
  - third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c
2622
2647
  - third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c
2623
2648
  - third_party/boringssl-with-bazel/src/crypto/hrss/internal.h
@@ -2660,8 +2685,11 @@ files:
2660
2685
  - third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c
2661
2686
  - third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c
2662
2687
  - third_party/boringssl-with-bazel/src/crypto/refcount_c11.c
2663
- - 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
2664
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
2665
2693
  - third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_print.c
2666
2694
  - third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c
2667
2695
  - third_party/boringssl-with-bazel/src/crypto/stack/stack.c
@@ -2872,13 +2900,18 @@ files:
2872
2900
  - third_party/boringssl-with-bazel/src/ssl/tls_record.cc
2873
2901
  - third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h
2874
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
2875
2904
  - third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h
2876
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
2877
2907
  - third_party/cares/ares_build.h
2878
2908
  - third_party/cares/cares/include/ares.h
2879
2909
  - third_party/cares/cares/include/ares_dns.h
2910
+ - third_party/cares/cares/include/ares_nameser.h
2880
2911
  - third_party/cares/cares/include/ares_rules.h
2881
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
2882
2915
  - third_party/cares/cares/src/lib/ares__close_sockets.c
2883
2916
  - third_party/cares/cares/src/lib/ares__get_hostent.c
2884
2917
  - third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c
@@ -2911,11 +2944,9 @@ files:
2911
2944
  - third_party/cares/cares/src/lib/ares_iphlpapi.h
2912
2945
  - third_party/cares/cares/src/lib/ares_ipv6.h
2913
2946
  - third_party/cares/cares/src/lib/ares_library_init.c
2914
- - third_party/cares/cares/src/lib/ares_library_init.h
2915
2947
  - third_party/cares/cares/src/lib/ares_llist.c
2916
2948
  - third_party/cares/cares/src/lib/ares_llist.h
2917
2949
  - third_party/cares/cares/src/lib/ares_mkquery.c
2918
- - third_party/cares/cares/src/lib/ares_nameser.h
2919
2950
  - third_party/cares/cares/src/lib/ares_nowarn.c
2920
2951
  - third_party/cares/cares/src/lib/ares_nowarn.h
2921
2952
  - third_party/cares/cares/src/lib/ares_options.c
@@ -2929,11 +2960,13 @@ files:
2929
2960
  - third_party/cares/cares/src/lib/ares_parse_soa_reply.c
2930
2961
  - third_party/cares/cares/src/lib/ares_parse_srv_reply.c
2931
2962
  - third_party/cares/cares/src/lib/ares_parse_txt_reply.c
2963
+ - third_party/cares/cares/src/lib/ares_parse_uri_reply.c
2932
2964
  - third_party/cares/cares/src/lib/ares_platform.c
2933
2965
  - third_party/cares/cares/src/lib/ares_platform.h
2934
2966
  - third_party/cares/cares/src/lib/ares_private.h
2935
2967
  - third_party/cares/cares/src/lib/ares_process.c
2936
2968
  - third_party/cares/cares/src/lib/ares_query.c
2969
+ - third_party/cares/cares/src/lib/ares_rand.c
2937
2970
  - third_party/cares/cares/src/lib/ares_search.c
2938
2971
  - third_party/cares/cares/src/lib/ares_send.c
2939
2972
  - third_party/cares/cares/src/lib/ares_setup.h
@@ -2956,6 +2989,7 @@ files:
2956
2989
  - third_party/cares/cares/src/lib/inet_ntop.c
2957
2990
  - third_party/cares/cares/src/lib/setup_once.h
2958
2991
  - third_party/cares/cares/src/lib/windows_port.c
2992
+ - third_party/cares/cares/src/tools/ares_getopt.h
2959
2993
  - third_party/cares/config_darwin/ares_config.h
2960
2994
  - third_party/cares/config_freebsd/ares_config.h
2961
2995
  - third_party/cares/config_linux/ares_config.h
@@ -3206,11 +3240,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
3206
3240
  version: 2.5.0
3207
3241
  required_rubygems_version: !ruby/object:Gem::Requirement
3208
3242
  requirements:
3209
- - - ">="
3243
+ - - ">"
3210
3244
  - !ruby/object:Gem::Version
3211
- version: '0'
3245
+ version: 1.3.1
3212
3246
  requirements: []
3213
- rubygems_version: 3.4.17
3247
+ rubygems_version: 3.4.14
3214
3248
  signing_key:
3215
3249
  specification_version: 4
3216
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,176 +0,0 @@
1
- // Copyright 2023 gRPC authors.
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License");
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // http://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
-
15
- #include <grpc/support/port_platform.h>
16
-
17
- #include "src/core/ext/transport/chttp2/transport/hpack_parse_result.h"
18
-
19
- #include <stddef.h>
20
-
21
- #include <initializer_list>
22
-
23
- #include "absl/strings/str_format.h"
24
-
25
- #include "src/core/ext/transport/chttp2/transport/hpack_constants.h"
26
- #include "src/core/lib/gprpp/status_helper.h"
27
- #include "src/core/lib/iomgr/error.h"
28
- #include "src/core/lib/slice/slice.h"
29
-
30
- namespace grpc_core {
31
-
32
- namespace {
33
- class MetadataSizeLimitExceededEncoder {
34
- public:
35
- explicit MetadataSizeLimitExceededEncoder(std::string& summary)
36
- : summary_(summary) {}
37
-
38
- void Encode(const Slice& key, const Slice& value) {
39
- AddToSummary(key.as_string_view(), value.size());
40
- }
41
-
42
- template <typename Key, typename Value>
43
- void Encode(Key, const Value& value) {
44
- AddToSummary(Key::key(), EncodedSizeOfKey(Key(), value));
45
- }
46
-
47
- private:
48
- void AddToSummary(absl::string_view key,
49
- size_t value_length) GPR_ATTRIBUTE_NOINLINE {
50
- absl::StrAppend(&summary_, " ", key, ":",
51
- hpack_constants::SizeForEntry(key.size(), value_length),
52
- "B");
53
- }
54
- std::string& summary_;
55
- };
56
-
57
- absl::Status MakeStreamError(absl::Status error) {
58
- GPR_DEBUG_ASSERT(!error.ok());
59
- return grpc_error_set_int(std::move(error), StatusIntProperty::kStreamId, 0);
60
- }
61
- } // namespace
62
-
63
- absl::Status HpackParseResult::Materialize() const {
64
- if (materialized_status_.has_value()) return *materialized_status_;
65
- materialized_status_ = BuildMaterialized();
66
- return *materialized_status_;
67
- }
68
-
69
- absl::Status HpackParseResult::BuildMaterialized() const {
70
- switch (status_.get()) {
71
- case HpackParseStatus::kOk:
72
- return absl::OkStatus();
73
- case HpackParseStatus::kEof:
74
- Crash("Materialize() called on EOF");
75
- break;
76
- case HpackParseStatus::kMovedFrom:
77
- Crash("Materialize() called on moved-from object");
78
- break;
79
- case HpackParseStatus::kInvalidMetadata:
80
- if (key_.empty()) {
81
- return MakeStreamError(absl::InternalError(
82
- ValidateMetadataResultToString(validate_metadata_result_)));
83
- } else {
84
- return MakeStreamError(absl::InternalError(absl::StrCat(
85
- ValidateMetadataResultToString(validate_metadata_result_), ": ",
86
- key_)));
87
- }
88
- case HpackParseStatus::kSoftMetadataLimitExceeded:
89
- case HpackParseStatus::kHardMetadataLimitExceeded: {
90
- const auto& e = metadata_limit_exceeded_;
91
- // Collect a summary of sizes so far for debugging
92
- // Do not collect contents, for fear of exposing PII.
93
- std::string summary;
94
- if (e.prior != nullptr) {
95
- MetadataSizeLimitExceededEncoder encoder(summary);
96
- e.prior->Encode(&encoder);
97
- }
98
- return MakeStreamError(absl::ResourceExhaustedError(absl::StrCat(
99
- "received metadata size exceeds ",
100
- status_.get() == HpackParseStatus::kSoftMetadataLimitExceeded
101
- ? "soft"
102
- : "hard",
103
- " limit (", e.frame_length, " vs. ", e.limit, ")",
104
- summary.empty() ? "" : "; ", summary)));
105
- }
106
- case HpackParseStatus::kHardMetadataLimitExceededByKey: {
107
- const auto& e = metadata_limit_exceeded_by_atom_;
108
- return MakeStreamError(absl::ResourceExhaustedError(
109
- absl::StrCat("received metadata size exceeds hard limit (key length ",
110
- e.atom_length, " vs. ", e.limit, ")")));
111
- }
112
- case HpackParseStatus::kHardMetadataLimitExceededByValue: {
113
- const auto& e = metadata_limit_exceeded_by_atom_;
114
- return MakeStreamError(absl::ResourceExhaustedError(absl::StrCat(
115
- "received metadata size exceeds hard limit (value length ",
116
- e.atom_length, " vs. ", e.limit, ")")));
117
- }
118
- case HpackParseStatus::kMetadataParseError:
119
- if (!key_.empty()) {
120
- return MakeStreamError(absl::InternalError(
121
- absl::StrCat("Error parsing '", key_, "' metadata")));
122
- } else {
123
- return MakeStreamError(absl::InternalError("Error parsing metadata"));
124
- }
125
- case HpackParseStatus::kUnbase64Failed:
126
- if (!key_.empty()) {
127
- return MakeStreamError(absl::InternalError(absl::StrCat(
128
- "Error parsing '", key_, "' metadata: illegal base64 encoding")));
129
- } else {
130
- return MakeStreamError(absl::InternalError(
131
- absl::StrCat("Failed base64 decoding metadata")));
132
- }
133
- case HpackParseStatus::kIncompleteHeaderAtBoundary:
134
- return absl::InternalError(
135
- "Incomplete header at the end of a header/continuation sequence");
136
- case HpackParseStatus::kVarintOutOfRange:
137
- return absl::InternalError(absl::StrFormat(
138
- "integer overflow in hpack integer decoding: have 0x%08x, "
139
- "got byte 0x%02x",
140
- varint_out_of_range_.value, varint_out_of_range_.last_byte));
141
- case HpackParseStatus::kIllegalTableSizeChange:
142
- return absl::InternalError(absl::StrCat(
143
- "Attempt to make hpack table ", illegal_table_size_change_.new_size,
144
- " bytes when max is ", illegal_table_size_change_.max_size,
145
- " bytes"));
146
- case HpackParseStatus::kAddBeforeTableSizeUpdated:
147
- return absl::InternalError(
148
- absl::StrCat("HPACK max table size reduced to ",
149
- illegal_table_size_change_.new_size,
150
- " but not reflected by hpack stream (still at ",
151
- illegal_table_size_change_.max_size, ")"));
152
- case HpackParseStatus::kParseHuffFailed:
153
- if (!key_.empty()) {
154
- return absl::InternalError(
155
- absl::StrCat("Failed huffman decoding '", key_, "' metadata"));
156
- } else {
157
- return absl::InternalError(
158
- absl::StrCat("Failed huffman decoding metadata"));
159
- }
160
- break;
161
- case HpackParseStatus::kTooManyDynamicTableSizeChanges:
162
- return absl::InternalError(
163
- "More than two max table size changes in a single frame");
164
- case HpackParseStatus::kMaliciousVarintEncoding:
165
- return absl::InternalError(
166
- "Malicious varint encoding detected in HPACK stream");
167
- case HpackParseStatus::kInvalidHpackIndex:
168
- return absl::InternalError(absl::StrFormat(
169
- "Invalid HPACK index received (%d)", invalid_hpack_index_));
170
- case HpackParseStatus::kIllegalHpackOpCode:
171
- return absl::InternalError("Illegal hpack op code");
172
- }
173
- GPR_UNREACHABLE_CODE(return absl::UnknownError("Should never reach here"));
174
- }
175
-
176
- } // namespace grpc_core