grpc 1.56.2 → 1.57.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (383) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +29 -22
  3. data/include/grpc/event_engine/event_engine.h +22 -32
  4. data/include/grpc/impl/grpc_types.h +3 -0
  5. data/include/grpc/support/port_platform.h +29 -23
  6. data/src/core/ext/filters/client_channel/client_channel.cc +44 -8
  7. data/src/core/ext/filters/client_channel/dynamic_filters.h +3 -3
  8. data/src/core/ext/filters/client_channel/http_proxy.cc +5 -0
  9. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +21 -52
  10. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +19 -7
  11. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +25 -35
  12. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +78 -132
  13. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +2 -1
  14. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +4 -3
  15. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +3 -1
  16. data/src/core/ext/filters/client_channel/lb_policy/health_check_client.cc +38 -15
  17. data/src/core/ext/filters/client_channel/lb_policy/health_check_client.h +3 -5
  18. data/src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h +22 -6
  19. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h +2 -0
  20. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +97 -71
  21. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +2 -16
  22. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +56 -11
  23. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.h +25 -0
  24. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +6 -32
  25. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +4 -6
  26. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +20 -79
  27. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +1 -1
  28. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +31 -19
  29. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc +1 -1
  30. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +7 -41
  31. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +3 -67
  32. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +8 -0
  33. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +31 -74
  34. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +7 -51
  35. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +16 -87
  36. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +16 -50
  37. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +12 -74
  38. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +1 -4
  39. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +69 -59
  40. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +7 -2
  41. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +1 -0
  42. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +25 -13
  43. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +366 -311
  44. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +17 -1
  45. data/src/core/ext/filters/client_channel/retry_filter.cc +39 -2498
  46. data/src/core/ext/filters/client_channel/retry_filter.h +91 -1
  47. data/src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc +2052 -0
  48. data/src/core/ext/filters/client_channel/retry_filter_legacy_call_data.h +442 -0
  49. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +38 -58
  50. data/src/core/ext/filters/client_channel/subchannel.h +3 -3
  51. data/src/core/ext/filters/client_channel/subchannel_interface_internal.h +3 -0
  52. data/src/core/ext/filters/rbac/rbac_filter.cc +40 -111
  53. data/src/core/ext/filters/rbac/rbac_filter.h +12 -30
  54. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +162 -86
  55. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +0 -6
  56. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +7 -4
  57. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +131 -186
  58. data/src/core/ext/transport/chttp2/transport/decode_huff.cc +6569 -174
  59. data/src/core/ext/transport/chttp2/transport/decode_huff.h +2278 -441
  60. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +2 -3
  61. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +4 -3
  62. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +9 -8
  63. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +4 -4
  64. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +3 -2
  65. data/src/core/ext/transport/chttp2/transport/internal.h +8 -4
  66. data/src/core/ext/transport/chttp2/transport/parsing.cc +15 -3
  67. data/src/core/ext/transport/chttp2/transport/writing.cc +2 -3
  68. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +27 -6
  69. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +143 -0
  70. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +2 -9
  71. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +0 -39
  72. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +13 -8
  73. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +35 -6
  74. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +17 -13
  75. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +85 -20
  76. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +26 -7
  77. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +45 -3
  78. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +4 -3
  79. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +21 -0
  80. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +30 -6
  81. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +180 -0
  82. data/src/core/ext/upb-generated/envoy/data/accesslog/v3/accesslog.upb.c +558 -0
  83. data/src/core/ext/upb-generated/envoy/data/accesslog/v3/accesslog.upb.h +2710 -0
  84. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +30 -11
  85. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +53 -24
  86. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +30 -5
  87. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +110 -0
  88. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +41 -15
  89. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +150 -27
  90. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c +1 -0
  91. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.c +47 -0
  92. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +93 -0
  93. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +88 -76
  94. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +5 -0
  95. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +11 -12
  96. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +0 -5
  97. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +162 -160
  98. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +129 -118
  99. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +141 -135
  100. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +19 -12
  101. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +38 -30
  102. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +5 -0
  103. data/src/core/ext/upbdefs-generated/envoy/data/accesslog/v3/accesslog.upbdefs.c +402 -0
  104. data/src/core/ext/upbdefs-generated/envoy/data/accesslog/v3/accesslog.upbdefs.h +111 -0
  105. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +80 -74
  106. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +63 -47
  107. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +5 -0
  108. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +315 -293
  109. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +5 -0
  110. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +29 -29
  111. data/src/core/ext/xds/xds_bootstrap_grpc.cc +33 -30
  112. data/src/core/ext/xds/xds_bootstrap_grpc.h +5 -13
  113. data/src/core/ext/xds/xds_client_grpc.cc +11 -6
  114. data/src/core/ext/xds/xds_client_grpc.h +16 -2
  115. data/src/core/ext/xds/xds_client_stats.h +10 -0
  116. data/src/core/ext/xds/xds_cluster.cc +26 -16
  117. data/src/core/ext/xds/xds_endpoint.cc +4 -7
  118. data/src/core/ext/xds/xds_health_status.cc +0 -17
  119. data/src/core/ext/xds/xds_health_status.h +5 -25
  120. data/src/core/ext/xds/xds_lb_policy_registry.cc +39 -0
  121. data/src/core/ext/xds/xds_route_config.cc +4 -0
  122. data/src/core/ext/xds/xds_transport_grpc.cc +1 -3
  123. data/src/core/lib/address_utils/parse_address.cc +63 -1
  124. data/src/core/lib/address_utils/parse_address.h +8 -0
  125. data/src/core/lib/address_utils/sockaddr_utils.cc +46 -1
  126. data/src/core/lib/address_utils/sockaddr_utils.h +2 -2
  127. data/src/core/lib/channel/channel_args.cc +21 -10
  128. data/src/core/lib/channel/channel_args.h +3 -0
  129. data/src/core/lib/channel/connected_channel.cc +4 -1
  130. data/src/core/lib/channel/promise_based_filter.h +1 -0
  131. data/src/core/lib/debug/trace.cc +1 -4
  132. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +2 -1
  133. data/src/core/lib/event_engine/cf_engine/cf_engine.h +1 -1
  134. data/src/core/lib/event_engine/event_engine.cc +0 -12
  135. data/src/core/lib/event_engine/forkable.cc +47 -42
  136. data/src/core/lib/event_engine/handle_containers.h +0 -4
  137. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +4 -6
  138. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +4 -6
  139. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +25 -11
  140. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +3 -1
  141. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +2 -1
  142. data/src/core/lib/event_engine/posix_engine/posix_engine.h +8 -12
  143. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +37 -27
  144. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +2 -0
  145. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +4 -2
  146. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +42 -2
  147. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +6 -0
  148. data/src/core/lib/event_engine/posix_engine/timer.h +10 -37
  149. data/src/core/lib/event_engine/tcp_socket_utils.cc +67 -7
  150. data/src/core/lib/event_engine/tcp_socket_utils.h +3 -0
  151. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +90 -37
  152. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +32 -12
  153. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +12 -21
  154. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +8 -12
  155. data/src/core/lib/event_engine/windows/windows_endpoint.cc +55 -54
  156. data/src/core/lib/event_engine/windows/windows_endpoint.h +15 -12
  157. data/src/core/lib/event_engine/windows/windows_engine.cc +2 -1
  158. data/src/core/lib/event_engine/windows/windows_engine.h +8 -12
  159. data/src/core/lib/experiments/config.cc +60 -22
  160. data/src/core/lib/experiments/config.h +20 -8
  161. data/src/core/lib/experiments/experiments.cc +278 -0
  162. data/src/core/lib/experiments/experiments.h +59 -1
  163. data/src/core/lib/gprpp/dual_ref_counted.h +9 -9
  164. data/src/core/lib/gprpp/fork.cc +8 -9
  165. data/src/core/lib/gprpp/fork.h +6 -5
  166. data/src/core/lib/gprpp/if_list.h +4530 -0
  167. data/src/core/lib/gprpp/orphanable.h +3 -3
  168. data/src/core/lib/gprpp/ref_counted.h +6 -6
  169. data/src/core/lib/gprpp/sorted_pack.h +3 -12
  170. data/src/core/lib/gprpp/status_helper.h +16 -15
  171. data/src/core/lib/gprpp/time.h +12 -0
  172. data/src/core/lib/gprpp/type_list.h +32 -0
  173. data/src/core/lib/http/httpcli.h +6 -9
  174. data/src/core/lib/iomgr/error.cc +32 -2
  175. data/src/core/lib/iomgr/error.h +9 -10
  176. data/src/core/lib/iomgr/ev_epoll1_linux.cc +5 -7
  177. data/src/core/lib/iomgr/ev_poll_posix.cc +6 -5
  178. data/src/core/lib/iomgr/exec_ctx.h +11 -0
  179. data/src/core/lib/iomgr/pollset.h +4 -5
  180. data/src/core/lib/iomgr/port.h +10 -0
  181. data/src/core/lib/iomgr/resolve_address.cc +13 -1
  182. data/src/core/lib/iomgr/resolve_address.h +17 -3
  183. data/src/core/lib/iomgr/sockaddr_posix.h +7 -0
  184. data/src/core/lib/iomgr/socket_utils_common_posix.cc +29 -0
  185. data/src/core/lib/iomgr/socket_utils_posix.cc +2 -0
  186. data/src/core/lib/iomgr/socket_utils_posix.h +6 -0
  187. data/src/core/lib/iomgr/tcp_client_posix.cc +4 -1
  188. data/src/core/lib/iomgr/tcp_posix.cc +21 -4
  189. data/src/core/lib/iomgr/tcp_server_posix.cc +3 -2
  190. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +5 -2
  191. data/src/core/lib/iomgr/tcp_windows.cc +1 -3
  192. data/src/core/lib/iomgr/vsock.cc +59 -0
  193. data/src/core/lib/iomgr/vsock.h +38 -0
  194. data/src/core/lib/iomgr/wakeup_fd_posix.h +3 -6
  195. data/src/core/lib/load_balancing/delegating_helper.h +115 -0
  196. data/src/core/lib/load_balancing/lb_policy.h +20 -0
  197. data/src/core/lib/load_balancing/subchannel_interface.h +6 -0
  198. data/src/core/lib/promise/party.h +1 -1
  199. data/src/core/lib/resolver/resolver_factory.h +3 -2
  200. data/src/core/lib/resolver/server_address.cc +9 -94
  201. data/src/core/lib/resolver/server_address.h +10 -64
  202. data/src/core/lib/resource_quota/memory_quota.h +1 -1
  203. data/src/core/lib/security/credentials/channel_creds_registry.h +51 -27
  204. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +169 -9
  205. data/src/core/lib/security/credentials/composite/composite_credentials.cc +1 -1
  206. data/src/core/lib/security/credentials/composite/composite_credentials.h +3 -1
  207. data/src/core/lib/security/credentials/external/external_account_credentials.cc +40 -1
  208. data/src/core/lib/security/credentials/external/external_account_credentials.h +6 -0
  209. data/src/core/lib/security/credentials/fake/fake_credentials.cc +30 -38
  210. data/src/core/lib/security/credentials/fake/fake_credentials.h +28 -0
  211. data/src/core/lib/security/credentials/tls/tls_credentials.cc +1 -1
  212. data/src/core/lib/security/credentials/tls/tls_credentials.h +3 -1
  213. data/src/core/lib/service_config/service_config_call_data.h +5 -0
  214. data/src/core/lib/slice/slice.h +16 -0
  215. data/src/core/lib/surface/call.cc +31 -29
  216. data/src/core/lib/surface/server.h +2 -2
  217. data/src/core/lib/surface/version.cc +2 -2
  218. data/src/core/lib/transport/metadata_batch.cc +7 -7
  219. data/src/core/lib/transport/metadata_batch.h +86 -48
  220. data/src/core/lib/transport/parsed_metadata.h +34 -20
  221. data/src/core/lib/transport/simple_slice_based_metadata.h +9 -2
  222. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +4 -6
  223. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +1 -2
  224. data/src/core/tsi/ssl_transport_security.cc +28 -7
  225. data/src/ruby/bin/math_pb.rb +24 -18
  226. data/src/ruby/ext/grpc/extconf.rb +19 -18
  227. data/src/ruby/ext/grpc/rb_call.c +62 -39
  228. data/src/ruby/ext/grpc/rb_call_credentials.c +0 -1
  229. data/src/ruby/ext/grpc/rb_channel.c +126 -49
  230. data/src/ruby/ext/grpc/rb_channel.h +1 -0
  231. data/src/ruby/ext/grpc/rb_channel_args.c +16 -2
  232. data/src/ruby/ext/grpc/rb_channel_args.h +4 -0
  233. data/src/ruby/ext/grpc/rb_channel_credentials.c +0 -1
  234. data/src/ruby/ext/grpc/rb_compression_options.c +0 -1
  235. data/src/ruby/ext/grpc/rb_event_thread.c +22 -6
  236. data/src/ruby/ext/grpc/rb_event_thread.h +1 -0
  237. data/src/ruby/ext/grpc/rb_grpc.c +192 -30
  238. data/src/ruby/ext/grpc/rb_grpc.h +8 -2
  239. data/src/ruby/ext/grpc/rb_server.c +62 -45
  240. data/src/ruby/ext/grpc/rb_server_credentials.c +0 -1
  241. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +0 -1
  242. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +0 -1
  243. data/src/ruby/lib/grpc/generic/bidi_call.rb +2 -0
  244. data/src/ruby/lib/grpc/version.rb +1 -1
  245. data/src/ruby/pb/grpc/health/v1/health_pb.rb +24 -13
  246. data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +24 -3
  247. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +25 -111
  248. data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +25 -2
  249. data/third_party/boringssl-with-bazel/err_data.c +552 -552
  250. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +5 -5
  251. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +34 -1
  252. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +4 -1
  253. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +3 -3
  254. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +7 -8
  255. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +2 -2
  256. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +2 -2
  257. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +8 -8
  258. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +2 -2
  259. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +2 -2
  260. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +19 -1
  261. data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +8 -1
  262. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +28 -185
  263. data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +3 -7
  264. data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +8 -0
  265. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c +3 -0
  266. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +49 -46
  267. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.c +18 -0
  268. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +2809 -7417
  269. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +27 -5
  270. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +20 -0
  271. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +110 -72
  272. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.c +4 -3
  273. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +15 -14
  274. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +13 -10
  275. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +35 -12
  276. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +2 -4
  277. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +3 -7
  278. data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.c +3 -3
  279. data/third_party/boringssl-with-bazel/src/crypto/evp/print.c +7 -6
  280. data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +34 -72
  281. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +1 -1
  282. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +12 -5
  283. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c +5 -6
  284. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +12 -6
  285. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c +17 -18
  286. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c +51 -15
  287. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.c +7 -7
  288. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +5 -6
  289. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +2 -0
  290. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/builtin_curves.h +277 -0
  291. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +180 -404
  292. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +3 -3
  293. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c +24 -57
  294. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.c +17 -13
  295. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +33 -71
  296. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +18 -17
  297. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +5 -7
  298. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.c +15 -18
  299. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +9 -11
  300. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +24 -24
  301. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c +11 -27
  302. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +8 -8
  303. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +4 -4
  304. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +9 -3
  305. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.c +1 -1
  306. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c +40 -26
  307. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +21 -7
  308. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +38 -19
  309. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +2 -29
  310. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +55 -0
  311. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +33 -52
  312. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +3 -8
  313. data/third_party/boringssl-with-bazel/src/crypto/internal.h +198 -79
  314. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +5 -4
  315. data/third_party/boringssl-with-bazel/src/crypto/mem.c +7 -8
  316. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +19 -23
  317. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +3 -3
  318. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.c +3 -3
  319. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +7 -7
  320. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +8 -5
  321. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +1 -0
  322. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +7 -6
  323. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c +6 -12
  324. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.c +48 -0
  325. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{fuchsia.c → ios.c} +8 -8
  326. data/third_party/boringssl-with-bazel/src/crypto/{refcount_no_threads.c → rand_extra/trusty.c} +15 -19
  327. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +41 -19
  328. data/third_party/boringssl-with-bazel/src/crypto/{refcount_c11.c → refcount.c} +11 -17
  329. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +147 -72
  330. data/third_party/boringssl-with-bazel/src/crypto/thread_none.c +0 -8
  331. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +6 -35
  332. data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +5 -26
  333. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +14 -18
  334. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +54 -143
  335. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +7 -13
  336. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +1 -1
  337. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +1 -1
  338. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +2 -4
  339. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +2 -2
  340. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +1 -1
  341. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +8 -12
  342. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +19 -20
  343. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +11 -15
  344. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +5 -5
  345. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +1 -1
  346. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +7 -7
  347. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +2 -3
  348. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +4 -6
  349. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +4 -119
  350. data/third_party/boringssl-with-bazel/src/include/openssl/asm_base.h +207 -0
  351. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +5 -0
  352. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +2 -116
  353. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +0 -2
  354. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +6 -0
  355. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +5 -1
  356. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +0 -21
  357. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +21 -2
  358. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +19 -6
  359. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +11 -7
  360. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +13 -14
  361. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +0 -61
  362. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +127 -81
  363. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +224 -209
  364. data/third_party/boringssl-with-bazel/src/include/openssl/target.h +154 -0
  365. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +1 -29
  366. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +4 -4
  367. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +3 -2
  368. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +9 -65
  369. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +20 -20
  370. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +1 -1
  371. data/third_party/boringssl-with-bazel/src/ssl/internal.h +4 -11
  372. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +24 -18
  373. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +37 -30
  374. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +125 -26
  375. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +2 -3
  376. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_adx.h +691 -0
  377. data/third_party/upb/upb/collections/map.c +3 -3
  378. metadata +27 -12
  379. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc +0 -42
  380. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.h +0 -64
  381. data/src/core/ext/transport/chttp2/transport/stream_map.cc +0 -177
  382. data/src/core/ext/transport/chttp2/transport/stream_map.h +0 -68
  383. data/third_party/boringssl-with-bazel/src/crypto/refcount_win.c +0 -89
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.56.2
4
+ version: 1.57.0.pre1
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-14 00:00:00.000000000 Z
11
+ date: 2023-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-protobuf
@@ -338,6 +338,7 @@ files:
338
338
  - src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc
