grpc 1.38.0 → 1.40.0

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

Potentially problematic release.


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

Files changed (340) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +68 -21
  3. data/include/grpc/event_engine/endpoint_config.h +48 -0
  4. data/include/grpc/event_engine/event_engine.h +23 -29
  5. data/include/grpc/event_engine/port.h +2 -0
  6. data/include/grpc/event_engine/slice_allocator.h +21 -36
  7. data/include/grpc/grpc.h +9 -2
  8. data/include/grpc/grpc_security.h +32 -0
  9. data/include/grpc/grpc_security_constants.h +1 -0
  10. data/include/grpc/impl/codegen/grpc_types.h +33 -19
  11. data/include/grpc/impl/codegen/port_platform.h +41 -0
  12. data/src/core/ext/filters/client_channel/client_channel.cc +415 -249
  13. data/src/core/ext/filters/client_channel/client_channel.h +42 -18
  14. data/src/core/ext/filters/client_channel/config_selector.h +19 -6
  15. data/src/core/ext/filters/client_channel/health/health_check_client.cc +2 -0
  16. data/src/core/ext/filters/client_channel/health/health_check_client.h +3 -3
  17. data/src/core/ext/filters/client_channel/http_proxy.cc +16 -1
  18. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +7 -8
  19. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +12 -21
  20. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +3 -5
  21. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +734 -0
  22. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +10 -0
  23. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +8 -15
  24. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +3 -6
  25. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +18 -36
  26. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +14 -22
  27. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +2 -9
  28. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +68 -103
  29. data/src/core/ext/filters/client_channel/lb_policy.cc +1 -15
  30. data/src/core/ext/filters/client_channel/lb_policy.h +70 -46
  31. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +1 -3
  32. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_event_engine.cc +31 -0
  33. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_event_engine.cc +28 -0
  34. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +1 -3
  35. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +7 -2
  36. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +116 -76
  37. data/src/core/ext/filters/client_channel/retry_filter.cc +967 -544
  38. data/src/core/ext/filters/client_channel/retry_service_config.cc +57 -28
  39. data/src/core/ext/filters/client_channel/retry_service_config.h +9 -3
  40. data/src/core/ext/filters/client_channel/service_config_call_data.h +45 -5
  41. data/src/core/ext/filters/client_idle/client_idle_filter.cc +1 -1
  42. data/src/core/ext/filters/http/client/http_client_filter.cc +5 -2
  43. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +2 -1
  44. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +5 -1
  45. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +3 -2
  46. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +1 -1
  47. data/src/core/{lib/event_engine/slice_allocator.cc → ext/transport/chttp2/transport/chttp2_slice_allocator.cc} +23 -16
  48. data/src/core/ext/transport/chttp2/transport/chttp2_slice_allocator.h +74 -0
  49. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +12 -10
  50. data/src/core/ext/transport/chttp2/transport/flow_control.h +1 -1
  51. data/src/core/ext/transport/chttp2/transport/frame_data.cc +4 -4
  52. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +8 -8
  53. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +5 -5
  54. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +639 -752
  55. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +190 -69
  56. data/src/core/ext/transport/chttp2/transport/internal.h +2 -1
  57. data/src/core/ext/transport/chttp2/transport/parsing.cc +72 -56
  58. data/src/core/ext/transport/chttp2/transport/varint.cc +6 -4
  59. data/src/core/ext/transport/inproc/inproc_transport.cc +42 -31
  60. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +56 -35
  61. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +180 -76
  62. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +35 -27
  63. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +97 -48
  64. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +45 -9
  65. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +67 -7
  66. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +66 -9
  67. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +227 -0
  68. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +46 -0
  69. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +121 -0
  70. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +1 -0
  71. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +35 -0
  72. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +90 -0
  73. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +32 -24
  74. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +120 -73
  75. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +4 -2
  76. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +15 -0
  77. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +48 -0
  78. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +171 -0
  79. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +8 -6
  80. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +27 -19
  81. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +1 -0
  82. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +24 -7
  83. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +57 -0
  84. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +29 -17
  85. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +72 -0
  86. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +3 -2
  87. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +4 -0
  88. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +6 -5
  89. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +15 -11
  90. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +85 -43
  91. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +274 -91
  92. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +11 -8
  93. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +30 -13
  94. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +33 -5
  95. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +115 -0
  96. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +60 -0
  97. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +181 -0
  98. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +1 -0
  99. data/src/core/ext/upb-generated/validate/validate.upb.c +82 -66
  100. data/src/core/ext/upb-generated/validate/validate.upb.h +220 -124
  101. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +15 -7
  102. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +53 -52
  103. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +318 -277
  104. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +5 -0
  105. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +437 -410
  106. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +198 -170
  107. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +10 -0
  108. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +9 -8
  109. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +219 -163
  110. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +15 -0
  111. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +59 -0
  112. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +40 -0
  113. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +29 -25
  114. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +52 -0
  115. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +35 -0
  116. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +135 -125
  117. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +5 -0
  118. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +131 -123
  119. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +90 -0
  120. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +35 -0
  121. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +32 -24
  122. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +69 -55
  123. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +5 -0
  124. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +684 -664
  125. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +5 -0
  126. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +13 -10
  127. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +13 -10
  128. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +441 -375
  129. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +10 -0
  130. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +122 -114
  131. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +1 -1
  132. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +112 -79
  133. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +5 -0
  134. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +64 -0
  135. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +50 -0
  136. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +35 -32
  137. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +4 -4
  138. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +182 -160
  139. data/src/core/ext/xds/certificate_provider_store.h +1 -1
  140. data/src/core/ext/xds/xds_api.cc +582 -257
  141. data/src/core/ext/xds/xds_api.h +46 -8
  142. data/src/core/ext/xds/xds_bootstrap.cc +4 -1
  143. data/src/core/ext/xds/xds_client.cc +66 -43
  144. data/src/core/ext/xds/xds_client.h +0 -4
  145. data/src/core/ext/xds/xds_http_filters.cc +3 -2
  146. data/src/core/ext/xds/xds_http_filters.h +3 -0
  147. data/src/core/lib/address_utils/sockaddr_utils.cc +13 -0
  148. data/src/core/lib/address_utils/sockaddr_utils.h +10 -0
  149. data/src/core/lib/channel/call_tracer.h +85 -0
  150. data/src/core/lib/channel/channel_stack.h +1 -1
  151. data/src/core/lib/channel/channelz.h +3 -0
  152. data/src/core/lib/channel/context.h +3 -0
  153. data/src/core/lib/channel/status_util.h +4 -0
  154. data/src/core/lib/compression/stream_compression.h +1 -1
  155. data/src/core/lib/compression/stream_compression_gzip.h +1 -1
  156. data/src/core/lib/compression/stream_compression_identity.h +1 -1
  157. data/src/core/lib/debug/stats.h +1 -1
  158. data/src/core/lib/event_engine/endpoint_config.cc +46 -0
  159. data/src/core/lib/event_engine/endpoint_config_internal.h +42 -0
  160. data/src/core/lib/event_engine/event_engine.cc +50 -0
  161. data/src/core/lib/event_engine/sockaddr.cc +14 -12
  162. data/src/core/lib/event_engine/sockaddr.h +44 -0
  163. data/src/core/lib/gpr/murmur_hash.cc +4 -2
  164. data/src/core/lib/gpr/wrap_memcpy.cc +2 -1
  165. data/src/core/lib/gprpp/manual_constructor.h +1 -1
  166. data/src/core/lib/gprpp/orphanable.h +3 -3
  167. data/src/core/lib/gprpp/status_helper.h +3 -0
  168. data/src/core/lib/gprpp/sync.h +2 -30
  169. data/src/core/lib/iomgr/buffer_list.cc +1 -1
  170. data/src/core/lib/iomgr/endpoint_pair_event_engine.cc +33 -0
  171. data/src/core/lib/iomgr/error.cc +5 -4
  172. data/src/core/lib/iomgr/error.h +1 -1
  173. data/src/core/lib/iomgr/ev_apple.h +1 -1
  174. data/src/core/lib/iomgr/event_engine/closure.cc +54 -0
  175. data/src/core/lib/iomgr/event_engine/closure.h +33 -0
  176. data/src/core/lib/iomgr/event_engine/endpoint.cc +192 -0
  177. data/src/core/lib/iomgr/event_engine/endpoint.h +53 -0
  178. data/src/core/lib/iomgr/event_engine/iomgr.cc +105 -0
  179. data/src/core/lib/iomgr/event_engine/iomgr.h +24 -0
  180. data/src/core/lib/iomgr/event_engine/pollset.cc +87 -0
  181. data/{include/grpc/event_engine/channel_args.h → src/core/lib/iomgr/event_engine/pollset.h} +7 -10
  182. data/src/core/lib/iomgr/event_engine/promise.h +51 -0
  183. data/src/core/lib/iomgr/event_engine/resolved_address_internal.cc +41 -0
  184. data/src/core/lib/iomgr/event_engine/resolved_address_internal.h +35 -0
  185. data/src/core/lib/iomgr/event_engine/resolver.cc +110 -0
  186. data/src/core/lib/iomgr/event_engine/tcp.cc +263 -0
  187. data/src/core/lib/iomgr/event_engine/timer.cc +57 -0
  188. data/src/core/lib/iomgr/exec_ctx.cc +8 -0
  189. data/src/core/lib/iomgr/exec_ctx.h +3 -4
  190. data/src/core/lib/iomgr/executor/threadpool.cc +2 -3
  191. data/src/core/lib/iomgr/executor/threadpool.h +2 -2
  192. data/src/core/lib/iomgr/iomgr.cc +1 -1
  193. data/src/core/lib/iomgr/iomgr_posix.cc +2 -0
  194. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +40 -10
  195. data/src/core/lib/iomgr/pollset_custom.cc +2 -2
  196. data/src/core/lib/iomgr/pollset_custom.h +3 -1
  197. data/src/core/lib/iomgr/pollset_uv.cc +3 -1
  198. data/src/core/lib/iomgr/pollset_uv.h +5 -1
  199. data/src/core/lib/iomgr/port.h +7 -5
  200. data/src/core/lib/iomgr/python_util.h +1 -1
  201. data/src/core/lib/iomgr/resolve_address.cc +5 -1
  202. data/src/core/lib/iomgr/resolve_address.h +6 -0
  203. data/src/core/lib/iomgr/resource_quota.cc +2 -0
  204. data/src/core/lib/iomgr/sockaddr.h +1 -0
  205. data/src/core/lib/iomgr/socket_mutator.cc +15 -2
  206. data/src/core/lib/iomgr/socket_mutator.h +26 -2
  207. data/src/core/lib/iomgr/socket_utils_common_posix.cc +4 -4
  208. data/src/core/lib/iomgr/socket_utils_posix.h +2 -2
  209. data/src/core/lib/iomgr/tcp_client_posix.cc +7 -2
  210. data/src/core/lib/iomgr/tcp_client_windows.cc +2 -0
  211. data/src/core/lib/iomgr/tcp_posix.cc +42 -39
  212. data/src/core/lib/iomgr/tcp_posix.h +8 -0
  213. data/src/core/lib/iomgr/tcp_server_custom.cc +3 -4
  214. data/src/core/lib/iomgr/tcp_server_posix.cc +7 -0
  215. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +2 -1
  216. data/src/core/lib/iomgr/timer.h +6 -1
  217. data/src/core/lib/iomgr/timer_manager.cc +1 -1
  218. data/src/core/lib/json/json_reader.cc +1 -2
  219. data/src/core/lib/matchers/matchers.cc +8 -20
  220. data/src/core/lib/matchers/matchers.h +2 -1
  221. data/src/core/lib/security/authorization/authorization_engine.h +44 -0
  222. data/src/core/lib/security/authorization/authorization_policy_provider.h +32 -0
  223. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +46 -0
  224. data/src/core/lib/security/authorization/evaluate_args.cc +209 -0
  225. data/src/core/lib/security/authorization/evaluate_args.h +91 -0
  226. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +3 -1
  227. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +49 -0
  228. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +7 -0
  229. data/src/core/lib/security/credentials/tls/tls_utils.cc +32 -0
  230. data/src/core/lib/security/credentials/tls/tls_utils.h +13 -0
  231. data/src/core/lib/security/security_connector/local/local_security_connector.cc +9 -6
  232. data/src/core/lib/security/security_connector/ssl_utils.cc +5 -0
  233. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +6 -18
  234. data/src/core/lib/security/transport/security_handshaker.cc +12 -4
  235. data/src/core/lib/security/transport/server_auth_filter.cc +0 -7
  236. data/src/core/lib/slice/slice.cc +12 -2
  237. data/src/core/lib/slice/slice_internal.h +1 -0
  238. data/src/core/lib/surface/call.cc +26 -7
  239. data/src/core/lib/surface/call.h +11 -0
  240. data/src/core/lib/surface/completion_queue.cc +22 -22
  241. data/src/core/lib/surface/completion_queue.h +1 -1
  242. data/src/core/lib/surface/completion_queue_factory.cc +1 -2
  243. data/src/core/lib/surface/init.cc +1 -3
  244. data/src/core/lib/surface/init.h +10 -1
  245. data/src/core/lib/surface/server.cc +3 -1
  246. data/src/core/lib/surface/server.h +3 -3
  247. data/src/core/lib/surface/version.cc +2 -4
  248. data/src/core/lib/transport/error_utils.cc +2 -2
  249. data/src/core/lib/transport/metadata_batch.cc +13 -2
  250. data/src/core/lib/transport/metadata_batch.h +7 -0
  251. data/src/core/lib/transport/transport.h +2 -0
  252. data/src/core/lib/transport/transport_op_string.cc +1 -1
  253. data/src/core/plugin_registry/grpc_plugin_registry.cc +4 -0
  254. data/src/core/tsi/alts/crypt/gsec.h +2 -0
  255. data/src/ruby/ext/grpc/extconf.rb +2 -0
  256. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +6 -0
  257. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +10 -1
  258. data/src/ruby/lib/grpc/version.rb +1 -1
  259. data/third_party/boringssl-with-bazel/err_data.c +269 -263
  260. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +8 -6
  261. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c +4 -0
  262. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +1 -1
  263. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +1 -1
  264. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +9 -0
  265. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c +0 -4
  266. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +7 -0
  267. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +87 -121
  268. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +20 -30
  269. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +19 -30
  270. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +1 -4
  271. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +0 -13
  272. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +26 -24
  273. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +10 -7
  274. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +28 -39
  275. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +48 -66
  276. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +4 -5
  277. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +362 -371
  278. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +4 -2
  279. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +2 -2
  280. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c +1 -2
  281. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +101 -11
  282. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +3 -0
  283. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +2 -2
  284. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +3 -0
  285. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +1 -1
  286. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +2 -0
  287. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +14 -15
  288. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +53 -73
  289. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +31 -0
  290. data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c +3 -0
  291. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +3 -0
  292. data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.c +5 -8
  293. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +5 -0
  294. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +3 -0
  295. data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +7 -0
  296. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +1 -1
  297. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +5 -8
  298. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +1 -1
  299. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +66 -1
  300. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +40 -9
  301. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +1 -0
  302. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +1 -1
  303. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +6 -2
  304. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +14 -0
  305. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +19 -11
  306. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +325 -0
  307. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +23 -7
  308. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +99 -63
  309. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +139 -109
  310. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +12 -19
  311. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +48 -50
  312. data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +451 -435
  313. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +0 -1
  314. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +2 -2
  315. data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +1 -1
  316. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +773 -84
  317. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +80 -47
  318. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +24 -19
  319. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +189 -86
  320. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +45 -56
  321. data/third_party/boringssl-with-bazel/src/ssl/internal.h +272 -167
  322. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +2 -2
  323. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +2 -2
  324. data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +14 -19
  325. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +34 -102
  326. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +2 -0
  327. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +8 -31
  328. data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +3 -0
  329. data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +4 -3
  330. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +7 -3
  331. data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +576 -648
  332. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +31 -3
  333. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +98 -39
  334. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +141 -94
  335. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +58 -68
  336. data/third_party/xxhash/xxhash.h +77 -195
  337. metadata +81 -39
  338. data/src/core/lib/gpr/arena.h +0 -47
  339. data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +0 -267
  340. data/third_party/boringssl-with-bazel/src/crypto/x509/vpm_int.h +0 -71
