grpc 1.66.0 → 1.71.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3048) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +316 -329
  3. data/include/grpc/compression.h +1 -2
  4. data/include/grpc/credentials.h +2 -3
  5. data/include/grpc/event_engine/README.md +1 -1
  6. data/include/grpc/event_engine/endpoint_config.h +7 -7
  7. data/include/grpc/event_engine/event_engine.h +56 -14
  8. data/include/grpc/event_engine/extensible.h +2 -2
  9. data/include/grpc/event_engine/internal/memory_allocator_impl.h +4 -4
  10. data/include/grpc/event_engine/internal/slice_cast.h +1 -1
  11. data/include/grpc/event_engine/memory_allocator.h +3 -4
  12. data/include/grpc/event_engine/memory_request.h +1 -2
  13. data/include/grpc/event_engine/slice.h +3 -5
  14. data/include/grpc/event_engine/slice_buffer.h +6 -8
  15. data/include/grpc/grpc.h +1 -2
  16. data/include/grpc/grpc_audit_logging.h +3 -3
  17. data/include/grpc/grpc_crl_provider.h +5 -5
  18. data/include/grpc/grpc_posix.h +1 -2
  19. data/include/grpc/grpc_security.h +1 -2
  20. data/include/grpc/impl/call.h +2 -2
  21. data/include/grpc/impl/channel_arg_names.h +3 -1
  22. data/include/grpc/impl/grpc_types.h +1 -2
  23. data/include/grpc/impl/slice_type.h +1 -2
  24. data/include/grpc/passive_listener.h +2 -2
  25. data/include/grpc/status.h +1 -1
  26. data/include/grpc/support/alloc.h +1 -2
  27. data/include/grpc/support/atm.h +0 -13
  28. data/include/grpc/support/json.h +17 -18
  29. data/include/grpc/support/log.h +35 -34
  30. data/include/grpc/support/metrics.h +7 -3
  31. data/include/grpc/support/port_platform.h +6 -1
  32. data/include/grpc/support/sync_generic.h +2 -4
  33. data/include/grpc/support/sync_posix.h +1 -2
  34. data/include/grpc/support/time.h +1 -2
  35. data/src/core/call/request_buffer.cc +224 -0
  36. data/src/core/call/request_buffer.h +192 -0
  37. data/src/core/channelz/channel_trace.cc +5 -6
  38. data/src/core/channelz/channel_trace.h +5 -7
  39. data/src/core/channelz/channelz.cc +7 -9
  40. data/src/core/channelz/channelz.h +11 -32
  41. data/src/core/channelz/channelz_registry.cc +6 -15
  42. data/src/core/channelz/channelz_registry.h +4 -5
  43. data/src/core/client_channel/backup_poller.cc +21 -11
  44. data/src/core/client_channel/client_channel.cc +51 -55
  45. data/src/core/client_channel/client_channel.h +7 -5
  46. data/src/core/client_channel/client_channel_args.h +21 -0
  47. data/src/core/client_channel/client_channel_factory.cc +2 -2
  48. data/src/core/client_channel/client_channel_factory.h +1 -2
  49. data/src/core/client_channel/client_channel_filter.cc +91 -162
  50. data/src/core/client_channel/client_channel_filter.h +23 -21
  51. data/src/core/client_channel/client_channel_internal.h +2 -5
  52. data/src/core/client_channel/client_channel_plugin.cc +3 -4
  53. data/src/core/client_channel/client_channel_service_config.cc +3 -4
  54. data/src/core/client_channel/client_channel_service_config.h +9 -11
  55. data/src/core/client_channel/config_selector.h +4 -8
  56. data/src/core/client_channel/connector.h +3 -3
  57. data/src/core/client_channel/direct_channel.cc +4 -4
  58. data/src/core/client_channel/direct_channel.h +1 -1
  59. data/src/core/client_channel/dynamic_filters.cc +10 -10
  60. data/src/core/client_channel/dynamic_filters.h +8 -7
  61. data/src/core/client_channel/global_subchannel_pool.cc +2 -2
  62. data/src/core/client_channel/global_subchannel_pool.h +2 -3
  63. data/src/core/client_channel/lb_metadata.cc +7 -8
  64. data/src/core/client_channel/lb_metadata.h +5 -6
  65. data/src/core/client_channel/load_balanced_call_destination.cc +6 -7
  66. data/src/core/client_channel/load_balanced_call_destination.h +0 -1
  67. data/src/core/client_channel/local_subchannel_pool.cc +2 -5
  68. data/src/core/client_channel/local_subchannel_pool.h +1 -1
  69. data/src/core/client_channel/retry_filter.cc +6 -8
  70. data/src/core/client_channel/retry_filter.h +5 -9
  71. data/src/core/client_channel/retry_filter_legacy_call_data.cc +197 -281
  72. data/src/core/client_channel/retry_filter_legacy_call_data.h +18 -19
  73. data/src/core/client_channel/retry_interceptor.cc +408 -0
  74. data/src/core/client_channel/retry_interceptor.h +157 -0
  75. data/src/core/client_channel/retry_service_config.cc +7 -9
  76. data/src/core/client_channel/retry_service_config.h +19 -8
  77. data/src/core/client_channel/retry_throttle.cc +34 -20
  78. data/src/core/client_channel/retry_throttle.h +6 -9
  79. data/src/core/client_channel/subchannel.cc +76 -118
  80. data/src/core/client_channel/subchannel.h +21 -20
  81. data/src/core/client_channel/subchannel_interface_internal.h +1 -1
  82. data/src/core/client_channel/subchannel_pool_interface.cc +1 -3
  83. data/src/core/client_channel/subchannel_pool_interface.h +2 -3
  84. data/src/core/client_channel/subchannel_stream_client.cc +7 -11
  85. data/src/core/client_channel/subchannel_stream_client.h +11 -13
  86. data/src/core/config/config_vars.cc +152 -0
  87. data/src/core/config/config_vars.h +129 -0
  88. data/src/core/config/config_vars_non_generated.cc +49 -0
  89. data/src/core/config/core_configuration.cc +111 -0
  90. data/src/core/config/core_configuration.h +242 -0
  91. data/src/core/config/load_config.cc +78 -0
  92. data/src/core/config/load_config.h +54 -0
  93. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +21 -29
  94. data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +7 -8
  95. data/src/core/ext/filters/census/grpc_context.cc +1 -2
  96. data/src/core/ext/filters/channel_idle/idle_filter_state.cc +1 -2
  97. data/src/core/ext/filters/channel_idle/idle_filter_state.h +0 -1
  98. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +17 -20
  99. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h +6 -8
  100. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +20 -25
  101. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +7 -9
  102. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +3 -4
  103. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +4 -7
  104. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +198 -0
  105. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +97 -0
  106. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.cc +80 -0
  107. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.h +86 -0
  108. data/src/core/ext/filters/http/client/http_client_filter.cc +13 -13
  109. data/src/core/ext/filters/http/client/http_client_filter.h +4 -5
  110. data/src/core/ext/filters/http/client_authority_filter.cc +13 -17
  111. data/src/core/ext/filters/http/client_authority_filter.h +6 -7
  112. data/src/core/ext/filters/http/http_filters_plugin.cc +1 -2
  113. data/src/core/ext/filters/http/message_compress/compression_filter.cc +49 -41
  114. data/src/core/ext/filters/http/message_compress/compression_filter.h +19 -17
  115. data/src/core/ext/filters/http/server/http_server_filter.cc +16 -18
  116. data/src/core/ext/filters/http/server/http_server_filter.h +4 -5
  117. data/src/core/ext/filters/message_size/message_size_filter.cc +32 -39
  118. data/src/core/ext/filters/message_size/message_size_filter.h +22 -25
  119. data/src/core/ext/filters/rbac/rbac_filter.cc +6 -13
  120. data/src/core/ext/filters/rbac/rbac_filter.h +6 -8
  121. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +17 -11
  122. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +2 -4
  123. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +12 -14
  124. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +6 -8
  125. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +3 -4
  126. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +5 -7
  127. data/src/core/ext/transport/chttp2/alpn/alpn.cc +1 -3
  128. data/src/core/ext/transport/chttp2/alpn/alpn.h +1 -2
  129. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +21 -26
  130. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +7 -7
  131. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +762 -191
  132. data/src/core/ext/transport/chttp2/server/chttp2_server.h +191 -15
  133. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +7 -7
  134. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +2 -3
  135. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +4 -7
  136. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +1 -2
  137. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.cc +53 -0
  138. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.h +72 -0
  139. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +500 -394
  140. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +12 -13
  141. data/src/core/ext/transport/chttp2/transport/context_list_entry.h +1 -2
  142. data/src/core/ext/transport/chttp2/transport/decode_huff.h +4 -4
  143. data/src/core/ext/transport/chttp2/transport/flow_control.cc +7 -10
  144. data/src/core/ext/transport/chttp2/transport/flow_control.h +5 -8
  145. data/src/core/ext/transport/chttp2/transport/frame.cc +24 -7
  146. data/src/core/ext/transport/chttp2/transport/frame.h +16 -7
  147. data/src/core/ext/transport/chttp2/transport/frame_data.cc +17 -14
  148. data/src/core/ext/transport/chttp2/transport/frame_data.h +2 -4
  149. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +11 -14
  150. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -2
  151. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +8 -10
  152. data/src/core/ext/transport/chttp2/transport/frame_ping.h +1 -2
  153. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +7 -9
  154. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -2
  155. data/src/core/ext/transport/chttp2/transport/frame_security.cc +80 -0
  156. data/src/core/ext/transport/chttp2/transport/frame_security.h +44 -0
  157. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +29 -16
  158. data/src/core/ext/transport/chttp2/transport/frame_settings.h +3 -4
  159. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +21 -4
  160. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +1 -2
  161. data/src/core/ext/transport/chttp2/transport/hpack_constants.h +2 -2
  162. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +12 -14
  163. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +6 -8
  164. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +2 -3
  165. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +4 -5
  166. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +2 -4
  167. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +6 -9
  168. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +39 -40
  169. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +9 -12
  170. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +38 -8
  171. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +29 -10
  172. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +13 -5
  173. data/src/core/ext/transport/chttp2/transport/http2_settings.h +12 -6
  174. data/src/core/ext/transport/chttp2/transport/internal.h +58 -110
  175. data/src/core/ext/transport/chttp2/transport/legacy_frame.h +1 -0
  176. data/src/core/ext/transport/chttp2/transport/parsing.cc +79 -55
  177. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.cc +4 -4
  178. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.h +3 -3
  179. data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +4 -5
  180. data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +5 -7
  181. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +6 -7
  182. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +4 -6
  183. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +11 -11
  184. data/src/core/ext/transport/chttp2/transport/stream_lists.h +65 -0
  185. data/src/core/ext/transport/chttp2/transport/varint.cc +6 -6
  186. data/src/core/ext/transport/chttp2/transport/varint.h +1 -3
  187. data/src/core/ext/transport/chttp2/transport/write_size_policy.cc +2 -3
  188. data/src/core/ext/transport/chttp2/transport/write_size_policy.h +3 -4
  189. data/src/core/ext/transport/chttp2/transport/writing.cc +49 -55
  190. data/src/core/ext/transport/inproc/inproc_transport.cc +7 -10
  191. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +27 -24
  192. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb.h +35 -4
  193. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c +25 -18
  194. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.h +10 -4
  195. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +36 -4
  196. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +24 -18
  197. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.h +9 -4
  198. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb.h +39 -4
  199. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.c +29 -22
  200. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.h +10 -4
  201. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +140 -5
  202. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +105 -84
  203. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.h +24 -4
  204. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb.h +10 -4
  205. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.c +8 -4
  206. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.h +7 -4
  207. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb.h +17 -4
  208. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.c +12 -8
  209. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.h +7 -4
  210. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb.h +5 -4
  211. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.c +4 -1
  212. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.h +6 -4
  213. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +5 -4
  214. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +4 -1
  215. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.h +6 -4
  216. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb.h +5 -4
  217. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.c +4 -1
  218. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.h +6 -4
  219. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +35 -4
  220. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +19 -14
  221. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.h +7 -4
  222. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb.h +7 -4
  223. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.c +7 -4
  224. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.h +6 -4
  225. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb.h +5 -4
  226. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.c +7 -1
  227. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.h +5 -4
  228. data/src/core/ext/upb-gen/envoy/annotations/resource.upb.h +7 -6
  229. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.c +10 -6
  230. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.h +6 -4
  231. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +61 -4
  232. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +66 -48
  233. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.h +21 -4
  234. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +183 -4
  235. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +131 -106
  236. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.h +28 -4
  237. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +31 -4
  238. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +22 -17
  239. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.h +8 -4
  240. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +251 -40
  241. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +169 -140
  242. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.h +30 -4
  243. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb.h +9 -4
  244. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.c +8 -5
  245. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.h +6 -4
  246. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +56 -4
  247. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +30 -27
  248. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.h +6 -4
  249. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +96 -4
  250. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +80 -63
  251. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.h +20 -4
  252. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +44 -4
  253. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +36 -26
  254. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.h +13 -4
  255. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb.h +9 -4
  256. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.c +8 -5
  257. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.h +6 -4
  258. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +225 -4
  259. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +138 -81
  260. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.h +36 -4
  261. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +46 -4
  262. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +36 -27
  263. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.h +12 -4
  264. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb.h +7 -4
  265. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.c +7 -4
  266. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.h +6 -4
  267. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb.h +7 -4
  268. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.c +7 -4
  269. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.h +6 -4
  270. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb.h +10 -4
  271. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.c +8 -4
  272. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.h +7 -4
  273. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +71 -4
  274. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +61 -45
  275. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.h +19 -4
  276. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +92 -4
  277. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +55 -44
  278. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.h +14 -4
  279. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb.h +12 -4
  280. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.c +8 -5
  281. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.h +6 -4
  282. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +7 -4
  283. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +7 -4
  284. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.h +6 -4
  285. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +196 -10
  286. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +101 -77
  287. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.h +21 -4
  288. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb.h +7 -4
  289. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.c +8 -4
  290. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.h +7 -4
  291. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb.h +12 -4
  292. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.c +9 -5
  293. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.h +7 -4
  294. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb.h +151 -0
  295. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.c +60 -0
  296. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.h +32 -0
  297. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +238 -25
  298. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +73 -21
  299. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.h +13 -4
  300. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +16 -4
  301. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +11 -7
  302. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.h +7 -4
  303. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb.h +9 -4
  304. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.c +8 -5
  305. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.h +6 -4
  306. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +35 -4
  307. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +23 -17
  308. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.h +9 -4
  309. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +48 -4
  310. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +41 -32
  311. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.h +12 -4
  312. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +44 -4
  313. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +27 -19
  314. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.h +11 -4
  315. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb.h +7 -4
  316. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.c +7 -4
  317. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.h +6 -4
  318. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +83 -4
  319. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +53 -41
  320. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.h +15 -4
  321. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +69 -106
  322. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +48 -60
  323. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.h +11 -5
  324. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +112 -4
  325. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +41 -16
  326. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.h +6 -4
  327. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb.h +11 -4
  328. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.c +10 -6
  329. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.h +7 -4
  330. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +9 -4
  331. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +8 -5
  332. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.h +6 -4
  333. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +33 -4
  334. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +34 -24
  335. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.h +13 -4
  336. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +53 -5
  337. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.c +41 -29
  338. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.h +15 -4
  339. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +248 -4
  340. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +106 -63
  341. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.h +18 -4
  342. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +52 -4
  343. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +24 -19
  344. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.h +8 -4
  345. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +688 -8
  346. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +374 -257
  347. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.h +67 -4
  348. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +14 -4
  349. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +13 -8
  350. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.h +8 -4
  351. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +69 -4
  352. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +59 -45
  353. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.h +17 -4
  354. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb.h +9 -4
  355. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.c +11 -7
  356. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.h +7 -4
  357. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb.h +7 -4
  358. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.c +7 -4
  359. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.h +6 -4
  360. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb.h +9 -4
  361. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.c +11 -7
  362. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.h +7 -4
  363. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb.h +7 -4
  364. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.c +7 -4
  365. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.h +6 -4
  366. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +16 -4
  367. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +10 -7
  368. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.h +6 -4
  369. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb.h +7 -4
  370. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.c +7 -4
  371. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.h +6 -4
  372. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +11 -4
  373. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +12 -8
  374. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.h +7 -4
  375. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb.h +5 -6
  376. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.c +3 -2
  377. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.h +5 -5
  378. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +13 -4
  379. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +13 -9
  380. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.h +7 -4
  381. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +7 -4
  382. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +7 -4
  383. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.h +6 -4
  384. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +102 -4
  385. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +72 -54
  386. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.h +21 -4
  387. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +5 -4
  388. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.c +4 -1
  389. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.h +6 -4
  390. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb.h +17 -4
  391. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.c +18 -11
  392. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.h +10 -4
  393. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +24 -4
  394. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +18 -13
  395. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.h +8 -4
  396. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb.h +444 -0
  397. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +135 -0
  398. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.h +38 -0
  399. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +15 -4
  400. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +14 -10
  401. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.h +7 -4
  402. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +21 -4
  403. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +14 -10
  404. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.h +7 -4
  405. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +9 -4
  406. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +11 -7
  407. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.h +7 -4
  408. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +197 -4
  409. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +137 -113
  410. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.h +26 -4
  411. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +7 -4
  412. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.c +7 -4
  413. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.h +6 -4
  414. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +77 -4
  415. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.c +25 -11
  416. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.h +6 -4
  417. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +21 -4
  418. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +24 -17
  419. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.h +10 -4
  420. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +5 -4
  421. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.c +4 -1
  422. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.h +6 -4
  423. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +15 -4
  424. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +11 -8
  425. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.h +6 -4
  426. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +7 -4
  427. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.c +7 -4
  428. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.h +6 -4
  429. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb.h +105 -0
  430. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.c +51 -0
  431. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.h +32 -0
  432. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +5 -4
  433. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.c +3 -1
  434. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.h +5 -4
  435. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +59 -4
  436. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +42 -32
  437. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.h +13 -4
  438. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +17 -4
  439. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c +18 -13
  440. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.h +8 -4
  441. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +179 -28
  442. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +79 -61
  443. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.h +12 -4
  444. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +49 -11
  445. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c +17 -11
  446. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.h +7 -4
  447. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +42 -4
  448. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +32 -26
  449. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.h +9 -4
  450. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb.h +5 -4
  451. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.c +4 -1
  452. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.h +6 -4
  453. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +337 -22
  454. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +102 -61
  455. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.h +21 -4
  456. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +14 -4
  457. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +12 -8
  458. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.h +7 -4
  459. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +47 -5
  460. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +32 -25
  461. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.h +10 -4
  462. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +7 -4
  463. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +7 -4
  464. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.h +6 -4
  465. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb.h +14 -4
  466. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.c +14 -8
  467. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.h +9 -4
  468. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb.h +142 -0
  469. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.c +55 -0
  470. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.h +32 -0
  471. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +40 -4
  472. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c +13 -7
  473. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.h +6 -4
  474. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb.h +5 -4
  475. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.c +8 -1
  476. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.h +10 -4
  477. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +12 -4
  478. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +9 -5
  479. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.h +7 -4
  480. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb.h +12 -4
  481. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.c +8 -5
  482. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.h +6 -4
  483. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb.h +7 -4
  484. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.c +7 -4
  485. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.h +6 -4
  486. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb.h +7 -4
  487. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.c +7 -4
  488. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.h +6 -4
  489. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +11 -4
  490. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +15 -10
  491. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.h +8 -4
  492. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb.h +5 -4
  493. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.c +5 -1
  494. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.h +7 -4
  495. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb.h +14 -4
  496. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.c +12 -8
  497. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.h +7 -4
  498. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb.h +12 -4
  499. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.c +9 -5
  500. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.h +7 -4
  501. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb.h +22 -4
  502. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.c +20 -14
  503. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.h +9 -4
  504. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb.h +18 -4
  505. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.c +19 -10
  506. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.h +12 -4
  507. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +17 -4
  508. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +18 -11
  509. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.h +10 -4
  510. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb.h +9 -4
  511. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.c +10 -5
  512. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.h +8 -4
  513. data/src/core/ext/upb-gen/envoy/type/v3/http.upb.h +5 -4
  514. data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.c +3 -1
  515. data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.h +5 -4
  516. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb.h +5 -4
  517. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.c +4 -1
  518. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.h +6 -4
  519. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb.h +5 -4
  520. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.c +5 -1
  521. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.h +7 -4
  522. data/src/core/ext/upb-gen/envoy/type/v3/range.upb.h +5 -4
  523. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.c +6 -1
  524. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.h +8 -4
  525. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb.h +9 -4
  526. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.c +9 -5
  527. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.h +7 -4
  528. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb.h +5 -4
  529. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.c +3 -1
  530. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.h +5 -4
  531. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb.h +5 -4
  532. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.c +4 -1
  533. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.h +6 -4
  534. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb.h +9 -4
  535. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.c +8 -5
  536. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.h +6 -4
  537. data/src/core/ext/upb-gen/google/api/annotations.upb.h +7 -6
  538. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.c +5 -2
  539. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.h +5 -4
  540. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +103 -4
  541. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +82 -56
  542. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.h +18 -4
  543. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +482 -26
  544. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +160 -68
  545. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.h +23 -4
  546. data/src/core/ext/upb-gen/google/api/http.upb.h +18 -4
  547. data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +13 -8
  548. data/src/core/ext/upb-gen/google/api/http.upb_minitable.h +8 -4
  549. data/src/core/ext/upb-gen/google/api/httpbody.upb.h +10 -4
  550. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.c +7 -4
  551. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.h +6 -4
  552. data/src/core/ext/upb-gen/google/protobuf/any.upb.h +6 -4
  553. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.c +4 -1
  554. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.h +6 -4
  555. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +202 -4
  556. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +241 -206
  557. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +55 -21
  558. data/src/core/ext/upb-gen/google/protobuf/duration.upb.h +6 -4
  559. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.c +4 -1
  560. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.h +6 -4
  561. data/src/core/ext/upb-gen/google/protobuf/empty.upb.h +6 -4
  562. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.c +4 -1
  563. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.h +6 -4
  564. data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +27 -4
  565. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.c +20 -14
  566. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.h +9 -4
  567. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb.h +6 -4
  568. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.c +4 -1
  569. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.h +6 -4
  570. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb.h +6 -4
  571. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.c +12 -1
  572. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.h +14 -4
  573. data/src/core/ext/upb-gen/google/rpc/status.upb.h +10 -4
  574. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.c +7 -4
  575. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.h +6 -4
  576. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +13 -4
  577. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.c +9 -5
  578. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.h +7 -4
  579. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +63 -4
  580. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +51 -37
  581. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.h +17 -4
  582. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h +10 -4
  583. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +9 -5
  584. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.h +7 -4
  585. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb.h +6 -4
  586. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.c +5 -1
  587. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.h +7 -4
  588. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +29 -4
  589. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +31 -20
  590. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.h +14 -4
  591. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +12 -4
  592. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +9 -4
  593. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.h +8 -4
  594. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +57 -4
  595. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +33 -22
  596. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.h +14 -4
  597. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb.h +15 -14
  598. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.c +22 -12
  599. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.h +8 -4
  600. data/src/core/ext/upb-gen/udpa/annotations/security.upb.h +7 -6
  601. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.c +10 -6
  602. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.h +6 -4
  603. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb.h +5 -4
  604. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.c +4 -1
  605. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.h +5 -4
  606. data/src/core/ext/upb-gen/udpa/annotations/status.upb.h +7 -6
  607. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.c +10 -6
  608. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.h +6 -4
  609. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb.h +7 -6
  610. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.c +10 -6
  611. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.h +6 -4
  612. data/src/core/ext/upb-gen/validate/validate.upb.h +89 -6
  613. data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +116 -87
  614. data/src/core/ext/upb-gen/validate/validate.upb_minitable.h +29 -5
  615. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb.h +15 -14
  616. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.c +22 -12
  617. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.h +8 -4
  618. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb.h +7 -6
  619. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.c +10 -6
  620. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.h +6 -4
  621. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb.h +5 -4
  622. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.c +4 -1
  623. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.h +5 -4
  624. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb.h +11 -10
  625. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.c +20 -11
  626. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.h +9 -4
  627. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb.h +7 -6
  628. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.c +10 -6
  629. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.h +6 -4
  630. data/src/core/ext/upb-gen/xds/core/v3/authority.upb.h +5 -4
  631. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.c +4 -1
  632. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.h +6 -4
  633. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb.h +7 -4
  634. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.c +7 -4
  635. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.h +6 -4
  636. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb.h +11 -4
  637. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.c +12 -8
  638. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.h +7 -4
  639. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +11 -4
  640. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.c +8 -4
  641. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.h +7 -4
  642. data/src/core/ext/upb-gen/xds/core/v3/extension.upb.h +7 -4
  643. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.c +7 -4
  644. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.h +6 -4
  645. data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +9 -4
  646. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +8 -5
  647. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.h +6 -4
  648. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +14 -4
  649. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +12 -8
  650. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.h +7 -4
  651. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb.h +7 -4
  652. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.c +7 -4
  653. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.h +6 -4
  654. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +23 -4
  655. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.c +12 -6
  656. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.h +9 -4
  657. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb.h +7 -4
  658. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.c +7 -4
  659. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.h +6 -4
  660. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +7 -4
  661. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +7 -4
  662. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.h +6 -4
  663. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb.h +12 -4
  664. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.c +11 -7
  665. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.h +7 -4
  666. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb.h +5 -4
  667. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.c +4 -1
  668. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.h +6 -4
  669. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +17 -4
  670. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +12 -8
  671. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.h +7 -4
  672. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +63 -4
  673. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +55 -43
  674. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.h +15 -4
  675. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb.h +41 -4
  676. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.c +30 -22
  677. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.h +11 -4
  678. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb.h +7 -4
  679. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.c +8 -4
  680. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.h +7 -4
  681. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +12 -4
  682. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.c +11 -7
  683. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.h +7 -4
  684. data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +13 -4
  685. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c +13 -9
  686. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.h +7 -4
  687. data/src/core/ext/upb-gen/xds/type/v3/range.upb.h +6 -4
  688. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.c +6 -1
  689. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.h +8 -4
  690. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb.h +7 -4
  691. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.c +7 -4
  692. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.h +6 -4
  693. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.c +2 -1
  694. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.h +5 -4
  695. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.c +2 -1
  696. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.h +5 -4
  697. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.c +2 -1
  698. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.h +5 -4
  699. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.c +13 -11
  700. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.h +5 -4
  701. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.c +2 -1
  702. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.h +5 -4
  703. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.c +2 -1
  704. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.h +5 -4
  705. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.c +2 -1
  706. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.h +5 -4
  707. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.c +2 -1
  708. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.h +5 -4
  709. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.c +2 -1
  710. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.h +5 -4
  711. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.c +8 -5
  712. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.h +5 -4
  713. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.c +2 -1
  714. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.h +5 -4
  715. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.c +2 -1
  716. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.h +5 -4
  717. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.c +2 -1
  718. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.h +5 -4
  719. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.c +2 -1
  720. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.h +5 -4
  721. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +2 -1
  722. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +5 -4
  723. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +2 -1
  724. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +5 -4
  725. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.c +420 -414
  726. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.h +5 -4
  727. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.c +2 -1
  728. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.h +5 -4
  729. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.c +2 -1
  730. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.h +5 -4
  731. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.c +2 -1
  732. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.h +5 -4
  733. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.c +2 -1
  734. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.h +5 -4
  735. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.c +2 -1
  736. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.h +5 -4
  737. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.c +163 -154
  738. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.h +10 -4
  739. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.c +2 -1
  740. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.h +5 -4
  741. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.c +2 -1
  742. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.h +5 -4
  743. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.c +2 -1
  744. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.h +5 -4
  745. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.c +2 -1
  746. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.h +5 -4
  747. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.c +2 -1
  748. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.h +5 -4
  749. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.c +2 -1
  750. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.h +5 -4
  751. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.c +2 -1
  752. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.h +5 -4
  753. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.c +2 -1
  754. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.h +5 -4
  755. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.c +272 -262
  756. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.h +5 -4
  757. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.c +2 -1
  758. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.h +5 -4
  759. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.c +2 -1
  760. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.h +5 -4
  761. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.c +46 -0
  762. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.h +33 -0
  763. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.c +31 -20
  764. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.h +20 -4
  765. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.c +2 -1
  766. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.h +5 -4
  767. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.c +2 -1
  768. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.h +5 -4
  769. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.c +2 -1
  770. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.h +5 -4
  771. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +2 -1
  772. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +5 -4
  773. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.c +2 -1
  774. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.h +5 -4
  775. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.c +2 -1
  776. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.h +5 -4
  777. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.c +2 -1
  778. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.h +5 -4
  779. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.c +60 -66
  780. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.h +5 -9
  781. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.c +75 -64
  782. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.h +5 -4
  783. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.c +2 -1
  784. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.h +5 -4
  785. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.c +2 -1
  786. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.h +5 -4
  787. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.c +2 -1
  788. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.h +5 -4
  789. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.c +51 -49
  790. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.h +5 -4
  791. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.c +119 -101
  792. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.h +10 -4
  793. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.c +2 -1
  794. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.h +5 -4
  795. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.c +919 -899
  796. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.h +15 -4
  797. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.c +2 -1
  798. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.h +5 -4
  799. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.c +2 -1
  800. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.h +5 -4
  801. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.c +2 -1
  802. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.h +5 -4
  803. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.c +2 -1
  804. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.h +5 -4
  805. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.c +2 -1
  806. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.h +5 -4
  807. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.c +2 -1
  808. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.h +5 -4
  809. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.c +2 -1
  810. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.h +5 -4
  811. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.c +2 -1
  812. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.h +5 -4
  813. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.c +2 -1
  814. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.h +5 -4
  815. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.c +17 -19
  816. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.h +5 -4
  817. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.c +2 -1
  818. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.h +5 -4
  819. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.c +2 -1
  820. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.h +5 -4
  821. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.c +2 -1
  822. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.h +5 -4
  823. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +2 -1
  824. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +5 -4
  825. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +2 -1
  826. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +5 -4
  827. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +2 -1
  828. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +5 -4
  829. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.c +87 -0
  830. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.h +48 -0
  831. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +35 -34
  832. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +5 -4
  833. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.c +2 -1
  834. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.h +5 -4
  835. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +2 -1
  836. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +5 -4
  837. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +462 -458
  838. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +5 -4
  839. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +2 -1
  840. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +5 -4
  841. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.c +50 -0
  842. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.h +33 -0
  843. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +2 -1
  844. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +5 -4
  845. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +97 -96
  846. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +5 -4
  847. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +2 -1
  848. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +5 -4
  849. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +204 -192
  850. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +5 -4
  851. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +21 -18
  852. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +5 -4
  853. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.c +2 -1
  854. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.h +5 -4
  855. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.c +2 -1
  856. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.h +5 -4
  857. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.c +150 -136
  858. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.h +10 -4
  859. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.c +2 -1
  860. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.h +5 -4
  861. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.c +25 -23
  862. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.h +5 -4
  863. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.c +2 -1
  864. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.h +5 -4
  865. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.c +2 -1
  866. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.h +5 -4
  867. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.c +41 -0
  868. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.h +33 -0
  869. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.c +28 -20
  870. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.h +5 -4
  871. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.c +2 -1
  872. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.h +5 -4
  873. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.c +2 -1
  874. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.h +5 -4
  875. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.c +2 -1
  876. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.h +5 -4
  877. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.c +2 -1
  878. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.h +5 -4
  879. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.c +2 -1
  880. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.h +5 -4
  881. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.c +2 -1
  882. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.h +5 -4
  883. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.c +2 -1
  884. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.h +5 -4
  885. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.c +2 -1
  886. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.h +5 -4
  887. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.c +2 -1
  888. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.h +5 -4
  889. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.c +2 -1
  890. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.h +5 -4
  891. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.c +2 -1
  892. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.h +5 -4
  893. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.c +2 -1
  894. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.h +5 -4
  895. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.c +2 -1
  896. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.h +5 -4
  897. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.c +2 -1
  898. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.h +5 -4
  899. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.c +2 -1
  900. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.h +5 -4
  901. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.c +2 -1
  902. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.h +5 -4
  903. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.c +2 -1
  904. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.h +5 -4
  905. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.c +2 -1
  906. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.h +5 -4
  907. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.c +2 -1
  908. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.h +5 -4
  909. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.c +2 -1
  910. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.h +5 -4
  911. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.c +2 -1
  912. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.h +5 -4
  913. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.c +2 -1
  914. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.h +5 -4
  915. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.c +110 -108
  916. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.h +5 -4
  917. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.c +103 -79
  918. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.h +15 -4
  919. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.c +2 -1
  920. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.h +5 -4
  921. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.c +2 -1
  922. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.h +5 -4
  923. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.c +2 -1
  924. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.h +5 -4
  925. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +486 -484
  926. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.h +5 -4
  927. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.c +2 -1
  928. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.h +5 -4
  929. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.c +2 -1
  930. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.h +5 -4
  931. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.c +2 -1
  932. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.h +5 -4
  933. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.c +2 -1
  934. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.h +5 -4
  935. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.c +2 -1
  936. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.h +5 -4
  937. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.c +2 -1
  938. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.h +5 -4
  939. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +2 -1
  940. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +5 -4
  941. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.c +2 -1
  942. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.h +5 -4
  943. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.c +2 -1
  944. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.h +5 -4
  945. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.c +2 -1
  946. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.h +5 -4
  947. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.c +2 -1
  948. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.h +5 -4
  949. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.c +2 -1
  950. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.h +5 -4
  951. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.c +2 -1
  952. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.h +5 -4
  953. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.c +2 -1
  954. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.h +5 -4
  955. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.c +2 -1
  956. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.h +5 -4
  957. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.c +2 -1
  958. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.h +5 -4
  959. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.c +2 -1
  960. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.h +5 -4
  961. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.c +2 -1
  962. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.h +5 -4
  963. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.c +2 -1
  964. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.h +5 -4
  965. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.c +2 -1
  966. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.h +5 -4
  967. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.c +2 -1
  968. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.h +5 -4
  969. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.c +2 -1
  970. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.h +5 -4
  971. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.c +2 -1
  972. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.h +5 -4
  973. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.c +2 -1
  974. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.h +5 -4
  975. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.c +2 -1
  976. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.h +5 -4
  977. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.c +2 -1
  978. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.h +5 -4
  979. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.c +2 -1
  980. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.h +5 -4
  981. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.c +2 -1
  982. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.h +5 -4
  983. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.c +2 -1
  984. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.h +5 -4
  985. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.c +2 -1
  986. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.h +5 -4
  987. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.c +2 -1
  988. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.h +5 -4
  989. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.c +2 -1
  990. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.h +5 -4
  991. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.c +2 -1
  992. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.h +5 -4
  993. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.c +2 -1
  994. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.h +5 -4
  995. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.c +2 -1
  996. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.h +5 -4
  997. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.c +2 -1
  998. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h +5 -4
  999. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c +2 -1
  1000. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h +5 -4
  1001. data/src/core/filter/blackboard.cc +33 -0
  1002. data/src/core/filter/blackboard.h +70 -0
  1003. data/src/core/filter/filter_args.h +112 -0
  1004. data/src/core/handshaker/endpoint_info/endpoint_info_handshaker.cc +4 -5
  1005. data/src/core/handshaker/endpoint_info/endpoint_info_handshaker.h +1 -1
  1006. data/src/core/handshaker/handshaker.cc +29 -43
  1007. data/src/core/handshaker/handshaker.h +8 -10
  1008. data/src/core/handshaker/handshaker_registry.cc +1 -2
  1009. data/src/core/handshaker/handshaker_registry.h +2 -2
  1010. data/src/core/handshaker/http_connect/http_connect_handshaker.cc +17 -16
  1011. data/src/core/handshaker/http_connect/http_connect_handshaker.h +1 -1
  1012. data/src/core/handshaker/http_connect/http_proxy_mapper.cc +38 -41
  1013. data/src/core/handshaker/http_connect/http_proxy_mapper.h +7 -8
  1014. data/src/core/handshaker/http_connect/xds_http_proxy_mapper.cc +57 -0
  1015. data/src/core/handshaker/http_connect/xds_http_proxy_mapper.h +46 -0
  1016. data/src/core/handshaker/proxy_mapper.h +6 -7
  1017. data/src/core/handshaker/proxy_mapper_registry.cc +7 -8
  1018. data/src/core/handshaker/proxy_mapper_registry.h +6 -7
  1019. data/src/core/handshaker/security/secure_endpoint.cc +17 -19
  1020. data/src/core/handshaker/security/secure_endpoint.h +2 -3
  1021. data/src/core/handshaker/security/security_handshaker.cc +76 -96
  1022. data/src/core/handshaker/security/security_handshaker.h +3 -4
  1023. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +16 -16
  1024. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.h +1 -1
  1025. data/src/core/lib/address_utils/parse_address.cc +3 -4
  1026. data/src/core/lib/address_utils/parse_address.h +2 -4
  1027. data/src/core/lib/address_utils/sockaddr_utils.cc +4 -6
  1028. data/src/core/lib/address_utils/sockaddr_utils.h +1 -3
  1029. data/src/core/lib/channel/call_finalization.h +2 -2
  1030. data/src/core/lib/channel/channel_args.cc +17 -19
  1031. data/src/core/lib/channel/channel_args.h +19 -21
  1032. data/src/core/lib/channel/channel_args_preconditioning.cc +2 -2
  1033. data/src/core/lib/channel/channel_args_preconditioning.h +4 -4
  1034. data/src/core/lib/channel/channel_stack.cc +5 -5
  1035. data/src/core/lib/channel/channel_stack.h +17 -18
  1036. data/src/core/lib/channel/channel_stack_builder.cc +2 -2
  1037. data/src/core/lib/channel/channel_stack_builder.h +3 -4
  1038. data/src/core/lib/channel/channel_stack_builder_impl.cc +5 -8
  1039. data/src/core/lib/channel/channel_stack_builder_impl.h +15 -3
  1040. data/src/core/lib/channel/connected_channel.cc +10 -13
  1041. data/src/core/lib/channel/promise_based_filter.cc +184 -223
  1042. data/src/core/lib/channel/promise_based_filter.h +99 -145
  1043. data/src/core/lib/channel/status_util.cc +1 -3
  1044. data/src/core/lib/channel/status_util.h +3 -3
  1045. data/src/core/lib/compression/compression.cc +5 -6
  1046. data/src/core/lib/compression/compression_internal.cc +14 -17
  1047. data/src/core/lib/compression/compression_internal.h +6 -8
  1048. data/src/core/lib/compression/message_compress.cc +3 -6
  1049. data/src/core/lib/debug/trace.cc +5 -6
  1050. data/src/core/lib/debug/trace_flags.cc +8 -20
  1051. data/src/core/lib/debug/trace_flags.h +3 -5
  1052. data/src/core/lib/debug/trace_impl.h +8 -2
  1053. data/src/core/lib/event_engine/ares_resolver.cc +109 -82
  1054. data/src/core/lib/event_engine/ares_resolver.h +13 -29
  1055. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +4 -8
  1056. data/src/core/lib/event_engine/cf_engine/cf_engine.h +3 -5
  1057. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +21 -10
  1058. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +6 -10
  1059. data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +3 -5
  1060. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +11 -13
  1061. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +5 -9
  1062. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +7 -10
  1063. data/src/core/lib/event_engine/channel_args_endpoint_config.h +7 -9
  1064. data/src/core/lib/event_engine/common_closures.h +5 -7
  1065. data/src/core/lib/event_engine/default_event_engine.cc +69 -41
  1066. data/src/core/lib/event_engine/default_event_engine.h +27 -36
  1067. data/src/core/lib/event_engine/default_event_engine_factory.cc +8 -14
  1068. data/src/core/lib/event_engine/default_event_engine_factory.h +4 -6
  1069. data/src/core/lib/event_engine/event_engine.cc +4 -6
  1070. data/src/core/lib/event_engine/extensions/can_track_errors.h +4 -6
  1071. data/src/core/lib/event_engine/extensions/chaotic_good_extension.h +3 -6
  1072. data/src/core/lib/event_engine/extensions/supports_fd.h +22 -7
  1073. data/src/core/lib/event_engine/extensions/tcp_trace.h +2 -5
  1074. data/src/core/lib/event_engine/forkable.cc +5 -8
  1075. data/src/core/lib/event_engine/forkable.h +4 -7
  1076. data/src/core/lib/event_engine/grpc_polled_fd.h +5 -8
  1077. data/src/core/lib/event_engine/handle_containers.h +4 -7
  1078. data/src/core/lib/event_engine/memory_allocator_factory.h +5 -8
  1079. data/src/core/lib/event_engine/nameser.h +1 -1
  1080. data/src/core/lib/event_engine/poller.h +4 -6
  1081. data/src/core/lib/event_engine/posix.h +2 -4
  1082. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +14 -62
  1083. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +10 -13
  1084. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +21 -72
  1085. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +6 -9
  1086. data/src/core/lib/event_engine/posix_engine/event_poller.h +5 -8
  1087. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +6 -9
  1088. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +4 -6
  1089. data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +6 -10
  1090. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +4 -7
  1091. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +3 -6
  1092. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +7 -11
  1093. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +4 -7
  1094. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +4 -7
  1095. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.h +4 -7
  1096. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +43 -27
  1097. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +10 -14
  1098. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +53 -34
  1099. data/src/core/lib/event_engine/posix_engine/posix_engine.h +18 -20
  1100. data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +5 -7
  1101. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +10 -14
  1102. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +16 -17
  1103. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +6 -10
  1104. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +3 -6
  1105. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +13 -17
  1106. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +10 -14
  1107. data/src/core/lib/event_engine/posix_engine/timer.cc +8 -10
  1108. data/src/core/lib/event_engine/posix_engine/timer.h +9 -13
  1109. data/src/core/lib/event_engine/posix_engine/timer_heap.cc +4 -7
  1110. data/src/core/lib/event_engine/posix_engine/timer_heap.h +4 -6
  1111. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +12 -20
  1112. data/src/core/lib/event_engine/posix_engine/timer_manager.h +9 -13
  1113. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +9 -16
  1114. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +27 -30
  1115. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +7 -10
  1116. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +4 -7
  1117. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +6 -9
  1118. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +4 -7
  1119. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +4 -6
  1120. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +4 -7
  1121. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +4 -6
  1122. data/src/core/lib/event_engine/query_extensions.h +4 -6
  1123. data/src/core/lib/event_engine/ref_counted_dns_resolver_interface.h +5 -9
  1124. data/src/core/lib/event_engine/resolved_address.cc +7 -9
  1125. data/src/core/lib/event_engine/resolved_address_internal.h +2 -4
  1126. data/src/core/lib/event_engine/shim.cc +2 -4
  1127. data/src/core/lib/event_engine/shim.h +2 -4
  1128. data/src/core/lib/event_engine/slice.cc +5 -10
  1129. data/src/core/lib/event_engine/slice_buffer.cc +3 -6
  1130. data/src/core/lib/event_engine/tcp_socket_utils.cc +9 -18
  1131. data/src/core/lib/event_engine/tcp_socket_utils.h +8 -10
  1132. data/src/core/lib/event_engine/thread_local.cc +2 -4
  1133. data/src/core/lib/event_engine/thread_local.h +2 -4
  1134. data/src/core/lib/event_engine/thread_pool/thread_count.cc +4 -9
  1135. data/src/core/lib/event_engine/thread_pool/thread_count.h +9 -24
  1136. data/src/core/lib/event_engine/thread_pool/thread_pool.h +4 -8
  1137. data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +4 -7
  1138. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +15 -21
  1139. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +9 -13
  1140. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +7 -9
  1141. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +7 -9
  1142. data/src/core/lib/event_engine/time_util.cc +4 -6
  1143. data/src/core/lib/event_engine/time_util.h +3 -6
  1144. data/src/core/lib/event_engine/utils.cc +21 -9
  1145. data/src/core/lib/event_engine/utils.h +12 -8
  1146. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +128 -105
  1147. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.h +6 -10
  1148. data/src/core/lib/event_engine/windows/iocp.cc +6 -9
  1149. data/src/core/lib/event_engine/windows/iocp.h +3 -6
  1150. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.cc +6 -10
  1151. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.h +2 -4
  1152. data/src/core/lib/event_engine/windows/win_socket.cc +6 -9
  1153. data/src/core/lib/event_engine/windows/win_socket.h +6 -9
  1154. data/src/core/lib/event_engine/windows/windows_endpoint.cc +30 -19
  1155. data/src/core/lib/event_engine/windows/windows_endpoint.h +4 -6
  1156. data/src/core/lib/event_engine/windows/windows_engine.cc +13 -15
  1157. data/src/core/lib/event_engine/windows/windows_engine.h +10 -13
  1158. data/src/core/lib/event_engine/windows/windows_listener.cc +4 -7
  1159. data/src/core/lib/event_engine/windows/windows_listener.h +6 -9
  1160. data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +5 -7
  1161. data/src/core/lib/event_engine/work_queue/basic_work_queue.h +5 -9
  1162. data/src/core/lib/event_engine/work_queue/work_queue.h +4 -7
  1163. data/src/core/lib/experiments/config.cc +21 -22
  1164. data/src/core/lib/experiments/config.h +1 -2
  1165. data/src/core/lib/experiments/experiments.cc +271 -177
  1166. data/src/core/lib/experiments/experiments.h +119 -80
  1167. data/src/core/lib/iomgr/buffer_list.cc +4 -6
  1168. data/src/core/lib/iomgr/buffer_list.h +23 -23
  1169. data/src/core/lib/iomgr/call_combiner.cc +2 -4
  1170. data/src/core/lib/iomgr/call_combiner.h +12 -16
  1171. data/src/core/lib/iomgr/cfstream_handle.cc +8 -14
  1172. data/src/core/lib/iomgr/cfstream_handle.h +1 -1
  1173. data/src/core/lib/iomgr/closure.cc +2 -2
  1174. data/src/core/lib/iomgr/closure.h +12 -18
  1175. data/src/core/lib/iomgr/combiner.cc +10 -15
  1176. data/src/core/lib/iomgr/combiner.h +2 -3
  1177. data/src/core/lib/iomgr/endpoint.h +1 -2
  1178. data/src/core/lib/iomgr/endpoint_cfstream.cc +19 -26
  1179. data/src/core/lib/iomgr/endpoint_pair_posix.cc +2 -5
  1180. data/src/core/lib/iomgr/endpoint_pair_windows.cc +1 -2
  1181. data/src/core/lib/iomgr/error.cc +8 -10
  1182. data/src/core/lib/iomgr/error.h +6 -9
  1183. data/src/core/lib/iomgr/error_cfstream.cc +1 -3
  1184. data/src/core/lib/iomgr/ev_apple.cc +16 -22
  1185. data/src/core/lib/iomgr/ev_epoll1_linux.cc +54 -94
  1186. data/src/core/lib/iomgr/ev_poll_posix.cc +20 -29
  1187. data/src/core/lib/iomgr/ev_posix.cc +59 -50
  1188. data/src/core/lib/iomgr/ev_posix.h +1 -7
  1189. data/src/core/lib/iomgr/event_engine_shims/closure.cc +10 -14
  1190. data/src/core/lib/iomgr/event_engine_shims/closure.h +1 -2
  1191. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +14 -18
  1192. data/src/core/lib/iomgr/event_engine_shims/endpoint.h +2 -2
  1193. data/src/core/lib/iomgr/event_engine_shims/tcp_client.cc +2 -4
  1194. data/src/core/lib/iomgr/exec_ctx.cc +11 -21
  1195. data/src/core/lib/iomgr/exec_ctx.h +22 -145
  1196. data/src/core/lib/iomgr/executor.cc +49 -52
  1197. data/src/core/lib/iomgr/executor.h +1 -1
  1198. data/src/core/lib/iomgr/fork_posix.cc +5 -7
  1199. data/src/core/lib/iomgr/fork_windows.cc +2 -3
  1200. data/src/core/lib/iomgr/internal_errqueue.cc +2 -4
  1201. data/src/core/lib/iomgr/iocp_windows.cc +4 -7
  1202. data/src/core/lib/iomgr/iomgr.cc +7 -9
  1203. data/src/core/lib/iomgr/iomgr.h +1 -2
  1204. data/src/core/lib/iomgr/iomgr_internal.cc +1 -2
  1205. data/src/core/lib/iomgr/iomgr_internal.h +1 -2
  1206. data/src/core/lib/iomgr/iomgr_posix.cc +2 -1
  1207. data/src/core/lib/iomgr/iomgr_windows.cc +4 -5
  1208. data/src/core/lib/iomgr/lockfree_event.cc +10 -15
  1209. data/src/core/lib/iomgr/nameser.h +1 -1
  1210. data/src/core/lib/iomgr/polling_entity.cc +13 -7
  1211. data/src/core/lib/iomgr/pollset_set_windows.cc +1 -2
  1212. data/src/core/lib/iomgr/pollset_windows.cc +2 -4
  1213. data/src/core/lib/iomgr/port.h +2 -2
  1214. data/src/core/lib/iomgr/resolve_address.cc +3 -5
  1215. data/src/core/lib/iomgr/resolve_address.h +4 -6
  1216. data/src/core/lib/iomgr/resolve_address_impl.h +1 -2
  1217. data/src/core/lib/iomgr/resolve_address_posix.cc +6 -10
  1218. data/src/core/lib/iomgr/resolve_address_posix.h +2 -2
  1219. data/src/core/lib/iomgr/resolve_address_windows.cc +8 -13
  1220. data/src/core/lib/iomgr/resolve_address_windows.h +2 -2
  1221. data/src/core/lib/iomgr/resolved_address.h +1 -2
  1222. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +3 -6
  1223. data/src/core/lib/iomgr/socket_mutator.cc +1 -2
  1224. data/src/core/lib/iomgr/socket_mutator.h +1 -2
  1225. data/src/core/lib/iomgr/socket_utils.h +1 -2
  1226. data/src/core/lib/iomgr/socket_utils_common_posix.cc +5 -7
  1227. data/src/core/lib/iomgr/socket_utils_linux.cc +1 -3
  1228. data/src/core/lib/iomgr/socket_utils_posix.cc +6 -8
  1229. data/src/core/lib/iomgr/socket_utils_windows.cc +1 -3
  1230. data/src/core/lib/iomgr/socket_windows.cc +3 -5
  1231. data/src/core/lib/iomgr/socket_windows.h +1 -2
  1232. data/src/core/lib/iomgr/tcp_client_cfstream.cc +12 -19
  1233. data/src/core/lib/iomgr/tcp_client_posix.cc +13 -19
  1234. data/src/core/lib/iomgr/tcp_client_windows.cc +6 -9
  1235. data/src/core/lib/iomgr/tcp_posix.cc +49 -87
  1236. data/src/core/lib/iomgr/tcp_posix.h +1 -1
  1237. data/src/core/lib/iomgr/tcp_server.h +2 -2
  1238. data/src/core/lib/iomgr/tcp_server_posix.cc +17 -25
  1239. data/src/core/lib/iomgr/tcp_server_utils_posix.h +2 -3
  1240. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +3 -5
  1241. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +4 -6
  1242. data/src/core/lib/iomgr/tcp_server_windows.cc +11 -14
  1243. data/src/core/lib/iomgr/tcp_windows.cc +8 -18
  1244. data/src/core/lib/iomgr/timer.h +2 -2
  1245. data/src/core/lib/iomgr/timer_generic.cc +55 -76
  1246. data/src/core/lib/iomgr/timer_heap.cc +2 -3
  1247. data/src/core/lib/iomgr/timer_manager.cc +9 -20
  1248. data/src/core/lib/iomgr/timer_manager.h +1 -2
  1249. data/src/core/lib/iomgr/unix_sockets_posix.cc +3 -5
  1250. data/src/core/lib/iomgr/unix_sockets_posix.h +3 -4
  1251. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +0 -4
  1252. data/src/core/lib/iomgr/vsock.cc +2 -5
  1253. data/src/core/lib/iomgr/vsock.h +3 -4
  1254. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +2 -4
  1255. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +3 -4
  1256. data/src/core/lib/promise/activity.cc +4 -4
  1257. data/src/core/lib/promise/activity.h +43 -25
  1258. data/src/core/lib/promise/all_ok.h +40 -4
  1259. data/src/core/lib/promise/arena_promise.h +2 -4
  1260. data/src/core/lib/promise/cancel_callback.h +4 -4
  1261. data/src/core/lib/promise/context.h +7 -9
  1262. data/src/core/lib/promise/detail/basic_seq.h +33 -19
  1263. data/src/core/lib/promise/detail/join_state.h +64 -117
  1264. data/src/core/lib/promise/detail/promise_factory.h +92 -33
  1265. data/src/core/lib/promise/detail/promise_like.h +34 -15
  1266. data/src/core/lib/promise/detail/seq_state.h +1206 -1676
  1267. data/src/core/lib/promise/detail/status.h +5 -5
  1268. data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +2 -3
  1269. data/src/core/lib/promise/for_each.h +31 -30
  1270. data/src/core/lib/promise/if.h +56 -28
  1271. data/src/core/lib/promise/interceptor_list.h +29 -41
  1272. data/src/core/lib/promise/latch.h +31 -33
  1273. data/src/core/lib/promise/loop.h +70 -22
  1274. data/src/core/lib/promise/map.h +167 -21
  1275. data/src/core/lib/promise/observable.h +3 -4
  1276. data/src/core/lib/promise/party.cc +295 -136
  1277. data/src/core/lib/promise/party.h +376 -362
  1278. data/src/core/lib/promise/pipe.h +18 -21
  1279. data/src/core/lib/promise/poll.h +27 -13
  1280. data/src/core/lib/promise/prioritized_race.h +17 -23
  1281. data/src/core/lib/promise/promise.h +7 -9
  1282. data/src/core/lib/promise/race.h +6 -14
  1283. data/src/core/lib/promise/seq.h +58 -45
  1284. data/src/core/lib/promise/sleep.cc +6 -6
  1285. data/src/core/lib/promise/sleep.h +19 -6
  1286. data/src/core/lib/promise/status_flag.h +28 -7
  1287. data/src/core/lib/promise/try_join.h +124 -10
  1288. data/src/core/lib/promise/try_seq.h +84 -59
  1289. data/src/core/lib/resource_quota/api.cc +4 -6
  1290. data/src/core/lib/resource_quota/api.h +2 -3
  1291. data/src/core/lib/resource_quota/arena.cc +3 -4
  1292. data/src/core/lib/resource_quota/arena.h +91 -5
  1293. data/src/core/lib/resource_quota/connection_quota.cc +2 -3
  1294. data/src/core/lib/resource_quota/connection_quota.h +9 -6
  1295. data/src/core/lib/resource_quota/memory_quota.cc +84 -79
  1296. data/src/core/lib/resource_quota/memory_quota.h +27 -21
  1297. data/src/core/lib/resource_quota/periodic_update.cc +6 -7
  1298. data/src/core/lib/resource_quota/periodic_update.h +2 -4
  1299. data/src/core/lib/resource_quota/resource_quota.h +7 -8
  1300. data/src/core/lib/resource_quota/thread_quota.cc +2 -3
  1301. data/src/core/lib/resource_quota/thread_quota.h +5 -6
  1302. data/src/core/lib/security/authorization/audit_logging.cc +5 -7
  1303. data/src/core/lib/security/authorization/audit_logging.h +5 -6
  1304. data/src/core/lib/security/authorization/authorization_engine.h +3 -3
  1305. data/src/core/lib/security/authorization/authorization_policy_provider.h +3 -4
  1306. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +1 -1
  1307. data/src/core/lib/security/authorization/evaluate_args.cc +7 -9
  1308. data/src/core/lib/security/authorization/evaluate_args.h +6 -7
  1309. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +2 -4
  1310. data/src/core/lib/security/authorization/grpc_authorization_engine.h +2 -3
  1311. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +19 -29
  1312. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +8 -9
  1313. data/src/core/lib/security/authorization/matchers.cc +2 -4
  1314. data/src/core/lib/security/authorization/matchers.h +5 -7
  1315. data/src/core/lib/security/authorization/rbac_policy.cc +3 -3
  1316. data/src/core/lib/security/authorization/rbac_policy.h +6 -8
  1317. data/src/core/lib/security/authorization/stdout_logger.cc +4 -5
  1318. data/src/core/lib/security/authorization/stdout_logger.h +4 -4
  1319. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +6 -7
  1320. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +2 -2
  1321. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +2 -3
  1322. data/src/core/lib/security/context/security_context.cc +6 -8
  1323. data/src/core/lib/security/context/security_context.h +16 -10
  1324. data/src/core/lib/security/credentials/alts/alts_credentials.cc +5 -5
  1325. data/src/core/lib/security/credentials/alts/alts_credentials.h +8 -4
  1326. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +2 -4
  1327. data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +1 -2
  1328. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +1 -2
  1329. data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +3 -5
  1330. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +1 -2
  1331. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +2 -2
  1332. data/src/core/lib/security/credentials/call_creds_util.cc +6 -6
  1333. data/src/core/lib/security/credentials/call_creds_util.h +2 -2
  1334. data/src/core/lib/security/credentials/channel_creds_registry.h +5 -6
  1335. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +10 -11
  1336. data/src/core/lib/security/credentials/composite/composite_credentials.cc +3 -5
  1337. data/src/core/lib/security/credentials/composite/composite_credentials.h +10 -9
  1338. data/src/core/lib/security/credentials/credentials.cc +1 -4
  1339. data/src/core/lib/security/credentials/credentials.h +12 -14
  1340. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +331 -336
  1341. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +58 -46
  1342. data/src/core/lib/security/credentials/external/aws_request_signer.cc +4 -5
  1343. data/src/core/lib/security/credentials/external/aws_request_signer.h +3 -3
  1344. data/src/core/lib/security/credentials/external/external_account_credentials.cc +399 -364
  1345. data/src/core/lib/security/credentials/external/external_account_credentials.h +125 -57
  1346. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +87 -50
  1347. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +32 -11
  1348. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +98 -125
  1349. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +21 -23
  1350. data/src/core/lib/security/credentials/fake/fake_credentials.cc +2 -4
  1351. data/src/core/lib/security/credentials/fake/fake_credentials.h +8 -7
  1352. data/src/core/lib/security/credentials/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +195 -0
  1353. data/src/core/lib/security/credentials/gcp_service_account_identity/gcp_service_account_identity_credentials.h +90 -0
  1354. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +4 -5
  1355. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +47 -64
  1356. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +7 -5
  1357. data/src/core/lib/security/credentials/iam/iam_credentials.cc +3 -6
  1358. data/src/core/lib/security/credentials/iam/iam_credentials.h +8 -7
  1359. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +2 -2
  1360. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +2 -2
  1361. data/src/core/lib/security/credentials/jwt/json_token.cc +11 -14
  1362. data/src/core/lib/security/credentials/jwt/json_token.h +1 -2
  1363. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +9 -12
  1364. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +11 -11
  1365. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +19 -23
  1366. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +2 -3
  1367. data/src/core/lib/security/credentials/local/local_credentials.cc +2 -2
  1368. data/src/core/lib/security/credentials/local/local_credentials.h +2 -2
  1369. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +178 -276
  1370. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +47 -70
  1371. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +15 -21
  1372. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +11 -11
  1373. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +6 -8
  1374. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +4 -7
  1375. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +15 -17
  1376. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +18 -19
  1377. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_match.cc +1 -3
  1378. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +99 -21
  1379. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +16 -15
  1380. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +4 -7
  1381. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +8 -10
  1382. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -5
  1383. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +1 -1
  1384. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +3 -6
  1385. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.h +9 -12
  1386. data/src/core/lib/security/credentials/tls/tls_credentials.cc +8 -9
  1387. data/src/core/lib/security/credentials/tls/tls_credentials.h +5 -3
  1388. data/src/core/lib/security/credentials/tls/tls_utils.cc +1 -2
  1389. data/src/core/lib/security/credentials/tls/tls_utils.h +3 -3
  1390. data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.cc +304 -0
  1391. data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.h +181 -0
  1392. data/src/core/lib/security/credentials/xds/xds_credentials.cc +3 -4
  1393. data/src/core/lib/security/credentials/xds/xds_credentials.h +7 -9
  1394. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +10 -12
  1395. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +1 -1
  1396. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +12 -15
  1397. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +1 -1
  1398. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +4 -7
  1399. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +5 -6
  1400. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +5 -7
  1401. data/src/core/lib/security/security_connector/load_system_roots_windows.cc +3 -5
  1402. data/src/core/lib/security/security_connector/local/local_security_connector.cc +18 -14
  1403. data/src/core/lib/security/security_connector/local/local_security_connector.h +1 -1
  1404. data/src/core/lib/security/security_connector/security_connector.cc +2 -4
  1405. data/src/core/lib/security/security_connector/security_connector.h +7 -8
  1406. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +6 -8
  1407. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +2 -3
  1408. data/src/core/lib/security/security_connector/ssl_utils.cc +12 -14
  1409. data/src/core/lib/security/security_connector/ssl_utils.h +7 -9
  1410. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +17 -19
  1411. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +20 -21
  1412. data/src/core/lib/security/transport/auth_filters.h +97 -10
  1413. data/src/core/lib/security/transport/client_auth_filter.cc +104 -16
  1414. data/src/core/lib/security/transport/server_auth_filter.cc +14 -25
  1415. data/src/core/lib/security/util/json_util.cc +4 -5
  1416. data/src/core/lib/slice/percent_encoding.cc +2 -5
  1417. data/src/core/lib/slice/slice.cc +4 -7
  1418. data/src/core/lib/slice/slice.h +5 -8
  1419. data/src/core/lib/slice/slice_buffer.cc +7 -9
  1420. data/src/core/lib/slice/slice_buffer.h +5 -6
  1421. data/src/core/lib/slice/slice_internal.h +3 -6
  1422. data/src/core/lib/slice/slice_refcount.h +8 -11
  1423. data/src/core/lib/slice/slice_string_helpers.h +1 -2
  1424. data/src/core/lib/surface/byte_buffer.cc +1 -2
  1425. data/src/core/lib/surface/byte_buffer_reader.cc +3 -6
  1426. data/src/core/lib/surface/call.cc +25 -33
  1427. data/src/core/lib/surface/call.h +10 -11
  1428. data/src/core/lib/surface/call_log_batch.cc +3 -5
  1429. data/src/core/lib/surface/call_test_only.h +1 -2
  1430. data/src/core/lib/surface/call_utils.cc +18 -61
  1431. data/src/core/lib/surface/call_utils.h +67 -24
  1432. data/src/core/lib/surface/channel.cc +7 -17
  1433. data/src/core/lib/surface/channel.h +14 -15
  1434. data/src/core/lib/surface/channel_create.cc +2 -4
  1435. data/src/core/lib/surface/channel_create.h +2 -3
  1436. data/src/core/lib/surface/channel_init.cc +5 -7
  1437. data/src/core/lib/surface/channel_init.h +4 -7
  1438. data/src/core/lib/surface/client_call.cc +122 -96
  1439. data/src/core/lib/surface/client_call.h +34 -22
  1440. data/src/core/lib/surface/completion_queue.cc +32 -49
  1441. data/src/core/lib/surface/completion_queue.h +4 -5
  1442. data/src/core/lib/surface/completion_queue_factory.cc +1 -3
  1443. data/src/core/lib/surface/connection_context.cc +77 -0
  1444. data/src/core/lib/surface/connection_context.h +156 -0
  1445. data/src/core/lib/surface/event_string.cc +9 -3
  1446. data/src/core/lib/surface/event_string.h +2 -2
  1447. data/src/core/lib/surface/filter_stack_call.cc +29 -33
  1448. data/src/core/lib/surface/filter_stack_call.h +17 -20
  1449. data/src/core/lib/surface/init.cc +44 -18
  1450. data/src/core/lib/surface/init.h +5 -0
  1451. data/src/core/lib/surface/init_internally.h +13 -2
  1452. data/src/core/lib/surface/lame_client.cc +10 -12
  1453. data/src/core/lib/surface/lame_client.h +4 -5
  1454. data/src/core/lib/surface/legacy_channel.cc +20 -19
  1455. data/src/core/lib/surface/legacy_channel.h +7 -8
  1456. data/src/core/lib/surface/metadata_array.cc +1 -2
  1457. data/src/core/lib/surface/server_call.cc +128 -93
  1458. data/src/core/lib/surface/server_call.h +21 -21
  1459. data/src/core/lib/surface/validate_metadata.cc +3 -4
  1460. data/src/core/lib/surface/validate_metadata.h +2 -5
  1461. data/src/core/lib/surface/version.cc +2 -2
  1462. data/src/core/lib/transport/bdp_estimator.cc +11 -15
  1463. data/src/core/lib/transport/bdp_estimator.h +9 -13
  1464. data/src/core/lib/transport/call_arena_allocator.cc +4 -18
  1465. data/src/core/lib/transport/call_arena_allocator.h +22 -8
  1466. data/src/core/lib/transport/call_destination.h +1 -1
  1467. data/src/core/lib/transport/call_filters.cc +21 -130
  1468. data/src/core/lib/transport/call_filters.h +510 -94
  1469. data/src/core/lib/transport/call_final_info.cc +2 -2
  1470. data/src/core/lib/transport/call_final_info.h +3 -3
  1471. data/src/core/lib/transport/call_spine.cc +13 -55
  1472. data/src/core/lib/transport/call_spine.h +220 -25
  1473. data/src/core/lib/transport/call_state.h +283 -86
  1474. data/src/core/lib/transport/connectivity_state.cc +43 -53
  1475. data/src/core/lib/transport/connectivity_state.h +7 -10
  1476. data/src/core/lib/transport/error_utils.cc +3 -4
  1477. data/src/core/lib/transport/error_utils.h +4 -5
  1478. data/src/core/lib/transport/http2_errors.h +5 -3
  1479. data/src/core/lib/transport/interception_chain.cc +11 -3
  1480. data/src/core/lib/transport/interception_chain.h +53 -15
  1481. data/src/core/lib/transport/message.cc +2 -2
  1482. data/src/core/lib/transport/message.h +5 -0
  1483. data/src/core/lib/transport/metadata.h +88 -0
  1484. data/src/core/lib/transport/metadata_batch.cc +14 -7
  1485. data/src/core/lib/transport/metadata_batch.h +137 -30
  1486. data/src/core/lib/transport/metadata_compression_traits.h +3 -4
  1487. data/src/core/lib/transport/parsed_metadata.h +3 -5
  1488. data/src/core/lib/transport/simple_slice_based_metadata.h +1 -2
  1489. data/src/core/lib/transport/status_conversion.h +1 -1
  1490. data/src/core/lib/transport/timeout_encoding.cc +22 -23
  1491. data/src/core/lib/transport/timeout_encoding.h +4 -5
  1492. data/src/core/lib/transport/transport.cc +4 -7
  1493. data/src/core/lib/transport/transport.h +25 -24
  1494. data/src/core/lib/transport/transport_framing_endpoint_extension.h +47 -0
  1495. data/src/core/lib/transport/transport_op_string.cc +4 -6
  1496. data/src/core/load_balancing/address_filtering.cc +2 -4
  1497. data/src/core/load_balancing/address_filtering.h +4 -5
  1498. data/src/core/load_balancing/backend_metric_data.h +2 -2
  1499. data/src/core/load_balancing/backend_metric_parser.cc +22 -30
  1500. data/src/core/load_balancing/backend_metric_parser.h +1 -3
  1501. data/src/core/load_balancing/child_policy_handler.cc +5 -6
  1502. data/src/core/load_balancing/child_policy_handler.h +4 -5
  1503. data/src/core/load_balancing/delegating_helper.h +6 -7
  1504. data/src/core/load_balancing/endpoint_list.cc +18 -10
  1505. data/src/core/load_balancing/endpoint_list.h +26 -21
  1506. data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +11 -10
  1507. data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +5 -6
  1508. data/src/core/load_balancing/grpclb/grpclb.cc +96 -131
  1509. data/src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc +1 -2
  1510. data/src/core/load_balancing/grpclb/grpclb_client_stats.cc +2 -3
  1511. data/src/core/load_balancing/grpclb/grpclb_client_stats.h +5 -7
  1512. data/src/core/load_balancing/grpclb/load_balancer_api.cc +4 -6
  1513. data/src/core/load_balancing/grpclb/load_balancer_api.h +4 -6
  1514. data/src/core/load_balancing/health_check_client.cc +67 -110
  1515. data/src/core/load_balancing/health_check_client.h +3 -3
  1516. data/src/core/load_balancing/health_check_client_internal.h +15 -16
  1517. data/src/core/load_balancing/lb_policy.cc +4 -6
  1518. data/src/core/load_balancing/lb_policy.h +17 -27
  1519. data/src/core/load_balancing/lb_policy_factory.h +4 -5
  1520. data/src/core/load_balancing/lb_policy_registry.cc +13 -12
  1521. data/src/core/load_balancing/lb_policy_registry.h +4 -5
  1522. data/src/core/load_balancing/oob_backend_metric.cc +16 -20
  1523. data/src/core/load_balancing/oob_backend_metric.h +3 -3
  1524. data/src/core/load_balancing/oob_backend_metric_internal.h +8 -9
  1525. data/src/core/load_balancing/outlier_detection/outlier_detection.cc +176 -212
  1526. data/src/core/load_balancing/outlier_detection/outlier_detection.h +6 -7
  1527. data/src/core/load_balancing/pick_first/pick_first.cc +297 -321
  1528. data/src/core/load_balancing/priority/priority.cc +97 -133
  1529. data/src/core/load_balancing/ring_hash/ring_hash.cc +247 -211
  1530. data/src/core/load_balancing/ring_hash/ring_hash.h +7 -15
  1531. data/src/core/load_balancing/rls/rls.cc +268 -404
  1532. data/src/core/load_balancing/rls/rls.h +97 -1
  1533. data/src/core/load_balancing/round_robin/round_robin.cc +59 -89
  1534. data/src/core/load_balancing/subchannel_interface.h +13 -6
  1535. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc +8 -9
  1536. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h +4 -5
  1537. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +120 -158
  1538. data/src/core/load_balancing/weighted_target/weighted_target.cc +70 -103
  1539. data/src/core/load_balancing/xds/cds.cc +60 -78
  1540. data/src/core/load_balancing/xds/xds_cluster_impl.cc +114 -117
  1541. data/src/core/load_balancing/xds/xds_cluster_manager.cc +56 -80
  1542. data/src/core/load_balancing/xds/xds_override_host.cc +152 -237
  1543. data/src/core/load_balancing/xds/xds_override_host.h +3 -4
  1544. data/src/core/load_balancing/xds/xds_wrr_locality.cc +36 -47
  1545. data/src/core/plugin_registry/grpc_plugin_registry.cc +1 -7
  1546. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +6 -1
  1547. data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +86 -71
  1548. data/src/core/resolver/dns/c_ares/dns_resolver_ares.h +2 -3
  1549. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver.h +4 -6
  1550. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -6
  1551. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +118 -100
  1552. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +147 -115
  1553. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +3 -13
  1554. data/src/core/resolver/dns/dns_resolver_plugin.cc +4 -6
  1555. data/src/core/resolver/dns/dns_resolver_plugin.h +1 -1
  1556. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +59 -65
  1557. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.h +3 -4
  1558. data/src/core/resolver/dns/event_engine/service_config_helper.cc +3 -5
  1559. data/src/core/resolver/dns/event_engine/service_config_helper.h +2 -2
  1560. data/src/core/resolver/dns/native/dns_resolver.cc +19 -26
  1561. data/src/core/resolver/dns/native/dns_resolver.h +1 -1
  1562. data/src/core/resolver/endpoint_addresses.cc +1 -4
  1563. data/src/core/resolver/endpoint_addresses.h +2 -3
  1564. data/src/core/resolver/fake/fake_resolver.cc +17 -20
  1565. data/src/core/resolver/fake/fake_resolver.h +9 -10
  1566. data/src/core/resolver/google_c2p/google_c2p_resolver.cc +20 -24
  1567. data/src/core/resolver/polling_resolver.cc +14 -28
  1568. data/src/core/resolver/polling_resolver.h +11 -12
  1569. data/src/core/resolver/resolver.h +4 -5
  1570. data/src/core/resolver/resolver_factory.h +4 -5
  1571. data/src/core/resolver/resolver_registry.cc +6 -5
  1572. data/src/core/resolver/resolver_registry.h +4 -5
  1573. data/src/core/resolver/sockaddr/sockaddr_resolver.cc +5 -6
  1574. data/src/core/resolver/xds/xds_config.cc +95 -0
  1575. data/src/core/resolver/xds/xds_config.h +108 -0
  1576. data/src/core/resolver/xds/xds_dependency_manager.cc +242 -333
  1577. data/src/core/resolver/xds/xds_dependency_manager.h +30 -89
  1578. data/src/core/resolver/xds/xds_resolver.cc +139 -186
  1579. data/src/core/resolver/xds/xds_resolver_attributes.h +2 -3
  1580. data/src/core/server/server.cc +372 -91
  1581. data/src/core/server/server.h +227 -81
  1582. data/src/core/server/server_call_tracer_filter.cc +14 -11
  1583. data/src/core/server/server_call_tracer_filter.h +1 -1
  1584. data/src/core/server/server_config_selector.h +5 -6
  1585. data/src/core/server/server_config_selector_filter.cc +16 -22
  1586. data/src/core/server/xds_channel_stack_modifier.cc +3 -3
  1587. data/src/core/server/xds_channel_stack_modifier.h +5 -6
  1588. data/src/core/server/xds_server_config_fetcher.cc +118 -187
  1589. data/src/core/service_config/service_config.h +3 -5
  1590. data/src/core/service_config/service_config_call_data.h +7 -9
  1591. data/src/core/service_config/service_config_channel_arg_filter.cc +15 -26
  1592. data/src/core/service_config/service_config_impl.cc +7 -9
  1593. data/src/core/service_config/service_config_impl.h +4 -7
  1594. data/src/core/service_config/service_config_parser.cc +1 -2
  1595. data/src/core/service_config/service_config_parser.h +2 -4
  1596. data/src/core/telemetry/call_tracer.cc +10 -12
  1597. data/src/core/telemetry/call_tracer.h +11 -11
  1598. data/src/core/telemetry/histogram_view.cc +3 -3
  1599. data/src/core/telemetry/histogram_view.h +1 -2
  1600. data/src/core/telemetry/metrics.cc +21 -19
  1601. data/src/core/telemetry/metrics.h +15 -19
  1602. data/src/core/telemetry/stats.cc +1 -2
  1603. data/src/core/telemetry/stats.h +2 -4
  1604. data/src/core/telemetry/stats_data.cc +181 -2
  1605. data/src/core/telemetry/stats_data.h +130 -4
  1606. data/src/core/telemetry/tcp_tracer.h +33 -34
  1607. data/src/core/tsi/alts/crypt/aes_gcm.cc +5 -8
  1608. data/src/core/tsi/alts/crypt/gsec.cc +2 -3
  1609. data/src/core/tsi/alts/crypt/gsec.h +3 -4
  1610. data/src/core/tsi/alts/frame_protector/alts_counter.cc +1 -2
  1611. data/src/core/tsi/alts/frame_protector/alts_counter.h +3 -4
  1612. data/src/core/tsi/alts/frame_protector/alts_crypter.cc +1 -2
  1613. data/src/core/tsi/alts/frame_protector/alts_crypter.h +2 -3
  1614. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +4 -5
  1615. data/src/core/tsi/alts/frame_protector/alts_frame_protector.h +1 -2
  1616. data/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc +1 -1
  1617. data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +1 -1
  1618. data/src/core/tsi/alts/frame_protector/frame_handler.cc +4 -6
  1619. data/src/core/tsi/alts/frame_protector/frame_handler.h +1 -2
  1620. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +14 -15
  1621. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +2 -4
  1622. data/src/core/tsi/alts/handshaker/alts_shared_resource.h +1 -1
  1623. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +33 -31
  1624. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -3
  1625. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -2
  1626. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +3 -4
  1627. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +3 -5
  1628. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h +1 -2
  1629. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +2 -3
  1630. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h +1 -2
  1631. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +3 -5
  1632. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +3 -5
  1633. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h +1 -2
  1634. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +3 -5
  1635. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h +1 -2
  1636. data/src/core/tsi/fake_transport_security.cc +14 -11
  1637. data/src/core/tsi/local_transport_security.cc +4 -6
  1638. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +4 -5
  1639. data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +8 -10
  1640. data/src/core/tsi/ssl/session_cache/ssl_session.h +4 -5
  1641. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +4 -6
  1642. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +7 -8
  1643. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +2 -4
  1644. data/src/core/tsi/ssl_transport_security.cc +29 -17
  1645. data/src/core/tsi/ssl_transport_security.h +6 -8
  1646. data/src/core/tsi/ssl_transport_security_utils.cc +1 -3
  1647. data/src/core/tsi/ssl_transport_security_utils.h +3 -5
  1648. data/src/core/tsi/ssl_types.h +1 -2
  1649. data/src/core/tsi/transport_security.cc +2 -3
  1650. data/src/core/tsi/transport_security.h +1 -2
  1651. data/src/core/tsi/transport_security_interface.h +3 -4
  1652. data/src/core/util/alloc.cc +2 -6
  1653. data/src/core/util/atomic_utils.h +47 -0
  1654. data/src/core/util/avl.h +324 -0
  1655. data/src/core/util/backoff.cc +57 -0
  1656. data/src/core/util/backoff.h +86 -0
  1657. data/src/core/util/bitset.h +224 -0
  1658. data/src/core/util/chunked_vector.h +256 -0
  1659. data/src/core/util/construct_destruct.h +41 -0
  1660. data/src/core/util/cpp_impl_of.h +49 -0
  1661. data/src/core/util/crash.cc +40 -0
  1662. data/src/core/util/crash.h +36 -0
  1663. data/src/core/util/debug_location.h +106 -0
  1664. data/src/core/util/directory_reader.h +48 -0
  1665. data/src/core/util/down_cast.h +48 -0
  1666. data/src/core/util/dual_ref_counted.h +376 -0
  1667. data/src/core/util/dump_args.cc +54 -0
  1668. data/src/core/util/dump_args.h +114 -0
  1669. data/src/core/util/env.h +52 -0
  1670. data/src/core/util/event_log.cc +87 -0
  1671. data/src/core/util/event_log.h +79 -0
  1672. data/src/core/util/examine_stack.cc +43 -0
  1673. data/src/core/util/examine_stack.h +44 -0
  1674. data/src/core/util/fork.cc +241 -0
  1675. data/src/core/util/fork.h +98 -0
  1676. data/src/core/util/gcp_metadata_query.cc +8 -12
  1677. data/src/core/util/gcp_metadata_query.h +2 -3
  1678. data/src/core/util/gethostname.h +26 -0
  1679. data/src/core/util/gethostname_fallback.cc +30 -0
  1680. data/src/core/util/gethostname_host_name_max.cc +39 -0
  1681. data/src/core/util/gethostname_sysconf.cc +39 -0
  1682. data/src/core/util/glob.h +29 -0
  1683. data/src/core/util/gpr_time.cc +266 -0
  1684. data/src/core/util/grpc_if_nametoindex.h +29 -0
  1685. data/src/core/util/grpc_if_nametoindex_posix.cc +41 -0
  1686. data/src/core/util/grpc_if_nametoindex_unsupported.cc +36 -0
  1687. data/src/core/util/host_port.cc +114 -0
  1688. data/src/core/util/host_port.h +57 -0
  1689. data/src/core/util/http_client/format_request.cc +2 -5
  1690. data/src/core/util/http_client/format_request.h +1 -2
  1691. data/src/core/util/http_client/httpcli.cc +95 -47
  1692. data/src/core/util/http_client/httpcli.h +40 -28
  1693. data/src/core/util/http_client/httpcli_security_connector.cc +11 -14
  1694. data/src/core/util/http_client/httpcli_ssl_credentials.h +2 -3
  1695. data/src/core/util/http_client/parser.cc +5 -8
  1696. data/src/core/util/http_client/parser.h +1 -3
  1697. data/src/core/util/if_list.h +4530 -0
  1698. data/src/core/util/iphone/cpu.cc +1 -2
  1699. data/src/core/util/json/json.h +1 -2
  1700. data/src/core/util/json/json_channel_args.h +2 -2
  1701. data/src/core/util/json/json_object_loader.cc +7 -8
  1702. data/src/core/util/json/json_object_loader.h +20 -21
  1703. data/src/core/util/json/json_reader.cc +6 -10
  1704. data/src/core/util/json/json_reader.h +0 -1
  1705. data/src/core/util/json/json_util.cc +4 -4
  1706. data/src/core/util/json/json_util.h +1 -2
  1707. data/src/core/util/json/json_writer.cc +4 -6
  1708. data/src/core/util/latent_see.cc +112 -62
  1709. data/src/core/util/latent_see.h +157 -37
  1710. data/src/core/util/linux/cpu.cc +4 -6
  1711. data/src/core/util/linux/env.cc +61 -0
  1712. data/src/core/util/load_file.cc +75 -0
  1713. data/src/core/util/load_file.h +33 -0
  1714. data/src/core/util/log.cc +46 -68
  1715. data/src/core/util/lru_cache.h +122 -0
  1716. data/src/core/util/manual_constructor.h +145 -0
  1717. data/src/core/util/match.h +74 -0
  1718. data/src/core/util/matchers.cc +336 -0
  1719. data/src/core/util/matchers.h +162 -0
  1720. data/src/core/util/memory.h +52 -0
  1721. data/src/core/util/mpscq.cc +108 -0
  1722. data/src/core/util/mpscq.h +98 -0
  1723. data/src/core/util/msys/tmpfile.cc +3 -5
  1724. data/src/core/util/no_destruct.h +95 -0
  1725. data/src/core/util/notification.h +66 -0
  1726. data/src/core/util/orphanable.h +153 -0
  1727. data/src/core/util/overload.h +59 -0
  1728. data/src/core/util/packed_table.h +40 -0
  1729. data/src/core/util/per_cpu.cc +34 -0
  1730. data/src/core/util/per_cpu.h +102 -0
  1731. data/src/core/util/posix/cpu.cc +3 -5
  1732. data/src/core/util/posix/directory_reader.cc +82 -0
  1733. data/src/core/util/posix/env.cc +47 -0
  1734. data/src/core/util/posix/stat.cc +54 -0
  1735. data/src/core/util/posix/string.cc +2 -3
  1736. data/src/core/util/posix/sync.cc +2 -6
  1737. data/src/core/util/posix/thd.cc +243 -0
  1738. data/src/core/util/posix/time.cc +3 -6
  1739. data/src/core/util/posix/tmpfile.cc +4 -6
  1740. data/src/core/util/random_early_detection.cc +33 -0
  1741. data/src/core/util/random_early_detection.h +61 -0
  1742. data/src/core/util/ref_counted.h +403 -0
  1743. data/src/core/util/ref_counted_ptr.h +443 -0
  1744. data/src/core/util/ref_counted_string.cc +42 -0
  1745. data/src/core/util/ref_counted_string.h +159 -0
  1746. data/src/core/util/ring_buffer.h +122 -0
  1747. data/src/core/util/single_set_ptr.h +89 -0
  1748. data/src/core/util/sorted_pack.h +89 -0
  1749. data/src/core/util/spinlock.h +2 -4
  1750. data/src/core/util/stat.h +35 -0
  1751. data/src/core/util/status_helper.cc +427 -0
  1752. data/src/core/util/status_helper.h +160 -0
  1753. data/src/core/util/strerror.cc +40 -0
  1754. data/src/core/util/strerror.h +29 -0
  1755. data/src/core/util/string.cc +13 -16
  1756. data/src/core/util/string.h +1 -3
  1757. data/src/core/util/sync.cc +3 -6
  1758. data/src/core/util/sync.h +199 -0
  1759. data/src/core/util/sync_abseil.cc +4 -8
  1760. data/src/core/util/table.h +471 -0
  1761. data/src/core/util/tchar.cc +49 -0
  1762. data/src/core/util/tchar.h +33 -0
  1763. data/src/core/util/thd.h +193 -0
  1764. data/src/core/util/time.cc +174 -205
  1765. data/src/core/util/time.h +385 -0
  1766. data/src/core/util/time_averaged_stats.cc +60 -0
  1767. data/src/core/util/time_averaged_stats.h +79 -0
  1768. data/src/core/util/time_precise.cc +2 -4
  1769. data/src/core/util/time_precise.h +0 -1
  1770. data/src/core/util/time_util.cc +80 -0
  1771. data/src/core/util/time_util.h +41 -0
  1772. data/src/core/util/tmpfile.h +0 -1
  1773. data/src/core/util/type_list.h +88 -0
  1774. data/src/core/util/unique_ptr_with_bitset.h +86 -0
  1775. data/src/core/util/unique_type_name.h +123 -0
  1776. data/src/core/util/uri.cc +378 -0
  1777. data/src/core/util/uri.h +112 -0
  1778. data/src/core/util/useful.h +13 -39
  1779. data/src/core/util/uuid_v4.cc +37 -0
  1780. data/src/core/util/uuid_v4.h +35 -0
  1781. data/src/core/util/validation_errors.cc +73 -0
  1782. data/src/core/util/validation_errors.h +144 -0
  1783. data/src/core/util/wait_for_single_owner.h +62 -0
  1784. data/src/core/util/windows/cpu.cc +1 -2
  1785. data/src/core/util/windows/directory_reader.cc +79 -0
  1786. data/src/core/util/windows/env.cc +56 -0
  1787. data/src/core/util/windows/stat.cc +50 -0
  1788. data/src/core/util/windows/string.cc +2 -3
  1789. data/src/core/util/windows/string_util.cc +5 -7
  1790. data/src/core/util/windows/sync.cc +1 -4
  1791. data/src/core/util/windows/thd.cc +182 -0
  1792. data/src/core/util/windows/time.cc +1 -5
  1793. data/src/core/util/windows/tmpfile.cc +4 -6
  1794. data/src/core/util/work_serializer.cc +298 -0
  1795. data/src/core/util/work_serializer.h +81 -0
  1796. data/src/core/util/xxhash_inline.h +29 -0
  1797. data/src/core/xds/grpc/certificate_provider_store.cc +15 -21
  1798. data/src/core/xds/grpc/certificate_provider_store.h +9 -10
  1799. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +5 -6
  1800. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +6 -7
  1801. data/src/core/xds/grpc/xds_audit_logger_registry.cc +5 -6
  1802. data/src/core/xds/grpc/xds_audit_logger_registry.h +3 -4
  1803. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +13 -49
  1804. data/src/core/xds/grpc/xds_bootstrap_grpc.h +6 -11
  1805. data/src/core/xds/grpc/xds_certificate_provider.cc +17 -19
  1806. data/src/core/xds/grpc/xds_certificate_provider.h +8 -9
  1807. data/src/core/xds/grpc/xds_client_grpc.cc +80 -62
  1808. data/src/core/xds/grpc/xds_client_grpc.h +14 -8
  1809. data/src/core/xds/grpc/xds_cluster.cc +11 -12
  1810. data/src/core/xds/grpc/xds_cluster.h +38 -12
  1811. data/src/core/xds/grpc/xds_cluster_parser.cc +188 -146
  1812. data/src/core/xds/grpc/xds_cluster_parser.h +6 -2
  1813. data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +9 -12
  1814. data/src/core/xds/grpc/xds_cluster_specifier_plugin.h +5 -6
  1815. data/src/core/xds/grpc/xds_common_types.cc +3 -4
  1816. data/src/core/xds/grpc/xds_common_types.h +6 -7
  1817. data/src/core/xds/grpc/xds_common_types_parser.cc +72 -38
  1818. data/src/core/xds/grpc/xds_common_types_parser.h +28 -5
  1819. data/src/core/xds/grpc/xds_endpoint.cc +3 -4
  1820. data/src/core/xds/grpc/xds_endpoint.h +7 -5
  1821. data/src/core/xds/grpc/xds_endpoint_parser.cc +106 -70
  1822. data/src/core/xds/grpc/xds_endpoint_parser.h +1 -2
  1823. data/src/core/xds/grpc/xds_health_status.cc +4 -4
  1824. data/src/core/xds/grpc/xds_health_status.h +4 -4
  1825. data/src/core/xds/grpc/xds_http_fault_filter.cc +38 -33
  1826. data/src/core/xds/grpc/xds_http_fault_filter.h +13 -9
  1827. data/src/core/xds/grpc/xds_http_filter.h +16 -7
  1828. data/src/core/xds/grpc/xds_http_filter_registry.cc +16 -11
  1829. data/src/core/xds/grpc/xds_http_filter_registry.h +13 -7
  1830. data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +141 -0
  1831. data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +61 -0
  1832. data/src/core/xds/grpc/xds_http_rbac_filter.cc +85 -67
  1833. data/src/core/xds/grpc/xds_http_rbac_filter.h +13 -9
  1834. data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +24 -17
  1835. data/src/core/xds/grpc/xds_http_stateful_session_filter.h +13 -9
  1836. data/src/core/xds/grpc/xds_lb_policy_registry.cc +23 -27
  1837. data/src/core/xds/grpc/xds_lb_policy_registry.h +4 -5
  1838. data/src/core/xds/grpc/xds_listener.cc +5 -8
  1839. data/src/core/xds/grpc/xds_listener.h +11 -12
  1840. data/src/core/xds/grpc/xds_listener_parser.cc +72 -69
  1841. data/src/core/xds/grpc/xds_listener_parser.h +3 -3
  1842. data/src/core/xds/grpc/xds_metadata.cc +62 -0
  1843. data/src/core/xds/grpc/xds_metadata.h +158 -0
  1844. data/src/core/xds/grpc/xds_metadata_parser.cc +197 -0
  1845. data/src/core/xds/grpc/xds_metadata_parser.h +35 -0
  1846. data/src/core/xds/grpc/xds_route_config.cc +12 -18
  1847. data/src/core/xds/grpc/xds_route_config.h +11 -12
  1848. data/src/core/xds/grpc/xds_route_config_parser.cc +135 -144
  1849. data/src/core/xds/grpc/xds_route_config_parser.h +7 -10
  1850. data/src/core/xds/grpc/xds_routing.cc +65 -32
  1851. data/src/core/xds/grpc/xds_routing.h +16 -10
  1852. data/src/core/xds/grpc/xds_server_grpc.cc +23 -3
  1853. data/src/core/xds/grpc/xds_server_grpc.h +7 -4
  1854. data/src/core/xds/grpc/xds_server_grpc_interface.h +33 -0
  1855. data/src/core/xds/grpc/xds_transport_grpc.cc +99 -56
  1856. data/src/core/xds/grpc/xds_transport_grpc.h +33 -22
  1857. data/src/core/xds/xds_client/lrs_client.cc +1280 -0
  1858. data/src/core/xds/xds_client/lrs_client.h +394 -0
  1859. data/src/core/xds/xds_client/xds_api.cc +28 -465
  1860. data/src/core/xds/xds_client/xds_api.h +6 -161
  1861. data/src/core/xds/xds_client/xds_backend_metric_propagation.cc +63 -0
  1862. data/src/core/xds/xds_client/xds_backend_metric_propagation.h +59 -0
  1863. data/src/core/xds/xds_client/xds_bootstrap.cc +12 -3
  1864. data/src/core/xds/xds_client/xds_bootstrap.h +9 -2
  1865. data/src/core/xds/xds_client/xds_client.cc +1109 -1362
  1866. data/src/core/xds/xds_client/xds_client.h +167 -114
  1867. data/src/core/xds/xds_client/xds_locality.h +102 -0
  1868. data/src/core/xds/xds_client/xds_metrics.h +2 -2
  1869. data/src/core/xds/xds_client/xds_resource_type.h +6 -8
  1870. data/src/core/xds/xds_client/xds_resource_type_impl.h +15 -11
  1871. data/src/core/xds/xds_client/xds_transport.h +29 -14
  1872. data/src/ruby/ext/grpc/extconf.rb +2 -1
  1873. data/src/ruby/ext/grpc/rb_byte_buffer.c +3 -3
  1874. data/src/ruby/ext/grpc/rb_call.c +6 -6
  1875. data/src/ruby/ext/grpc/rb_call_credentials.c +39 -33
  1876. data/src/ruby/ext/grpc/rb_channel.c +28 -23
  1877. data/src/ruby/ext/grpc/rb_channel_args.c +3 -3
  1878. data/src/ruby/ext/grpc/rb_channel_credentials.c +5 -6
  1879. data/src/ruby/ext/grpc/rb_channel_credentials.h +1 -2
  1880. data/src/ruby/ext/grpc/rb_completion_queue.c +3 -4
  1881. data/src/ruby/ext/grpc/rb_compression_options.c +6 -7
  1882. data/src/ruby/ext/grpc/rb_event_thread.c +7 -7
  1883. data/src/ruby/ext/grpc/rb_grpc.c +12 -12
  1884. data/src/ruby/ext/grpc/rb_grpc.h +2 -3
  1885. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +6 -10
  1886. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +9 -15
  1887. data/src/ruby/ext/grpc/rb_server.c +16 -14
  1888. data/src/ruby/ext/grpc/rb_server_credentials.c +3 -3
  1889. data/src/ruby/ext/grpc/rb_server_credentials.h +1 -2
  1890. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +5 -6
  1891. data/src/ruby/ext/grpc/rb_xds_channel_credentials.h +1 -2
  1892. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +4 -4
  1893. data/src/ruby/ext/grpc/rb_xds_server_credentials.h +1 -2
  1894. data/src/ruby/lib/grpc/generic/active_call.rb +8 -5
  1895. data/src/ruby/lib/grpc/version.rb +1 -1
  1896. data/src/ruby/spec/call_spec.rb +53 -40
  1897. data/src/ruby/spec/channel_spec.rb +4 -2
  1898. data/src/ruby/spec/client_server_spec.rb +148 -507
  1899. data/src/ruby/spec/generic/active_call_spec.rb +64 -86
  1900. data/src/ruby/spec/generic/client_stub_spec.rb +20 -20
  1901. data/src/ruby/spec/support/services.rb +3 -0
  1902. data/third_party/abseil-cpp/absl/algorithm/container.h +57 -18
  1903. data/third_party/abseil-cpp/absl/base/attributes.h +84 -0
  1904. data/third_party/abseil-cpp/absl/base/config.h +32 -51
  1905. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +0 -16
  1906. data/third_party/abseil-cpp/absl/base/internal/nullability_impl.h +3 -1
  1907. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +13 -3
  1908. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +0 -12
  1909. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +4 -4
  1910. data/third_party/abseil-cpp/absl/base/macros.h +48 -0
  1911. data/third_party/abseil-cpp/absl/base/no_destructor.h +35 -40
  1912. data/third_party/abseil-cpp/absl/base/nullability.h +33 -7
  1913. data/third_party/abseil-cpp/absl/base/optimization.h +11 -0
  1914. data/third_party/abseil-cpp/absl/base/options.h +1 -1
  1915. data/third_party/abseil-cpp/absl/base/prefetch.h +1 -1
  1916. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +68 -12
  1917. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +60 -6
  1918. data/third_party/abseil-cpp/absl/container/hash_container_defaults.h +45 -0
  1919. data/third_party/abseil-cpp/absl/container/inlined_vector.h +13 -0
  1920. data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +20 -11
  1921. data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +15 -16
  1922. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +34 -1
  1923. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +68 -1
  1924. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +50 -0
  1925. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +22 -7
  1926. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +26 -8
  1927. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +39 -35
  1928. data/third_party/abseil-cpp/absl/container/internal/layout.h +190 -74
  1929. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +8 -6
  1930. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +334 -71
  1931. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1299 -458
  1932. data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +19 -17
  1933. data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc +4 -3
  1934. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc +2 -1
  1935. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc +12 -8
  1936. data/third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc +1 -1
  1937. data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +11 -7
  1938. data/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +18 -17
  1939. data/third_party/abseil-cpp/absl/debugging/internal/bounded_utf8_length_sequence.h +126 -0
  1940. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +258 -0
  1941. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +55 -0
  1942. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +1057 -86
  1943. data/third_party/abseil-cpp/absl/debugging/internal/demangle.h +3 -0
  1944. data/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.cc +925 -0
  1945. data/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.h +42 -0
  1946. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +43 -16
  1947. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +8 -7
  1948. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +10 -7
  1949. data/third_party/abseil-cpp/absl/debugging/internal/utf8_for_code_point.cc +70 -0
  1950. data/third_party/abseil-cpp/absl/debugging/internal/utf8_for_code_point.h +47 -0
  1951. data/third_party/abseil-cpp/absl/flags/commandlineflag.h +11 -0
  1952. data/third_party/abseil-cpp/absl/flags/flag.h +2 -0
  1953. data/third_party/abseil-cpp/absl/flags/internal/flag.cc +117 -30
  1954. data/third_party/abseil-cpp/absl/flags/internal/flag.h +192 -30
  1955. data/third_party/abseil-cpp/absl/flags/reflection.cc +10 -0
  1956. data/third_party/abseil-cpp/absl/functional/any_invocable.h +13 -3
  1957. data/third_party/abseil-cpp/absl/functional/bind_front.h +3 -2
  1958. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +7 -7
  1959. data/third_party/abseil-cpp/absl/functional/internal/front_binder.h +9 -9
  1960. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +1 -1
  1961. data/third_party/abseil-cpp/absl/hash/internal/hash.h +13 -3
  1962. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +60 -28
  1963. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h +4 -0
  1964. data/third_party/abseil-cpp/absl/log/absl_vlog_is_on.h +3 -3
  1965. data/third_party/abseil-cpp/absl/log/globals.h +28 -15
  1966. data/third_party/abseil-cpp/absl/log/internal/check_op.cc +20 -0
  1967. data/third_party/abseil-cpp/absl/log/internal/check_op.h +63 -21
  1968. data/third_party/abseil-cpp/absl/log/internal/conditions.h +2 -2
  1969. data/third_party/abseil-cpp/absl/log/internal/log_impl.h +23 -23
  1970. data/third_party/abseil-cpp/absl/log/internal/log_message.cc +104 -47
  1971. data/third_party/abseil-cpp/absl/log/internal/log_message.h +23 -4
  1972. data/third_party/abseil-cpp/absl/log/internal/nullstream.h +1 -10
  1973. data/third_party/abseil-cpp/absl/log/internal/strip.h +36 -0
  1974. data/third_party/abseil-cpp/absl/log/log.h +5 -1
  1975. data/third_party/abseil-cpp/absl/log/log_sink.h +11 -4
  1976. data/third_party/abseil-cpp/absl/log/vlog_is_on.h +3 -3
  1977. data/third_party/abseil-cpp/absl/meta/type_traits.h +138 -42
  1978. data/third_party/abseil-cpp/absl/numeric/int128.cc +0 -3
  1979. data/third_party/abseil-cpp/absl/numeric/int128.h +35 -5
  1980. data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +14 -0
  1981. data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +18 -0
  1982. data/third_party/abseil-cpp/absl/numeric/internal/bits.h +6 -2
  1983. data/third_party/abseil-cpp/absl/random/beta_distribution.h +8 -8
  1984. data/third_party/abseil-cpp/absl/random/bit_gen_ref.h +9 -7
  1985. data/third_party/abseil-cpp/absl/random/distributions.h +11 -11
  1986. data/third_party/abseil-cpp/absl/random/seed_sequences.h +2 -0
  1987. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +61 -2
  1988. data/third_party/abseil-cpp/absl/status/status.cc +0 -4
  1989. data/third_party/abseil-cpp/absl/status/status.h +4 -4
  1990. data/third_party/abseil-cpp/absl/status/statusor.h +108 -142
  1991. data/third_party/abseil-cpp/absl/strings/ascii.cc +32 -71
  1992. data/third_party/abseil-cpp/absl/strings/cord.cc +20 -15
  1993. data/third_party/abseil-cpp/absl/strings/cord.h +68 -7
  1994. data/third_party/abseil-cpp/absl/strings/escaping.cc +96 -21
  1995. data/third_party/abseil-cpp/absl/strings/escaping.h +25 -8
  1996. data/third_party/abseil-cpp/absl/strings/has_absl_stringify.h +1 -0
  1997. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +10 -0
  1998. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +29 -9
  1999. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +2 -2
  2000. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc +19 -13
  2001. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h +23 -13
  2002. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +24 -24
  2003. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +12 -7
  2004. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +9 -4
  2005. data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +5 -2
  2006. data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +23 -2
  2007. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +5 -1
  2008. data/third_party/abseil-cpp/absl/strings/numbers.cc +107 -333
  2009. data/third_party/abseil-cpp/absl/strings/numbers.h +12 -151
  2010. data/third_party/abseil-cpp/absl/strings/str_cat.cc +49 -142
  2011. data/third_party/abseil-cpp/absl/strings/str_cat.h +70 -85
  2012. data/third_party/abseil-cpp/absl/strings/str_format.h +1 -1
  2013. data/third_party/abseil-cpp/absl/strings/str_join.h +19 -5
  2014. data/third_party/abseil-cpp/absl/strings/str_split.h +2 -2
  2015. data/third_party/abseil-cpp/absl/strings/string_view.h +3 -2
  2016. data/third_party/abseil-cpp/absl/strings/substitute.cc +4 -0
  2017. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +11 -2
  2018. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h +5 -0
  2019. data/third_party/abseil-cpp/absl/synchronization/mutex.h +5 -4
  2020. data/third_party/abseil-cpp/absl/time/civil_time.h +2 -2
  2021. data/third_party/abseil-cpp/absl/time/clock.cc +15 -1
  2022. data/third_party/abseil-cpp/absl/time/duration.cc +58 -53
  2023. data/third_party/abseil-cpp/absl/time/format.cc +2 -1
  2024. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +1 -1
  2025. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +0 -29
  2026. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +3 -3
  2027. data/third_party/abseil-cpp/absl/time/time.h +73 -29
  2028. data/third_party/abseil-cpp/absl/types/compare.h +505 -0
  2029. data/third_party/abseil-cpp/absl/types/internal/optional.h +2 -2
  2030. data/third_party/abseil-cpp/absl/types/internal/variant.h +55 -67
  2031. data/third_party/abseil-cpp/absl/types/optional.h +15 -18
  2032. data/third_party/abseil-cpp/absl/types/span.h +3 -2
  2033. data/third_party/abseil-cpp/absl/types/variant.h +19 -24
  2034. data/third_party/abseil-cpp/absl/utility/utility.h +3 -41
  2035. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.cc +243 -0
  2036. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.cc +53 -0
  2037. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.cc +47 -0
  2038. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.cc +42 -0
  2039. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.cc +109 -0
  2040. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.cc +43 -0
  2041. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.cc +424 -0
  2042. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.cc +239 -0
  2043. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.cc +193 -0
  2044. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.cc +32 -0
  2045. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.cc +415 -0
  2046. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.cc +206 -0
  2047. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.cc +224 -0
  2048. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.cc +172 -0
  2049. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.cc +109 -0
  2050. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.cc +355 -0
  2051. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.cc +61 -0
  2052. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.cc +56 -0
  2053. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.cc +63 -0
  2054. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.cc +52 -0
  2055. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +13 -57
  2056. data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.cc +241 -0
  2057. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.cc +932 -0
  2058. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.cc +669 -0
  2059. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.cc +164 -0
  2060. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.cc +276 -0
  2061. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.cc +84 -0
  2062. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.cc +229 -0
  2063. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.cc +434 -0
  2064. data/third_party/boringssl-with-bazel/src/crypto/bcm_support.h +119 -0
  2065. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.cc +658 -0
  2066. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.cc +268 -0
  2067. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.cc +511 -0
  2068. data/third_party/boringssl-with-bazel/src/crypto/bio/errno.cc +50 -0
  2069. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.cc +193 -0
  2070. data/third_party/boringssl-with-bazel/src/crypto/bio/file.cc +292 -0
  2071. data/third_party/boringssl-with-bazel/src/crypto/bio/hexdump.cc +152 -0
  2072. data/third_party/boringssl-with-bazel/src/crypto/bio/internal.h +13 -55
  2073. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.cc +446 -0
  2074. data/third_party/boringssl-with-bazel/src/crypto/bio/printf.cc +59 -0
  2075. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.cc +147 -0
  2076. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.cc +133 -0
  2077. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.cc +169 -0
  2078. data/third_party/boringssl-with-bazel/src/crypto/bn/bn_asn1.cc +57 -0
  2079. data/third_party/boringssl-with-bazel/src/crypto/bn/convert.cc +423 -0
  2080. data/third_party/boringssl-with-bazel/src/crypto/buf/buf.cc +118 -0
  2081. data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.cc +53 -0
  2082. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.cc +266 -0
  2083. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.cc +702 -0
  2084. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.cc +912 -0
  2085. data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +13 -13
  2086. data/third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.cc +156 -0
  2087. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.cc +224 -0
  2088. data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +18 -18
  2089. data/third_party/boringssl-with-bazel/src/crypto/cipher/derive_key.cc +110 -0
  2090. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_aesctrhmac.cc +279 -0
  2091. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_aesgcmsiv.cc +845 -0
  2092. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_chacha20poly1305.cc +341 -0
  2093. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_des.cc +198 -0
  2094. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_null.cc +51 -0
  2095. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_rc2.cc +417 -0
  2096. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_rc4.cc +54 -0
  2097. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_tls.cc +599 -0
  2098. data/third_party/boringssl-with-bazel/src/crypto/cipher/get_cipher.cc +85 -0
  2099. data/third_party/boringssl-with-bazel/src/crypto/cipher/internal.h +240 -0
  2100. data/third_party/boringssl-with-bazel/src/crypto/cipher/tls_cbc.cc +476 -0
  2101. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.cc +631 -0
  2102. data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +13 -13
  2103. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.cc +75 -0
  2104. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.cc +55 -0
  2105. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.cc +62 -0
  2106. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.cc +61 -0
  2107. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.cc +94 -0
  2108. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.cc +41 -0
  2109. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.cc +54 -0
  2110. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.cc +151 -0
  2111. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.h +13 -13
  2112. data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.cc +287 -0
  2113. data/third_party/boringssl-with-bazel/src/crypto/crypto.cc +183 -0
  2114. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.cc +2154 -0
  2115. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.cc +18 -0
  2116. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +13 -13
  2117. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +13 -13
  2118. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.cc +529 -0
  2119. data/third_party/boringssl-with-bazel/src/crypto/des/des.cc +829 -0
  2120. data/third_party/boringssl-with-bazel/src/crypto/des/internal.h +27 -69
  2121. data/third_party/boringssl-with-bazel/src/crypto/dh/dh_asn1.cc +124 -0
  2122. data/third_party/boringssl-with-bazel/src/crypto/dh/params.cc +442 -0
  2123. data/third_party/boringssl-with-bazel/src/crypto/digest/digest_extra.cc +306 -0
  2124. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.cc +951 -0
  2125. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.cc +379 -0
  2126. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +13 -15
  2127. data/third_party/boringssl-with-bazel/src/crypto/ec/ec_asn1.cc +570 -0
  2128. data/third_party/boringssl-with-bazel/src/crypto/ec/ec_derive.cc +96 -0
  2129. data/third_party/boringssl-with-bazel/src/crypto/ec/hash_to_curve.cc +510 -0
  2130. data/third_party/boringssl-with-bazel/src/crypto/ec/internal.h +78 -0
  2131. data/third_party/boringssl-with-bazel/src/crypto/ecdh/ecdh.cc +73 -0
  2132. data/third_party/boringssl-with-bazel/src/crypto/ecdsa/ecdsa_asn1.cc +357 -0
  2133. data/third_party/boringssl-with-bazel/src/crypto/engine/engine.cc +95 -0
  2134. data/third_party/boringssl-with-bazel/src/crypto/err/err.cc +810 -0
  2135. data/third_party/boringssl-with-bazel/src/crypto/err/internal.h +13 -13
  2136. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.cc +379 -0
  2137. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.cc +471 -0
  2138. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.cc +440 -0
  2139. data/third_party/boringssl-with-bazel/src/crypto/evp/internal.h +13 -55
  2140. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh.cc +153 -0
  2141. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.cc +142 -0
  2142. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.cc +279 -0
  2143. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.cc +230 -0
  2144. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.cc +286 -0
  2145. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.cc +103 -0
  2146. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.cc +225 -0
  2147. data/third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.cc +236 -0
  2148. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.cc +609 -0
  2149. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.cc +198 -0
  2150. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.cc +109 -0
  2151. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.cc +237 -0
  2152. data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.cc +98 -0
  2153. data/third_party/boringssl-with-bazel/src/crypto/evp/print.cc +342 -0
  2154. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.cc +216 -0
  2155. data/third_party/boringssl-with-bazel/src/crypto/evp/sign.cc +114 -0
  2156. data/third_party/boringssl-with-bazel/src/crypto/ex_data.cc +141 -0
  2157. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.cc.inc +191 -0
  2158. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.cc.inc +1281 -0
  2159. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/cbc.cc.inc +130 -0
  2160. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/cfb.cc.inc +166 -0
  2161. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/ctr.cc.inc +100 -0
  2162. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/gcm.cc.inc +604 -0
  2163. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/gcm_nohw.cc.inc +302 -0
  2164. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +421 -70
  2165. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.cc.inc +208 -0
  2166. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.cc.inc +84 -0
  2167. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/ofb.cc.inc +53 -0
  2168. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/polyval.cc.inc +89 -0
  2169. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.cc +282 -0
  2170. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm_interface.h +729 -0
  2171. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/add.cc.inc +269 -0
  2172. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +554 -0
  2173. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.cc.inc +374 -0
  2174. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.cc.inc +225 -0
  2175. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.cc.inc +159 -0
  2176. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.cc.inc +191 -0
  2177. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.cc.inc +825 -0
  2178. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.cc.inc +87 -0
  2179. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.cc.inc +1227 -0
  2180. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.cc.inc +300 -0
  2181. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.cc.inc +339 -0
  2182. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/generic.cc.inc +582 -0
  2183. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +25 -134
  2184. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/jacobi.cc.inc +108 -0
  2185. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.cc.inc +430 -0
  2186. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.cc.inc +222 -0
  2187. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.cc.inc +698 -0
  2188. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.cc.inc +980 -0
  2189. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.cc.inc +260 -0
  2190. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.cc.inc +142 -0
  2191. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.h +20 -17
  2192. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.cc.inc +320 -0
  2193. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.cc.inc +459 -0
  2194. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.cc.inc +295 -0
  2195. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.cc.inc +672 -0
  2196. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.cc.inc +1242 -0
  2197. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aesccm.cc.inc +409 -0
  2198. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h +14 -65
  2199. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/cmac.cc.inc +288 -0
  2200. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +26 -22
  2201. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.cc.inc +203 -0
  2202. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.cc.inc +443 -0
  2203. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +13 -15
  2204. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.cc.inc +250 -0
  2205. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.cc.inc +178 -0
  2206. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/internal.h +13 -55
  2207. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +13 -47
  2208. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/digestsign.cc.inc +226 -0
  2209. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/builtin_curves.h +91 -91
  2210. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.cc.inc +986 -0
  2211. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.cc.inc +501 -0
  2212. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.cc.inc +439 -0
  2213. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.cc.inc +104 -0
  2214. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +19 -66
  2215. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.cc.inc +306 -0
  2216. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.cc.inc +1163 -0
  2217. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz-table.h +15 -10
  2218. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.cc.inc +741 -0
  2219. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.h +87 -25
  2220. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.cc.inc +749 -0
  2221. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +13 -13
  2222. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.cc.inc +179 -0
  2223. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.cc.inc +284 -0
  2224. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.cc.inc +269 -0
  2225. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.cc.inc +255 -0
  2226. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.cc.inc +221 -0
  2227. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.cc.inc +88 -0
  2228. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +278 -0
  2229. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +41 -24
  2230. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.cc +28 -0
  2231. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.cc.inc +112 -0
  2232. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.cc.inc +215 -0
  2233. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/keccak/internal.h +70 -0
  2234. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/keccak/keccak.cc.inc +279 -0
  2235. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mldsa/mldsa.cc.inc +1993 -0
  2236. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mlkem/mlkem.cc.inc +1165 -0
  2237. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.cc.inc +214 -0
  2238. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +19 -104
  2239. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.cc.inc +483 -0
  2240. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.cc.inc +147 -0
  2241. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +13 -56
  2242. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.cc.inc +379 -0
  2243. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.cc.inc +983 -0
  2244. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.cc.inc +1296 -0
  2245. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.cc.inc +129 -0
  2246. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.cc.inc +1042 -0
  2247. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h +36 -36
  2248. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +327 -0
  2249. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +43 -57
  2250. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.cc.inc +390 -0
  2251. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.cc.inc +299 -0
  2252. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.cc.inc +473 -0
  2253. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/address.h +119 -0
  2254. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/fors.cc.inc +169 -0
  2255. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/fors.h +58 -0
  2256. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/merkle.cc.inc +161 -0
  2257. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/merkle.h +70 -0
  2258. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/params.h +78 -0
  2259. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +329 -0
  2260. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/thash.cc.inc +173 -0
  2261. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/thash.h +85 -0
  2262. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/wots.cc.inc +171 -0
  2263. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/wots.h +50 -0
  2264. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +13 -13
  2265. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.cc.inc +180 -0
  2266. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.cc +1095 -0
  2267. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.cc +2185 -0
  2268. data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +13 -13
  2269. data/third_party/boringssl-with-bazel/src/crypto/internal.h +302 -447
  2270. data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +13 -13
  2271. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.cc +869 -0
  2272. data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +31 -75
  2273. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.cc +309 -0
  2274. data/third_party/boringssl-with-bazel/src/crypto/md4/md4.cc +194 -0
  2275. data/third_party/boringssl-with-bazel/src/crypto/md5/internal.h +37 -0
  2276. data/third_party/boringssl-with-bazel/src/crypto/md5/md5.cc +243 -0
  2277. data/third_party/boringssl-with-bazel/src/crypto/mem.cc +583 -0
  2278. data/third_party/boringssl-with-bazel/src/crypto/mldsa/mldsa.cc +90 -0
  2279. data/third_party/boringssl-with-bazel/src/crypto/mlkem/mlkem.cc +152 -0
  2280. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.cc +519 -0
  2281. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +18 -57
  2282. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_xref.cc +80 -0
  2283. data/third_party/boringssl-with-bazel/src/crypto/pem/internal.h +44 -0
  2284. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.cc +149 -0
  2285. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.cc +254 -0
  2286. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.cc +741 -0
  2287. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.cc +45 -0
  2288. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.cc +208 -0
  2289. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.cc +141 -0
  2290. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.cc +22 -0
  2291. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.cc +22 -0
  2292. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +13 -13
  2293. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.cc +193 -0
  2294. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.cc +526 -0
  2295. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +14 -54
  2296. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.cc +275 -0
  2297. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.cc +487 -0
  2298. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.cc +1304 -0
  2299. data/third_party/boringssl-with-bazel/src/crypto/poly1305/internal.h +13 -13
  2300. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.cc +314 -0
  2301. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.cc +310 -0
  2302. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.cc +850 -0
  2303. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +13 -13
  2304. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.cc +262 -0
  2305. data/third_party/boringssl-with-bazel/src/crypto/rand/deterministic.cc +65 -0
  2306. data/third_party/boringssl-with-bazel/src/crypto/rand/fork_detect.cc +194 -0
  2307. data/third_party/boringssl-with-bazel/src/crypto/rand/forkunsafe.cc +44 -0
  2308. data/third_party/boringssl-with-bazel/src/crypto/rand/getentropy.cc +60 -0
  2309. data/third_party/boringssl-with-bazel/src/crypto/rand/getrandom_fillin.h +64 -0
  2310. data/third_party/boringssl-with-bazel/src/crypto/rand/ios.cc +42 -0
  2311. data/third_party/boringssl-with-bazel/src/crypto/rand/passive.cc +178 -0
  2312. data/third_party/boringssl-with-bazel/src/crypto/rand/rand.cc +77 -0
  2313. data/third_party/boringssl-with-bazel/src/crypto/rand/sysrand_internal.h +37 -0
  2314. data/third_party/boringssl-with-bazel/src/crypto/rand/trusty.cc +46 -0
  2315. data/third_party/boringssl-with-bazel/src/crypto/rand/urandom.cc +328 -0
  2316. data/third_party/boringssl-with-bazel/src/crypto/rand/windows.cc +102 -0
  2317. data/third_party/boringssl-with-bazel/src/crypto/rc4/rc4.cc +56 -0
  2318. data/third_party/boringssl-with-bazel/src/crypto/refcount.cc +59 -0
  2319. data/third_party/boringssl-with-bazel/src/crypto/rsa/internal.h +36 -0
  2320. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_asn1.cc +283 -0
  2321. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_crypt.cc +531 -0
  2322. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_extra.cc +19 -0
  2323. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_print.cc +27 -0
  2324. data/third_party/boringssl-with-bazel/src/crypto/sha/sha1.cc +52 -0
  2325. data/third_party/boringssl-with-bazel/src/crypto/sha/sha256.cc +87 -0
  2326. data/third_party/boringssl-with-bazel/src/crypto/sha/sha512.cc +104 -0
  2327. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.cc +79 -0
  2328. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/slhdsa.cc +113 -0
  2329. data/third_party/boringssl-with-bazel/src/crypto/spake2plus/internal.h +204 -0
  2330. data/third_party/boringssl-with-bazel/src/crypto/spake2plus/spake2plus.cc +501 -0
  2331. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.cc +496 -0
  2332. data/third_party/boringssl-with-bazel/src/crypto/thread.cc +68 -0
  2333. data/third_party/boringssl-with-bazel/src/crypto/thread_none.cc +51 -0
  2334. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.cc +151 -0
  2335. data/third_party/boringssl-with-bazel/src/crypto/thread_win.cc +240 -0
  2336. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +13 -13
  2337. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.cc +1656 -0
  2338. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.cc +685 -0
  2339. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.cc +1263 -0
  2340. data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.cc +52 -0
  2341. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.cc +97 -0
  2342. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.cc +74 -0
  2343. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.cc +136 -0
  2344. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.cc +542 -0
  2345. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.cc +355 -0
  2346. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.cc +227 -0
  2347. data/third_party/boringssl-with-bazel/src/crypto/x509/ext_dat.h +13 -55
  2348. data/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.cc +37 -0
  2349. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +13 -57
  2350. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.cc +185 -0
  2351. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.cc +796 -0
  2352. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.cc +364 -0
  2353. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.cc +103 -0
  2354. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.cc +203 -0
  2355. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.cc +287 -0
  2356. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.cc +79 -0
  2357. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akey.cc +181 -0
  2358. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akeya.cc +31 -0
  2359. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_alt.cc +593 -0
  2360. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bcons.cc +95 -0
  2361. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bitst.cc +102 -0
  2362. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_conf.cc +374 -0
  2363. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_cpols.cc +444 -0
  2364. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_crld.cc +557 -0
  2365. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_enum.cc +73 -0
  2366. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_extku.cc +114 -0
  2367. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_genn.cc +228 -0
  2368. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ia5.cc +79 -0
  2369. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_info.cc +164 -0
  2370. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_int.cc +81 -0
  2371. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_lib.cc +304 -0
  2372. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ncons.cc +514 -0
  2373. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ocsp.cc +89 -0
  2374. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pcons.cc +101 -0
  2375. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pmaps.cc +109 -0
  2376. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_prn.cc +183 -0
  2377. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_purp.cc +590 -0
  2378. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_skey.cc +131 -0
  2379. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.cc +1342 -0
  2380. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.cc +47 -0
  2381. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.cc +186 -0
  2382. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.cc +238 -0
  2383. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.cc +66 -0
  2384. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.cc +44 -0
  2385. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.cc +139 -0
  2386. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.cc +554 -0
  2387. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.cc +164 -0
  2388. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.cc +257 -0
  2389. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.cc +198 -0
  2390. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.cc +118 -0
  2391. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.cc +147 -0
  2392. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.cc +249 -0
  2393. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.cc +1600 -0
  2394. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.cc +440 -0
  2395. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.cc +235 -0
  2396. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.cc +365 -0
  2397. data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.cc +67 -0
  2398. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.cc +91 -0
  2399. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.cc +107 -0
  2400. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.cc +318 -0
  2401. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.cc +55 -0
  2402. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.cc +342 -0
  2403. data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.cc +36 -0
  2404. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.cc +492 -0
  2405. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.cc +170 -0
  2406. data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.cc +74 -0
  2407. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.cc +51 -0
  2408. data/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.cc +34 -0
  2409. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.cc +28 -0
  2410. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.cc +506 -0
  2411. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.cc +169 -0
  2412. data/third_party/boringssl-with-bazel/src/gen/crypto/err_data.cc +1529 -0
  2413. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +13 -13
  2414. data/third_party/boringssl-with-bazel/src/include/openssl/aes.h +13 -47
  2415. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +13 -51
  2416. data/third_party/boringssl-with-bazel/src/include/openssl/asm_base.h +14 -14
  2417. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +37 -63
  2418. data/third_party/boringssl-with-bazel/src/include/openssl/asn1_mac.h +13 -13
  2419. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +248 -328
  2420. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +24 -55
  2421. data/third_party/boringssl-with-bazel/src/include/openssl/base64.h +13 -55
  2422. data/third_party/boringssl-with-bazel/src/include/openssl/bcm_public.h +82 -0
  2423. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +13 -55
  2424. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +13 -13
  2425. data/third_party/boringssl-with-bazel/src/include/openssl/blowfish.h +13 -55
  2426. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +28 -130
  2427. data/third_party/boringssl-with-bazel/src/include/openssl/buf.h +13 -55
  2428. data/third_party/boringssl-with-bazel/src/include/openssl/buffer.h +13 -13
  2429. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +31 -16
  2430. data/third_party/boringssl-with-bazel/src/include/openssl/cast.h +13 -55
  2431. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +13 -13
  2432. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +31 -59
  2433. data/third_party/boringssl-with-bazel/src/include/openssl/cmac.h +13 -13
  2434. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +13 -55
  2435. data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +13 -13
  2436. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +25 -14
  2437. data/third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h +13 -13
  2438. data/third_party/boringssl-with-bazel/src/include/openssl/curve25519.h +13 -13
  2439. data/third_party/boringssl-with-bazel/src/include/openssl/des.h +13 -55
  2440. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +17 -55
  2441. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +19 -56
  2442. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +17 -58
  2443. data/third_party/boringssl-with-bazel/src/include/openssl/dtls1.h +13 -13
  2444. data/third_party/boringssl-with-bazel/src/include/openssl/e_os2.h +13 -13
  2445. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +14 -66
  2446. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +31 -72
  2447. data/third_party/boringssl-with-bazel/src/include/openssl/ecdh.h +14 -65
  2448. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +13 -51
  2449. data/third_party/boringssl-with-bazel/src/include/openssl/engine.h +13 -13
  2450. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +13 -107
  2451. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +14 -56
  2452. data/third_party/boringssl-with-bazel/src/include/openssl/evp_errors.h +13 -55
  2453. data/third_party/boringssl-with-bazel/src/include/openssl/ex_data.h +13 -107
  2454. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/kyber.h +13 -13
  2455. data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +13 -13
  2456. data/third_party/boringssl-with-bazel/src/include/openssl/hmac.h +13 -55
  2457. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +21 -19
  2458. data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +13 -13
  2459. data/third_party/boringssl-with-bazel/src/include/openssl/is_boringssl.h +13 -13
  2460. data/third_party/boringssl-with-bazel/src/include/openssl/kdf.h +13 -13
  2461. data/third_party/boringssl-with-bazel/src/include/openssl/lhash.h +13 -55
  2462. data/third_party/boringssl-with-bazel/src/include/openssl/md4.h +13 -55
  2463. data/third_party/boringssl-with-bazel/src/include/openssl/md5.h +13 -55
  2464. data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +13 -55
  2465. data/third_party/boringssl-with-bazel/src/include/openssl/mldsa.h +130 -0
  2466. data/third_party/boringssl-with-bazel/src/include/openssl/mlkem.h +222 -0
  2467. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +30 -69
  2468. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +13 -55
  2469. data/third_party/boringssl-with-bazel/src/include/openssl/obj_mac.h +13 -13
  2470. data/third_party/boringssl-with-bazel/src/include/openssl/objects.h +13 -13
  2471. data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +13 -13
  2472. data/third_party/boringssl-with-bazel/src/include/openssl/opensslv.h +13 -13
  2473. data/third_party/boringssl-with-bazel/src/include/openssl/ossl_typ.h +13 -13
  2474. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +25 -64
  2475. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs12.h +13 -13
  2476. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +13 -13
  2477. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +13 -55
  2478. data/third_party/boringssl-with-bazel/src/include/openssl/poly1305.h +13 -13
  2479. data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +13 -13
  2480. data/third_party/boringssl-with-bazel/src/include/openssl/posix_time.h +13 -13
  2481. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +13 -13
  2482. data/third_party/boringssl-with-bazel/src/include/openssl/rc4.h +13 -55
  2483. data/third_party/boringssl-with-bazel/src/include/openssl/ripemd.h +13 -55
  2484. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +23 -63
  2485. data/third_party/boringssl-with-bazel/src/include/openssl/safestack.h +13 -13
  2486. data/third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h +15 -15
  2487. data/third_party/boringssl-with-bazel/src/include/openssl/sha.h +15 -95
  2488. data/third_party/boringssl-with-bazel/src/include/openssl/siphash.h +13 -13
  2489. data/third_party/boringssl-with-bazel/src/include/openssl/slhdsa.h +174 -0
  2490. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +42 -28
  2491. data/third_party/boringssl-with-bazel/src/include/openssl/srtp.h +13 -13
  2492. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +382 -284
  2493. data/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h +15 -114
  2494. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +13 -55
  2495. data/third_party/boringssl-with-bazel/src/include/openssl/target.h +23 -13
  2496. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +15 -57
  2497. data/third_party/boringssl-with-bazel/src/include/openssl/time.h +13 -13
  2498. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +27 -156
  2499. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +15 -15
  2500. data/third_party/boringssl-with-bazel/src/include/openssl/type_check.h +13 -55
  2501. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +14 -61
  2502. data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +13 -13
  2503. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +13 -13
  2504. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3_errors.h +13 -53
  2505. data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +15 -14
  2506. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +684 -439
  2507. data/third_party/boringssl-with-bazel/src/ssl/d1_lib.cc +129 -168
  2508. data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +176 -126
  2509. data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +21 -127
  2510. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +112 -97
  2511. data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +454 -221
  2512. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +54 -47
  2513. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +679 -475
  2514. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +66 -73
  2515. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +61 -153
  2516. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +232 -334
  2517. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +102 -215
  2518. data/third_party/boringssl-with-bazel/src/ssl/internal.h +993 -482
  2519. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +87 -169
  2520. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +29 -159
  2521. data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +39 -113
  2522. data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +103 -111
  2523. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +52 -145
  2524. data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +22 -24
  2525. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +117 -157
  2526. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +229 -365
  2527. data/third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc +216 -31
  2528. data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +13 -109
  2529. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +127 -32
  2530. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +209 -336
  2531. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +38 -83
  2532. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +101 -236
  2533. data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +17 -91
  2534. data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +109 -157
  2535. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +47 -27
  2536. data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +66 -195
  2537. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +45 -176
  2538. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +58 -42
  2539. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +152 -86
  2540. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +296 -163
  2541. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +247 -108
  2542. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +64 -117
  2543. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +55 -157
  2544. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h +6 -0
  2545. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h +6 -0
  2546. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_adx.h +4 -1
  2547. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +1 -1
  2548. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h +3 -0
  2549. data/third_party/upb/upb/json/decode.c +59 -13
  2550. data/third_party/upb/upb/json/decode.h +26 -3
  2551. data/third_party/upb/upb/json/encode.c +2 -2
  2552. data/third_party/upb/upb/lex/round_trip.c +10 -0
  2553. data/third_party/upb/upb/mem/arena.c +13 -2
  2554. data/third_party/upb/upb/mem/arena.h +9 -0
  2555. data/third_party/upb/upb/mem/arena.hpp +5 -1
  2556. data/third_party/upb/upb/message/accessors.c +2 -4
  2557. data/third_party/upb/upb/message/accessors.h +178 -379
  2558. data/third_party/upb/upb/message/copy.c +11 -7
  2559. data/third_party/upb/upb/message/internal/accessors.h +578 -26
  2560. data/third_party/upb/upb/message/internal/extension.c +1 -0
  2561. data/third_party/upb/upb/message/internal/message.c +13 -14
  2562. data/third_party/upb/upb/message/internal/message.h +8 -7
  2563. data/third_party/upb/upb/message/merge.c +38 -0
  2564. data/third_party/upb/upb/message/merge.h +26 -0
  2565. data/third_party/upb/upb/message/message.h +6 -10
  2566. data/third_party/upb/upb/message/value.h +26 -0
  2567. data/third_party/upb/upb/mini_descriptor/decode.c +7 -2
  2568. data/third_party/upb/upb/mini_descriptor/link.c +7 -3
  2569. data/third_party/upb/upb/mini_table/extension_registry.c +18 -0
  2570. data/third_party/upb/upb/mini_table/extension_registry.h +17 -0
  2571. data/third_party/upb/upb/mini_table/internal/extension.h +9 -0
  2572. data/third_party/upb/upb/mini_table/internal/message.c +21 -1
  2573. data/third_party/upb/upb/mini_table/internal/message.h +40 -20
  2574. data/third_party/upb/upb/mini_table/internal/sub.h +5 -0
  2575. data/third_party/upb/upb/mini_table/message.h +11 -1
  2576. data/third_party/upb/upb/port/def.inc +99 -9
  2577. data/third_party/upb/upb/port/undef.inc +7 -0
  2578. data/third_party/upb/upb/reflection/common.h +1 -11
  2579. data/third_party/upb/upb/reflection/def.hpp +8 -0
  2580. data/third_party/upb/upb/reflection/descriptor_bootstrap.h +19 -0
  2581. data/third_party/upb/upb/reflection/field_def.c +11 -22
  2582. data/third_party/upb/upb/reflection/field_def.h +1 -0
  2583. data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +1 -1
  2584. data/third_party/upb/upb/reflection/message.c +8 -3
  2585. data/third_party/upb/upb/reflection/message.h +2 -2
  2586. data/third_party/upb/upb/text/encode.c +51 -394
  2587. data/third_party/upb/upb/text/encode.h +1 -11
  2588. data/third_party/upb/upb/text/internal/encode.c +180 -0
  2589. data/third_party/upb/upb/text/internal/encode.h +240 -0
  2590. data/third_party/upb/upb/text/options.h +22 -0
  2591. data/third_party/upb/upb/wire/decode.c +71 -39
  2592. data/third_party/upb/upb/wire/decode.h +4 -1
  2593. data/third_party/upb/upb/wire/encode.c +41 -18
  2594. data/third_party/upb/upb/wire/encode.h +3 -0
  2595. data/third_party/upb/upb/wire/internal/decode_fast.c +3 -0
  2596. metadata +525 -460
  2597. data/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.cc +0 -45
  2598. data/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.h +0 -67
  2599. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb.h +0 -419
  2600. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.c +0 -84
  2601. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.h +0 -30
  2602. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb.h +0 -400
  2603. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.c +0 -118
  2604. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.h +0 -33
  2605. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.c +0 -107
  2606. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.h +0 -32
  2607. data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.c +0 -66
  2608. data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.h +0 -47
  2609. data/src/core/lib/avl/avl.h +0 -325
  2610. data/src/core/lib/backoff/backoff.cc +0 -47
  2611. data/src/core/lib/backoff/backoff.h +0 -89
  2612. data/src/core/lib/backoff/random_early_detection.cc +0 -33
  2613. data/src/core/lib/backoff/random_early_detection.h +0 -62
  2614. data/src/core/lib/config/config_vars.cc +0 -142
  2615. data/src/core/lib/config/config_vars.h +0 -121
  2616. data/src/core/lib/config/config_vars_non_generated.cc +0 -49
  2617. data/src/core/lib/config/core_configuration.cc +0 -112
  2618. data/src/core/lib/config/core_configuration.h +0 -244
  2619. data/src/core/lib/config/load_config.cc +0 -79
  2620. data/src/core/lib/config/load_config.h +0 -55
  2621. data/src/core/lib/debug/event_log.cc +0 -88
  2622. data/src/core/lib/debug/event_log.h +0 -81
  2623. data/src/core/lib/gprpp/atomic_utils.h +0 -47
  2624. data/src/core/lib/gprpp/bitset.h +0 -225
  2625. data/src/core/lib/gprpp/chunked_vector.h +0 -258
  2626. data/src/core/lib/gprpp/construct_destruct.h +0 -40
  2627. data/src/core/lib/gprpp/cpp_impl_of.h +0 -49
  2628. data/src/core/lib/gprpp/crash.cc +0 -41
  2629. data/src/core/lib/gprpp/crash.h +0 -37
  2630. data/src/core/lib/gprpp/debug_location.h +0 -106
  2631. data/src/core/lib/gprpp/directory_reader.h +0 -48
  2632. data/src/core/lib/gprpp/down_cast.h +0 -49
  2633. data/src/core/lib/gprpp/dual_ref_counted.h +0 -377
  2634. data/src/core/lib/gprpp/dump_args.cc +0 -54
  2635. data/src/core/lib/gprpp/dump_args.h +0 -117
  2636. data/src/core/lib/gprpp/env.h +0 -53
  2637. data/src/core/lib/gprpp/examine_stack.cc +0 -43
  2638. data/src/core/lib/gprpp/examine_stack.h +0 -45
  2639. data/src/core/lib/gprpp/fork.cc +0 -241
  2640. data/src/core/lib/gprpp/fork.h +0 -98
  2641. data/src/core/lib/gprpp/glob.h +0 -29
  2642. data/src/core/lib/gprpp/host_port.cc +0 -116
  2643. data/src/core/lib/gprpp/host_port.h +0 -57
  2644. data/src/core/lib/gprpp/if_list.h +0 -4530
  2645. data/src/core/lib/gprpp/linux/env.cc +0 -62
  2646. data/src/core/lib/gprpp/load_file.cc +0 -77
  2647. data/src/core/lib/gprpp/load_file.h +0 -34
  2648. data/src/core/lib/gprpp/manual_constructor.h +0 -146
  2649. data/src/core/lib/gprpp/match.h +0 -75
  2650. data/src/core/lib/gprpp/memory.h +0 -52
  2651. data/src/core/lib/gprpp/mpscq.cc +0 -108
  2652. data/src/core/lib/gprpp/mpscq.h +0 -100
  2653. data/src/core/lib/gprpp/no_destruct.h +0 -95
  2654. data/src/core/lib/gprpp/notification.h +0 -67
  2655. data/src/core/lib/gprpp/orphanable.h +0 -153
  2656. data/src/core/lib/gprpp/overload.h +0 -59
  2657. data/src/core/lib/gprpp/packed_table.h +0 -40
  2658. data/src/core/lib/gprpp/per_cpu.cc +0 -34
  2659. data/src/core/lib/gprpp/per_cpu.h +0 -103
  2660. data/src/core/lib/gprpp/posix/directory_reader.cc +0 -82
  2661. data/src/core/lib/gprpp/posix/env.cc +0 -47
  2662. data/src/core/lib/gprpp/posix/stat.cc +0 -55
  2663. data/src/core/lib/gprpp/posix/thd.cc +0 -246
  2664. data/src/core/lib/gprpp/ref_counted.h +0 -403
  2665. data/src/core/lib/gprpp/ref_counted_ptr.h +0 -445
  2666. data/src/core/lib/gprpp/ref_counted_string.cc +0 -43
  2667. data/src/core/lib/gprpp/ref_counted_string.h +0 -161
  2668. data/src/core/lib/gprpp/single_set_ptr.h +0 -90
  2669. data/src/core/lib/gprpp/sorted_pack.h +0 -89
  2670. data/src/core/lib/gprpp/stat.h +0 -36
  2671. data/src/core/lib/gprpp/status_helper.cc +0 -434
  2672. data/src/core/lib/gprpp/status_helper.h +0 -162
  2673. data/src/core/lib/gprpp/strerror.cc +0 -41
  2674. data/src/core/lib/gprpp/strerror.h +0 -29
  2675. data/src/core/lib/gprpp/sync.h +0 -200
  2676. data/src/core/lib/gprpp/table.h +0 -460
  2677. data/src/core/lib/gprpp/tchar.cc +0 -49
  2678. data/src/core/lib/gprpp/tchar.h +0 -33
  2679. data/src/core/lib/gprpp/thd.h +0 -195
  2680. data/src/core/lib/gprpp/time.cc +0 -241
  2681. data/src/core/lib/gprpp/time.h +0 -380
  2682. data/src/core/lib/gprpp/time_averaged_stats.cc +0 -60
  2683. data/src/core/lib/gprpp/time_averaged_stats.h +0 -79
  2684. data/src/core/lib/gprpp/time_util.cc +0 -82
  2685. data/src/core/lib/gprpp/time_util.h +0 -41
  2686. data/src/core/lib/gprpp/type_list.h +0 -32
  2687. data/src/core/lib/gprpp/unique_type_name.h +0 -124
  2688. data/src/core/lib/gprpp/uuid_v4.cc +0 -37
  2689. data/src/core/lib/gprpp/uuid_v4.h +0 -36
  2690. data/src/core/lib/gprpp/validation_errors.cc +0 -74
  2691. data/src/core/lib/gprpp/validation_errors.h +0 -145
  2692. data/src/core/lib/gprpp/windows/directory_reader.cc +0 -81
  2693. data/src/core/lib/gprpp/windows/env.cc +0 -56
  2694. data/src/core/lib/gprpp/windows/stat.cc +0 -51
  2695. data/src/core/lib/gprpp/windows/thd.cc +0 -185
  2696. data/src/core/lib/gprpp/work_serializer.cc +0 -554
  2697. data/src/core/lib/gprpp/work_serializer.h +0 -106
  2698. data/src/core/lib/gprpp/xxhash_inline.h +0 -29
  2699. data/src/core/lib/iomgr/gethostname.h +0 -26
  2700. data/src/core/lib/iomgr/gethostname_fallback.cc +0 -30
  2701. data/src/core/lib/iomgr/gethostname_host_name_max.cc +0 -40
  2702. data/src/core/lib/iomgr/gethostname_sysconf.cc +0 -40
  2703. data/src/core/lib/iomgr/grpc_if_nametoindex.h +0 -30
  2704. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +0 -42
  2705. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +0 -37
  2706. data/src/core/lib/matchers/matchers.cc +0 -330
  2707. data/src/core/lib/matchers/matchers.h +0 -163
  2708. data/src/core/lib/uri/uri_parser.cc +0 -372
  2709. data/src/core/lib/uri/uri_parser.h +0 -101
  2710. data/src/core/resolver/binder/binder_resolver.cc +0 -155
  2711. data/src/core/util/android/log.cc +0 -48
  2712. data/src/core/util/atm.cc +0 -35
  2713. data/src/core/util/linux/log.cc +0 -69
  2714. data/src/core/util/posix/log.cc +0 -69
  2715. data/src/core/util/windows/log.cc +0 -73
  2716. data/src/core/xds/xds_client/xds_client_stats.cc +0 -171
  2717. data/src/core/xds/xds_client/xds_client_stats.h +0 -258
  2718. data/third_party/abseil-cpp/absl/strings/internal/has_absl_stringify.h +0 -44
  2719. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +0 -284
  2720. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +0 -95
  2721. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c +0 -89
  2722. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c +0 -84
  2723. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +0 -151
  2724. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c +0 -85
  2725. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +0 -465
  2726. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +0 -279
  2727. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +0 -235
  2728. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c +0 -74
  2729. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c +0 -457
  2730. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +0 -245
  2731. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +0 -259
  2732. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +0 -214
  2733. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +0 -183
  2734. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +0 -397
  2735. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c +0 -103
  2736. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +0 -98
  2737. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +0 -105
  2738. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c +0 -94
  2739. data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.c +0 -241
  2740. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +0 -973
  2741. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +0 -708
  2742. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +0 -212
  2743. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +0 -317
  2744. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +0 -126
  2745. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +0 -268
  2746. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +0 -479
  2747. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +0 -726
  2748. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +0 -309
  2749. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +0 -544
  2750. data/third_party/boringssl-with-bazel/src/crypto/bio/errno.c +0 -92
  2751. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +0 -235
  2752. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +0 -334
  2753. data/third_party/boringssl-with-bazel/src/crypto/bio/hexdump.c +0 -192
  2754. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +0 -480
  2755. data/third_party/boringssl-with-bazel/src/crypto/bio/printf.c +0 -102
  2756. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +0 -189
  2757. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +0 -133
  2758. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +0 -169
  2759. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c +0 -57
  2760. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c +0 -465
  2761. data/third_party/boringssl-with-bazel/src/crypto/buf/buf.c +0 -158
  2762. data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.c +0 -53
  2763. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +0 -266
  2764. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c +0 -718
  2765. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +0 -911
  2766. data/third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.c +0 -156
  2767. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +0 -224
  2768. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c +0 -127
  2769. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c +0 -152
  2770. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c +0 -284
  2771. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c +0 -841
  2772. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +0 -348
  2773. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_des.c +0 -228
  2774. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c +0 -90
  2775. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c +0 -455
  2776. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c +0 -94
  2777. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +0 -598
  2778. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +0 -237
  2779. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +0 -514
  2780. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +0 -672
  2781. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c +0 -75
  2782. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c +0 -55
  2783. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c +0 -62
  2784. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c +0 -61
  2785. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.c +0 -93
  2786. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c +0 -41
  2787. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c +0 -54
  2788. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c +0 -151
  2789. data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.c +0 -277
  2790. data/third_party/boringssl-with-bazel/src/crypto/crypto.c +0 -188
  2791. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +0 -2157
  2792. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.c +0 -18
  2793. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c +0 -523
  2794. data/third_party/boringssl-with-bazel/src/crypto/des/des.c +0 -871
  2795. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c +0 -165
  2796. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c +0 -480
  2797. data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +0 -266
  2798. data/third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c +0 -1539
  2799. data/third_party/boringssl-with-bazel/src/crypto/dilithium/internal.h +0 -58
  2800. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +0 -997
  2801. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +0 -419
  2802. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +0 -572
  2803. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.c +0 -96
  2804. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +0 -508
  2805. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +0 -78
  2806. data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c +0 -124
  2807. data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c +0 -265
  2808. data/third_party/boringssl-with-bazel/src/crypto/engine/engine.c +0 -91
  2809. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +0 -903
  2810. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +0 -430
  2811. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +0 -547
  2812. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c +0 -483
  2813. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh.c +0 -137
  2814. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.c +0 -120
  2815. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c +0 -338
  2816. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +0 -274
  2817. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +0 -332
  2818. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c +0 -100
  2819. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c +0 -224
  2820. data/third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.c +0 -232
  2821. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c +0 -646
  2822. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c +0 -241
  2823. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c +0 -106
  2824. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.c +0 -236
  2825. data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.c +0 -146
  2826. data/third_party/boringssl-with-bazel/src/crypto/evp/print.c +0 -381
  2827. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +0 -209
  2828. data/third_party/boringssl-with-bazel/src/crypto/evp/sign.c +0 -156
  2829. data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +0 -236
  2830. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.c +0 -127
  2831. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.c +0 -1281
  2832. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.c +0 -242
  2833. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c +0 -124
  2834. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +0 -278
  2835. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/add.c +0 -310
  2836. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/x86_64-gcc.c +0 -541
  2837. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c +0 -428
  2838. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.c +0 -267
  2839. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.c +0 -201
  2840. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.c +0 -234
  2841. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +0 -909
  2842. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.c +0 -87
  2843. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +0 -1320
  2844. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c +0 -397
  2845. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c +0 -331
  2846. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/generic.c +0 -624
  2847. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/jacobi.c +0 -146
  2848. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c +0 -532
  2849. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c +0 -222
  2850. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.c +0 -744
  2851. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c +0 -1077
  2852. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.c +0 -356
  2853. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.c +0 -137
  2854. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.c +0 -363
  2855. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c +0 -499
  2856. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.c +0 -287
  2857. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +0 -717
  2858. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +0 -1463
  2859. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aesccm.c +0 -446
  2860. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/cmac.c +0 -322
  2861. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.c +0 -245
  2862. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c +0 -489
  2863. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +0 -288
  2864. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c +0 -304
  2865. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/digestsign.c +0 -267
  2866. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +0 -1043
  2867. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +0 -557
  2868. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c +0 -491
  2869. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.c +0 -104
  2870. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +0 -359
  2871. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +0 -1163
  2872. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.c +0 -642
  2873. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +0 -749
  2874. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +0 -173
  2875. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c +0 -336
  2876. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +0 -269
  2877. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.c +0 -255
  2878. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +0 -264
  2879. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c +0 -130
  2880. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +0 -372
  2881. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c +0 -29
  2882. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.c +0 -112
  2883. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.c +0 -256
  2884. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +0 -240
  2885. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/internal.h +0 -37
  2886. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +0 -284
  2887. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +0 -164
  2888. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +0 -200
  2889. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +0 -196
  2890. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +0 -743
  2891. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c +0 -302
  2892. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +0 -428
  2893. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +0 -87
  2894. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.c +0 -90
  2895. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.c +0 -220
  2896. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c +0 -197
  2897. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.h +0 -68
  2898. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/getrandom_fillin.h +0 -64
  2899. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +0 -493
  2900. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +0 -328
  2901. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.c +0 -241
  2902. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c +0 -423
  2903. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +0 -1038
  2904. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +0 -1351
  2905. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +0 -121
  2906. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +0 -1064
  2907. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.c +0 -328
  2908. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +0 -439
  2909. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +0 -359
  2910. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +0 -543
  2911. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c +0 -218
  2912. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +0 -801
  2913. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c +0 -2234
  2914. data/third_party/boringssl-with-bazel/src/crypto/keccak/internal.h +0 -70
  2915. data/third_party/boringssl-with-bazel/src/crypto/keccak/keccak.c +0 -279
  2916. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +0 -845
  2917. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c +0 -350
  2918. data/third_party/boringssl-with-bazel/src/crypto/mem.c +0 -609
  2919. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +0 -564
  2920. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_xref.c +0 -122
  2921. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c +0 -243
  2922. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c +0 -294
  2923. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +0 -790
  2924. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.c +0 -87
  2925. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +0 -251
  2926. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +0 -183
  2927. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.c +0 -64
  2928. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.c +0 -64
  2929. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c +0 -193
  2930. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +0 -523
  2931. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.c +0 -316
  2932. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +0 -527
  2933. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +0 -1352
  2934. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +0 -314
  2935. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c +0 -308
  2936. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c +0 -847
  2937. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +0 -261
  2938. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +0 -57
  2939. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c +0 -44
  2940. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.c +0 -52
  2941. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/ios.c +0 -34
  2942. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +0 -158
  2943. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +0 -74
  2944. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.c +0 -38
  2945. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +0 -95
  2946. data/third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c +0 -98
  2947. data/third_party/boringssl-with-bazel/src/crypto/refcount.c +0 -59
  2948. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/internal.h +0 -77
  2949. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c +0 -324
  2950. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c +0 -570
  2951. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_print.c +0 -22
  2952. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +0 -79
  2953. data/third_party/boringssl-with-bazel/src/crypto/spx/address.c +0 -101
  2954. data/third_party/boringssl-with-bazel/src/crypto/spx/address.h +0 -50
  2955. data/third_party/boringssl-with-bazel/src/crypto/spx/fors.c +0 -133
  2956. data/third_party/boringssl-with-bazel/src/crypto/spx/fors.h +0 -54
  2957. data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.c +0 -150
  2958. data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.h +0 -61
  2959. data/third_party/boringssl-with-bazel/src/crypto/spx/params.h +0 -71
  2960. data/third_party/boringssl-with-bazel/src/crypto/spx/spx.c +0 -140
  2961. data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.c +0 -53
  2962. data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.h +0 -44
  2963. data/third_party/boringssl-with-bazel/src/crypto/spx/thash.c +0 -136
  2964. data/third_party/boringssl-with-bazel/src/crypto/spx/thash.h +0 -70
  2965. data/third_party/boringssl-with-bazel/src/crypto/spx/wots.c +0 -135
  2966. data/third_party/boringssl-with-bazel/src/crypto/spx/wots.h +0 -45
  2967. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +0 -534
  2968. data/third_party/boringssl-with-bazel/src/crypto/thread.c +0 -110
  2969. data/third_party/boringssl-with-bazel/src/crypto/thread_none.c +0 -51
  2970. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +0 -150
  2971. data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +0 -236
  2972. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +0 -1668
  2973. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +0 -687
  2974. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +0 -1267
  2975. data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.c +0 -94
  2976. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c +0 -136
  2977. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +0 -116
  2978. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +0 -178
  2979. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +0 -585
  2980. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +0 -400
  2981. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +0 -269
  2982. data/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.c +0 -79
  2983. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +0 -227
  2984. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.c +0 -786
  2985. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +0 -401
  2986. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +0 -145
  2987. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +0 -245
  2988. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +0 -329
  2989. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +0 -121
  2990. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akey.c +0 -221
  2991. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akeya.c +0 -73
  2992. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_alt.c +0 -634
  2993. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bcons.c +0 -135
  2994. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bitst.c +0 -141
  2995. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_conf.c +0 -416
  2996. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_cpols.c +0 -482
  2997. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_crld.c +0 -598
  2998. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_enum.c +0 -112
  2999. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_extku.c +0 -154
  3000. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_genn.c +0 -270
  3001. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ia5.c +0 -122
  3002. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_info.c +0 -211
  3003. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_int.c +0 -121
  3004. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_lib.c +0 -344
  3005. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ncons.c +0 -555
  3006. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ocsp.c +0 -81
  3007. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pcons.c +0 -142
  3008. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pmaps.c +0 -150
  3009. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_prn.c +0 -224
  3010. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_purp.c +0 -624
  3011. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_skey.c +0 -170
  3012. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.c +0 -1390
  3013. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.c +0 -89
  3014. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +0 -227
  3015. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +0 -280
  3016. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.c +0 -108
  3017. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.c +0 -86
  3018. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +0 -181
  3019. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +0 -599
  3020. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c +0 -206
  3021. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +0 -299
  3022. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +0 -240
  3023. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +0 -160
  3024. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.c +0 -189
  3025. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +0 -291
  3026. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +0 -1638
  3027. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +0 -440
  3028. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +0 -277
  3029. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +0 -407
  3030. data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c +0 -109
  3031. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c +0 -133
  3032. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +0 -149
  3033. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +0 -356
  3034. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +0 -97
  3035. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +0 -384
  3036. data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c +0 -78
  3037. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +0 -527
  3038. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +0 -210
  3039. data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.c +0 -116
  3040. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +0 -93
  3041. data/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.c +0 -79
  3042. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +0 -70
  3043. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +0 -544
  3044. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +0 -209
  3045. data/third_party/boringssl-with-bazel/src/gen/crypto/err_data.c +0 -1514
  3046. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +0 -131
  3047. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/spx.h +0 -90
  3048. /data/src/core/{lib/gprpp → util}/glob.cc +0 -0