339
339
  - src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h
340
340
  - src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc
341
+ - src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.h
341
342
  - src/core/ext/filters/client_channel/lb_policy/priority/priority.cc
342
343
  - src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc
343
344
  - src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h
@@ -349,8 +350,6 @@ files:
349
350
  - src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc
350
351
  - src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc
351
352
  - src/core/ext/filters/client_channel/lb_policy/xds/cds.cc
352
- - src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc
353
- - src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.h
354
353
  - src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h
355
354
  - src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc
356
355
  - src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc
@@ -388,6 +387,8 @@ files:
388
387
  - src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h
389
388
  - src/core/ext/filters/client_channel/retry_filter.cc
390
389
  - src/core/ext/filters/client_channel/retry_filter.h
390
+ - src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc
391
+ - src/core/ext/filters/client_channel/retry_filter_legacy_call_data.h
391
392
  - src/core/ext/filters/client_channel/retry_service_config.cc
392
393
  - src/core/ext/filters/client_channel/retry_service_config.h
393
394
  - src/core/ext/filters/client_channel/retry_throttle.cc
@@ -480,8 +481,6 @@ files:
480
481
  - src/core/ext/transport/chttp2/transport/internal.h
481
482
  - src/core/ext/transport/chttp2/transport/parsing.cc