@@ -197,8 +197,7 @@ const cq_poller_vtable g_poller_vtable_by_poller_type[] = {
197
197
  struct cq_vtable {
198
198
  grpc_cq_completion_type cq_completion_type;
199
199
  size_t data_size;
200
- void (*init)(void* data,
201
- grpc_experimental_completion_queue_functor* shutdown_callback);
200
+ void (*init)(void* data, grpc_completion_queue_functor* shutdown_callback);
202
201
  void (*shutdown)(grpc_completion_queue* cq);
203
202
  void (*destroy)(void* data);
204
203
  bool (*begin_op)(grpc_completion_queue* cq, void* tag);
@@ -310,8 +309,7 @@ struct cq_pluck_data {
310
309
  };
311
310
 
312
311
  struct cq_callback_data {
313
- explicit cq_callback_data(
314
- grpc_experimental_completion_queue_functor* shutdown_callback)
312
+ explicit cq_callback_data(grpc_completion_queue_functor* shutdown_callback)
315
313
  : shutdown_callback(shutdown_callback) {}
316
314
 
317
315
  ~cq_callback_data() {
@@ -332,7 +330,7 @@ struct cq_callback_data {
332
330
  bool shutdown_called = false;
333
331
 
334
332
  /** A callback that gets invoked when the CQ completes shutdown */
335
- grpc_experimental_completion_queue_functor* shutdown_callback;
333
+ grpc_completion_queue_functor* shutdown_callback;
336
334
  };
337
335
 
338
336
  } // namespace
@@ -397,12 +395,12 @@ static grpc_event cq_pluck(grpc_completion_queue* cq, void* tag,
397
395
  gpr_timespec deadline, void* reserved);
398
396
 
399
397
  // Note that cq_init_next and cq_init_pluck do not use the shutdown_callback
400
- static void cq_init_next(
401
- void* data, grpc_experimental_completion_queue_functor* shutdown_callback);
402
- static void cq_init_pluck(
403
- void* data, grpc_experimental_completion_queue_functor* shutdown_callback);
404
- static void cq_init_callback(
405
- void* data, grpc_experimental_completion_queue_functor* shutdown_callback);
398
+ static void cq_init_next(void* data,
399
+ grpc_completion_queue_functor* shutdown_callback);
400
+ static void cq_init_pluck(void* data,
401
+ grpc_completion_queue_functor* shutdown_callback);
402
+ static void cq_init_callback(void* data,
403
+ grpc_completion_queue_functor* shutdown_callback);
406
404
  static void cq_destroy_next(void* data);
407
405
  static void cq_destroy_pluck(void* data);
408
406
  static void cq_destroy_callback(void* data);
@@ -513,7 +511,7 @@ grpc_cq_completion* CqEventQueue::Pop() {
513
511
 
514
512
  grpc_completion_queue* grpc_completion_queue_create_internal(
515
513
  grpc_cq_completion_type completion_type, grpc_cq_polling_type polling_type,
516
- grpc_experimental_completion_queue_functor* shutdown_callback) {
514
+ grpc_completion_queue_functor* shutdown_callback) {
517
515
  GPR_TIMER_SCOPE("grpc_completion_queue_create_internal", 0);
518
516
 
519
517
  grpc_completion_queue* cq;
@@ -548,9 +546,8 @@ grpc_completion_queue* grpc_completion_queue_create_internal(
548
546
  return cq;
549
547
  }
550
548
 
551
- static void cq_init_next(
552
- void* data,
553
- grpc_experimental_completion_queue_functor* /*shutdown_callback*/) {
549
+ static void cq_init_next(void* data,
550
+ grpc_completion_queue_functor* /*shutdown_callback*/) {
554
551
  new (data) cq_next_data();
555
552
  }
556
553
 
@@ -560,8 +557,7 @@ static void cq_destroy_next(void* data) {
560
557
  }
561
558
 
562
559
  static void cq_init_pluck(
563
- void* data,
564
- grpc_experimental_completion_queue_functor* /*shutdown_callback*/) {
560
+ void* data, grpc_completion_queue_functor* /*shutdown_callback*/) {
565
561
  new (data) cq_pluck_data();
566
562
  }
567
563
 
@@ -570,8 +566,8 @@ static void cq_destroy_pluck(void* data) {
570
566
  cqd->~cq_pluck_data();
571
567
  }
572
568
 
573
- static void cq_init_callback(
574
- void* data, grpc_experimental_completion_queue_functor* shutdown_callback) {
569
+ static void cq_init_callback(void* data,
570
+ grpc_completion_queue_functor* shutdown_callback) {
575
571
  new (data) cq_callback_data(shutdown_callback);
576
572
  }
577
573
 
@@ -836,7 +832,7 @@ static void cq_end_op_for_pluck(
836
832
  }
837
833
 
838
834
  static void functor_callback(void* arg, grpc_error_handle error) {
839
- auto* functor = static_cast<grpc_experimental_completion_queue_functor*>(arg);
835
+ auto* functor = static_cast<grpc_completion_queue_functor*>(arg);
840
836
  functor->functor_run(functor, error == GRPC_ERROR_NONE);
841
837
  }
842
838
 
@@ -880,7 +876,7 @@ static void cq_end_op_for_callback(
880
876
  // 2. The callback is marked inlineable and there is an ACEC available
881
877
  // 3. We are already running in a background poller thread (which always has
882
878
  // an ACEC available at the base of the stack).
883
- auto* functor = static_cast<grpc_experimental_completion_queue_functor*>(tag);
879
+ auto* functor = static_cast<grpc_completion_queue_functor*>(tag);
884
880
  if (((internal || functor->inlineable) &&
885
881
  grpc_core::ApplicationCallbackExecCtx::Available()) ||
886
882
  grpc_iomgr_is_any_background_poller_thread()) {
@@ -1065,7 +1061,11 @@ static grpc_event cq_next(grpc_completion_queue* cq, gpr_timespec deadline,
1065
1061
  gpr_log(GPR_ERROR, "Completion queue next failed: %s",
1066
1062
  grpc_error_std_string(err).c_str());
1067
1063
  GRPC_ERROR_UNREF(err);
1068
- ret.type = GRPC_QUEUE_TIMEOUT;
1064
+ if (err == GRPC_ERROR_CANCELLED) {
1065
+ ret.type = GRPC_QUEUE_SHUTDOWN;
1066
+ } else {
1067
+ ret.type = GRPC_QUEUE_TIMEOUT;
1068
+ }
1069
1069
  ret.success = 0;
1070
1070
  dump_pending_tags(cq);
1071
1071
  break;
@@ -93,6 +93,6 @@ int grpc_get_cq_poll_num(grpc_completion_queue* cq);
93
93
 
94
94
  grpc_completion_queue* grpc_completion_queue_create_internal(
95
95
  grpc_cq_completion_type completion_type, grpc_cq_polling_type polling_type,
96
- grpc_experimental_completion_queue_functor* shutdown_callback);
96
+ grpc_completion_queue_functor* shutdown_callback);
97
97
 
98
98
  #endif /* GRPC_CORE_LIB_SURFACE_COMPLETION_QUEUE_H */
@@ -72,8 +72,7 @@ grpc_completion_queue* grpc_completion_queue_create_for_pluck(void* reserved) {
72
72
  }
73
73
 
74
74
  grpc_completion_queue* grpc_completion_queue_create_for_callback(
75
- grpc_experimental_completion_queue_functor* shutdown_callback,
76
- void* reserved) {
75
+ grpc_completion_queue_functor* shutdown_callback, void* reserved) {
77
76
  GPR_ASSERT(!reserved);
78
77
  grpc_completion_queue_attributes attr = {
79
78
  2, GRPC_CQ_CALLBACK, GRPC_CQ_DEFAULT_POLLING, shutdown_callback};
@@ -126,7 +126,6 @@ void grpc_register_plugin(void (*init)(void), void (*destroy)(void)) {
126
126
  }
127
127
 
128
128
  void grpc_init(void) {
129
- int i;
130
129
  gpr_once_init(&g_basic_init, do_basic_init);
131
130
 
132
131
  grpc_core::MutexLock lock(g_init_mu);
@@ -150,7 +149,7 @@ void grpc_init(void) {
150
149
  gpr_timers_global_init();
151
150
  grpc_core::HandshakerRegistry::Init();
152
151
  grpc_security_init();
153
- for (i = 0; i < g_number_of_plugins; i++) {
152
+ for (int i = 0; i < g_number_of_plugins; i++) {
154
153
  if (g_all_of_the_plugins[i].init != nullptr) {
155
154
  g_all_of_the_plugins[i].init();
156
155
  }
@@ -175,7 +174,6 @@ void grpc_shutdown_internal_locked(void) {
175
174
  grpc_iomgr_shutdown_background_closure();
176
175
  {
177
176
  grpc_timer_manager_set_threading(false); // shutdown timer_manager thread
178
- grpc_core::Executor::ShutdownAll();
179
177
  for (i = g_number_of_plugins; i >= 0; i--) {
180
178
  if (g_all_of_the_plugins[i].destroy != nullptr) {
181
179
  g_all_of_the_plugins[i].destroy();
@@ -15,10 +15,19 @@
15
15
  * limitations under the License.
16
16
  *
17
17
  */
18
-
19
18
  #ifndef GRPC_CORE_LIB_SURFACE_INIT_H
20
19
  #define GRPC_CORE_LIB_SURFACE_INIT_H
21
20
 
21
+ #include <grpc/support/port_platform.h>
22
+
23
+ #include <memory>
24
+
25
+ namespace grpc_event_engine {
26
+ namespace experimental {
27
+ class EventEngine;
28
+ }
29
+ } // namespace grpc_event_engine
30
+
22
31
  void grpc_register_security_filters(void);
23
32
  void grpc_security_pre_init(void);
24
33
  void grpc_security_init(void);
@@ -809,7 +809,9 @@ void Server::ShutdownAndNotify(grpc_completion_queue* cq, void* tag) {
809
809
  {
810
810
  // Wait for startup to be finished. Locks mu_global.
811
811
  MutexLock lock(&mu_global_);
812
- WaitUntil(&starting_cv_, &mu_global_, [this] { return !starting_; });
812
+ while (starting_) {
813
+ starting_cv_.Wait(&mu_global_);
814
+ }
813
815
  // Stay locked, and gather up some stuff to do.
814
816
  GPR_ASSERT(grpc_cq_begin_op(cq, tag));
815
817
  if (shutdown_published_) {
@@ -416,9 +416,9 @@ class Server : public InternallyRefCounted<Server> {
416
416
  Mutex mu_global_; // mutex for server and channel state
417
417
  Mutex mu_call_; // mutex for call-specific state
418
418
 
419
- // startup synchronization: flag is protected by mu_global_, signals whether
420
- // we are doing the listener start routine or not.
421
- bool starting_ = false;
419
+ // startup synchronization: flag, signals whether we are doing the listener
420
+ // start routine or not.
421
+ bool starting_ ABSL_GUARDED_BY(mu_global_) = false;
422
422
  CondVar starting_cv_;
423
423
 
424
424
  std::vector<std::unique_ptr<RegisteredMethod>> registered_methods_;
@@ -23,8 +23,6 @@
23
23
 
24
24
  #include <grpc/grpc.h>
25
25
 
26
- const char* grpc_version_string(void) { return "16.0.0"; }
26
+ const char* grpc_version_string(void) { return "18.0.0"; }
27
27
 
28
- const char* grpc_g_stands_for(void) {
29
- return "guadalupe_river_park_conservancy";
30
- }
28
+ const char* grpc_g_stands_for(void) { return "guileless"; }
@@ -74,7 +74,7 @@ void grpc_error_get_status(grpc_error_handle error, grpc_millis deadline,
74
74
  // until we find the first one that has a status code.
75
75
  grpc_error_handle found_error =
76
76
  recursively_find_error_with_field(error, GRPC_ERROR_INT_GRPC_STATUS);
77
- if (found_error == nullptr) {
77
+ if (found_error == GRPC_ERROR_NONE) {
78
78
  /// If no grpc-status exists, retry through the tree to find a http2 error
79
79
  /// code
80
80
  found_error =
@@ -83,7 +83,7 @@ void grpc_error_get_status(grpc_error_handle error, grpc_millis deadline,
83
83
 
84
84
  // If we found an error with a status code above, use that; otherwise,
85
85
  // fall back to using the parent error.
86
- if (found_error == nullptr) found_error = error;
86
+ if (found_error == GRPC_ERROR_NONE) found_error = error;
87
87
 
88
88
  grpc_status_code status = GRPC_STATUS_UNKNOWN;
89
89
  intptr_t integer;
@@ -401,9 +401,20 @@ void grpc_metadata_batch_copy(grpc_metadata_batch* src,
401
401
  size_t i = 0;
402
402
  for (grpc_linked_mdelem* elem = src->list.head; elem != nullptr;
403
403
  elem = elem->next) {
404
+ // If the mdelem is not external, take a ref.
405
+ // Otherwise, create a new copy, holding its own refs to the
406
+ // underlying slices.
407
+ grpc_mdelem md;
408
+ if (GRPC_MDELEM_STORAGE(elem->md) != GRPC_MDELEM_STORAGE_EXTERNAL) {
409
+ md = GRPC_MDELEM_REF(elem->md);
410
+ } else {
411
+ md = grpc_mdelem_from_slices(
412
+ grpc_slice_ref_internal(GRPC_MDKEY(elem->md)),
413
+ grpc_slice_ref_internal(GRPC_MDVALUE(elem->md)));
414
+ }
404
415
  // Error unused in non-debug builds.
405
- grpc_error_handle GRPC_UNUSED error = grpc_metadata_batch_add_tail(
406
- dst, &storage[i++], GRPC_MDELEM_REF(elem->md));
416
+ grpc_error_handle GRPC_UNUSED error =
417
+ grpc_metadata_batch_add_tail(dst, &storage[i++], md);
407
418
  // The only way that grpc_metadata_batch_add_tail() can fail is if
408
419
  // there's a duplicate entry for a callout. However, that can't be
409
420
  // the case here, because we would not have been allowed to create
@@ -196,6 +196,13 @@ void grpc_metadata_batch_assert_ok(grpc_metadata_batch* batch);
196
196
 
197
197
  /// Copies \a src to \a dst. \a storage must point to an array of
198
198
  /// \a grpc_linked_mdelem structs of at least the same size as \a src.
199
+ ///
200
+ /// For each mdelem in \a src, if the mdelem is of storage types
201
+ /// GRPC_MDELEM_STORAGE_INTERNED or GRPC_MDELEM_STORAGE_ALLOCATED,
202
+ /// refs the original mdelem for the copy. Otherwise, makes a new
203
+ /// mdelem that will hold its own refs to the key and value slices.
204
+ ///
205
+ /// Currently used only in the retry code.
199
206
  void grpc_metadata_batch_copy(grpc_metadata_batch* src,
200
207
  grpc_metadata_batch* dst,
201
208
  grpc_linked_mdelem* storage);
@@ -295,6 +295,8 @@ struct grpc_transport_stream_op_batch_payload {
295
295
  // containing a received message.
296
296
  // Will be NULL if trailing metadata is received instead of a message.
297
297
  grpc_core::OrphanablePtr<grpc_core::ByteStream>* recv_message = nullptr;
298
+ // Was this recv_message failed for reasons other than a clean end-of-stream
299
+ bool* call_failed_before_recv_message = nullptr;
298
300
  /** Should be enqueued when one message is ready to be processed. */
299
301
  grpc_closure* recv_message_ready = nullptr;
300
302
  } recv_message;
@@ -135,7 +135,7 @@ std::string grpc_transport_op_string(grpc_transport_op* op) {
135
135
  " DISCONNECT:", grpc_error_std_string(op->disconnect_with_error)));
136
136
  }
137
137
 
138
- if (op->goaway_error) {
138
+ if (op->goaway_error != GRPC_ERROR_NONE) {
139
139
  out.push_back(absl::StrCat(" SEND_GOAWAY:%s",
140
140
  grpc_error_std_string(op->goaway_error)));
141
141
  }
@@ -63,6 +63,8 @@ void grpc_workaround_cronet_compression_filter_shutdown(void);
63
63
  namespace grpc_core {
64
64
  void FaultInjectionFilterInit(void);
65
65
  void FaultInjectionFilterShutdown(void);
66
+ void GrpcLbPolicyRingHashInit(void);
67
+ void GrpcLbPolicyRingHashShutdown(void);
66
68
  } // namespace grpc_core
67
69
 
68
70
  #ifndef GRPC_NO_XDS
@@ -115,6 +117,8 @@ void grpc_register_built_in_plugins(void) {
115
117
  grpc_lb_policy_pick_first_shutdown);
116
118
  grpc_register_plugin(grpc_lb_policy_round_robin_init,
117
119
  grpc_lb_policy_round_robin_shutdown);
120
+ grpc_register_plugin(grpc_core::GrpcLbPolicyRingHashInit,
121
+ grpc_core::GrpcLbPolicyRingHashShutdown);
118
122
  grpc_register_plugin(grpc_resolver_dns_ares_init,
119
123
  grpc_resolver_dns_ares_shutdown);
120
124
  grpc_register_plugin(grpc_resolver_dns_native_init,
@@ -29,12 +29,14 @@
29
29
 
30
30
  #include <grpc/grpc.h>
31
31
 
32
+ #ifndef _STRUCT_IOVEC
32
33
  #ifndef GRPC_EVENT_ENGINE_POSIX
33
34
  struct iovec {
34
35
  void* iov_base;
35
36
  size_t iov_len;
36
37
  };
37
38
  #endif // GRPC_EVENT_ENGINE_POSIX
39
+ #endif // _STRUCT_IOVEC
38
40
 
39
41
  /**
40
42
  * A gsec interface for AEAD encryption schemes. The API is thread-compatible.
@@ -56,6 +56,8 @@ if RUBY_PLATFORM =~ /darwin/
56
56
  end
57
57
 
58
58
  ENV['CPPFLAGS'] = '-DGPR_BACKWARDS_COMPATIBILITY_MODE'
59
+ ENV['CPPFLAGS'] += ' -DGRPC_XDS_USER_AGENT_NAME_SUFFIX="\"RUBY\"" '
60
+ ENV['CPPFLAGS'] += ' -DGRPC_XDS_USER_AGENT_VERSION_SUFFIX="\"1.40.0\"" '
59
61
 
60
62
  output_dir = File.expand_path(RbConfig::CONFIG['topdir'])
61
63
  grpc_lib_dir = File.join(output_dir, 'libs', grpc_config)
@@ -107,6 +107,7 @@ grpc_channelz_get_server_sockets_type grpc_channelz_get_server_sockets_import;
107
107
  grpc_channelz_get_channel_type grpc_channelz_get_channel_import;
108
108
  grpc_channelz_get_subchannel_type grpc_channelz_get_subchannel_import;
109
109
  grpc_channelz_get_socket_type grpc_channelz_get_socket_import;
110
+ grpc_authorization_policy_provider_arg_vtable_type grpc_authorization_policy_provider_arg_vtable_import;
110
111
  grpc_insecure_channel_create_from_fd_type grpc_insecure_channel_create_from_fd_import;
111
112
  grpc_server_add_insecure_channel_from_fd_type grpc_server_add_insecure_channel_from_fd_import;
112
113
  grpc_auth_property_iterator_next_type grpc_auth_property_iterator_next_import;
@@ -182,6 +183,8 @@ grpc_tls_server_authorization_check_config_create_type grpc_tls_server_authoriza
182
183
  grpc_tls_server_authorization_check_config_release_type grpc_tls_server_authorization_check_config_release_import;
183
184
  grpc_xds_credentials_create_type grpc_xds_credentials_create_import;
184
185
  grpc_xds_server_credentials_create_type grpc_xds_server_credentials_create_import;
186
+ grpc_authorization_policy_provider_static_data_create_type grpc_authorization_policy_provider_static_data_create_import;
187
+ grpc_authorization_policy_provider_release_type grpc_authorization_policy_provider_release_import;
185
188
  grpc_raw_byte_buffer_create_type grpc_raw_byte_buffer_create_import;
186
189
  grpc_raw_compressed_byte_buffer_create_type grpc_raw_compressed_byte_buffer_create_import;
187
190
  grpc_byte_buffer_copy_type grpc_byte_buffer_copy_import;
@@ -392,6 +395,7 @@ void grpc_rb_load_imports(HMODULE library) {
392
395
  grpc_channelz_get_channel_import = (grpc_channelz_get_channel_type) GetProcAddress(library, "grpc_channelz_get_channel");
393
396
  grpc_channelz_get_subchannel_import = (grpc_channelz_get_subchannel_type) GetProcAddress(library, "grpc_channelz_get_subchannel");
394
397
  grpc_channelz_get_socket_import = (grpc_channelz_get_socket_type) GetProcAddress(library, "grpc_channelz_get_socket");
398
+ grpc_authorization_policy_provider_arg_vtable_import = (grpc_authorization_policy_provider_arg_vtable_type) GetProcAddress(library, "grpc_authorization_policy_provider_arg_vtable");
395
399
  grpc_insecure_channel_create_from_fd_import = (grpc_insecure_channel_create_from_fd_type) GetProcAddress(library, "grpc_insecure_channel_create_from_fd");
396
400
  grpc_server_add_insecure_channel_from_fd_import = (grpc_server_add_insecure_channel_from_fd_type) GetProcAddress(library, "grpc_server_add_insecure_channel_from_fd");
397
401
  grpc_auth_property_iterator_next_import = (grpc_auth_property_iterator_next_type) GetProcAddress(library, "grpc_auth_property_iterator_next");
@@ -467,6 +471,8 @@ void grpc_rb_load_imports(HMODULE library) {
467
471
  grpc_tls_server_authorization_check_config_release_import = (grpc_tls_server_authorization_check_config_release_type) GetProcAddress(library, "grpc_tls_server_authorization_check_config_release");
468
472
  grpc_xds_credentials_create_import = (grpc_xds_credentials_create_type) GetProcAddress(library, "grpc_xds_credentials_create");
469
473
  grpc_xds_server_credentials_create_import = (grpc_xds_server_credentials_create_type) GetProcAddress(library, "grpc_xds_server_credentials_create");
474
+ grpc_authorization_policy_provider_static_data_create_import = (grpc_authorization_policy_provider_static_data_create_type) GetProcAddress(library, "grpc_authorization_policy_provider_static_data_create");
475
+ grpc_authorization_policy_provider_release_import = (grpc_authorization_policy_provider_release_type) GetProcAddress(library, "grpc_authorization_policy_provider_release");
470
476
  grpc_raw_byte_buffer_create_import = (grpc_raw_byte_buffer_create_type) GetProcAddress(library, "grpc_raw_byte_buffer_create");
471
477
  grpc_raw_compressed_byte_buffer_create_import = (grpc_raw_compressed_byte_buffer_create_type) GetProcAddress(library, "grpc_raw_compressed_byte_buffer_create");
472
478
  grpc_byte_buffer_copy_import = (grpc_byte_buffer_copy_type) GetProcAddress(library, "grpc_byte_buffer_copy");
@@ -110,7 +110,7 @@ extern grpc_completion_queue_create_for_next_type grpc_completion_queue_create_f
110
110
  typedef grpc_completion_queue*(*grpc_completion_queue_create_for_pluck_type)(void* reserved);
111
111
  extern grpc_completion_queue_create_for_pluck_type grpc_completion_queue_create_for_pluck_import;
112
112
  #define grpc_completion_queue_create_for_pluck grpc_completion_queue_create_for_pluck_import
113
- typedef grpc_completion_queue*(*grpc_completion_queue_create_for_callback_type)(grpc_experimental_completion_queue_functor* shutdown_callback, void* reserved);
113
+ typedef grpc_completion_queue*(*grpc_completion_queue_create_for_callback_type)(grpc_completion_queue_functor* shutdown_callback, void* reserved);
114
114
  extern grpc_completion_queue_create_for_callback_type grpc_completion_queue_create_for_callback_import;
115
115
  #define grpc_completion_queue_create_for_callback grpc_completion_queue_create_for_callback_import
116
116
  typedef grpc_completion_queue*(*grpc_completion_queue_create_type)(const grpc_completion_queue_factory* factory, const grpc_completion_queue_attributes* attributes, void* reserved);
@@ -296,6 +296,9 @@ extern grpc_channelz_get_subchannel_type grpc_channelz_get_subchannel_import;
296
296
  typedef char*(*grpc_channelz_get_socket_type)(intptr_t socket_id);
297
297
  extern grpc_channelz_get_socket_type grpc_channelz_get_socket_import;
298
298
  #define grpc_channelz_get_socket grpc_channelz_get_socket_import
299
+ typedef const grpc_arg_pointer_vtable*(*grpc_authorization_policy_provider_arg_vtable_type)(void);
300
+ extern grpc_authorization_policy_provider_arg_vtable_type grpc_authorization_policy_provider_arg_vtable_import;
301
+ #define grpc_authorization_policy_provider_arg_vtable grpc_authorization_policy_provider_arg_vtable_import
299
302
  typedef grpc_channel*(*grpc_insecure_channel_create_from_fd_type)(const char* target, int fd, const grpc_channel_args* args);
300
303
  extern grpc_insecure_channel_create_from_fd_type grpc_insecure_channel_create_from_fd_import;
301
304
  #define grpc_insecure_channel_create_from_fd grpc_insecure_channel_create_from_fd_import
@@ -521,6 +524,12 @@ extern grpc_xds_credentials_create_type grpc_xds_credentials_create_import;
521
524
  typedef grpc_server_credentials*(*grpc_xds_server_credentials_create_type)(grpc_server_credentials* fallback_credentials);
522
525
  extern grpc_xds_server_credentials_create_type grpc_xds_server_credentials_create_import;
523
526
  #define grpc_xds_server_credentials_create grpc_xds_server_credentials_create_import
527
+ typedef grpc_authorization_policy_provider*(*grpc_authorization_policy_provider_static_data_create_type)(const char* authz_policy, grpc_status_code* code, const char** error_details);
528
+ extern grpc_authorization_policy_provider_static_data_create_type grpc_authorization_policy_provider_static_data_create_import;
529
+ #define grpc_authorization_policy_provider_static_data_create grpc_authorization_policy_provider_static_data_create_import
530
+ typedef void(*grpc_authorization_policy_provider_release_type)(grpc_authorization_policy_provider* provider);
531
+ extern grpc_authorization_policy_provider_release_type grpc_authorization_policy_provider_release_import;
532
+ #define grpc_authorization_policy_provider_release grpc_authorization_policy_provider_release_import
524
533
  typedef grpc_byte_buffer*(*grpc_raw_byte_buffer_create_type)(grpc_slice* slices, size_t nslices);
525
534
  extern grpc_raw_byte_buffer_create_type grpc_raw_byte_buffer_create_import;
526
535
  #define grpc_raw_byte_buffer_create grpc_raw_byte_buffer_create_import
@@ -14,5 +14,5 @@
14
14
 
15
15
  # GRPC contains the General RPC module.
16
16
  module GRPC
17
- VERSION = '1.38.0'
17
+ VERSION = '1.40.0'
18
18
  end
@@ -193,47 +193,47 @@ const uint32_t kOpenSSLReasonValues[] = {
193
193
  0x283480b9,
194
194
  0x283500f7,
195
195
  0x28358c79,
196
- 0x2c3231de,
196
+ 0x2c323227,
197
197
  0x2c329313,
198
- 0x2c3331ec,
199
- 0x2c33b1fe,
200
- 0x2c343212,
201
- 0x2c34b224,
202
- 0x2c35323f,
203
- 0x2c35b251,
204
- 0x2c363281,
198
+ 0x2c333235,
199
+ 0x2c33b247,
200
+ 0x2c34325b,
201
+ 0x2c34b26d,
202
+ 0x2c353288,
203
+ 0x2c35b29a,
204
+ 0x2c3632ca,
205
205
  0x2c36833a,
206
- 0x2c37328e,
207
- 0x2c37b2ba,
208
- 0x2c3832df,
209
- 0x2c38b2f6,
210
- 0x2c393314,
211
- 0x2c39b324,
212
- 0x2c3a3336,
213
- 0x2c3ab34a,
214
- 0x2c3b335b,
215
- 0x2c3bb37a,
206
+ 0x2c3732d7,
207
+ 0x2c37b303,
208
+ 0x2c383328,
209
+ 0x2c38b33f,
210
+ 0x2c39335d,
211
+ 0x2c39b36d,
212
+ 0x2c3a337f,
213
+ 0x2c3ab393,
214
+ 0x2c3b33a4,
215
+ 0x2c3bb3c3,
216
216
  0x2c3c1325,
217
217
  0x2c3c933b,
218
- 0x2c3d338e,
218
+ 0x2c3d33d7,
219
219
  0x2c3d9354,
220
- 0x2c3e33ab,
221
- 0x2c3eb3b9,
222
- 0x2c3f33d1,
223
- 0x2c3fb3e9,
224
- 0x2c403413,
220
+ 0x2c3e33f4,
221
+ 0x2c3eb402,
222
+ 0x2c3f341a,
223
+ 0x2c3fb432,
224
+ 0x2c40345c,
225
225
  0x2c409226,
226
- 0x2c413424,
227
- 0x2c41b437,
226
+ 0x2c41346d,
227
+ 0x2c41b480,
228
228
  0x2c4211ec,
229
- 0x2c42b448,
229
+ 0x2c42b491,
230
230
  0x2c43072f,
231
- 0x2c43b36c,
232
- 0x2c4432cd,
233
- 0x2c44b3f6,
234
- 0x2c453264,
235
- 0x2c45b2a0,
236
- 0x2c463304,
231
+ 0x2c43b3b5,
232
+ 0x2c443316,
233
+ 0x2c44b43f,
234
+ 0x2c4532ad,
235
+ 0x2c45b2e9,
236
+ 0x2c46334d,
237
237
  0x30320000,
238
238
  0x30328015,
239
239
  0x3033001f,
@@ -428,196 +428,199 @@ const uint32_t kOpenSSLReasonValues[] = {
428
428
  0x404e2022,
429
429
  0x404ea02f,
430
430
  0x404f20ac,
431
- 0x404fa0f2,
432
- 0x40502149,
433
- 0x4050a15d,
434
- 0x40512190,
435
- 0x405221a0,
436
- 0x4052a1c4,
437
- 0x405321dc,
438
- 0x4053a1ef,
439
- 0x40542204,
440
- 0x4054a227,
441
- 0x40552252,
442
- 0x4055a28f,
443
- 0x405622b4,
444
- 0x4056a2cd,
445
- 0x405722e5,
446
- 0x4057a2f8,
447
- 0x4058230d,
448
- 0x4058a334,
449
- 0x40592363,
450
- 0x4059a390,
451
- 0x405a23a4,
452
- 0x405aa3b4,
453
- 0x405b23cc,
454
- 0x405ba3dd,
455
- 0x405c23f0,
456
- 0x405ca42f,
457
- 0x405d243c,
458
- 0x405da461,
459
- 0x405e249f,
431
+ 0x404fa122,
432
+ 0x40502179,
433
+ 0x4050a18d,
434
+ 0x405121c0,
435
+ 0x405221d0,
436
+ 0x4052a1f4,
437
+ 0x4053220c,
438
+ 0x4053a21f,
439
+ 0x40542234,
440
+ 0x4054a257,
441
+ 0x40552282,
442
+ 0x4055a2bf,
443
+ 0x405622e4,
444
+ 0x4056a2fd,
445
+ 0x40572315,
446
+ 0x4057a328,
447
+ 0x4058233d,
448
+ 0x4058a364,
449
+ 0x40592393,
450
+ 0x4059a3c0,
451
+ 0x405a23d4,
452
+ 0x405aa3e4,
453
+ 0x405b23fc,
454
+ 0x405ba40d,
455
+ 0x405c2420,
456
+ 0x405ca45f,
457
+ 0x405d246c,
458
+ 0x405da491,
459
+ 0x405e24cf,
460
460
  0x405e8ac0,
461
- 0x405f24c0,
462
- 0x405fa4cd,
463
- 0x406024db,
464
- 0x4060a4fd,
465
- 0x4061255e,
466
- 0x4061a596,
467
- 0x406225ad,
468
- 0x4062a5be,
469
- 0x4063260b,
470
- 0x4063a620,
471
- 0x40642637,
472
- 0x4064a663,
473
- 0x4065267e,
474
- 0x4065a695,
475
- 0x406626ad,
476
- 0x4066a6d7,
477
- 0x40672702,
478
- 0x4067a747,
479
- 0x4068278f,
480
- 0x4068a7b0,
481
- 0x406927e2,
482
- 0x4069a810,
483
- 0x406a2831,
484
- 0x406aa851,
485
- 0x406b29d9,
486
- 0x406ba9fc,
487
- 0x406c2a12,
488
- 0x406cad03,
489
- 0x406d2d32,
490
- 0x406dad5a,
491
- 0x406e2d88,
492
- 0x406eadd5,
493
- 0x406f2e2e,
494
- 0x406fae66,
495
- 0x40702e79,
496
- 0x4070ae96,
461
+ 0x405f24f0,
462
+ 0x405fa4fd,
463
+ 0x4060250b,
464
+ 0x4060a52d,
465
+ 0x4061258e,
466
+ 0x4061a5c6,
467
+ 0x406225dd,
468
+ 0x4062a5ee,
469
+ 0x4063263b,
470
+ 0x4063a650,
471
+ 0x40642667,
472
+ 0x4064a693,
473
+ 0x406526ae,
474
+ 0x4065a6c5,
475
+ 0x406626dd,
476
+ 0x4066a707,
477
+ 0x40672732,
478
+ 0x4067a777,
479
+ 0x406827bf,
480
+ 0x4068a7e0,
481
+ 0x40692812,
482
+ 0x4069a840,
483
+ 0x406a2861,
484
+ 0x406aa881,
485
+ 0x406b2a09,
486
+ 0x406baa2c,
487
+ 0x406c2a42,
488
+ 0x406cad4c,
489
+ 0x406d2d7b,
490
+ 0x406dada3,
491
+ 0x406e2dd1,
492
+ 0x406eae1e,
493
+ 0x406f2e77,
494
+ 0x406faeaf,
495
+ 0x40702ec2,
496
+ 0x4070aedf,
497
497
  0x4071080f,
498
- 0x4071aea8,
499
- 0x40722ebb,
500
- 0x4072aef1,
501
- 0x40732f09,
498
+ 0x4071aef1,
499
+ 0x40722f04,
500
+ 0x4072af3a,
501
+ 0x40732f52,
502
502
  0x40739525,
503
- 0x40742f1d,
504
- 0x4074af37,
505
- 0x40752f48,
506
- 0x4075af5c,
507
- 0x40762f6a,
503
+ 0x40742f66,
504
+ 0x4074af80,
505
+ 0x40752f91,
506
+ 0x4075afa5,
507
+ 0x40762fb3,
508
508
  0x407692e9,
509
- 0x40772f8f,
510
- 0x4077afcf,
511
- 0x40782fea,
512
- 0x4078b023,
513
- 0x4079303a,
514
- 0x4079b050,
515
- 0x407a307c,
516
- 0x407ab08f,
517
- 0x407b30a4,
518
- 0x407bb0b6,
519
- 0x407c30e7,
520
- 0x407cb0f0,
521
- 0x407d27cb,
522
- 0x407da102,
523
- 0x407e2fff,
524
- 0x407ea344,
509
+ 0x40772fd8,
510
+ 0x4077b018,
511
+ 0x40783033,
512
+ 0x4078b06c,
513
+ 0x40793083,
514
+ 0x4079b099,
515
+ 0x407a30c5,
516
+ 0x407ab0d8,
517
+ 0x407b30ed,
518
+ 0x407bb0ff,
519
+ 0x407c3130,
520
+ 0x407cb139,
521
+ 0x407d27fb,
522
+ 0x407da132,
523
+ 0x407e3048,
524
+ 0x407ea374,
525
525
  0x407f1db0,
526
526
  0x407f9f76,
527
527
  0x408020bc,
528
528
  0x40809dd8,
529
- 0x408121b2,
529
+ 0x408121e2,
530
530
  0x4081a060,
531
- 0x40822d73,
531
+ 0x40822dbc,
532
532
  0x40829b2b,
533
- 0x4083231f,
534
- 0x4083a648,
533
+ 0x4083234f,
534
+ 0x4083a678,
535
535
  0x40841dec,
536
- 0x4084a37c,
537
- 0x40852401,
538
- 0x4085a525,
539
- 0x40862481,
540
- 0x4086a11c,
541
- 0x40872db9,
542
- 0x4087a573,
536
+ 0x4084a3ac,
537
+ 0x40852431,
538
+ 0x4085a555,
539
+ 0x408624b1,
540
+ 0x4086a14c,
541
+ 0x40872e02,
542
+ 0x4087a5a3,
543
543
  0x40881b69,
544
- 0x4088a75a,
544
+ 0x4088a78a,
545
545
  0x40891bb8,
546
546
  0x40899b45,
547
- 0x408a2a4a,
547
+ 0x408a2a7a,
548
548
  0x408a993d,
549
- 0x408b30cb,
550
- 0x408bae43,
551
- 0x408c2411,
549
+ 0x408b3114,
550
+ 0x408bae8c,
551
+ 0x408c2441,
552
552
  0x408c9975,
553
553
  0x408d1ec7,
554
554
  0x408d9e1e,
555
555
  0x408e1ff7,
556
- 0x408ea26f,
557
- 0x408f276e,
558
- 0x408fa541,
559
- 0x40902723,
560
- 0x4090a453,
561
- 0x40912a32,
556
+ 0x408ea29f,
557
+ 0x408f279e,
558
+ 0x408fa571,
559
+ 0x40902753,
560
+ 0x4090a483,
561
+ 0x40912a62,
562
562
  0x4091999b,
563
563
  0x40921c05,
564
- 0x4092adf4,
565
- 0x40932ed4,
566
- 0x4093a12d,
564
+ 0x4092ae3d,
565
+ 0x40932f1d,
566
+ 0x4093a15d,
567
567
  0x40941e00,
568
- 0x4094aa63,
569
- 0x409525cf,
570
- 0x4095b05c,
571
- 0x40962da0,
568
+ 0x4094aa93,
569
+ 0x409525ff,
570
+ 0x4095b0a5,
571
+ 0x40962de9,
572
572
  0x4096a0d5,
573
- 0x40972178,
573
+ 0x409721a8,
574
574
  0x4097a046,
575
575
  0x40981c65,
576
- 0x4098a5e3,
577
- 0x40992e10,
578
- 0x4099a29c,
579
- 0x409a2235,
576
+ 0x4098a613,
577
+ 0x40992e59,
578
+ 0x4099a2cc,
579
+ 0x409a2265,
580
580
  0x409a9959,
581
581
  0x409b1e4d,
582
582
  0x409b9e78,
583
- 0x409c2fb1,
583
+ 0x409c2ffa,
584
584
  0x409c9ea0,
585
585
  0x409d2091,
586
586
  0x409da076,
587
587
  0x409e1cf6,
588
- 0x41f42904,
589
- 0x41f92996,
590
- 0x41fe2889,
591
- 0x41feab3f,
592
- 0x41ff2c54,
593
- 0x4203291d,
594
- 0x4208293f,
595
- 0x4208a97b,
596
- 0x4209286d,
597
- 0x4209a9b5,
598
- 0x420a28c4,
599
- 0x420aa8a4,
600
- 0x420b28e4,
601
- 0x420ba95d,
602
- 0x420c2c70,
603
- 0x420caa73,
604
- 0x420d2b26,
605
- 0x420dab5d,
606
- 0x42122b77,
607
- 0x42172c37,
608
- 0x4217abb9,
609
- 0x421c2bdb,
610
- 0x421f2b96,
611
- 0x42212ce8,
612
- 0x42262c1a,
613
- 0x422b2cc6,
614
- 0x422bab01,
615
- 0x422c2ca8,
616
- 0x422caab4,
617
- 0x422d2a8d,
618
- 0x422dac87,
619
- 0x422e2ae0,
620
- 0x42302bf6,
588
+ 0x409ea10a,
589
+ 0x409f20f2,
590
+ 0x41f42934,
591
+ 0x41f929c6,
592
+ 0x41fe28b9,
593
+ 0x41feab6f,
594
+ 0x41ff2c9d,
595
+ 0x4203294d,
596
+ 0x4208296f,
597
+ 0x4208a9ab,
598
+ 0x4209289d,
599
+ 0x4209a9e5,
600
+ 0x420a28f4,
601
+ 0x420aa8d4,
602
+ 0x420b2914,
603
+ 0x420ba98d,
604
+ 0x420c2cb9,
605
+ 0x420caaa3,
606
+ 0x420d2b56,
607
+ 0x420dab8d,
608
+ 0x42122bc0,
609
+ 0x42172c80,
610
+ 0x4217ac02,
611
+ 0x421c2c24,
612
+ 0x421f2bdf,
613
+ 0x42212d31,
614
+ 0x42262c63,
615
+ 0x422b2d0f,
616
+ 0x422bab31,
617
+ 0x422c2cf1,
618
+ 0x422caae4,
619
+ 0x422d2abd,
620
+ 0x422dacd0,
621
+ 0x422e2b10,
622
+ 0x42302c3f,
623
+ 0x4230aba7,
621
624
  0x4432073a,
622
625
  0x44328749,
623
626
  0x44330755,
@@ -672,69 +675,69 @@ const uint32_t kOpenSSLReasonValues[] = {
672
675
  0x4c411582,
673
676
  0x4c419405,
674
677
  0x4c42156e,
675
- 0x5032345a,
676
- 0x5032b469,
677
- 0x50333474,
678
- 0x5033b484,
679
- 0x5034349d,
680
- 0x5034b4b7,
681
- 0x503534c5,
682
- 0x5035b4db,
683
- 0x503634ed,
684
- 0x5036b503,
685
- 0x5037351c,
686
- 0x5037b52f,
687
- 0x50383547,
688
- 0x5038b558,
689
- 0x5039356d,
690
- 0x5039b581,
691
- 0x503a35a1,
692
- 0x503ab5b7,
693
- 0x503b35cf,
694
- 0x503bb5e1,
695
- 0x503c35fd,
696
- 0x503cb614,
697
- 0x503d362d,
698
- 0x503db643,
699
- 0x503e3650,
700
- 0x503eb666,
701
- 0x503f3678,
678
+ 0x503234a3,
679
+ 0x5032b4b2,
680
+ 0x503334bd,
681
+ 0x5033b4cd,
682
+ 0x503434e6,
683
+ 0x5034b500,
684
+ 0x5035350e,
685
+ 0x5035b524,
686
+ 0x50363536,
687
+ 0x5036b54c,
688
+ 0x50373565,
689
+ 0x5037b578,
690
+ 0x50383590,
691
+ 0x5038b5a1,
692
+ 0x503935b6,
693
+ 0x5039b5ca,
694
+ 0x503a35ea,
695
+ 0x503ab600,
696
+ 0x503b3618,
697
+ 0x503bb62a,
698
+ 0x503c3646,
699
+ 0x503cb65d,
700
+ 0x503d3676,
701
+ 0x503db68c,
702
+ 0x503e3699,
703
+ 0x503eb6af,
704
+ 0x503f36c1,
702
705
  0x503f8388,
703
- 0x5040368b,
704
- 0x5040b69b,
705
- 0x504136b5,
706
- 0x5041b6c4,
707
- 0x504236de,
708
- 0x5042b6fb,
709
- 0x5043370b,
710
- 0x5043b71b,
711
- 0x5044372a,
706
+ 0x504036d4,
707
+ 0x5040b6e4,
708
+ 0x504136fe,
709
+ 0x5041b70d,
710
+ 0x50423727,
711
+ 0x5042b744,
712
+ 0x50433754,
713
+ 0x5043b764,
714
+ 0x50443773,
712
715
  0x5044843e,
713
- 0x5045373e,
714
- 0x5045b75c,
715
- 0x5046376f,
716
- 0x5046b785,
717
- 0x50473797,
718
- 0x5047b7ac,
719
- 0x504837d2,
720
- 0x5048b7e0,
721
- 0x504937f3,
722
- 0x5049b808,
723
- 0x504a381e,
724
- 0x504ab82e,
725
- 0x504b384e,
726
- 0x504bb861,
727
- 0x504c3884,
728
- 0x504cb8b2,
729
- 0x504d38c4,
730
- 0x504db8e1,
731
- 0x504e38fc,
732
- 0x504eb918,
733
- 0x504f392a,
734
- 0x504fb941,
735
- 0x50503950,
716
+ 0x50453787,
717
+ 0x5045b7a5,
718
+ 0x504637b8,
719
+ 0x5046b7ce,
720
+ 0x504737e0,
721
+ 0x5047b7f5,
722
+ 0x5048381b,
723
+ 0x5048b829,
724
+ 0x5049383c,
725
+ 0x5049b851,
726
+ 0x504a3867,
727
+ 0x504ab877,
728
+ 0x504b3897,
729
+ 0x504bb8aa,
730
+ 0x504c38cd,
731
+ 0x504cb8fb,
732
+ 0x504d390d,
733
+ 0x504db92a,
734
+ 0x504e3945,
735
+ 0x504eb961,
736
+ 0x504f3973,
737
+ 0x504fb98a,
738
+ 0x50503999,
736
739
  0x505086fe,
737
- 0x50513963,
740
+ 0x505139ac,
738
741
  0x58320f72,
739
742
  0x68320f34,
740
743
  0x68328c8c,
@@ -778,19 +781,19 @@ const uint32_t kOpenSSLReasonValues[] = {
778
781
  0x7c321202,
779
782
  0x80321418,
780
783
  0x80328090,
781
- 0x803331ad,
784
+ 0x803331f6,
782
785
  0x803380b9,
783
- 0x803431bc,
784
- 0x8034b124,
785
- 0x80353142,
786
- 0x8035b1d0,
787
- 0x80363184,
788
- 0x8036b133,
789
- 0x80373176,
790
- 0x8037b111,
791
- 0x80383197,
792
- 0x8038b153,
793
- 0x80393168,
786
+ 0x80343205,
787
+ 0x8034b16d,
788
+ 0x8035318b,
789
+ 0x8035b219,
790
+ 0x803631cd,
791
+ 0x8036b17c,
792
+ 0x803731bf,
793
+ 0x8037b15a,
794
+ 0x803831e0,
795
+ 0x8038b19c,
796
+ 0x803931b1,
794
797
  };
795
798
 
796
799
  const size_t kOpenSSLReasonValuesLen = sizeof(kOpenSSLReasonValues) / sizeof(kOpenSSLReasonValues[0]);
@@ -1208,6 +1211,8 @@ const char kOpenSSLReasonStringData[] =
1208
1211
  "INVALID_COMMAND\0"
1209
1212
  "INVALID_COMPRESSION_LIST\0"
1210
1213
  "INVALID_DELEGATED_CREDENTIAL\0"
1214
+ "INVALID_ECH_CONFIG_LIST\0"
1215
+ "INVALID_ECH_PUBLIC_NAME\0"
1211
1216
  "INVALID_MESSAGE\0"
1212
1217
  "INVALID_OUTER_RECORD_TYPE\0"
1213
1218
  "INVALID_SCT_LIST\0"
@@ -1312,6 +1317,7 @@ const char kOpenSSLReasonStringData[] =
1312
1317
  "TLSV1_ALERT_DECODE_ERROR\0"
1313
1318
  "TLSV1_ALERT_DECRYPTION_FAILED\0"
1314
1319
  "TLSV1_ALERT_DECRYPT_ERROR\0"
1320
+ "TLSV1_ALERT_ECH_REQUIRED\0"
1315
1321
  "TLSV1_ALERT_EXPORT_RESTRICTION\0"
1316
1322
  "TLSV1_ALERT_INAPPROPRIATE_FALLBACK\0"
1317
1323
  "TLSV1_ALERT_INSUFFICIENT_SECURITY\0"