@@ -1,110 +1,16 @@
1
- /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
2
- * All rights reserved.
3
- *
4
- * This package is an SSL implementation written
5
- * by Eric Young (eay@cryptsoft.com).
6
- * The implementation was written so as to conform with Netscapes SSL.
7
- *
8
- * This library is free for commercial and non-commercial use as long as
9
- * the following conditions are aheared to. The following conditions
10
- * apply to all code found in this distribution, be it the RC4, RSA,
11
- * lhash, DES, etc., code; not just the SSL code. The SSL documentation
12
- * included with this distribution is covered by the same copyright terms
13
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
14
- *
15
- * Copyright remains Eric Young's, and as such any Copyright notices in
16
- * the code are not to be removed.
17
- * If this package is used in a product, Eric Young should be given attribution
18
- * as the author of the parts of the library used.
19
- * This can be in the form of a textual message at program startup or
20
- * in documentation (online or textual) provided with the package.
21
- *
22
- * Redistribution and use in source and binary forms, with or without
23
- * modification, are permitted provided that the following conditions
24
- * are met:
25
- * 1. Redistributions of source code must retain the copyright
26
- * notice, this list of conditions and the following disclaimer.
27
- * 2. Redistributions in binary form must reproduce the above copyright
28
- * notice, this list of conditions and the following disclaimer in the
29
- * documentation and/or other materials provided with the distribution.
30
- * 3. All advertising materials mentioning features or use of this software
31
- * must display the following acknowledgement:
32
- * "This product includes cryptographic software written by
33
- * Eric Young (eay@cryptsoft.com)"
34
- * The word 'cryptographic' can be left out if the rouines from the library
35
- * being used are not cryptographic related :-).
36
- * 4. If you include any Windows specific code (or a derivative thereof) from
37
- * the apps directory (application code) you must include an acknowledgement:
38
- * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
39
- *
40
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
41
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
42
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
43
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
44
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
45
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
46
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
47
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
48
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
49
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
50
- * SUCH DAMAGE.
51
- *
52
- * The licence and distribution terms for any publically available version or
53
- * derivative of this code cannot be changed. i.e. this code cannot simply be
54
- * copied and put under another distribution licence
55
- * [including the GNU Public Licence.]
56
- */
57
- /* ====================================================================
58
- * Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved.
59
- *
60
- * Redistribution and use in source and binary forms, with or without
61
- * modification, are permitted provided that the following conditions
62
- * are met:
63
- *
64
- * 1. Redistributions of source code must retain the above copyright
65
- * notice, this list of conditions and the following disclaimer.
66
- *
67
- * 2. Redistributions in binary form must reproduce the above copyright
68
- * notice, this list of conditions and the following disclaimer in
69
- * the documentation and/or other materials provided with the
70
- * distribution.
71
- *
72
- * 3. All advertising materials mentioning features or use of this
73
- * software must display the following acknowledgment:
74
- * "This product includes software developed by the OpenSSL Project
75
- * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
76
- *
77
- * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
78
- * endorse or promote products derived from this software without
79
- * prior written permission. For written permission, please contact
80
- * openssl-core@openssl.org.
81
- *
82
- * 5. Products derived from this software may not be called "OpenSSL"
83
- * nor may "OpenSSL" appear in their names without prior written
84
- * permission of the OpenSSL Project.
85
- *
86
- * 6. Redistributions of any form whatsoever must retain the following
87
- * acknowledgment:
88
- * "This product includes software developed by the OpenSSL Project
89
- * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
90
- *
91
- * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
92
- * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
93
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
94
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
95
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
96
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
97
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
98
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
99
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
100
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
101
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
102
- * OF THE POSSIBILITY OF SUCH DAMAGE.
103
- * ====================================================================
104
- *
105
- * This product includes cryptographic software written by Eric Young
106
- * (eay@cryptsoft.com). This product includes software written by Tim
107
- * Hudson (tjh@cryptsoft.com). */
1
+ // Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // https://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
108
14
 