482
483
  - src/core/ext/transport/chttp2/transport/stream_lists.cc
483
- - src/core/ext/transport/chttp2/transport/stream_map.cc
484
- - src/core/ext/transport/chttp2/transport/stream_map.h
485
484
  - src/core/ext/transport/chttp2/transport/varint.cc
486
485
  - src/core/ext/transport/chttp2/transport/varint.h
487
486
  - src/core/ext/transport/chttp2/transport/writing.cc
@@ -614,6 +613,8 @@ files:
614
613
  - src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h
615
614
  - src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c
616
615
  - src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h
616
+ - src/core/ext/upb-generated/envoy/data/accesslog/v3/accesslog.upb.c
617
+ - src/core/ext/upb-generated/envoy/data/accesslog/v3/accesslog.upb.h
617
618
  - src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c
618
619
  - src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h
619
620
  - src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c
@@ -634,6 +635,8 @@ files:
634
635
  - src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h
635
636
  - src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.c
636
637
  - src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.h
638
+ - src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.c
639
+ - src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h
637
640
  - src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c
638
641
  - src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h
639
642
  - src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c
@@ -936,6 +939,8 @@ files:
936
939
  - src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h
937
940
  - src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c
938
941
  - src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h
942
+ - src/core/ext/upbdefs-generated/envoy/data/accesslog/v3/accesslog.upbdefs.c
943
+ - src/core/ext/upbdefs-generated/envoy/data/accesslog/v3/accesslog.upbdefs.h
939
944
  - src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c
940
945
  - src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h
941
946
  - src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c
@@ -1371,6 +1376,7 @@ files:
1371
1376
  - src/core/lib/gprpp/fork.h
1372
1377
  - src/core/lib/gprpp/host_port.cc
1373
1378
  - src/core/lib/gprpp/host_port.h
1379
+ - src/core/lib/gprpp/if_list.h
1374
1380
  - src/core/lib/gprpp/linux/env.cc
1375
1381
  - src/core/lib/gprpp/load_file.cc
1376
1382
  - src/core/lib/gprpp/load_file.h
@@ -1409,6 +1415,7 @@ files:
1409
1415
  - src/core/lib/gprpp/time_averaged_stats.h
1410
1416
  - src/core/lib/gprpp/time_util.cc
1411
1417
  - src/core/lib/gprpp/time_util.h
1418
+ - src/core/lib/gprpp/type_list.h
1412
1419
  - src/core/lib/gprpp/unique_type_name.h
1413
1420
  - src/core/lib/gprpp/validation_errors.cc
1414
1421
  - src/core/lib/gprpp/validation_errors.h
@@ -1564,6 +1571,8 @@ files:
1564
1571
  - src/core/lib/iomgr/unix_sockets_posix.cc
1565
1572
  - src/core/lib/iomgr/unix_sockets_posix.h