109
15
  #include <openssl/ssl.h>
110
16
 
@@ -130,6 +36,7 @@
130
36
  #include <openssl/rand.h>
131
37
 
132
38
  #include "../crypto/internal.h"
39
+ #include "../crypto/spake2plus/internal.h"
133
40
  #include "internal.h"
134
41
 
135
42
 
@@ -175,7 +82,7 @@ static bool tls1_check_duplicate_extensions(const CBS *cbs) {
175
82
  }
176
83
 
177
84
  Array<uint16_t> extension_types;
178
- if (!extension_types.Init(num_extensions)) {
85
+ if (!extension_types.InitForOverwrite(num_extensions)) {
179
86
  return false;
180
87
  }
181
88
 
@@ -207,22 +114,13 @@ static bool tls1_check_duplicate_extensions(const CBS *cbs) {
207
114
  static bool is_post_quantum_group(uint16_t id) {
208
115
  switch (id) {
209
116
  case SSL_GROUP_X25519_KYBER768_DRAFT00:
117
+ case SSL_GROUP_X25519_MLKEM768:
210
118
  return true;
211
119
  default:
212
120
  return false;
213
121
  }
214
122
  }
215
123
 
216
- bool ssl_client_hello_init(const SSL *ssl, SSL_CLIENT_HELLO *out,
217
- Span<const uint8_t> body) {
218
- CBS cbs = body;
219
- if (!ssl_parse_client_hello_with_trailing_data(ssl, &cbs, out) ||
220
- CBS_len(&cbs) != 0) {
221
- return false;
222
- }
223
- return true;
224
- }
225
-
226
124
  bool ssl_parse_client_hello_with_trailing_data(const SSL *ssl, CBS *cbs,
227
125
  SSL_CLIENT_HELLO *out) {
228
126
  OPENSSL_memset(out, 0, sizeof(*out));
@@ -234,6 +132,7 @@ bool ssl_parse_client_hello_with_trailing_data(const SSL *ssl, CBS *cbs,
234
132
  !CBS_get_bytes(cbs, &random, SSL3_RANDOM_SIZE) ||
235
133
  !CBS_get_u8_length_prefixed(cbs, &session_id) ||
236
134
  CBS_len(&session_id) > SSL_MAX_SSL_SESSION_ID_LENGTH) {
135
+ OPENSSL_PUT_ERROR(SSL, SSL_R_CLIENTHELLO_PARSE_FAILED);
237
136
  return false;
238
137
  }
239
138
 
@@ -242,12 +141,17 @@ bool ssl_parse_client_hello_with_trailing_data(const SSL *ssl, CBS *cbs,
242
141
  out->session_id = CBS_data(&session_id);
243
142
  out->session_id_len = CBS_len(&session_id);
244
143
 
245
- // Skip past DTLS cookie
246
144
  if (SSL_is_dtls(out->ssl)) {
247
145
  CBS cookie;
248
146
  if (!CBS_get_u8_length_prefixed(cbs, &cookie)) {
147
+ OPENSSL_PUT_ERROR(SSL, SSL_R_CLIENTHELLO_PARSE_FAILED);
249
148
  return false;
250
149
  }
150
+ out->dtls_cookie = CBS_data(&cookie);
151
+ out->dtls_cookie_len = CBS_len(&cookie);
152
+ } else {
153
+ out->dtls_cookie = nullptr;
154
+ out->dtls_cookie_len = 0;
251
155
  }
252
156
 
253
157
  CBS cipher_suites, compression_methods;
@@ -255,6 +159,7 @@ bool ssl_parse_client_hello_with_trailing_data(const SSL *ssl, CBS *cbs,
255
159
  CBS_len(&cipher_suites) < 2 || (CBS_len(&cipher_suites) & 1) != 0 ||
256
160
  !CBS_get_u8_length_prefixed(cbs, &compression_methods) ||
257
161
  CBS_len(&compression_methods) < 1) {
162
+ OPENSSL_PUT_ERROR(SSL, SSL_R_CLIENTHELLO_PARSE_FAILED);
258
163
  return false;
259
164
  }
260
165
 
@@ -273,6 +178,7 @@ bool ssl_parse_client_hello_with_trailing_data(const SSL *ssl, CBS *cbs,
273
178
  CBS extensions;
274
179
  if (!CBS_get_u16_length_prefixed(cbs, &extensions) ||
275
180
  !tls1_check_duplicate_extensions(&extensions)) {
181
+ OPENSSL_PUT_ERROR(SSL, SSL_R_CLIENTHELLO_PARSE_FAILED);
276
182
  return false;
277
183
  }
278
184
  out->extensions = CBS_data(&extensions);
@@ -512,9 +418,7 @@ static bool ignore_parse_clienthello(SSL_HANDSHAKE *hs, uint8_t *out_alert,
512
418
  return true;
513
419
  }
514
420
 
515
- static bool dont_add_serverhello(SSL_HANDSHAKE *hs, CBB *out) {
516
- return true;
517
- }
421
+ static bool dont_add_serverhello(SSL_HANDSHAKE *hs, CBB *out) { return true; }
518
422
 
519
423
  // Server name indication (SNI).
520
424
  //
@@ -532,9 +436,7 @@ static bool ext_sni_add_clienthello(const SSL_HANDSHAKE *hs, CBB *out,
532
436
  if (ssl->hostname == nullptr) {
533
437
  return true;
534
438
  }
535
- hostname =
536
- MakeConstSpan(reinterpret_cast<const uint8_t *>(ssl->hostname.get()),
537
- strlen(ssl->hostname.get()));
439
+ hostname = StringAsBytes(ssl->hostname.get());
538
440
  }
539
441
 
540
442
  CBB contents, server_name_list, name;
@@ -565,7 +467,7 @@ static bool ext_sni_parse_clienthello(SSL_HANDSHAKE *hs, uint8_t *out_alert,
565
467
  }
566
468
 
567
469
  static bool ext_sni_add_serverhello(SSL_HANDSHAKE *hs, CBB *out) {
568
- if (hs->ssl->s3->session_reused ||
470
+ if (hs->ssl->s3->session_reused || //
569
471
  !hs->should_ack_sni) {
570
472
  return true;
571
473
  }
@@ -702,20 +604,20 @@ static bool ext_ri_add_clienthello(const SSL_HANDSHAKE *hs, CBB *out,
702
604
  ssl_client_hello_type_t type) {
703
605
  const SSL *const ssl = hs->ssl;
704
606
  // Renegotiation indication is not necessary in TLS 1.3.
705
- if (hs->min_version >= TLS1_3_VERSION ||
706
- type == ssl_client_hello_inner) {
607
+ if (hs->min_version >= TLS1_3_VERSION || //
608
+ type == ssl_client_hello_inner) {
707
609
  return true;
708
610
  }
709
611
 
710
612
  assert(ssl->s3->initial_handshake_complete ==
711
- (ssl->s3->previous_client_finished_len != 0));
613
+ !ssl->s3->previous_client_finished.empty());
712
614
 
713
615
  CBB contents, prev_finished;
714
616
  if (!CBB_add_u16(out, TLSEXT_TYPE_renegotiate) ||
715
617
  !CBB_add_u16_length_prefixed(out, &contents) ||
716
618
  !CBB_add_u8_length_prefixed(&contents, &prev_finished) ||
717
- !CBB_add_bytes(&prev_finished, ssl->s3->previous_client_finished,
718
- ssl->s3->previous_client_finished_len) ||
619
+ !CBB_add_bytes(&prev_finished, ssl->s3->previous_client_finished.data(),
620
+ ssl->s3->previous_client_finished.size()) ||
719
621
  !CBB_flush(out)) {
720
622
  return false;
721
623
  }
@@ -751,16 +653,11 @@ static bool ext_ri_parse_serverhello(SSL_HANDSHAKE *hs, uint8_t *out_alert,
751
653
  return true;
752
654
  }
753
655
 
754
- const size_t expected_len = ssl->s3->previous_client_finished_len +
755
- ssl->s3->previous_server_finished_len;
756
-
757
- // Check for logic errors
758
- assert(!expected_len || ssl->s3->previous_client_finished_len);
759
- assert(!expected_len || ssl->s3->previous_server_finished_len);
760
- assert(ssl->s3->initial_handshake_complete ==
761
- (ssl->s3->previous_client_finished_len != 0));
656
+ // Check for logic errors.
657
+ assert(ssl->s3->previous_client_finished.size() ==
658
+ ssl->s3->previous_server_finished.size());
762
659
  assert(ssl->s3->initial_handshake_complete ==
763
- (ssl->s3->previous_server_finished_len != 0));
660
+ !ssl->s3->previous_client_finished.empty());
764
661
 
765
662
  // Parse out the extension contents.
766
663
  CBS renegotiated_connection;
@@ -772,15 +669,22 @@ static bool ext_ri_parse_serverhello(SSL_HANDSHAKE *hs, uint8_t *out_alert,
772
669
  }
773
670
 
774
671
  // Check that the extension matches.
775
- if (CBS_len(&renegotiated_connection) != expected_len) {
672
+ CBS client_verify, server_verify;
673
+ if (!CBS_get_bytes(&renegotiated_connection, &client_verify,
674
+ ssl->s3->previous_client_finished.size()) ||
675
+ !CBS_get_bytes(&renegotiated_connection, &server_verify,
676
+ ssl->s3->previous_server_finished.size()) ||
677
+ CBS_len(&renegotiated_connection) != 0) {
776
678
  OPENSSL_PUT_ERROR(SSL, SSL_R_RENEGOTIATION_MISMATCH);
777
679
  *out_alert = SSL_AD_HANDSHAKE_FAILURE;
778
680
  return false;
779
681
  }
780
682
 
781
- const uint8_t *d = CBS_data(&renegotiated_connection);
782
- bool ok = CRYPTO_memcmp(d, ssl->s3->previous_client_finished,
783
- ssl->s3->previous_client_finished_len) == 0;
683
+ bool ok =
684
+ CBS_mem_equal(&client_verify, ssl->s3->previous_client_finished.data(),
685
+ ssl->s3->previous_client_finished.size()) &&
686
+ CBS_mem_equal(&server_verify, ssl->s3->previous_server_finished.data(),
687
+ ssl->s3->previous_server_finished.size());
784
688
  #if defined(BORINGSSL_UNSAFE_FUZZER_MODE)
785
689
  ok = true;
786
690
  #endif
@@ -789,20 +693,8 @@ static bool ext_ri_parse_serverhello(SSL_HANDSHAKE *hs, uint8_t *out_alert,
789
693
  *out_alert = SSL_AD_HANDSHAKE_FAILURE;
790
694
  return false;
791
695
  }
792
- d += ssl->s3->previous_client_finished_len;
793
696
 
794
- ok = CRYPTO_memcmp(d, ssl->s3->previous_server_finished,
795
- ssl->s3->previous_server_finished_len) == 0;
796
- #if defined(BORINGSSL_UNSAFE_FUZZER_MODE)
797
- ok = true;
798
- #endif
799
- if (!ok) {
800
- OPENSSL_PUT_ERROR(SSL, SSL_R_RENEGOTIATION_MISMATCH);
801
- *out_alert = SSL_AD_HANDSHAKE_FAILURE;
802
- return false;
803
- }
804
697
  ssl->s3->send_connection_binding = true;
805
-
806
698
  return true;
807
699
  }
808
700
 
@@ -886,7 +778,7 @@ static bool ext_ems_parse_serverhello(SSL_HANDSHAKE *hs, uint8_t *out_alert,
886
778
  SSL *const ssl = hs->ssl;
887
779
 
888
780
  if (contents != NULL) {
889
- if (ssl_protocol_version(ssl) >= TLS1_3_VERSION ||
781
+ if (ssl_protocol_version(ssl) >= TLS1_3_VERSION || //
890
782
  CBS_len(contents) != 0) {
891
783
  return false;
892
784
  }
@@ -952,17 +844,14 @@ static bool ext_ticket_add_clienthello(const SSL_HANDSHAKE *hs, CBB *out,
952
844
  return true;
953
845
  }
954
846
 
955
- Span<const uint8_t> ticket;
956
-
957
847
  // Renegotiation does not participate in session resumption. However, still
958
848
  // advertise the extension to avoid potentially breaking servers which carry
959
849
  // over the state from the previous handshake, such as OpenSSL servers
960
850
  // without upstream's 3c3f0259238594d77264a78944d409f2127642c4.
961
- if (!ssl->s3->initial_handshake_complete &&
851
+ Span<const uint8_t> ticket;
852
+ if (!ssl->s3->initial_handshake_complete && //
962
853
  ssl->session != nullptr &&
963
- !ssl->session->ticket.empty() &&
964
- // Don't send TLS 1.3 session tickets in the ticket extension.
965
- ssl_session_protocol_version(ssl->session.get()) < TLS1_3_VERSION) {
854
+ ssl_session_get_type(ssl->session.get()) == SSLSessionType::kTicket) {
966
855
  ticket = ssl->session->ticket;
967
856
  }
968
857
 
@@ -1028,6 +917,10 @@ static bool ext_sigalgs_add_clienthello(const SSL_HANDSHAKE *hs, CBB *out,
1028
917
  if (hs->max_version < TLS1_2_VERSION) {
1029
918
  return true;
1030
919
  }
920
+ // In PAKE mode, signature_algorithms is not used.
921
+ if (hs->pake_prover != nullptr) {
922
+ return true;
923
+ }
1031
924
 
1032
925
  CBB contents, sigalgs_cbb;
1033
926
  if (!CBB_add_u16(out_compressible, TLSEXT_TYPE_signature_algorithms) ||
@@ -1198,7 +1091,7 @@ static bool ext_npn_parse_serverhello(SSL_HANDSHAKE *hs, uint8_t *out_alert,
1198
1091
 
1199
1092
  while (CBS_len(contents) != 0) {
1200
1093
  CBS proto;
1201
- if (!CBS_get_u8_length_prefixed(contents, &proto) ||
1094
+ if (!CBS_get_u8_length_prefixed(contents, &proto) || //
1202
1095
  CBS_len(&proto) == 0) {
1203
1096
  return false;
1204
1097
  }
@@ -1211,8 +1104,7 @@ static bool ext_npn_parse_serverhello(SSL_HANDSHAKE *hs, uint8_t *out_alert,
1211
1104
  ssl, &selected, &selected_len, orig_contents,
1212
1105
  static_cast<unsigned>(orig_len),
1213
1106
  ssl->ctx->next_proto_select_cb_arg) != SSL_TLSEXT_ERR_OK ||
1214
- !ssl->s3->next_proto_negotiated.CopyFrom(
1215
- MakeConstSpan(selected, selected_len))) {
1107
+ !ssl->s3->next_proto_negotiated.CopyFrom(Span(selected, selected_len))) {
1216
1108
  *out_alert = SSL_AD_INTERNAL_ERROR;
1217
1109
  return false;
1218
1110
  }
@@ -1232,9 +1124,9 @@ static bool ext_npn_parse_clienthello(SSL_HANDSHAKE *hs, uint8_t *out_alert,
1232
1124
  return false;
1233
1125
  }
1234
1126
 
1235
- if (contents == NULL ||
1236
- ssl->s3->initial_handshake_complete ||
1237
- ssl->ctx->next_protos_advertised_cb == NULL ||
1127
+ if (contents == NULL || //
1128
+ ssl->s3->initial_handshake_complete || //
1129
+ ssl->ctx->next_protos_advertised_cb == NULL || //
1238
1130
  SSL_is_dtls(ssl)) {
1239
1131
  return true;
1240
1132
  }
@@ -1262,9 +1154,9 @@ static bool ext_npn_add_serverhello(SSL_HANDSHAKE *hs, CBB *out) {
1262
1154
  }
1263
1155
 
1264
1156
  CBB contents;
1265
- if (!CBB_add_u16(out, TLSEXT_TYPE_next_proto_neg) ||
1266
- !CBB_add_u16_length_prefixed(out, &contents) ||
1267
- !CBB_add_bytes(&contents, npa, npa_len) ||
1157
+ if (!CBB_add_u16(out, TLSEXT_TYPE_next_proto_neg) || //
1158
+ !CBB_add_u16_length_prefixed(out, &contents) || //
1159
+ !CBB_add_bytes(&contents, npa, npa_len) || //
1268
1160
  !CBB_flush(out)) {
1269
1161
  return false;
1270
1162
  }
@@ -1375,7 +1267,7 @@ static bool ext_alpn_add_clienthello(const SSL_HANDSHAKE *hs, CBB *out,
1375
1267
  CBB *out_compressible,
1376
1268
  ssl_client_hello_type_t type) {
1377
1269
  const SSL *const ssl = hs->ssl;
1378
- if (hs->config->alpn_client_proto_list.empty() && ssl->quic_method) {
1270
+ if (hs->config->alpn_client_proto_list.empty() && SSL_is_quic(ssl)) {
1379
1271
  // ALPN MUST be used with QUIC.
1380
1272
  OPENSSL_PUT_ERROR(SSL, SSL_R_NO_APPLICATION_PROTOCOL);
1381
1273
  return false;
@@ -1404,7 +1296,7 @@ static bool ext_alpn_parse_serverhello(SSL_HANDSHAKE *hs, uint8_t *out_alert,
1404
1296
  CBS *contents) {
1405
1297
  SSL *const ssl = hs->ssl;
1406
1298
  if (contents == NULL) {
1407
- if (ssl->quic_method) {
1299
+ if (SSL_is_quic(ssl)) {
1408
1300
  // ALPN is required when QUIC is used.
1409
1301
  OPENSSL_PUT_ERROR(SSL, SSL_R_NO_APPLICATION_PROTOCOL);
1410
1302
  *out_alert = SSL_AD_NO_APPLICATION_PROTOCOL;
@@ -1426,11 +1318,11 @@ static bool ext_alpn_parse_serverhello(SSL_HANDSHAKE *hs, uint8_t *out_alert,
1426
1318
  // The extension data consists of a ProtocolNameList which must have
1427
1319
  // exactly one ProtocolName. Each of these is length-prefixed.
1428
1320
  CBS protocol_name_list, protocol_name;
1429
- if (!CBS_get_u16_length_prefixed(contents, &protocol_name_list) ||
1430
- CBS_len(contents) != 0 ||
1431
- !CBS_get_u8_length_prefixed(&protocol_name_list, &protocol_name) ||
1321
+ if (!CBS_get_u16_length_prefixed(contents, &protocol_name_list) || //
1322
+ CBS_len(contents) != 0 || //
1323
+ !CBS_get_u8_length_prefixed(&protocol_name_list, &protocol_name) || //
1432
1324
  // Empty protocol names are forbidden.
1433
- CBS_len(&protocol_name) == 0 ||
1325
+ CBS_len(&protocol_name) == 0 || //
1434
1326
  CBS_len(&protocol_name_list) != 0) {
1435
1327
  return false;
1436
1328
  }
@@ -1504,7 +1396,7 @@ bool ssl_negotiate_alpn(SSL_HANDSHAKE *hs, uint8_t *out_alert,
1504
1396
  !ssl_client_hello_get_extension(
1505
1397
  client_hello, &contents,
1506
1398
  TLSEXT_TYPE_application_layer_protocol_negotiation)) {
1507
- if (ssl->quic_method) {
1399
+ if (SSL_is_quic(ssl)) {
1508
1400
  // ALPN is required when QUIC is used.
1509
1401
  OPENSSL_PUT_ERROR(SSL, SSL_R_NO_APPLICATION_PROTOCOL);
1510
1402
  *out_alert = SSL_AD_NO_APPLICATION_PROTOCOL;
@@ -1518,8 +1410,8 @@ bool ssl_negotiate_alpn(SSL_HANDSHAKE *hs, uint8_t *out_alert,
1518
1410
  hs->next_proto_neg_seen = false;
1519
1411
 
1520
1412
  CBS protocol_name_list;
1521
- if (!CBS_get_u16_length_prefixed(&contents, &protocol_name_list) ||
1522
- CBS_len(&contents) != 0 ||
1413
+ if (!CBS_get_u16_length_prefixed(&contents, &protocol_name_list) || //
1414
+ CBS_len(&contents) != 0 || //
1523
1415
  !ssl_is_valid_alpn_list(protocol_name_list)) {
1524
1416
  OPENSSL_PUT_ERROR(SSL, SSL_R_PARSE_TLSEXT);
1525
1417
  *out_alert = SSL_AD_DECODE_ERROR;
@@ -1535,7 +1427,7 @@ bool ssl_negotiate_alpn(SSL_HANDSHAKE *hs, uint8_t *out_alert,
1535
1427
  static_cast<unsigned>(CBS_len(&protocol_name_list)),
1536
1428
  ssl->ctx->alpn_select_cb_arg);
1537
1429
  // ALPN is required when QUIC is used.
1538
- if (ssl->quic_method &&
1430
+ if (SSL_is_quic(ssl) &&
1539
1431
  (ret == SSL_TLSEXT_ERR_NOACK || ret == SSL_TLSEXT_ERR_ALERT_WARNING)) {
1540
1432
  ret = SSL_TLSEXT_ERR_ALERT_FATAL;
1541
1433
  }
@@ -1546,8 +1438,7 @@ bool ssl_negotiate_alpn(SSL_HANDSHAKE *hs, uint8_t *out_alert,
1546
1438
  *out_alert = SSL_AD_INTERNAL_ERROR;
1547
1439
  return false;
1548
1440
  }
1549
- if (!ssl->s3->alpn_selected.CopyFrom(
1550
- MakeConstSpan(selected, selected_len))) {
1441
+ if (!ssl->s3->alpn_selected.CopyFrom(Span(selected, selected_len))) {
1551
1442
  *out_alert = SSL_AD_INTERNAL_ERROR;
1552
1443
  return false;
1553
1444
  }
@@ -1677,8 +1568,8 @@ static bool ext_srtp_add_clienthello(const SSL_HANDSHAKE *hs, CBB *out,
1677
1568
  const SSL *const ssl = hs->ssl;
1678
1569
  const STACK_OF(SRTP_PROTECTION_PROFILE) *profiles =
1679
1570
  SSL_get_srtp_profiles(ssl);
1680
- if (profiles == NULL ||
1681
- sk_SRTP_PROTECTION_PROFILE_num(profiles) == 0 ||
1571
+ if (profiles == NULL || //
1572
+ sk_SRTP_PROTECTION_PROFILE_num(profiles) == 0 || //
1682
1573
  !SSL_is_dtls(ssl)) {
1683
1574
  return true;
1684
1575
  }
@@ -1718,10 +1609,10 @@ static bool ext_srtp_parse_serverhello(SSL_HANDSHAKE *hs, uint8_t *out_alert,
1718
1609
  assert(SSL_is_dtls(ssl));
1719
1610
  CBS profile_ids, srtp_mki;
1720
1611
  uint16_t profile_id;
1721
- if (!CBS_get_u16_length_prefixed(contents, &profile_ids) ||
1722
- !CBS_get_u16(&profile_ids, &profile_id) ||
1723
- CBS_len(&profile_ids) != 0 ||
1724
- !CBS_get_u8_length_prefixed(contents, &srtp_mki) ||
1612
+ if (!CBS_get_u16_length_prefixed(contents, &profile_ids) || //
1613
+ !CBS_get_u16(&profile_ids, &profile_id) || //
1614
+ CBS_len(&profile_ids) != 0 || //
1615
+ !CBS_get_u8_length_prefixed(contents, &srtp_mki) || //
1725
1616
  CBS_len(contents) != 0) {
1726
1617
  OPENSSL_PUT_ERROR(SSL, SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST);
1727
1618
  return false;
@@ -1801,8 +1692,7 @@ static bool ext_srtp_add_serverhello(SSL_HANDSHAKE *hs, CBB *out) {
1801
1692
  !CBB_add_u16_length_prefixed(out, &contents) ||
1802
1693
  !CBB_add_u16_length_prefixed(&contents, &profile_ids) ||
1803
1694
  !CBB_add_u16(&profile_ids, ssl->s3->srtp_profile->id) ||
1804
- !CBB_add_u8(&contents, 0 /* empty MKI */) ||
1805
- !CBB_flush(out)) {
1695
+ !CBB_add_u8(&contents, 0 /* empty MKI */) || !CBB_flush(out)) {
1806
1696
  return false;
1807
1697
  }
1808
1698
 
@@ -1838,8 +1728,8 @@ static bool ext_ec_point_add_clienthello(const SSL_HANDSHAKE *hs, CBB *out,
1838
1728
  return ext_ec_point_add_extension(hs, out);
1839
1729
  }
1840
1730
 
1841
- static bool ext_ec_point_parse_serverhello(SSL_HANDSHAKE *hs, uint8_t *out_alert,
1842
- CBS *contents) {
1731
+ static bool ext_ec_point_parse_serverhello(SSL_HANDSHAKE *hs,
1732
+ uint8_t *out_alert, CBS *contents) {
1843
1733
  if (contents == NULL) {
1844
1734
  return true;
1845
1735
  }
@@ -1866,8 +1756,8 @@ static bool ext_ec_point_parse_serverhello(SSL_HANDSHAKE *hs, uint8_t *out_alert
1866
1756
  return true;
1867
1757
  }
1868
1758
 
1869
- static bool ext_ec_point_parse_clienthello(SSL_HANDSHAKE *hs, uint8_t *out_alert,
1870
- CBS *contents) {
1759
+ static bool ext_ec_point_parse_clienthello(SSL_HANDSHAKE *hs,
1760
+ uint8_t *out_alert, CBS *contents) {
1871
1761
  if (ssl_protocol_version(hs->ssl) >= TLS1_3_VERSION) {
1872
1762
  return true;
1873
1763
  }
@@ -1901,7 +1791,8 @@ static bool should_offer_psk(const SSL_HANDSHAKE *hs,
1901
1791
  ssl_client_hello_type_t type) {
1902
1792
  const SSL *const ssl = hs->ssl;
1903
1793
  if (hs->max_version < TLS1_3_VERSION || ssl->session == nullptr ||
1904
- ssl_session_protocol_version(ssl->session.get()) < TLS1_3_VERSION ||
1794
+ ssl_session_get_type(ssl->session.get()) !=
1795
+ SSLSessionType::kPreSharedKey ||
1905
1796
  // TODO(https://crbug.com/boringssl/275): Should we synthesize a
1906
1797
  // placeholder PSK, at least when we offer early data? Otherwise
1907
1798
  // ClientHelloOuter will contain an early_data extension without a
@@ -1941,8 +1832,7 @@ static bool ext_pre_shared_key_add_clienthello(const SSL_HANDSHAKE *hs,
1941
1832
  return true;
1942
1833
  }
1943
1834
 
1944
- struct OPENSSL_timeval now;
1945
- ssl_get_current_time(ssl, &now);
1835
+ OPENSSL_timeval now = ssl_ctx_get_current_time(ssl->ctx.get());
1946
1836
  uint32_t ticket_age = 1000 * (now.tv_sec - ssl->session->time);
1947
1837
  uint32_t obfuscated_ticket_age = ticket_age + ssl->session->ticket_age_add;
1948
1838
 
@@ -1972,7 +1862,7 @@ bool ssl_ext_pre_shared_key_parse_serverhello(SSL_HANDSHAKE *hs,
1972
1862
  uint8_t *out_alert,
1973
1863
  CBS *contents) {
1974
1864
  uint16_t psk_id;
1975
- if (!CBS_get_u16(contents, &psk_id) ||
1865
+ if (!CBS_get_u16(contents, &psk_id) || //
1976
1866
  CBS_len(contents) != 0) {
1977
1867
  OPENSSL_PUT_ERROR(SSL, SSL_R_DECODE_ERROR);
1978
1868
  *out_alert = SSL_AD_DECODE_ERROR;
@@ -2004,11 +1894,11 @@ bool ssl_ext_pre_shared_key_parse_clienthello(
2004
1894
 
2005
1895
  // We only process the first PSK identity since we don't support pure PSK.
2006
1896
  CBS identities, binders;
2007
- if (!CBS_get_u16_length_prefixed(contents, &identities) ||
2008
- !CBS_get_u16_length_prefixed(&identities, out_ticket) ||
2009
- !CBS_get_u32(&identities, out_obfuscated_ticket_age) ||
2010
- !CBS_get_u16_length_prefixed(contents, &binders) ||
2011
- CBS_len(&binders) == 0 ||
1897
+ if (!CBS_get_u16_length_prefixed(contents, &identities) || //
1898
+ !CBS_get_u16_length_prefixed(&identities, out_ticket) || //
1899
+ !CBS_get_u32(&identities, out_obfuscated_ticket_age) || //
1900
+ !CBS_get_u16_length_prefixed(contents, &binders) || //
1901
+ CBS_len(&binders) == 0 || //
2012
1902
  CBS_len(contents) != 0) {
2013
1903
  OPENSSL_PUT_ERROR(SSL, SSL_R_DECODE_ERROR);
2014
1904
  *out_alert = SSL_AD_DECODE_ERROR;
@@ -2061,10 +1951,10 @@ bool ssl_ext_pre_shared_key_add_serverhello(SSL_HANDSHAKE *hs, CBB *out) {
2061
1951
  }
2062
1952
 
2063
1953
  CBB contents;
2064
- if (!CBB_add_u16(out, TLSEXT_TYPE_pre_shared_key) ||
2065
- !CBB_add_u16_length_prefixed(out, &contents) ||
1954
+ if (!CBB_add_u16(out, TLSEXT_TYPE_pre_shared_key) || //
1955
+ !CBB_add_u16_length_prefixed(out, &contents) || //
2066
1956
  // We only consider the first identity for resumption
2067
- !CBB_add_u16(&contents, 0) ||
1957
+ !CBB_add_u16(&contents, 0) || //
2068
1958
  !CBB_flush(out)) {
2069
1959
  return false;
2070
1960
  }
@@ -2083,6 +1973,11 @@ static bool ext_psk_key_exchange_modes_add_clienthello(
2083
1973
  if (hs->max_version < TLS1_3_VERSION) {
2084
1974
  return true;
2085
1975
  }
1976
+ // We do not support resumption with PAKEs, so do not offer any PSK key
1977
+ // exchange modes, to signal the server not to send a ticket.
1978
+ if (hs->pake_prover != nullptr) {
1979
+ return true;
1980
+ }
2086
1981
 
2087
1982
  CBB contents, ke_modes;
2088
1983
  if (!CBB_add_u16(out_compressible, TLSEXT_TYPE_psk_key_exchange_modes) ||
@@ -2103,8 +1998,8 @@ static bool ext_psk_key_exchange_modes_parse_clienthello(SSL_HANDSHAKE *hs,
2103
1998
  }
2104
1999
 
2105
2000
  CBS ke_modes;
2106
- if (!CBS_get_u8_length_prefixed(contents, &ke_modes) ||
2107
- CBS_len(&ke_modes) == 0 ||
2001
+ if (!CBS_get_u8_length_prefixed(contents, &ke_modes) || //
2002
+ CBS_len(&ke_modes) == 0 || //
2108
2003
  CBS_len(contents) != 0) {
2109
2004
  *out_alert = SSL_AD_DECODE_ERROR;
2110
2005
  return false;
@@ -2141,8 +2036,8 @@ static bool ext_early_data_add_clienthello(const SSL_HANDSHAKE *hs, CBB *out,
2141
2036
  // send the extension in both ClientHellos. This ensures that, if the server
2142
2037
  // handshakes with ClientHelloOuter, it can skip past early data. See
2143
2038
  // draft-ietf-tls-esni-13, section 6.1.
2144
- if (!CBB_add_u16(out_compressible, TLSEXT_TYPE_early_data) ||
2145
- !CBB_add_u16(out_compressible, 0) ||
2039
+ if (!CBB_add_u16(out_compressible, TLSEXT_TYPE_early_data) || //
2040
+ !CBB_add_u16(out_compressible, 0) || //
2146
2041
  !CBB_flush(out_compressible)) {
2147
2042
  return false;
2148
2043
  }
@@ -2189,10 +2084,10 @@ static bool ext_early_data_parse_serverhello(SSL_HANDSHAKE *hs,
2189
2084
  }
2190
2085
 
2191
2086
  static bool ext_early_data_parse_clienthello(SSL_HANDSHAKE *hs,
2192
- uint8_t *out_alert, CBS *contents) {
2087
+ uint8_t *out_alert,
2088
+ CBS *contents) {
2193
2089
  SSL *const ssl = hs->ssl;
2194
- if (contents == NULL ||
2195
- ssl_protocol_version(ssl) < TLS1_3_VERSION) {
2090
+ if (contents == NULL || ssl_protocol_version(ssl) < TLS1_3_VERSION) {
2196
2091
  return true;
2197
2092
  }
2198
2093
 
@@ -2210,8 +2105,8 @@ static bool ext_early_data_add_serverhello(SSL_HANDSHAKE *hs, CBB *out) {
2210
2105
  return true;
2211
2106
  }
2212
2107
 
2213
- if (!CBB_add_u16(out, TLSEXT_TYPE_early_data) ||
2214
- !CBB_add_u16(out, 0) ||
2108
+ if (!CBB_add_u16(out, TLSEXT_TYPE_early_data) || //
2109
+ !CBB_add_u16(out, 0) || //
2215
2110
  !CBB_flush(out)) {
2216
2111
  return false;
2217
2112
  }
@@ -2230,7 +2125,9 @@ bool ssl_setup_key_shares(SSL_HANDSHAKE *hs, uint16_t override_group_id) {
2230
2125
  hs->key_shares[1].reset();
2231
2126
  hs->key_share_bytes.Reset();
2232
2127
 
2233
- if (hs->max_version < TLS1_3_VERSION) {
2128
+ // If offering a PAKE, do not set up key shares. We do not currently support
2129
+ // clients offering both PAKE and non-PAKE modes, including resumption.
2130
+ if (hs->max_version < TLS1_3_VERSION || hs->pake_prover) {
2234
2131
  return true;
2235
2132
  }
2236
2133
 
@@ -2295,7 +2192,9 @@ bool ssl_setup_key_shares(SSL_HANDSHAKE *hs, uint16_t override_group_id) {
2295
2192
  static bool ext_key_share_add_clienthello(const SSL_HANDSHAKE *hs, CBB *out,
2296
2193
  CBB *out_compressible,
2297
2194
  ssl_client_hello_type_t type) {
2298
- if (hs->max_version < TLS1_3_VERSION) {
2195
+ // If offering a PAKE, do not set up key shares. We do not currently support
2196
+ // clients offering both PAKE and non-PAKE modes, including resumption.
2197
+ if (hs->max_version < TLS1_3_VERSION || hs->pake_prover) {
2299
2198
  return true;
2300
2199
  }
2301
2200
 
@@ -2316,6 +2215,14 @@ static bool ext_key_share_add_clienthello(const SSL_HANDSHAKE *hs, CBB *out,
2316
2215
  bool ssl_ext_key_share_parse_serverhello(SSL_HANDSHAKE *hs,
2317
2216
  Array<uint8_t> *out_secret,
2318
2217
  uint8_t *out_alert, CBS *contents) {
2218
+ if (hs->key_shares[0] == nullptr) {
2219
+ // If we did not offer key shares, the extension should have been rejected
2220
+ // as unsolicited.
2221
+ OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
2222
+ *out_alert = SSL_AD_INTERNAL_ERROR;
2223
+ return false;
2224
+ }
2225
+
2319
2226
  CBS ciphertext;
2320
2227
  uint16_t group_id;
2321
2228
  if (!CBS_get_u16(contents, &group_id) ||
@@ -2351,7 +2258,8 @@ bool ssl_ext_key_share_parse_clienthello(SSL_HANDSHAKE *hs, bool *out_found,
2351
2258
  Span<const uint8_t> *out_peer_key,
2352
2259
  uint8_t *out_alert,
2353
2260
  const SSL_CLIENT_HELLO *client_hello) {
2354
- // We only support connections that include an ECDHE key exchange.
2261
+ // We only support connections that include an ECDHE key exchange, or use a
2262
+ // PAKE.
2355
2263
  CBS contents;
2356
2264
  if (!ssl_client_hello_get_extension(client_hello, &contents,
2357
2265
  TLSEXT_TYPE_key_share)) {
@@ -2400,7 +2308,30 @@ bool ssl_ext_key_share_parse_clienthello(SSL_HANDSHAKE *hs, bool *out_found,
2400
2308
  return true;
2401
2309
  }
2402
2310
 
2311
+ bool ssl_ext_pake_add_serverhello(SSL_HANDSHAKE *hs, CBB *out) {
2312
+ if (hs->pake_share_bytes.empty()) {
2313
+ return true;
2314
+ }
2315
+
2316
+ CBB pake_ext, pake_msg;
2317
+ if (!CBB_add_u16(out, TLSEXT_TYPE_pake) ||
2318
+ !CBB_add_u16_length_prefixed(out, &pake_ext) ||
2319
+ !CBB_add_u16(&pake_ext, SSL_PAKE_SPAKE2PLUSV1) ||
2320
+ !CBB_add_u16_length_prefixed(&pake_ext, &pake_msg) ||
2321
+ !CBB_add_bytes(&pake_msg, hs->pake_share_bytes.data(),
2322
+ hs->pake_share_bytes.size()) ||
2323
+ !CBB_flush(out)) {
2324
+ return false;
2325
+ }
2326
+ return true;
2327
+ }
2328
+
2403
2329
  bool ssl_ext_key_share_add_serverhello(SSL_HANDSHAKE *hs, CBB *out) {
2330
+ if (hs->pake_verifier) {
2331
+ // We don't add the key share extension if a PAKE is offered.
2332
+ return true;
2333
+ }
2334
+
2404
2335
  CBB entry, ciphertext;
2405
2336
  if (!CBB_add_u16(out, TLSEXT_TYPE_key_share) ||
2406
2337
  !CBB_add_u16_length_prefixed(out, &entry) ||
@@ -2492,6 +2423,11 @@ static bool ext_supported_groups_add_clienthello(const SSL_HANDSHAKE *hs,
2492
2423
  CBB *out_compressible,
2493
2424
  ssl_client_hello_type_t type) {
2494
2425
  const SSL *const ssl = hs->ssl;
2426
+ // In PAKE mode, supported_groups and key_share are not used.
2427
+ if (hs->pake_prover != nullptr) {
2428
+ return true;
2429
+ }
2430
+
2495
2431
  CBB contents, groups_bytes;
2496
2432
  if (!CBB_add_u16(out_compressible, TLSEXT_TYPE_supported_groups) ||
2497
2433
  !CBB_add_u16_length_prefixed(out_compressible, &contents) ||
@@ -2501,14 +2437,12 @@ static bool ext_supported_groups_add_clienthello(const SSL_HANDSHAKE *hs,
2501
2437
 
2502
2438
  // Add a fake group. See RFC 8701.
2503
2439
  if (ssl->ctx->grease_enabled &&
2504
- !CBB_add_u16(&groups_bytes,
2505
- ssl_get_grease_value(hs, ssl_grease_group))) {
2440
+ !CBB_add_u16(&groups_bytes, ssl_get_grease_value(hs, ssl_grease_group))) {
2506
2441
  return false;
2507
2442
  }
2508
2443
 
2509
2444
  for (uint16_t group : tls1_get_grouplist(hs)) {
2510
- if (is_post_quantum_group(group) &&
2511
- hs->max_version < TLS1_3_VERSION) {
2445
+ if (is_post_quantum_group(group) && hs->max_version < TLS1_3_VERSION) {
2512
2446
  continue;
2513
2447
  }
2514
2448
  if (!CBB_add_u16(&groups_bytes, group)) {
@@ -2535,7 +2469,7 @@ static bool parse_u16_array(const CBS *cbs, Array<uint16_t> *out) {
2535
2469
  }
2536
2470
 
2537
2471
  Array<uint16_t> ret;
2538
- if (!ret.Init(CBS_len(&copy) / 2)) {
2472
+ if (!ret.InitForOverwrite(CBS_len(&copy) / 2)) {
2539
2473
  return false;
2540
2474
  }
2541
2475
  for (size_t i = 0; i < ret.size(); i++) {
@@ -2551,16 +2485,16 @@ static bool parse_u16_array(const CBS *cbs, Array<uint16_t> *out) {
2551
2485
  }
2552
2486
 
2553
2487
  static bool ext_supported_groups_parse_clienthello(SSL_HANDSHAKE *hs,
2554
- uint8_t *out_alert,
2488
+ uint8_t *out_alert,
2555
2489
  CBS *contents) {
2556
2490
  if (contents == NULL) {
2557
2491
  return true;
2558
2492
  }
2559
2493
 
2560
2494
  CBS supported_group_list;
2561
- if (!CBS_get_u16_length_prefixed(contents, &supported_group_list) ||
2562
- CBS_len(&supported_group_list) == 0 ||
2563
- CBS_len(contents) != 0 ||
2495
+ if (!CBS_get_u16_length_prefixed(contents, &supported_group_list) || //
2496
+ CBS_len(&supported_group_list) == 0 || //
2497
+ CBS_len(contents) != 0 || //
2564
2498
  !parse_u16_array(&supported_group_list, &hs->peer_supported_group_list)) {
2565
2499
  return false;
2566
2500
  }
@@ -2569,14 +2503,53 @@ static bool ext_supported_groups_parse_clienthello(SSL_HANDSHAKE *hs,
2569
2503
  }
2570
2504
 
2571
2505
 
2506
+ // Certificate Authorities.
2507
+ //
2508
+ // https://tools.ietf.org/html/rfc8446#section-4.2.4
2509
+
2510
+ static bool ext_certificate_authorities_add_clienthello(
2511
+ const SSL_HANDSHAKE *hs, CBB *out, CBB *out_compressible,
2512
+ ssl_client_hello_type_t type) {
2513
+ if (ssl_has_CA_names(hs->config)) {
2514
+ CBB ca_contents;
2515
+ if (!CBB_add_u16(out, TLSEXT_TYPE_certificate_authorities) || //
2516
+ !CBB_add_u16_length_prefixed(out, &ca_contents) || //
2517
+ !ssl_add_CA_names(hs, &ca_contents) || //
2518
+ !CBB_flush(out)) {
2519
+ return false;
2520
+ }
2521
+ }
2522
+ return true;
2523
+ }
2524
+
2525
+ static bool ext_certificate_authorities_parse_clienthello(SSL_HANDSHAKE *hs,
2526
+ uint8_t *out_alert,
2527
+ CBS *contents) {
2528
+ if (contents == NULL) {
2529
+ return true;
2530
+ }
2531
+
2532
+ if (CBS_len(contents) == 0) {
2533
+ return false;
2534
+ }
2535
+
2536
+ hs->ca_names = SSL_parse_CA_list(hs->ssl, out_alert, contents);
2537
+ if (!hs->ca_names) {
2538
+ return false;
2539
+ }
2540
+
2541
+ return true;
2542
+ }
2543
+
2544
+
2572
2545
  // QUIC Transport Parameters
2573
2546
 
2574
2547
  static bool ext_quic_transport_params_add_clienthello_impl(
2575
2548
  const SSL_HANDSHAKE *hs, CBB *out, bool use_legacy_codepoint) {
2576
- if (hs->config->quic_transport_params.empty() && !hs->ssl->quic_method) {
2549
+ if (hs->config->quic_transport_params.empty() && !SSL_is_quic(hs->ssl)) {
2577
2550
  return true;
2578
2551
  }
2579
- if (hs->config->quic_transport_params.empty() || !hs->ssl->quic_method) {
2552
+ if (hs->config->quic_transport_params.empty() || !SSL_is_quic(hs->ssl)) {
2580
2553
  // QUIC Transport Parameters must be sent over QUIC, and they must not be
2581
2554
  // sent over non-QUIC transports. If transport params are set, then
2582
2555
  // SSL(_CTX)_set_quic_method must also be called.
@@ -2628,7 +2601,7 @@ static bool ext_quic_transport_params_parse_serverhello_impl(
2628
2601
  // Silently ignore because we expect the other QUIC codepoint.
2629
2602
  return true;
2630
2603
  }
2631
- if (!ssl->quic_method) {
2604
+ if (!SSL_is_quic(ssl)) {
2632
2605
  return true;
2633
2606
  }
2634
2607
  *out_alert = SSL_AD_MISSING_EXTENSION;
@@ -2636,7 +2609,7 @@ static bool ext_quic_transport_params_parse_serverhello_impl(
2636
2609
  }
2637
2610
  // The extensions parser will check for unsolicited extensions before
2638
2611
  // calling the callback.
2639
- assert(ssl->quic_method != nullptr);
2612
+ assert(SSL_is_quic(ssl));
2640
2613
  assert(ssl_protocol_version(ssl) == TLS1_3_VERSION);
2641
2614
  assert(used_legacy_codepoint == hs->config->quic_use_legacy_codepoint);
2642
2615
  return ssl->s3->peer_quic_transport_params.CopyFrom(*contents);
@@ -2660,7 +2633,7 @@ static bool ext_quic_transport_params_parse_clienthello_impl(
2660
2633
  bool used_legacy_codepoint) {
2661
2634
  SSL *const ssl = hs->ssl;
2662
2635
  if (!contents) {
2663
- if (!ssl->quic_method) {
2636
+ if (!SSL_is_quic(ssl)) {
2664
2637
  if (hs->config->quic_transport_params.empty()) {
2665
2638
  return true;
2666
2639
  }
@@ -2677,7 +2650,7 @@ static bool ext_quic_transport_params_parse_clienthello_impl(
2677
2650
  *out_alert = SSL_AD_MISSING_EXTENSION;
2678
2651
  return false;
2679
2652
  }
2680
- if (!ssl->quic_method) {
2653
+ if (!SSL_is_quic(ssl)) {
2681
2654
  if (used_legacy_codepoint) {
2682
2655
  // Ignore the legacy private-use codepoint because that could be sent
2683
2656
  // to mean something else than QUIC transport parameters.
@@ -2711,12 +2684,12 @@ static bool ext_quic_transport_params_parse_clienthello_legacy(
2711
2684
 
2712
2685
  static bool ext_quic_transport_params_add_serverhello_impl(
2713
2686
  SSL_HANDSHAKE *hs, CBB *out, bool use_legacy_codepoint) {
2714
- if (hs->ssl->quic_method == nullptr && use_legacy_codepoint) {
2687
+ if (!SSL_is_quic(hs->ssl) && use_legacy_codepoint) {
2715
2688
  // Ignore the legacy private-use codepoint because that could be sent
2716
2689
  // to mean something else than QUIC transport parameters.
2717
2690
  return true;
2718
2691
  }
2719
- assert(hs->ssl->quic_method != nullptr);
2692
+ assert(SSL_is_quic(hs->ssl));
2720
2693
  if (hs->config->quic_transport_params.empty()) {
2721
2694
  // Transport parameters must be set when using QUIC.
2722
2695
  OPENSSL_PUT_ERROR(SSL, SSL_R_QUIC_TRANSPORT_PARAMETERS_MISCONFIGURED);
@@ -2778,9 +2751,9 @@ static bool ext_delegated_credential_parse_clienthello(SSL_HANDSHAKE *hs,
2778
2751
  // The contents of the extension are the signature algorithms the client will
2779
2752
  // accept for a delegated credential.
2780
2753
  CBS sigalg_list;
2781
- if (!CBS_get_u16_length_prefixed(contents, &sigalg_list) ||
2782
- CBS_len(&sigalg_list) == 0 ||
2783
- CBS_len(contents) != 0 ||
2754
+ if (!CBS_get_u16_length_prefixed(contents, &sigalg_list) || //
2755
+ CBS_len(&sigalg_list) == 0 || //
2756
+ CBS_len(contents) != 0 || //
2784
2757
  !parse_u16_array(&sigalg_list, &hs->peer_delegated_credential_sigalgs)) {
2785
2758
  return false;
2786
2759
  }
@@ -2839,16 +2812,16 @@ static bool cert_compression_parse_clienthello(SSL_HANDSHAKE *hs,
2839
2812
  const size_t num_algs = ctx->cert_compression_algs.size();
2840
2813
 
2841
2814
  CBS alg_ids;
2842
- if (!CBS_get_u8_length_prefixed(contents, &alg_ids) ||
2843
- CBS_len(contents) != 0 ||
2844
- CBS_len(&alg_ids) == 0 ||
2815
+ if (!CBS_get_u8_length_prefixed(contents, &alg_ids) || //
2816
+ CBS_len(contents) != 0 || //
2817
+ CBS_len(&alg_ids) == 0 || //
2845
2818
  CBS_len(&alg_ids) % 2 == 1) {
2846
2819
  return false;
2847
2820
  }
2848
2821
 
2849
2822
  const size_t num_given_alg_ids = CBS_len(&alg_ids) / 2;
2850
2823
  Array<uint16_t> given_alg_ids;
2851
- if (!given_alg_ids.Init(num_given_alg_ids)) {
2824
+ if (!given_alg_ids.InitForOverwrite(num_given_alg_ids)) {
2852
2825
  return false;
2853
2826
  }
2854
2827
 
@@ -2895,6 +2868,220 @@ static bool cert_compression_add_serverhello(SSL_HANDSHAKE *hs, CBB *out) {
2895
2868
  return true;
2896
2869
  }
2897
2870
 
2871
+ // PAKEs
2872
+ //
2873
+ // See
2874
+ // https://chris-wood.github.io/draft-bmw-tls-pake13/draft-bmw-tls-pake13.html
2875
+
2876
+ bool ssl_setup_pake_shares(SSL_HANDSHAKE *hs) {
2877
+ hs->pake_share_bytes.Reset();
2878
+ if (hs->max_version < TLS1_3_VERSION) {
2879
+ return true;
2880
+ }
2881
+
2882
+ Array<SSL_CREDENTIAL *> creds;
2883
+ if (!ssl_get_credential_list(hs, &creds)) {
2884
+ return false;
2885
+ }
2886
+
2887
+ if (std::none_of(creds.begin(), creds.end(), [](SSL_CREDENTIAL *cred) {
2888
+ return cred->type == SSLCredentialType::kSPAKE2PlusV1Client;
2889
+ })) {
2890
+ // If there were no configured PAKE credentials, proceed without filling
2891
+ // in the PAKE extension.
2892
+ return true;
2893
+ }
2894
+
2895
+ // We currently do not support multiple PAKE credentials, or a mix of PAKE and
2896
+ // non-PAKE credentials.
2897
+ if (creds.size() != 1u) {
2898
+ OPENSSL_PUT_ERROR(SSL, SSL_R_UNSUPPORTED_CREDENTIAL_LIST);
2899
+ return false;
2900
+ }
2901
+ SSL_CREDENTIAL *cred = creds[0];
2902
+ assert(cred->type == SSLCredentialType::kSPAKE2PlusV1Client);
2903
+
2904
+ hs->pake_prover = MakeUnique<spake2plus::Prover>();
2905
+ uint8_t prover_share[spake2plus::kShareSize];
2906
+ if (hs->pake_prover == nullptr ||
2907
+ !hs->pake_prover->Init(cred->pake_context, cred->client_identity,
2908
+ cred->server_identity, cred->password_verifier_w0,
2909
+ cred->password_verifier_w1) ||
2910
+ !hs->pake_prover->GenerateShare(prover_share)) {
2911
+ return false;
2912
+ }
2913
+
2914
+ hs->credential = UpRef(cred);
2915
+
2916
+ bssl::ScopedCBB cbb;
2917
+ CBB shares, client_identity, server_identity, pake_message;
2918
+ if (!CBB_init(cbb.get(), 64) ||
2919
+ !CBB_add_u16_length_prefixed(cbb.get(), &client_identity) ||
2920
+ !CBB_add_bytes(&client_identity, cred->client_identity.data(),
2921
+ cred->client_identity.size()) ||
2922
+ !CBB_add_u16_length_prefixed(cbb.get(), &server_identity) ||
2923
+ !CBB_add_bytes(&server_identity, cred->server_identity.data(),
2924
+ cred->server_identity.size()) ||
2925
+ !CBB_add_u16_length_prefixed(cbb.get(), &shares) ||
2926
+ !CBB_add_u16(&shares, SSL_PAKE_SPAKE2PLUSV1) ||
2927
+ !CBB_add_u16_length_prefixed(&shares, &pake_message) ||
2928
+ !CBB_add_bytes(&pake_message, prover_share, sizeof(prover_share))) {
2929
+ return false;
2930
+ }
2931
+
2932
+ return CBBFinishArray(cbb.get(), &hs->pake_share_bytes);
2933
+ }
2934
+
2935
+ static bool ext_pake_add_clienthello(const SSL_HANDSHAKE *hs, CBB *out,
2936
+ CBB *out_compressible,
2937
+ ssl_client_hello_type_t type) {
2938
+ if (hs->pake_share_bytes.empty()) {
2939
+ return true;
2940
+ }
2941
+
2942
+ CBB pake_share_bytes;
2943
+ if (!CBB_add_u16(out_compressible, TLSEXT_TYPE_pake) ||
2944
+ !CBB_add_u16_length_prefixed(out_compressible, &pake_share_bytes) ||
2945
+ !CBB_add_bytes(&pake_share_bytes, hs->pake_share_bytes.data(),
2946
+ hs->pake_share_bytes.size()) ||
2947
+ !CBB_flush(out_compressible)) {
2948
+ return false;
2949
+ }
2950
+
2951
+ return true;
2952
+ }
2953
+
2954
+ bool ssl_ext_pake_parse_serverhello(SSL_HANDSHAKE *hs,
2955
+ Array<uint8_t> *out_secret,
2956
+ uint8_t *out_alert, CBS *contents) {
2957
+ *out_alert = SSL_AD_DECODE_ERROR;
2958
+
2959
+ if (!hs->pake_prover) {
2960
+ // If we did not offer a PAKE, the extension should have been rejected as
2961
+ // unsolicited.
2962
+ OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
2963
+ *out_alert = SSL_AD_INTERNAL_ERROR;
2964
+ return false;
2965
+ }
2966
+
2967
+ CBS pake_msg;
2968
+ uint16_t named_pake;
2969
+ if (!CBS_get_u16(contents, &named_pake) ||
2970
+ !CBS_get_u16_length_prefixed(contents, &pake_msg) ||
2971
+ CBS_len(contents) != 0 || //
2972
+ named_pake != SSL_PAKE_SPAKE2PLUSV1) {
2973
+ OPENSSL_PUT_ERROR(SSL, SSL_R_DECODE_ERROR);
2974
+ return false;
2975
+ }
2976
+
2977
+ // Check that the server's PAKE share consists of the right number of
2978
+ // bytes for a PAKE share and a key confirmation message.
2979
+ if (CBS_len(&pake_msg) != spake2plus::kShareSize + spake2plus::kConfirmSize) {
2980
+ OPENSSL_PUT_ERROR(SSL, SSL_R_DECODE_ERROR);
2981
+ *out_alert = SSL_AD_ILLEGAL_PARAMETER;
2982
+ return false;
2983
+ }
2984
+ Span<const uint8_t> pake_msg_span = pake_msg;
2985
+
2986
+ // Releasing the result of |ComputeConfirmation| lets the client confirm one
2987
+ // PAKE guess. If all failures are used up, no more guesses are allowed.
2988
+ if (!hs->credential->HasPAKEAttempts()) {
2989
+ OPENSSL_PUT_ERROR(SSL, SSL_R_PAKE_EXHAUSTED);
2990
+ *out_alert = SSL_AD_INTERNAL_ERROR;
2991
+ return false;
2992
+ }
2993
+
2994
+ uint8_t prover_confirm[spake2plus::kConfirmSize];
2995
+ uint8_t prover_secret[spake2plus::kSecretSize];
2996
+ if (!hs->pake_prover->ComputeConfirmation(
2997
+ prover_confirm, prover_secret,
2998
+ pake_msg_span.subspan(0, spake2plus::kShareSize),
2999
+ pake_msg_span.subspan(spake2plus::kShareSize))) {
3000
+ // Record a failure before releasing the answer to the client.
3001
+ hs->credential->ClaimPAKEAttempt();
3002
+ OPENSSL_PUT_ERROR(SSL, SSL_R_DECODE_ERROR);
3003
+ *out_alert = SSL_AD_ILLEGAL_PARAMETER;
3004
+ return false;
3005
+ }
3006
+
3007
+ Array<uint8_t> secret;
3008
+ if (!secret.CopyFrom(prover_secret)) {
3009
+ OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
3010
+ *out_alert = SSL_AD_INTERNAL_ERROR;
3011
+ return false;
3012
+ }
3013
+
3014
+ *out_secret = std::move(secret);
3015
+ return true;
3016
+ }
3017
+
3018
+ static bool ext_pake_parse_clienthello(SSL_HANDSHAKE *hs, uint8_t *out_alert,
3019
+ CBS *contents) {
3020
+ if (contents == nullptr) {
3021
+ return true;
3022
+ }
3023
+
3024
+ // struct {
3025
+ // opaque client_identity<0..2^16-1>;
3026
+ // opaque server_identity<0..2^16-1>;
3027
+ // PAKEShare client_shares<0..2^16-1>;
3028
+ // } PAKEClientHello;
3029
+ //
3030
+ // struct {
3031
+ // NamedPAKE named_pake;
3032
+ // opaque pake_message<1..2^16-1>;
3033
+ // } PAKEShare;
3034
+
3035
+ *out_alert = SSL_AD_DECODE_ERROR;
3036
+ CBS client_identity, server_identity, shares;
3037
+ if (!CBS_get_u16_length_prefixed(contents, &client_identity) ||
3038
+ !CBS_get_u16_length_prefixed(contents, &server_identity) ||
3039
+ !CBS_get_u16_length_prefixed(contents, &shares) ||
3040
+ CBS_len(contents) != 0) {
3041
+ OPENSSL_PUT_ERROR(SSL, SSL_R_DECODE_ERROR);
3042
+ return false;
3043
+ }
3044
+
3045
+ uint16_t last_named_pake = 0;
3046
+ for (size_t i = 0; CBS_len(&shares) > 0; i++) {
3047
+ uint16_t pake_id;
3048
+ CBS message;
3049
+ if (!CBS_get_u16(&shares, &pake_id) ||
3050
+ !CBS_get_u16_length_prefixed(&shares, &message)) {
3051
+ OPENSSL_PUT_ERROR(SSL, SSL_R_DECODE_ERROR);
3052
+ return false;
3053
+ }
3054
+
3055
+ // PAKEs must be sent in strictly monotonic order.
3056
+ if (i > 0 && last_named_pake >= pake_id) {
3057
+ OPENSSL_PUT_ERROR(SSL, SSL_R_DECODE_ERROR);
3058
+ return false;
3059
+ }
3060
+ last_named_pake = pake_id;
3061
+
3062
+ // We only support one PAKE.
3063
+ if (pake_id != SSL_PAKE_SPAKE2PLUSV1) {
3064
+ continue;
3065
+ }
3066
+
3067
+ // Save the PAKE share for the handshake logic to pick up later.
3068
+ // TODO(crbug.com/391393404): It would be nice if the callback did not have
3069
+ // to copy this.
3070
+ hs->pake_share = MakeUnique<SSLPAKEShare>();
3071
+ if (hs->pake_share == nullptr ||
3072
+ !hs->pake_share->client_identity.CopyFrom(client_identity) ||
3073
+ !hs->pake_share->server_identity.CopyFrom(server_identity) ||
3074
+ !hs->pake_share->pake_message.CopyFrom(message)) {
3075
+ OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
3076
+ return false;
3077
+ }
3078
+ hs->pake_share->named_pake = pake_id;
3079
+ }
3080
+
3081
+ return true;
3082
+ }
3083
+
3084
+
2898
3085
  // Application-level Protocol Settings
2899
3086
  //
2900
3087
  // https://tools.ietf.org/html/draft-vvv-tls-alps-01
@@ -2916,7 +3103,7 @@ static bool ext_alps_add_clienthello_impl(const SSL_HANDSHAKE *hs, CBB *out,
2916
3103
  ssl_client_hello_type_t type,
2917
3104
  bool use_new_codepoint) {
2918
3105
  const SSL *const ssl = hs->ssl;
2919
- if (// ALPS requires TLS 1.3.
3106
+ if ( // ALPS requires TLS 1.3.
2920
3107
  hs->max_version < TLS1_3_VERSION ||
2921
3108
  // Do not offer ALPS without ALPN.
2922
3109
  hs->config->alpn_client_proto_list.empty() ||
@@ -2970,8 +3157,7 @@ static bool ext_alps_add_clienthello_old(const SSL_HANDSHAKE *hs, CBB *out,
2970
3157
  }
2971
3158
 
2972
3159
  static bool ext_alps_parse_serverhello_impl(SSL_HANDSHAKE *hs,
2973
- uint8_t *out_alert,
2974
- CBS *contents,
3160
+ uint8_t *out_alert, CBS *contents,
2975
3161
  bool use_new_codepoint) {
2976
3162
  SSL *const ssl = hs->ssl;
2977
3163
  if (contents == nullptr) {
@@ -3001,16 +3187,14 @@ static bool ext_alps_parse_serverhello_impl(SSL_HANDSHAKE *hs,
3001
3187
  return true;
3002
3188
  }
3003
3189
 
3004
- static bool ext_alps_parse_serverhello(SSL_HANDSHAKE *hs,
3005
- uint8_t *out_alert,
3190
+ static bool ext_alps_parse_serverhello(SSL_HANDSHAKE *hs, uint8_t *out_alert,
3006
3191
  CBS *contents) {
3007
3192
  return ext_alps_parse_serverhello_impl(hs, out_alert, contents,
3008
3193
  /*use_new_codepoint=*/true);
3009
3194
  }
3010
3195
 
3011
3196
  static bool ext_alps_parse_serverhello_old(SSL_HANDSHAKE *hs,
3012
- uint8_t *out_alert,
3013
- CBS *contents) {
3197
+ uint8_t *out_alert, CBS *contents) {
3014
3198
  return ext_alps_parse_serverhello_impl(hs, out_alert, contents,
3015
3199
  /*use_new_codepoint=*/false);
3016
3200
  }
@@ -3026,7 +3210,7 @@ static bool ext_alps_add_serverhello_impl(SSL_HANDSHAKE *hs, CBB *out,
3026
3210
  return true;
3027
3211
  }
3028
3212
 
3029
- if (use_new_codepoint != hs->config->alps_use_new_codepoint) {
3213
+ if (use_new_codepoint != hs->config->alps_use_new_codepoint) {
3030
3214
  // Do nothing, we'll send the other codepoint.
3031
3215
  return true;
3032
3216
  }
@@ -3079,8 +3263,8 @@ bool ssl_negotiate_alps(SSL_HANDSHAKE *hs, uint8_t *out_alert,
3079
3263
  // Check if the client supports ALPS with the selected ALPN.
3080
3264
  bool found = false;
3081
3265
  CBS alps_list;
3082
- if (!CBS_get_u16_length_prefixed(&alps_contents, &alps_list) ||
3083
- CBS_len(&alps_contents) != 0 ||
3266
+ if (!CBS_get_u16_length_prefixed(&alps_contents, &alps_list) || //
3267
+ CBS_len(&alps_contents) != 0 || //
3084
3268
  CBS_len(&alps_list) == 0) {
3085
3269
  OPENSSL_PUT_ERROR(SSL, SSL_R_DECODE_ERROR);
3086
3270
  *out_alert = SSL_AD_DECODE_ERROR;
@@ -3095,7 +3279,7 @@ bool ssl_negotiate_alps(SSL_HANDSHAKE *hs, uint8_t *out_alert,
3095
3279
  *out_alert = SSL_AD_DECODE_ERROR;
3096
3280
  return false;
3097
3281
  }
3098
- if (protocol_name == MakeConstSpan(ssl->s3->alpn_selected)) {
3282
+ if (protocol_name == Span(ssl->s3->alpn_selected)) {
3099
3283
  found = true;
3100
3284
  }
3101
3285
  }
@@ -3115,185 +3299,201 @@ bool ssl_negotiate_alps(SSL_HANDSHAKE *hs, uint8_t *out_alert,
3115
3299
 
3116
3300
  // kExtensions contains all the supported extensions.
3117
3301
  static const struct tls_extension kExtensions[] = {
3118
- {
3119
- TLSEXT_TYPE_server_name,
3120
- ext_sni_add_clienthello,
3121
- ext_sni_parse_serverhello,
3122
- ext_sni_parse_clienthello,
3123
- ext_sni_add_serverhello,
3124
- },
3125
- {
3126
- TLSEXT_TYPE_encrypted_client_hello,
3127
- ext_ech_add_clienthello,
3128
- ext_ech_parse_serverhello,
3129
- ext_ech_parse_clienthello,
3130
- ext_ech_add_serverhello,
3131
- },
3132
- {
3133
- TLSEXT_TYPE_extended_master_secret,
3134
- ext_ems_add_clienthello,
3135
- ext_ems_parse_serverhello,
3136
- ext_ems_parse_clienthello,
3137
- ext_ems_add_serverhello,
3138
- },
3139
- {
3140
- TLSEXT_TYPE_renegotiate,
3141
- ext_ri_add_clienthello,
3142
- ext_ri_parse_serverhello,
3143
- ext_ri_parse_clienthello,
3144
- ext_ri_add_serverhello,
3145
- },
3146
- {
3147
- TLSEXT_TYPE_supported_groups,
3148
- ext_supported_groups_add_clienthello,
3149
- ext_supported_groups_parse_serverhello,
3150
- ext_supported_groups_parse_clienthello,
3151
- dont_add_serverhello,
3152
- },
3153
- {
3154
- TLSEXT_TYPE_ec_point_formats,
3155
- ext_ec_point_add_clienthello,
3156
- ext_ec_point_parse_serverhello,
3157
- ext_ec_point_parse_clienthello,
3158
- ext_ec_point_add_serverhello,
3159
- },
3160
- {
3161
- TLSEXT_TYPE_session_ticket,
3162
- ext_ticket_add_clienthello,
3163
- ext_ticket_parse_serverhello,
3164
- // Ticket extension client parsing is handled in ssl_session.c
3165
- ignore_parse_clienthello,
3166
- ext_ticket_add_serverhello,
3167
- },
3168
- {
3169
- TLSEXT_TYPE_application_layer_protocol_negotiation,
3170
- ext_alpn_add_clienthello,
3171
- ext_alpn_parse_serverhello,
3172
- // ALPN is negotiated late in |ssl_negotiate_alpn|.
3173
- ignore_parse_clienthello,
3174
- ext_alpn_add_serverhello,
3175
- },
3176
- {
3177
- TLSEXT_TYPE_status_request,
3178
- ext_ocsp_add_clienthello,
3179
- ext_ocsp_parse_serverhello,
3180
- ext_ocsp_parse_clienthello,
3181
- ext_ocsp_add_serverhello,
3182
- },
3183
- {
3184
- TLSEXT_TYPE_signature_algorithms,
3185
- ext_sigalgs_add_clienthello,
3186
- forbid_parse_serverhello,
3187
- ext_sigalgs_parse_clienthello,
3188
- dont_add_serverhello,
3189
- },
3190
- {
3191
- TLSEXT_TYPE_next_proto_neg,
3192
- ext_npn_add_clienthello,
3193
- ext_npn_parse_serverhello,
3194
- ext_npn_parse_clienthello,
3195
- ext_npn_add_serverhello,
3196
- },
3197
- {
3198
- TLSEXT_TYPE_certificate_timestamp,
3199
- ext_sct_add_clienthello,
3200
- ext_sct_parse_serverhello,
3201
- ext_sct_parse_clienthello,
3202
- ext_sct_add_serverhello,
3203
- },
3204
- {
3205
- TLSEXT_TYPE_channel_id,
3206
- ext_channel_id_add_clienthello,
3207
- ext_channel_id_parse_serverhello,
3208
- ext_channel_id_parse_clienthello,
3209
- ext_channel_id_add_serverhello,
3210
- },
3211
- {
3212
- TLSEXT_TYPE_srtp,
3213
- ext_srtp_add_clienthello,
3214
- ext_srtp_parse_serverhello,
3215
- ext_srtp_parse_clienthello,
3216
- ext_srtp_add_serverhello,
3217
- },
3218
- {
3219
- TLSEXT_TYPE_key_share,
3220
- ext_key_share_add_clienthello,
3221
- forbid_parse_serverhello,
3222
- ignore_parse_clienthello,
3223
- dont_add_serverhello,
3224
- },
3225
- {
3226
- TLSEXT_TYPE_psk_key_exchange_modes,
3227
- ext_psk_key_exchange_modes_add_clienthello,
3228
- forbid_parse_serverhello,
3229
- ext_psk_key_exchange_modes_parse_clienthello,
3230
- dont_add_serverhello,
3231
- },
3232
- {
3233
- TLSEXT_TYPE_early_data,
3234
- ext_early_data_add_clienthello,
3235
- ext_early_data_parse_serverhello,
3236
- ext_early_data_parse_clienthello,
3237
- ext_early_data_add_serverhello,
3238
- },
3239
- {
3240
- TLSEXT_TYPE_supported_versions,
3241
- ext_supported_versions_add_clienthello,
3242
- forbid_parse_serverhello,
3243
- ignore_parse_clienthello,
3244
- dont_add_serverhello,
3245
- },
3246
- {
3247
- TLSEXT_TYPE_cookie,
3248
- ext_cookie_add_clienthello,
3249
- forbid_parse_serverhello,
3250
- ignore_parse_clienthello,
3251
- dont_add_serverhello,
3252
- },
3253
- {
3254
- TLSEXT_TYPE_quic_transport_parameters,
3255
- ext_quic_transport_params_add_clienthello,
3256
- ext_quic_transport_params_parse_serverhello,
3257
- ext_quic_transport_params_parse_clienthello,
3258
- ext_quic_transport_params_add_serverhello,
3259
- },
3260
- {
3261
- TLSEXT_TYPE_quic_transport_parameters_legacy,
3262
- ext_quic_transport_params_add_clienthello_legacy,
3263
- ext_quic_transport_params_parse_serverhello_legacy,
3264
- ext_quic_transport_params_parse_clienthello_legacy,
3265
- ext_quic_transport_params_add_serverhello_legacy,
3266
- },
3267
- {
3268
- TLSEXT_TYPE_cert_compression,
3269
- cert_compression_add_clienthello,
3270
- cert_compression_parse_serverhello,
3271
- cert_compression_parse_clienthello,
3272
- cert_compression_add_serverhello,
3273
- },
3274
- {
3275
- TLSEXT_TYPE_delegated_credential,
3276
- ext_delegated_credential_add_clienthello,
3277
- forbid_parse_serverhello,
3278
- ext_delegated_credential_parse_clienthello,
3279
- dont_add_serverhello,
3280
- },
3281
- {
3282
- TLSEXT_TYPE_application_settings,
3283
- ext_alps_add_clienthello,
3284
- ext_alps_parse_serverhello,
3285
- // ALPS is negotiated late in |ssl_negotiate_alpn|.
3286
- ignore_parse_clienthello,
3287
- ext_alps_add_serverhello,
3288
- },
3289
- {
3290
- TLSEXT_TYPE_application_settings_old,
3291
- ext_alps_add_clienthello_old,
3292
- ext_alps_parse_serverhello_old,
3293
- // ALPS is negotiated late in |ssl_negotiate_alpn|.
3294
- ignore_parse_clienthello,
3295
- ext_alps_add_serverhello_old,
3296
- },
3302
+ {
3303
+ TLSEXT_TYPE_server_name,
3304
+ ext_sni_add_clienthello,
3305
+ ext_sni_parse_serverhello,
3306
+ ext_sni_parse_clienthello,
3307
+ ext_sni_add_serverhello,
3308
+ },
3309
+ {
3310
+ TLSEXT_TYPE_encrypted_client_hello,
3311
+ ext_ech_add_clienthello,
3312
+ ext_ech_parse_serverhello,
3313
+ ext_ech_parse_clienthello,
3314
+ ext_ech_add_serverhello,
3315
+ },
3316
+ {
3317
+ TLSEXT_TYPE_extended_master_secret,
3318
+ ext_ems_add_clienthello,
3319
+ ext_ems_parse_serverhello,
3320
+ ext_ems_parse_clienthello,
3321
+ ext_ems_add_serverhello,
3322
+ },
3323
+ {
3324
+ TLSEXT_TYPE_renegotiate,
3325
+ ext_ri_add_clienthello,
3326
+ ext_ri_parse_serverhello,
3327
+ ext_ri_parse_clienthello,
3328
+ ext_ri_add_serverhello,
3329
+ },
3330
+ {
3331
+ TLSEXT_TYPE_supported_groups,
3332
+ ext_supported_groups_add_clienthello,
3333
+ ext_supported_groups_parse_serverhello,
3334
+ ext_supported_groups_parse_clienthello,
3335
+ dont_add_serverhello,
3336
+ },
3337
+ {
3338
+ TLSEXT_TYPE_ec_point_formats,
3339
+ ext_ec_point_add_clienthello,
3340
+ ext_ec_point_parse_serverhello,
3341
+ ext_ec_point_parse_clienthello,
3342
+ ext_ec_point_add_serverhello,
3343
+ },
3344
+ {
3345
+ TLSEXT_TYPE_session_ticket,
3346
+ ext_ticket_add_clienthello,
3347
+ ext_ticket_parse_serverhello,
3348
+ // Ticket extension client parsing is handled in ssl_session.c
3349
+ ignore_parse_clienthello,
3350
+ ext_ticket_add_serverhello,
3351
+ },
3352
+ {
3353
+ TLSEXT_TYPE_application_layer_protocol_negotiation,
3354
+ ext_alpn_add_clienthello,
3355
+ ext_alpn_parse_serverhello,
3356
+ // ALPN is negotiated late in |ssl_negotiate_alpn|.
3357
+ ignore_parse_clienthello,
3358
+ ext_alpn_add_serverhello,
3359
+ },
3360
+ {
3361
+ TLSEXT_TYPE_status_request,
3362
+ ext_ocsp_add_clienthello,
3363
+ ext_ocsp_parse_serverhello,
3364
+ ext_ocsp_parse_clienthello,
3365
+ ext_ocsp_add_serverhello,
3366
+ },
3367
+ {
3368
+ TLSEXT_TYPE_signature_algorithms,
3369
+ ext_sigalgs_add_clienthello,
3370
+ forbid_parse_serverhello,
3371
+ ext_sigalgs_parse_clienthello,
3372
+ dont_add_serverhello,
3373
+ },
3374
+ {
3375
+ TLSEXT_TYPE_next_proto_neg,
3376
+ ext_npn_add_clienthello,
3377
+ ext_npn_parse_serverhello,
3378
+ ext_npn_parse_clienthello,
3379
+ ext_npn_add_serverhello,
3380
+ },
3381
+ {
3382
+ TLSEXT_TYPE_certificate_timestamp,
3383
+ ext_sct_add_clienthello,
3384
+ ext_sct_parse_serverhello,
3385
+ ext_sct_parse_clienthello,
3386
+ ext_sct_add_serverhello,
3387
+ },
3388
+ {
3389
+ TLSEXT_TYPE_channel_id,
3390
+ ext_channel_id_add_clienthello,
3391
+ ext_channel_id_parse_serverhello,
3392
+ ext_channel_id_parse_clienthello,
3393
+ ext_channel_id_add_serverhello,
3394
+ },
3395
+ {
3396
+ TLSEXT_TYPE_srtp,
3397
+ ext_srtp_add_clienthello,
3398
+ ext_srtp_parse_serverhello,
3399
+ ext_srtp_parse_clienthello,
3400
+ ext_srtp_add_serverhello,
3401
+ },
3402
+ {
3403
+ TLSEXT_TYPE_key_share,
3404
+ ext_key_share_add_clienthello,
3405
+ forbid_parse_serverhello,
3406
+ ignore_parse_clienthello,
3407
+ dont_add_serverhello,
3408
+ },
3409
+ {
3410
+ TLSEXT_TYPE_psk_key_exchange_modes,
3411
+ ext_psk_key_exchange_modes_add_clienthello,
3412
+ forbid_parse_serverhello,
3413
+ ext_psk_key_exchange_modes_parse_clienthello,
3414
+ dont_add_serverhello,
3415
+ },
3416
+ {
3417
+ TLSEXT_TYPE_early_data,
3418
+ ext_early_data_add_clienthello,
3419
+ ext_early_data_parse_serverhello,
3420
+ ext_early_data_parse_clienthello,
3421
+ ext_early_data_add_serverhello,
3422
+ },
3423
+ {
3424
+ TLSEXT_TYPE_supported_versions,
3425
+ ext_supported_versions_add_clienthello,
3426
+ forbid_parse_serverhello,
3427
+ ignore_parse_clienthello,
3428
+ dont_add_serverhello,
3429
+ },
3430
+ {
3431
+ TLSEXT_TYPE_cookie,
3432
+ ext_cookie_add_clienthello,
3433
+ forbid_parse_serverhello,
3434
+ ignore_parse_clienthello,
3435
+ dont_add_serverhello,
3436
+ },
3437
+ {
3438
+ TLSEXT_TYPE_quic_transport_parameters,
3439
+ ext_quic_transport_params_add_clienthello,
3440
+ ext_quic_transport_params_parse_serverhello,
3441
+ ext_quic_transport_params_parse_clienthello,
3442
+ ext_quic_transport_params_add_serverhello,
3443
+ },
3444
+ {
3445
+ TLSEXT_TYPE_quic_transport_parameters_legacy,
3446
+ ext_quic_transport_params_add_clienthello_legacy,
3447
+ ext_quic_transport_params_parse_serverhello_legacy,
3448
+ ext_quic_transport_params_parse_clienthello_legacy,
3449
+ ext_quic_transport_params_add_serverhello_legacy,
3450
+ },
3451
+ {
3452
+ TLSEXT_TYPE_cert_compression,
3453
+ cert_compression_add_clienthello,
3454
+ cert_compression_parse_serverhello,
3455
+ cert_compression_parse_clienthello,
3456
+ cert_compression_add_serverhello,
3457
+ },
3458
+ {
3459
+ TLSEXT_TYPE_delegated_credential,
3460
+ ext_delegated_credential_add_clienthello,
3461
+ forbid_parse_serverhello,
3462
+ ext_delegated_credential_parse_clienthello,
3463
+ dont_add_serverhello,
3464
+ },
3465
+ {
3466
+ TLSEXT_TYPE_application_settings,
3467
+ ext_alps_add_clienthello,
3468
+ ext_alps_parse_serverhello,
3469
+ // ALPS is negotiated late in |ssl_negotiate_alpn|.
3470
+ ignore_parse_clienthello,
3471
+ ext_alps_add_serverhello,
3472
+ },
3473
+ {
3474
+ TLSEXT_TYPE_application_settings_old,
3475
+ ext_alps_add_clienthello_old,
3476
+ ext_alps_parse_serverhello_old,
3477
+ // ALPS is negotiated late in |ssl_negotiate_alpn|.
3478
+ ignore_parse_clienthello,
3479
+ ext_alps_add_serverhello_old,
3480
+ },
3481
+ {
3482
+ TLSEXT_TYPE_certificate_authorities,
3483
+ ext_certificate_authorities_add_clienthello,
3484
+ forbid_parse_serverhello,
3485
+ ext_certificate_authorities_parse_clienthello,
3486
+ dont_add_serverhello,
3487
+ },
3488
+ {
3489
+ TLSEXT_TYPE_pake,
3490
+ ext_pake_add_clienthello,
3491
+ // This extension is unencrypted and so adding and parsing it from the
3492
+ // ServerHello is handled elsewhere.
3493
+ forbid_parse_serverhello,
3494
+ ext_pake_parse_clienthello,
3495
+ dont_add_serverhello,
3496
+ },
3297
3497
  };
3298
3498
 
3299
3499
  #define kNumExtensions (sizeof(kExtensions) / sizeof(struct tls_extension))
@@ -3315,7 +3515,7 @@ bool ssl_setup_extension_permutation(SSL_HANDSHAKE *hs) {
3315
3515
  uint32_t seeds[kNumExtensions - 1];
3316
3516
  Array<uint8_t> permutation;
3317
3517
  if (!RAND_bytes(reinterpret_cast<uint8_t *>(seeds), sizeof(seeds)) ||
3318
- !permutation.Init(kNumExtensions)) {
3518
+ !permutation.InitForOverwrite(kNumExtensions)) {
3319
3519
  return false;
3320
3520
  }
3321
3521
  for (size_t i = 0; i < kNumExtensions; i++) {
@@ -3526,7 +3726,7 @@ bool ssl_add_clienthello_tlsext(SSL_HANDSHAKE *hs, CBB *out, CBB *out_encoded,
3526
3726
  // bugs. We also apply this padding to ClientHelloOuter, to keep the wire
3527
3727
  // images aligned.
3528
3728
  size_t psk_extension_len = ext_pre_shared_key_clienthello_length(hs, type);
3529
- if (!SSL_is_dtls(ssl) && !ssl->quic_method &&
3729
+ if (!SSL_is_dtls(ssl) && !SSL_is_quic(ssl) &&
3530
3730
  !ssl->s3->used_hello_retry_request) {
3531
3731
  header_len +=
3532
3732
  SSL3_HM_HEADER_LENGTH + 2 + CBB_len(&extensions) + psk_extension_len;
@@ -3608,7 +3808,7 @@ bool ssl_add_serverhello_tlsext(SSL_HANDSHAKE *hs, CBB *out) {
3608
3808
  }
3609
3809
 
3610
3810
  // Discard empty extensions blocks before TLS 1.3.
3611
- if (ssl_protocol_version(ssl) < TLS1_3_VERSION &&
3811
+ if (ssl_protocol_version(ssl) < TLS1_3_VERSION && //
3612
3812
  CBB_len(&extensions) == 0) {
3613
3813
  CBB_discard_child(out);
3614
3814
  }
@@ -3740,7 +3940,7 @@ static bool ssl_scan_serverhello_tlsext(SSL_HANDSHAKE *hs, const CBS *cbs,
3740
3940
  if (!(hs->extensions.sent & (1u << ext_index))) {
3741
3941
  // If the extension was never sent then it is illegal.
3742
3942
  OPENSSL_PUT_ERROR(SSL, SSL_R_UNEXPECTED_EXTENSION);
3743
- ERR_add_error_dataf("extension :%u", (unsigned)type);
3943
+ ERR_add_error_dataf("extension %u", (unsigned)type);
3744
3944
  *out_alert = SSL_AD_UNSUPPORTED_EXTENSION;
3745
3945
  return false;
3746
3946
  }
@@ -3794,6 +3994,7 @@ static bool ssl_check_clienthello_tlsext(SSL_HANDSHAKE *hs) {
3794
3994
  return true;
3795
3995
 
3796
3996
  default:
3997
+ hs->should_ack_sni = ssl->s3->hostname != nullptr;
3797
3998
  return true;
3798
3999
  }
3799
4000
  }
@@ -3880,7 +4081,7 @@ static enum ssl_ticket_aead_result_t decrypt_ticket_with_cipher_ctx(
3880
4081
  if (ciphertext.size() >= INT_MAX) {
3881
4082
  return ssl_ticket_aead_ignore_ticket;
3882
4083
  }
3883
- if (!plaintext.Init(ciphertext.size())) {
4084
+ if (!plaintext.InitForOverwrite(ciphertext.size())) {
3884
4085
  return ssl_ticket_aead_error;
3885
4086
  }
3886
4087
  int len1, len2;
@@ -3955,8 +4156,8 @@ static enum ssl_ticket_aead_result_t ssl_decrypt_ticket_with_ticket_keys(
3955
4156
  }
3956
4157
  if (!HMAC_Init_ex(hmac_ctx.get(), key->hmac_key, sizeof(key->hmac_key),
3957
4158
  tlsext_tick_md(), NULL) ||
3958
- !EVP_DecryptInit_ex(cipher_ctx.get(), cipher, NULL,
3959
- key->aes_key, iv.data())) {
4159
+ !EVP_DecryptInit_ex(cipher_ctx.get(), cipher, NULL, key->aes_key,
4160
+ iv.data())) {
3960
4161
  return ssl_ticket_aead_error;
3961
4162
  }
3962
4163
  }
@@ -3968,7 +4169,7 @@ static enum ssl_ticket_aead_result_t ssl_decrypt_ticket_with_method(
3968
4169
  SSL_HANDSHAKE *hs, Array<uint8_t> *out, bool *out_renew_ticket,
3969
4170
  Span<const uint8_t> ticket) {
3970
4171
  Array<uint8_t> plaintext;
3971
- if (!plaintext.Init(ticket.size())) {
4172
+ if (!plaintext.InitForOverwrite(ticket.size())) {
3972
4173
  return ssl_ticket_aead_error;
3973
4174
  }
3974
4175
 
@@ -4077,9 +4278,8 @@ enum ssl_ticket_aead_result_t ssl_process_ticket(
4077
4278
  // Envoy's tests expect the session to have a session ID that matches the
4078
4279
  // placeholder used by the client. It's unclear whether this is a good idea,
4079
4280
  // but we maintain it for now.
4080
- SHA256(ticket.data(), ticket.size(), session->session_id);
4081
- // Other consumers may expect a non-empty session ID to indicate resumption.
4082
- session->session_id_length = SHA256_DIGEST_LENGTH;
4281
+ session->session_id.ResizeForOverwrite(SHA256_DIGEST_LENGTH);
4282
+ SHA256(ticket.data(), ticket.size(), session->session_id.data());
4083
4283
 
4084
4284
  *out_session = std::move(session);
4085
4285
  return ssl_ticket_aead_success;
@@ -4145,9 +4345,8 @@ bool tls1_choose_signature_algorithm(SSL_HANDSHAKE *hs,
4145
4345
  }
4146
4346
  }
4147
4347
 
4148
- Span<const uint16_t> sigalgs = cred->sigalgs.empty()
4149
- ? MakeConstSpan(kSignSignatureAlgorithms)
4150
- : cred->sigalgs;
4348
+ Span<const uint16_t> sigalgs =
4349
+ cred->sigalgs.empty() ? Span(kSignSignatureAlgorithms) : cred->sigalgs;
4151
4350
  for (uint16_t sigalg : sigalgs) {
4152
4351
  if (!ssl_pkey_supports_algorithm(ssl, cred->pubkey.get(), sigalg,
4153
4352
  /*is_verify=*/false)) {
@@ -4171,10 +4370,10 @@ bool tls1_verify_channel_id(SSL_HANDSHAKE *hs, const SSLMessage &msg) {
4171
4370
  // extensions, but the only one that can be present is Channel ID.
4172
4371
  uint16_t extension_type;
4173
4372
  CBS channel_id = msg.body, extension;
4174
- if (!CBS_get_u16(&channel_id, &extension_type) ||
4175
- !CBS_get_u16_length_prefixed(&channel_id, &extension) ||
4176
- CBS_len(&channel_id) != 0 ||
4177
- extension_type != TLSEXT_TYPE_channel_id ||
4373
+ if (!CBS_get_u16(&channel_id, &extension_type) || //
4374
+ !CBS_get_u16_length_prefixed(&channel_id, &extension) || //
4375
+ CBS_len(&channel_id) != 0 || //
4376
+ extension_type != TLSEXT_TYPE_channel_id || //
4178
4377
  CBS_len(&extension) != TLSEXT_CHANNEL_ID_SIZE) {
4179
4378
  OPENSSL_PUT_ERROR(SSL, SSL_R_DECODE_ERROR);
4180
4379
  ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_DECODE_ERROR);
@@ -4255,12 +4454,12 @@ bool tls1_write_channel_id(SSL_HANDSHAKE *hs, CBB *cbb) {
4255
4454
  }
4256
4455
 
4257
4456
  CBB child;
4258
- if (!CBB_add_u16(cbb, TLSEXT_TYPE_channel_id) ||
4259
- !CBB_add_u16_length_prefixed(cbb, &child) ||
4260
- !BN_bn2cbb_padded(&child, 32, x.get()) ||
4261
- !BN_bn2cbb_padded(&child, 32, y.get()) ||
4262
- !BN_bn2cbb_padded(&child, 32, sig->r) ||
4263
- !BN_bn2cbb_padded(&child, 32, sig->s) ||
4457
+ if (!CBB_add_u16(cbb, TLSEXT_TYPE_channel_id) || //
4458
+ !CBB_add_u16_length_prefixed(cbb, &child) || //
4459
+ !BN_bn2cbb_padded(&child, 32, x.get()) || //
4460
+ !BN_bn2cbb_padded(&child, 32, y.get()) || //
4461
+ !BN_bn2cbb_padded(&child, 32, sig->r) || //
4462
+ !BN_bn2cbb_padded(&child, 32, sig->s) || //
4264
4463
  !CBB_flush(cbb)) {
4265
4464
  return false;
4266
4465
  }
@@ -4290,12 +4489,12 @@ bool tls1_channel_id_hash(SSL_HANDSHAKE *hs, uint8_t *out, size_t *out_len) {
4290
4489
  if (ssl->session != NULL) {
4291
4490
  static const char kResumptionMagic[] = "Resumption";
4292
4491
  SHA256_Update(&ctx, kResumptionMagic, sizeof(kResumptionMagic));
4293
- if (ssl->session->original_handshake_hash_len == 0) {
4492
+ if (ssl->session->original_handshake_hash.empty()) {
4294
4493
  OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
4295
4494
  return false;
4296
4495
  }
4297
- SHA256_Update(&ctx, ssl->session->original_handshake_hash,
4298
- ssl->session->original_handshake_hash_len);
4496
+ SHA256_Update(&ctx, ssl->session->original_handshake_hash.data(),
4497
+ ssl->session->original_handshake_hash.size());
4299
4498
  }
4300
4499
 
4301
4500
  uint8_t hs_hash[EVP_MAX_MD_SIZE];
@@ -4318,20 +4517,14 @@ bool tls1_record_handshake_hashes_for_channel_id(SSL_HANDSHAKE *hs) {
4318
4517
  return false;
4319
4518
  }
4320
4519
 
4321
- static_assert(
4322
- sizeof(hs->new_session->original_handshake_hash) == EVP_MAX_MD_SIZE,
4323
- "original_handshake_hash is too small");
4324
-
4325
4520
  size_t digest_len;
4326
- if (!hs->transcript.GetHash(hs->new_session->original_handshake_hash,
4521
+ hs->new_session->original_handshake_hash.ResizeForOverwrite(
4522
+ hs->transcript.DigestLen());
4523
+ if (!hs->transcript.GetHash(hs->new_session->original_handshake_hash.data(),
4327
4524
  &digest_len)) {
4328
4525
  return false;
4329
4526
  }
4330
-
4331
- static_assert(EVP_MAX_MD_SIZE <= 0xff,
4332
- "EVP_MAX_MD_SIZE does not fit in uint8_t");
4333
- hs->new_session->original_handshake_hash_len = (uint8_t)digest_len;
4334
-
4527
+ assert(digest_len == hs->new_session->original_handshake_hash.size());
4335
4528
  return true;
4336
4529
  }
4337
4530
 
@@ -4341,16 +4534,14 @@ bool ssl_is_sct_list_valid(const CBS *contents) {
4341
4534
  // of the SCTs may be empty.
4342
4535
  CBS copy = *contents;
4343
4536
  CBS sct_list;
4344
- if (!CBS_get_u16_length_prefixed(&copy, &sct_list) ||
4345
- CBS_len(&copy) != 0 ||
4537
+ if (!CBS_get_u16_length_prefixed(&copy, &sct_list) || CBS_len(&copy) != 0 ||
4346
4538
  CBS_len(&sct_list) == 0) {
4347
4539
  return false;
4348
4540
  }
4349
4541
 
4350
4542
  while (CBS_len(&sct_list) > 0) {
4351
4543
  CBS sct;
4352
- if (!CBS_get_u16_length_prefixed(&sct_list, &sct) ||
4353
- CBS_len(&sct) == 0) {
4544
+ if (!CBS_get_u16_length_prefixed(&sct_list, &sct) || CBS_len(&sct) == 0) {
4354
4545
  return false;
4355
4546
  }
4356
4547
  }
@@ -4362,6 +4553,19 @@ BSSL_NAMESPACE_END
4362
4553
 
4363
4554
  using namespace bssl;
4364
4555
 
4556
+ int SSL_parse_client_hello(const SSL *ssl, SSL_CLIENT_HELLO *out,
4557
+ const uint8_t *in, size_t len) {
4558
+ CBS cbs = Span(in, len);
4559
+ if (!ssl_parse_client_hello_with_trailing_data(ssl, &cbs, out)) {
4560
+ return 0;
4561
+ }
4562
+ if (CBS_len(&cbs) != 0) {
4563
+ OPENSSL_PUT_ERROR(SSL, SSL_R_CLIENTHELLO_PARSE_FAILED);
4564
+ return 0;
4565
+ }
4566
+ return 1;
4567
+ }
4568
+
4365
4569
  int SSL_early_callback_ctx_extension_get(const SSL_CLIENT_HELLO *client_hello,
4366
4570
  uint16_t extension_type,
4367
4571
  const uint8_t **out_data,