1566
1573
  - src/core/lib/iomgr/unix_sockets_posix_noop.cc
1574
+ - src/core/lib/iomgr/vsock.cc
1575
+ - src/core/lib/iomgr/vsock.h
1567
1576
  - src/core/lib/iomgr/wakeup_fd_eventfd.cc
1568
1577
  - src/core/lib/iomgr/wakeup_fd_nospecial.cc
1569
1578
  - src/core/lib/iomgr/wakeup_fd_pipe.cc
@@ -1581,6 +1590,7 @@ files:
1581
1590
  - src/core/lib/json/json_util.h
1582
1591
  - src/core/lib/json/json_writer.cc
1583
1592
  - src/core/lib/json/json_writer.h
1593
+ - src/core/lib/load_balancing/delegating_helper.h
1584
1594
  - src/core/lib/load_balancing/lb_policy.cc
1585
1595
  - src/core/lib/load_balancing/lb_policy.h
1586
1596
  - src/core/lib/load_balancing/lb_policy_factory.h
@@ -2506,6 +2516,7 @@ files:
2506
2516
  - third_party/boringssl-with-bazel/src/crypto/cpu_intel.c
2507
2517
  - third_party/boringssl-with-bazel/src/crypto/crypto.c
2508
2518
  - third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c
2519
+ - third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.c
2509
2520
  - third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h
2510
2521
  - third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h
2511
2522
  - third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c
@@ -2589,6 +2600,7 @@ files:
2589
2600
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/internal.h
2590
2601
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h
2591
2602
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/digestsign.c
2603
+ - third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/builtin_curves.h
2592
2604
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c
2593
2605
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c
2594
2606
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c
@@ -2681,14 +2693,14 @@ files:
2681
2693
  - third_party/boringssl-with-bazel/src/crypto/pool/pool.c
2682
2694
  - third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c
2683
2695
  - third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c
2684
- - third_party/boringssl-with-bazel/src/crypto/rand_extra/fuchsia.c
2696
+ - third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.c
2697
+ - third_party/boringssl-with-bazel/src/crypto/rand_extra/ios.c
2685
2698
  - third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c
2686
2699
  - third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c
2700
+ - third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.c
2687
2701
  - third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c
2688
2702
  - third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c
2689
- - third_party/boringssl-with-bazel/src/crypto/refcount_c11.c
2690
- - third_party/boringssl-with-bazel/src/crypto/refcount_no_threads.c
2691
- - third_party/boringssl-with-bazel/src/crypto/refcount_win.c
2703
+ - third_party/boringssl-with-bazel/src/crypto/refcount.c
2692
2704
  - third_party/boringssl-with-bazel/src/crypto/rsa_extra/internal.h
2693
2705
  - third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c
2694
2706
  - third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c
@@ -2781,6 +2793,7 @@ files:
2781
2793
  - third_party/boringssl-with-bazel/src/include/openssl/aead.h
2782
2794
  - third_party/boringssl-with-bazel/src/include/openssl/aes.h
2783
2795
  - third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h
2796
+ - third_party/boringssl-with-bazel/src/include/openssl/asm_base.h
2784
2797
  - third_party/boringssl-with-bazel/src/include/openssl/asn1.h
2785
2798
  - third_party/boringssl-with-bazel/src/include/openssl/asn1_mac.h
2786
2799
  - third_party/boringssl-with-bazel/src/include/openssl/asn1t.h
@@ -2854,6 +2867,7 @@ files:
2854
2867
  - third_party/boringssl-with-bazel/src/include/openssl/ssl.h
2855
2868
  - third_party/boringssl-with-bazel/src/include/openssl/ssl3.h
2856
2869
  - third_party/boringssl-with-bazel/src/include/openssl/stack.h
2870
+ - third_party/boringssl-with-bazel/src/include/openssl/target.h
2857
2871
  - third_party/boringssl-with-bazel/src/include/openssl/thread.h
2858
2872
  - third_party/boringssl-with-bazel/src/include/openssl/time.h
2859
2873
  - third_party/boringssl-with-bazel/src/include/openssl/tls1.h
@@ -2902,6 +2916,7 @@ files:
2902
2916
  - third_party/boringssl-with-bazel/src/ssl/tls_record.cc
2903
2917
  - third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h
2904
2918
  - third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h
2919
+ - third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_adx.h
2905
2920
  - third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_msvc.h
2906
2921
  - third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h
2907
2922
  - third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h
@@ -3242,9 +3257,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
3242
3257
  version: 2.5.0
3243
3258
  required_rubygems_version: !ruby/object:Gem::Requirement
3244
3259
  requirements:
3245
- - - ">="
3260
+ - - ">"
3246
3261
  - !ruby/object:Gem::Version
3247
- version: '0'
3262
+ version: 1.3.1
3248
3263
  requirements: []
3249
3264
  rubygems_version: 3.4.17
3250
3265
  signing_key:
@@ -1,42 +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/lb_policy/xds/xds_attributes.h"
20
-
21
- #include "absl/strings/str_cat.h"
22
-
23
- #include "src/core/lib/gpr/useful.h"
24
-
25
- namespace grpc_core {
26
-
27
- const char* kXdsLocalityNameAttributeKey = "xds_locality_name";
28
-
29
- int XdsLocalityAttribute::Cmp(const AttributeInterface* other) const {
30
- const auto* other_locality_attr =
31
- static_cast<const XdsLocalityAttribute*>(other);
32
- int r = locality_name_->Compare(*other_locality_attr->locality_name_);
33
- if (r != 0) return r;
34
- return QsortCompare(weight_, other_locality_attr->weight_);
35
- }
36
-
37
- std::string XdsLocalityAttribute::ToString() const {
38
- return absl::StrCat("{name=", locality_name_->AsHumanReadableString(),
39
- ", weight=", weight_, "}");
40
- }
41
-
42
- } // namespace grpc_core
@@ -1,64 +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_LB_POLICY_XDS_XDS_ATTRIBUTES_H
18
- #define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_XDS_XDS_ATTRIBUTES_H
19
-
20
- #include <grpc/support/port_platform.h>
21
-
22
- #include <stdint.h>
23
-
24
- #include <memory>
25
- #include <string>
26
- #include <utility>
27
-
28
- #include "src/core/ext/xds/xds_client_stats.h"
29
- #include "src/core/lib/gprpp/ref_counted_ptr.h"
30
- #include "src/core/lib/resolver/server_address.h"
31
-
32
- namespace grpc_core {
33
-
34
- extern const char* kXdsLocalityNameAttributeKey;
35
-
36
- class XdsLocalityAttribute : public ServerAddress::AttributeInterface {
37
- public:
38
- XdsLocalityAttribute(RefCountedPtr<XdsLocalityName> locality_name,
39
- uint32_t weight)
40
- : locality_name_(std::move(locality_name)), weight_(weight) {}
41
-
42
- RefCountedPtr<XdsLocalityName> locality_name() const {
43
- return locality_name_;
44
- }
45
-
46
- uint32_t weight() const { return weight_; }
47
-
48
- std::unique_ptr<AttributeInterface> Copy() const override {
49
- return std::make_unique<XdsLocalityAttribute>(locality_name_->Ref(),
50
- weight_);
51
- }
52
-
53
- int Cmp(const AttributeInterface* other) const override;
54
-
55
- std::string ToString() const override;
56
-
57
- private:
58
- RefCountedPtr<XdsLocalityName> locality_name_;
59
- uint32_t weight_;
60
- };
61
-
62
- } // namespace grpc_core
63
-
64
- #endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_XDS_XDS_ATTRIBUTES_H
@@ -1,177 +0,0 @@
1
- //
2
- //
3
- // Copyright 2015 gRPC authors.
4
- //
5
- // Licensed under the Apache License, Version 2.0 (the "License");
6
- // you may not use this file except in compliance with the License.
7
- // You may obtain a copy of the License at
8
- //
9
- // http://www.apache.org/licenses/LICENSE-2.0
10
- //
11
- // Unless required by applicable law or agreed to in writing, software
12
- // distributed under the License is distributed on an "AS IS" BASIS,
13
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- // See the License for the specific language governing permissions and
15
- // limitations under the License.
16
- //
17
- //
18
-
19
- #include <grpc/support/port_platform.h>
20
-
21
- #include "src/core/ext/transport/chttp2/transport/stream_map.h"
22
-
23
- #include <stdlib.h>
24
-
25
- #include <grpc/support/alloc.h>
26
- #include <grpc/support/log.h>
27
-
28
- void grpc_chttp2_stream_map_init(grpc_chttp2_stream_map* map,
29
- size_t initial_capacity) {
30
- GPR_DEBUG_ASSERT(initial_capacity > 1);
31
- map->keys =
32
- static_cast<uint32_t*>(gpr_malloc(sizeof(uint32_t) * initial_capacity));
33
- map->values =
34
- static_cast<void**>(gpr_malloc(sizeof(void*) * initial_capacity));
35
- map->count = 0;
36
- map->free = 0;
37
- map->capacity = initial_capacity;
38
- }
39
-
40
- void grpc_chttp2_stream_map_destroy(grpc_chttp2_stream_map* map) {
41
- gpr_free(map->keys);
42
- gpr_free(map->values);
43
- }
44
-
45
- static size_t compact(uint32_t* keys, void** values, size_t count) {
46
- size_t i, out;
47
-
48
- for (i = 0, out = 0; i < count; i++) {
49
- if (values[i]) {
50
- keys[out] = keys[i];
51
- values[out] = values[i];
52
- out++;
53
- }
54
- }
55
-
56
- return out;
57
- }
58
-
59
- void grpc_chttp2_stream_map_add(grpc_chttp2_stream_map* map, uint32_t key,
60
- void* value) {
61
- size_t count = map->count;
62
- size_t capacity = map->capacity;
63
- uint32_t* keys = map->keys;
64
- void** values = map->values;
65
-
66
- // The first assertion ensures that the table is monotonically increasing.
67
- GPR_ASSERT(count == 0 || keys[count - 1] < key);
68
- GPR_DEBUG_ASSERT(value);
69
- // Asserting that the key is not already in the map can be a debug assertion.
70
- // Why: we're already checking that the map elements are monotonically
71
- // increasing. If we re-add a key, i.e. if the key is already present, then
72
- // either it is the most recently added key in the map (in which case the
73
- // first assertion fails due to key == last_key) or there is a more recently
74
- // added (larger) key at the end of the map: in which case the first assertion
75
- // still fails due to key < last_key.
76
- GPR_DEBUG_ASSERT(grpc_chttp2_stream_map_find(map, key) == nullptr);
77
-
78
- if (count == capacity) {
79
- if (map->free > capacity / 4) {
80
- count = compact(keys, values, count);
81
- map->free = 0;
82
- } else {
83
- // resize when less than 25% of the table is free, because compaction
84
- // won't help much
85
- map->capacity = capacity = 2 * capacity;
86
- map->keys = keys = static_cast<uint32_t*>(
87
- gpr_realloc(keys, capacity * sizeof(uint32_t)));
88
- map->values = values =
89
- static_cast<void**>(gpr_realloc(values, capacity * sizeof(void*)));
90
- }
91
- }
92
-
93
- keys[count] = key;
94
- values[count] = value;
95
- map->count = count + 1;
96
- }
97
-
98
- template <bool strict_find>
99
- static void** find(grpc_chttp2_stream_map* map, uint32_t key) {
100
- size_t min_idx = 0;
101
- size_t max_idx = map->count;
102
- size_t mid_idx;
103
- uint32_t* keys = map->keys;
104
- void** values = map->values;
105
- uint32_t mid_key;
106
-
107
- GPR_DEBUG_ASSERT(!strict_find || max_idx > 0);
108
- if (!strict_find && max_idx == 0) return nullptr;
109
-
110
- while (min_idx < max_idx) {
111
- // find the midpoint, avoiding overflow
112
- mid_idx = min_idx + ((max_idx - min_idx) / 2);
113
- mid_key = keys[mid_idx];
114
-
115
- if (mid_key < key) {
116
- min_idx = mid_idx + 1;
117
- } else if (mid_key > key) {
118
- max_idx = mid_idx;
119
- } else // mid_key == key
120
- {
121
- return &values[mid_idx];
122
- }
123
- }
124
-
125
- GPR_DEBUG_ASSERT(!strict_find);
126
- return nullptr;
127
- }
128
-
129
- void* grpc_chttp2_stream_map_delete(grpc_chttp2_stream_map* map, uint32_t key) {
130
- void** pvalue = find<true>(map, key);
131
- GPR_DEBUG_ASSERT(pvalue != nullptr);
132
- void* out = *pvalue;
133
- GPR_DEBUG_ASSERT(out != nullptr);
134
- *pvalue = nullptr;
135
- map->free++;
136
- // recognize complete emptyness and ensure we can skip
137
- // defragmentation later
138
- if (map->free == map->count) {
139
- map->free = map->count = 0;
140
- }
141
- GPR_DEBUG_ASSERT(grpc_chttp2_stream_map_find(map, key) == nullptr);
142
- return out;
143
- }
144
-
145
- void* grpc_chttp2_stream_map_find(grpc_chttp2_stream_map* map, uint32_t key) {
146
- void** pvalue = find<false>(map, key);
147
- return pvalue != nullptr ? *pvalue : nullptr;
148
- }
149
-
150
- size_t grpc_chttp2_stream_map_size(grpc_chttp2_stream_map* map) {
151
- return map->count - map->free;
152
- }
153
-
154
- void* grpc_chttp2_stream_map_rand(grpc_chttp2_stream_map* map) {
155
- if (map->count == map->free) {
156
- return nullptr;
157
- }
158
- if (map->free != 0) {
159
- map->count = compact(map->keys, map->values, map->count);
160
- map->free = 0;
161
- GPR_ASSERT(map->count > 0);
162
- }
163
- return map->values[(static_cast<size_t>(rand())) % map->count];
164
- }
165
-
166
- void grpc_chttp2_stream_map_for_each(grpc_chttp2_stream_map* map,
167
- void (*f)(void* user_data, uint32_t key,
168
- void* value),
169
- void* user_data) {
170
- size_t i;
171
-
172
- for (i = 0; i < map->count; i++) {
173
- if (map->values[i]) {
174
- f(user_data, map->keys[i], map->values[i]);
175
- }
176
- }
177
- }
@@ -1,68 +0,0 @@
1
- //
2
- //
3
- // Copyright 2015 gRPC authors.
4
- //
5
- // Licensed under the Apache License, Version 2.0 (the "License");
6
- // you may not use this file except in compliance with the License.
7
- // You may obtain a copy of the License at
8
- //
9
- // http://www.apache.org/licenses/LICENSE-2.0
10
- //
11
- // Unless required by applicable law or agreed to in writing, software
12
- // distributed under the License is distributed on an "AS IS" BASIS,
13
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- // See the License for the specific language governing permissions and
15
- // limitations under the License.
16
- //
17
- //
18
-
19
- #ifndef GRPC_SRC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_STREAM_MAP_H
20
- #define GRPC_SRC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_STREAM_MAP_H
21
-
22
- #include <grpc/support/port_platform.h>
23
-
24
- #include <stddef.h>
25
- #include <stdint.h>
26
-
27
- // Data structure to map a uint32_t to a data object (represented by a void*)
28
-
29
- // Represented as a sorted array of keys, and a corresponding array of values.
30
- // Lookups are performed with binary search.
31
- // Adds are restricted to strictly higher keys than previously seen (this is
32
- // guaranteed by http2).
33
- struct grpc_chttp2_stream_map {
34
- uint32_t* keys;
35
- void** values;
36
- size_t count;
37
- size_t free;
38
- size_t capacity;
39
- };
40
- void grpc_chttp2_stream_map_init(grpc_chttp2_stream_map* map,
41
- size_t initial_capacity);
42
- void grpc_chttp2_stream_map_destroy(grpc_chttp2_stream_map* map);
43
-
44
- // Add a new key: given http2 semantics, new keys must always be greater than
45
- // existing keys - this is asserted
46
- void grpc_chttp2_stream_map_add(grpc_chttp2_stream_map* map, uint32_t key,
47
- void* value);
48
-
49
- // Delete an existing key - returns the previous value of the key if it existed,
50
- // or NULL otherwise
51
- void* grpc_chttp2_stream_map_delete(grpc_chttp2_stream_map* map, uint32_t key);
52
-
53
- // Return an existing key, or NULL if it does not exist
54
- void* grpc_chttp2_stream_map_find(grpc_chttp2_stream_map* map, uint32_t key);
55
-
56
- // Return a random entry
57
- void* grpc_chttp2_stream_map_rand(grpc_chttp2_stream_map* map);
58
-
59
- // How many (populated) entries are in the stream map?
60
- size_t grpc_chttp2_stream_map_size(grpc_chttp2_stream_map* map);
61
-
62
- // Callback on each stream
63
- void grpc_chttp2_stream_map_for_each(grpc_chttp2_stream_map* map,
64
- void (*f)(void* user_data, uint32_t key,
65
- void* value),
66
- void* user_data);
67
-
68
- #endif // GRPC_SRC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_STREAM_MAP_H
@@ -1,89 +0,0 @@
1
- /* Copyright (c) 2023, Google Inc.
2
- *
3
- * Permission to use, copy, modify, and/or distribute this software for any
4
- * purpose with or without fee is hereby granted, provided that the above
5
- * copyright notice and this permission notice appear in all copies.
6
- *
7
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
10
- * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
12
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
13
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
14
-
15
- #include "internal.h"
16
-
17
- #if defined(OPENSSL_WINDOWS_ATOMIC)
18
-
19
- #include <windows.h>
20
-
21
-
22
- // See comment above the typedef of CRYPTO_refcount_t about these tests.
23
- static_assert(alignof(CRYPTO_refcount_t) == alignof(LONG),
24
- "CRYPTO_refcount_t does not match LONG alignment");
25
- static_assert(sizeof(CRYPTO_refcount_t) == sizeof(LONG),
26
- "CRYPTO_refcount_t does not match LONG size");
27
-
28
- static_assert((CRYPTO_refcount_t)-1 == CRYPTO_REFCOUNT_MAX,
29
- "CRYPTO_REFCOUNT_MAX is incorrect");
30
-
31
- static uint32_t atomic_load_u32(volatile LONG *ptr) {
32
- // This is not ideal because it still writes to a cacheline. MSVC is not able
33
- // to optimize this to a true atomic read, and Windows does not provide an
34
- // InterlockedLoad function.
35
- //
36
- // The Windows documentation [1] does say "Simple reads and writes to
37
- // properly-aligned 32-bit variables are atomic operations", but this is not
38
- // phrased in terms of the C11 and C++11 memory models, and indeed a read or
39
- // write seems to produce slightly different code on MSVC than a sequentially
40
- // consistent std::atomic::load in C++. Moreover, it is unclear if non-MSVC
41
- // compilers on Windows provide the same guarantees. Thus we avoid relying on
42
- // this and instead still use an interlocked function. This is still
43
- // preferable a global mutex, and eventually this code will be replaced by
44
- // [2]. Additionally, on clang-cl, we'll use the |OPENSSL_C11_ATOMIC| path.
45
- //
46
- // [1] https://learn.microsoft.com/en-us/windows/win32/sync/interlocked-variable-access
47
- // [2] https://devblogs.microsoft.com/cppblog/c11-atomics-in-visual-studio-2022-version-17-5-preview-2/
48
- return (uint32_t)InterlockedCompareExchange(ptr, 0, 0);
49
- }
50
-
51
- static int atomic_compare_exchange_u32(volatile LONG *ptr, uint32_t *expected32,
52
- uint32_t desired) {
53
- LONG expected = (LONG)*expected32;
54
- LONG actual = InterlockedCompareExchange(ptr, (LONG)desired, expected);
55
- *expected32 = (uint32_t)actual;
56
- return actual == expected;
57
- }
58
-
59
- void CRYPTO_refcount_inc(CRYPTO_refcount_t *in_count) {
60
- volatile LONG *count = (volatile LONG *)in_count;
61
- uint32_t expected = atomic_load_u32(count);
62
-
63
- while (expected != CRYPTO_REFCOUNT_MAX) {
64
- const uint32_t new_value = expected + 1;
65
- if (atomic_compare_exchange_u32(count, &expected, new_value)) {
66
- break;
67
- }
68
- }
69
- }
70
-
71
- int CRYPTO_refcount_dec_and_test_zero(CRYPTO_refcount_t *in_count) {
72
- volatile LONG *count = (volatile LONG *)in_count;
73
- uint32_t expected = atomic_load_u32(count);
74
-
75
- for (;;) {
76
- if (expected == 0) {
77
- abort();
78
- } else if (expected == CRYPTO_REFCOUNT_MAX) {
79
- return 0;
80
- } else {
81
- const uint32_t new_value = expected - 1;
82
- if (atomic_compare_exchange_u32(count, &expected, new_value)) {
83
- return new_value == 0;
84
- }
85
- }
86
- }
87
- }
88
-
89
- #endif // OPENSSL_WINDOWS_ATOMIC