grpc 1.68.1 → 1.74.1

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 (3051) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +379 -370
  3. data/include/grpc/create_channel_from_endpoint.h +54 -0
  4. data/include/grpc/credentials.h +11 -5
  5. data/include/grpc/event_engine/endpoint_config.h +5 -5
  6. data/include/grpc/event_engine/event_engine.h +232 -16
  7. data/include/grpc/event_engine/internal/write_event.h +34 -0
  8. data/include/grpc/event_engine/memory_request.h +3 -3
  9. data/include/grpc/grpc_posix.h +20 -1
  10. data/include/grpc/impl/channel_arg_names.h +83 -55
  11. data/include/grpc/impl/compression_types.h +3 -2
  12. data/include/grpc/impl/slice_type.h +1 -1
  13. data/include/grpc/module.modulemap +1 -0
  14. data/include/grpc/status.h +1 -1
  15. data/include/grpc/support/atm.h +0 -13
  16. data/include/grpc/support/json.h +43 -37
  17. data/include/grpc/support/port_platform.h +8 -5
  18. data/include/grpc/support/workaround_list.h +1 -4
  19. data/src/core/call/call_arena_allocator.cc +27 -0
  20. data/src/core/call/call_arena_allocator.h +91 -0
  21. data/src/core/call/call_destination.h +76 -0
  22. data/src/core/call/call_filters.cc +148 -0
  23. data/src/core/call/call_filters.h +1976 -0
  24. data/src/core/call/call_finalization.h +88 -0
  25. data/src/core/call/call_spine.cc +90 -0
  26. data/src/core/call/call_spine.h +646 -0
  27. data/src/core/call/call_state.cc +39 -0
  28. data/src/core/call/call_state.h +1154 -0
  29. data/src/core/call/client_call.cc +458 -0
  30. data/src/core/call/client_call.h +192 -0
  31. data/src/core/call/custom_metadata.h +30 -0
  32. data/src/core/call/interception_chain.cc +155 -0
  33. data/src/core/call/interception_chain.h +278 -0
  34. data/src/core/call/message.cc +44 -0
  35. data/src/core/call/message.h +70 -0
  36. data/src/core/call/metadata.cc +61 -0
  37. data/src/core/call/metadata.h +218 -0
  38. data/src/core/call/metadata_batch.cc +383 -0
  39. data/src/core/call/metadata_batch.h +1668 -0
  40. data/src/core/call/metadata_compression_traits.h +66 -0
  41. data/src/core/call/metadata_info.cc +73 -0
  42. data/src/core/call/metadata_info.h +85 -0
  43. data/src/core/call/parsed_metadata.cc +35 -0
  44. data/src/core/call/parsed_metadata.h +429 -0
  45. data/src/core/call/request_buffer.cc +224 -0
  46. data/src/core/call/request_buffer.h +192 -0
  47. data/src/core/call/security_context.cc +125 -0
  48. data/src/core/call/security_context.h +114 -0
  49. data/src/core/call/server_call.cc +259 -0
  50. data/src/core/call/server_call.h +169 -0
  51. data/src/core/call/simple_slice_based_metadata.h +53 -0
  52. data/src/core/call/status_util.cc +153 -0
  53. data/src/core/call/status_util.h +80 -0
  54. data/src/core/channelz/channel_trace.cc +217 -111
  55. data/src/core/channelz/channel_trace.h +389 -64
  56. data/src/core/channelz/channelz.cc +480 -178
  57. data/src/core/channelz/channelz.h +429 -93
  58. data/src/core/channelz/channelz_registry.cc +323 -124
  59. data/src/core/channelz/channelz_registry.h +203 -21
  60. data/src/core/channelz/property_list.cc +357 -0
  61. data/src/core/channelz/property_list.h +202 -0
  62. data/src/core/channelz/ztrace_collector.h +316 -0
  63. data/src/core/client_channel/backup_poller.cc +18 -3
  64. data/src/core/client_channel/client_channel.cc +86 -99
  65. data/src/core/client_channel/client_channel.h +6 -5
  66. data/src/core/client_channel/client_channel_args.h +21 -0
  67. data/src/core/client_channel/client_channel_filter.cc +102 -198
  68. data/src/core/client_channel/client_channel_filter.h +12 -12
  69. data/src/core/client_channel/client_channel_internal.h +1 -1
  70. data/src/core/client_channel/client_channel_plugin.cc +3 -2
  71. data/src/core/client_channel/client_channel_service_config.cc +1 -1
  72. data/src/core/client_channel/client_channel_service_config.h +6 -6
  73. data/src/core/client_channel/config_selector.h +10 -4
  74. data/src/core/client_channel/connector.h +0 -3
  75. data/src/core/client_channel/direct_channel.cc +5 -5
  76. data/src/core/client_channel/direct_channel.h +1 -1
  77. data/src/core/client_channel/dynamic_filters.cc +5 -7
  78. data/src/core/client_channel/dynamic_filters.h +1 -2
  79. data/src/core/client_channel/global_subchannel_pool.cc +71 -7
  80. data/src/core/client_channel/global_subchannel_pool.h +37 -4
  81. data/src/core/client_channel/lb_metadata.cc +7 -8
  82. data/src/core/client_channel/lb_metadata.h +4 -4
  83. data/src/core/client_channel/load_balanced_call_destination.cc +6 -6
  84. data/src/core/client_channel/load_balanced_call_destination.h +1 -1
  85. data/src/core/client_channel/retry_filter.cc +22 -28
  86. data/src/core/client_channel/retry_filter.h +11 -8
  87. data/src/core/client_channel/retry_filter_legacy_call_data.cc +58 -56
  88. data/src/core/client_channel/retry_filter_legacy_call_data.h +14 -12
  89. data/src/core/client_channel/retry_interceptor.cc +394 -0
  90. data/src/core/client_channel/retry_interceptor.h +158 -0
  91. data/src/core/client_channel/retry_service_config.cc +3 -3
  92. data/src/core/client_channel/retry_service_config.h +18 -5
  93. data/src/core/client_channel/retry_throttle.cc +69 -73
  94. data/src/core/client_channel/retry_throttle.h +23 -37
  95. data/src/core/client_channel/subchannel.cc +93 -105
  96. data/src/core/client_channel/subchannel.h +15 -14
  97. data/src/core/client_channel/subchannel_pool_interface.cc +5 -6
  98. data/src/core/client_channel/subchannel_pool_interface.h +11 -1
  99. data/src/core/client_channel/subchannel_stream_client.cc +14 -12
  100. data/src/core/client_channel/subchannel_stream_client.h +5 -5
  101. data/src/core/config/config_vars.cc +164 -0
  102. data/src/core/config/config_vars.h +137 -0
  103. data/src/core/config/config_vars_non_generated.cc +49 -0
  104. data/src/core/config/core_configuration.cc +151 -0
  105. data/src/core/config/core_configuration.h +335 -0
  106. data/src/core/config/load_config.cc +78 -0
  107. data/src/core/config/load_config.h +54 -0
  108. data/src/core/credentials/call/call_credentials.h +157 -0
  109. data/src/core/credentials/call/call_creds_registry.h +125 -0
  110. data/src/core/credentials/call/call_creds_registry_init.cc +91 -0
  111. data/src/core/credentials/call/call_creds_util.cc +97 -0
  112. data/src/core/credentials/call/call_creds_util.h +43 -0
  113. data/src/core/credentials/call/composite/composite_call_credentials.cc +115 -0
  114. data/src/core/credentials/call/composite/composite_call_credentials.h +82 -0
  115. data/src/core/credentials/call/external/aws_external_account_credentials.cc +528 -0
  116. data/src/core/credentials/call/external/aws_external_account_credentials.h +117 -0
  117. data/src/core/credentials/call/external/aws_request_signer.cc +231 -0
  118. data/src/core/credentials/call/external/aws_request_signer.h +72 -0
  119. data/src/core/credentials/call/external/external_account_credentials.cc +641 -0
  120. data/src/core/credentials/call/external/external_account_credentials.h +207 -0
  121. data/src/core/credentials/call/external/file_external_account_credentials.cc +174 -0
  122. data/src/core/credentials/call/external/file_external_account_credentials.h +80 -0
  123. data/src/core/credentials/call/external/url_external_account_credentials.cc +222 -0
  124. data/src/core/credentials/call/external/url_external_account_credentials.h +73 -0
  125. data/src/core/credentials/call/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +154 -0
  126. data/src/core/credentials/call/gcp_service_account_identity/gcp_service_account_identity_credentials.h +90 -0
  127. data/src/core/credentials/call/iam/iam_credentials.cc +78 -0
  128. data/src/core/credentials/call/iam/iam_credentials.h +66 -0
  129. data/src/core/credentials/call/json_util.cc +69 -0
  130. data/src/core/credentials/call/json_util.h +43 -0
  131. data/src/core/credentials/call/jwt/json_token.cc +318 -0
  132. data/src/core/credentials/call/jwt/json_token.h +78 -0
  133. data/src/core/credentials/call/jwt/jwt_credentials.cc +181 -0
  134. data/src/core/credentials/call/jwt/jwt_credentials.h +106 -0
  135. data/src/core/credentials/call/jwt/jwt_verifier.cc +988 -0
  136. data/src/core/credentials/call/jwt/jwt_verifier.h +122 -0
  137. data/src/core/credentials/call/jwt_token_file/jwt_token_file_call_credentials.cc +86 -0
  138. data/src/core/credentials/call/jwt_token_file/jwt_token_file_call_credentials.h +74 -0
  139. data/src/core/credentials/call/jwt_util.cc +70 -0
  140. data/src/core/credentials/call/jwt_util.h +32 -0
  141. data/src/core/credentials/call/oauth2/oauth2_credentials.cc +656 -0
  142. data/src/core/credentials/call/oauth2/oauth2_credentials.h +197 -0
  143. data/src/core/credentials/call/plugin/plugin_credentials.cc +201 -0
  144. data/src/core/credentials/call/plugin/plugin_credentials.h +123 -0
  145. data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.cc +304 -0
  146. data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.h +181 -0
  147. data/src/core/credentials/transport/alts/alts_credentials.cc +116 -0
  148. data/src/core/credentials/transport/alts/alts_credentials.h +127 -0
  149. data/src/core/credentials/transport/alts/alts_security_connector.cc +304 -0
  150. data/src/core/credentials/transport/alts/alts_security_connector.h +78 -0
  151. data/src/core/credentials/transport/alts/check_gcp_environment.cc +71 -0
  152. data/src/core/credentials/transport/alts/check_gcp_environment.h +57 -0
  153. data/src/core/credentials/transport/alts/check_gcp_environment_linux.cc +67 -0
  154. data/src/core/credentials/transport/alts/check_gcp_environment_no_op.cc +32 -0
  155. data/src/core/credentials/transport/alts/check_gcp_environment_windows.cc +101 -0
  156. data/src/core/credentials/transport/alts/grpc_alts_credentials_client_options.cc +123 -0
  157. data/src/core/credentials/transport/alts/grpc_alts_credentials_options.cc +45 -0
  158. data/src/core/credentials/transport/alts/grpc_alts_credentials_options.h +74 -0
  159. data/src/core/credentials/transport/alts/grpc_alts_credentials_server_options.cc +55 -0
  160. data/src/core/credentials/transport/channel_creds_registry.h +126 -0
  161. data/src/core/credentials/transport/channel_creds_registry_init.cc +245 -0
  162. data/src/core/credentials/transport/composite/composite_channel_credentials.cc +68 -0
  163. data/src/core/credentials/transport/composite/composite_channel_credentials.h +89 -0
  164. data/src/core/credentials/transport/fake/fake_credentials.cc +81 -0
  165. data/src/core/credentials/transport/fake/fake_credentials.h +92 -0
  166. data/src/core/credentials/transport/fake/fake_security_connector.cc +314 -0
  167. data/src/core/credentials/transport/fake/fake_security_connector.h +42 -0
  168. data/src/core/credentials/transport/google_default/credentials_generic.cc +38 -0
  169. data/src/core/credentials/transport/google_default/google_default_credentials.cc +510 -0
  170. data/src/core/credentials/transport/google_default/google_default_credentials.h +101 -0
  171. data/src/core/credentials/transport/insecure/insecure_credentials.cc +71 -0
  172. data/src/core/credentials/transport/insecure/insecure_credentials.h +61 -0
  173. data/src/core/credentials/transport/insecure/insecure_security_connector.cc +118 -0
  174. data/src/core/credentials/transport/insecure/insecure_security_connector.h +102 -0
  175. data/src/core/credentials/transport/local/local_credentials.cc +68 -0
  176. data/src/core/credentials/transport/local/local_credentials.h +77 -0
  177. data/src/core/credentials/transport/local/local_security_connector.cc +306 -0
  178. data/src/core/credentials/transport/local/local_security_connector.h +62 -0
  179. data/src/core/credentials/transport/security_connector.cc +123 -0
  180. data/src/core/credentials/transport/security_connector.h +197 -0
  181. data/src/core/credentials/transport/ssl/ssl_credentials.cc +473 -0
  182. data/src/core/credentials/transport/ssl/ssl_credentials.h +144 -0
  183. data/src/core/credentials/transport/ssl/ssl_security_connector.cc +433 -0
  184. data/src/core/credentials/transport/ssl/ssl_security_connector.h +82 -0
  185. data/src/core/credentials/transport/tls/certificate_provider_factory.h +69 -0
  186. data/src/core/credentials/transport/tls/certificate_provider_registry.cc +50 -0
  187. data/src/core/credentials/transport/tls/certificate_provider_registry.h +75 -0
  188. data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.cc +337 -0
  189. data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.h +215 -0
  190. data/src/core/credentials/transport/tls/grpc_tls_certificate_match.cc +84 -0
  191. data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.cc +490 -0
  192. data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.h +206 -0
  193. data/src/core/credentials/transport/tls/grpc_tls_certificate_verifier.cc +237 -0
  194. data/src/core/credentials/transport/tls/grpc_tls_certificate_verifier.h +169 -0
  195. data/src/core/credentials/transport/tls/grpc_tls_credentials_options.cc +161 -0
  196. data/src/core/credentials/transport/tls/grpc_tls_credentials_options.h +145 -0
  197. data/src/core/credentials/transport/tls/grpc_tls_crl_provider.cc +257 -0
  198. data/src/core/credentials/transport/tls/grpc_tls_crl_provider.h +129 -0
  199. data/src/core/credentials/transport/tls/load_system_roots.h +35 -0
  200. data/src/core/credentials/transport/tls/load_system_roots_fallback.cc +36 -0
  201. data/src/core/credentials/transport/tls/load_system_roots_supported.cc +166 -0
  202. data/src/core/credentials/transport/tls/load_system_roots_supported.h +44 -0
  203. data/src/core/credentials/transport/tls/load_system_roots_windows.cc +85 -0
  204. data/src/core/credentials/transport/tls/ssl_utils.cc +646 -0
  205. data/src/core/credentials/transport/tls/ssl_utils.h +193 -0
  206. data/src/core/credentials/transport/tls/tls_credentials.cc +170 -0
  207. data/src/core/credentials/transport/tls/tls_credentials.h +75 -0
  208. data/src/core/credentials/transport/tls/tls_security_connector.cc +817 -0
  209. data/src/core/credentials/transport/tls/tls_security_connector.h +285 -0
  210. data/src/core/credentials/transport/tls/tls_utils.cc +127 -0
  211. data/src/core/credentials/transport/tls/tls_utils.h +50 -0
  212. data/src/core/credentials/transport/transport_credentials.cc +158 -0
  213. data/src/core/credentials/transport/transport_credentials.h +182 -0
  214. data/src/core/credentials/transport/xds/xds_credentials.cc +228 -0
  215. data/src/core/credentials/transport/xds/xds_credentials.h +110 -0
  216. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +6 -13
  217. data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +7 -7
  218. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +17 -11
  219. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +11 -18
  220. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +6 -6
  221. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +2 -2
  222. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +1 -1
  223. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +11 -18
  224. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +21 -21
  225. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.cc +1 -1
  226. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.h +2 -2
  227. data/src/core/ext/filters/http/client/http_client_filter.cc +1 -6
  228. data/src/core/ext/filters/http/client/http_client_filter.h +5 -5
  229. data/src/core/ext/filters/http/client_authority_filter.cc +5 -12
  230. data/src/core/ext/filters/http/client_authority_filter.h +6 -6
  231. data/src/core/ext/filters/http/http_filters_plugin.cc +1 -1
  232. data/src/core/ext/filters/http/message_compress/compression_filter.cc +21 -25
  233. data/src/core/ext/filters/http/message_compress/compression_filter.h +56 -18
  234. data/src/core/ext/filters/http/server/http_server_filter.cc +5 -10
  235. data/src/core/ext/filters/http/server/http_server_filter.h +22 -10
  236. data/src/core/ext/filters/message_size/message_size_filter.cc +15 -27
  237. data/src/core/ext/filters/message_size/message_size_filter.h +21 -22
  238. data/src/core/ext/filters/rbac/rbac_filter.cc +3 -10
  239. data/src/core/ext/filters/rbac/rbac_filter.h +6 -6
  240. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +3 -3
  241. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +1 -1
  242. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +3 -8
  243. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +4 -4
  244. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +1 -1
  245. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +3 -3
  246. data/src/core/ext/transport/chttp2/chttp2_plugin.cc +40 -0
  247. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +134 -153
  248. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +7 -3
  249. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +356 -769
  250. data/src/core/ext/transport/chttp2/server/chttp2_server.h +197 -13
  251. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +4 -3
  252. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +3 -3
  253. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.cc +2 -2
  254. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.h +5 -7
  255. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +402 -167
  256. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +7 -13
  257. data/src/core/ext/transport/chttp2/transport/decode_huff.cc +1239 -3514
  258. data/src/core/ext/transport/chttp2/transport/decode_huff.h +1008 -1486
  259. data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -3
  260. data/src/core/ext/transport/chttp2/transport/flow_control.h +26 -3
  261. data/src/core/ext/transport/chttp2/transport/frame.cc +326 -167
  262. data/src/core/ext/transport/chttp2/transport/frame.h +126 -8
  263. data/src/core/ext/transport/chttp2/transport/frame_data.cc +25 -8
  264. data/src/core/ext/transport/chttp2/transport/frame_data.h +2 -0
  265. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +23 -11
  266. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +5 -3
  267. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +2 -0
  268. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +17 -7
  269. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +3 -1
  270. data/src/core/ext/transport/chttp2/transport/frame_security.cc +80 -0
  271. data/src/core/ext/transport/chttp2/transport/frame_security.h +44 -0
  272. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +43 -8
  273. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +21 -0
  274. data/src/core/ext/transport/chttp2/transport/header_assembler.h +299 -0
  275. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +12 -5
  276. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +7 -5
  277. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +3 -3
  278. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +3 -3
  279. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +36 -35
  280. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +7 -8
  281. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +11 -5
  282. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +14 -3
  283. data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +1017 -0
  284. data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +593 -0
  285. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +21 -10
  286. data/src/core/ext/transport/chttp2/transport/http2_settings.h +36 -5
  287. data/src/core/ext/transport/chttp2/transport/http2_stats_collector.cc +30 -0
  288. data/src/core/ext/transport/chttp2/transport/http2_stats_collector.h +33 -0
  289. data/src/core/ext/transport/chttp2/transport/http2_status.h +414 -0
  290. data/src/core/ext/transport/chttp2/transport/http2_transport.cc +43 -0
  291. data/src/core/ext/transport/chttp2/transport/http2_transport.h +65 -0
  292. data/src/core/ext/transport/chttp2/transport/http2_ztrace_collector.h +223 -0
  293. data/src/core/ext/transport/chttp2/transport/internal.h +90 -23
  294. data/src/core/ext/transport/chttp2/transport/internal_channel_arg_names.h +24 -0
  295. data/src/core/ext/transport/chttp2/transport/keepalive.cc +105 -0
  296. data/src/core/ext/transport/chttp2/transport/keepalive.h +138 -0
  297. data/src/core/ext/transport/chttp2/transport/legacy_frame.h +1 -0
  298. data/src/core/ext/transport/chttp2/transport/message_assembler.h +185 -0
  299. data/src/core/ext/transport/chttp2/transport/parsing.cc +91 -43
  300. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.cc +1 -1
  301. data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +2 -2
  302. data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +21 -2
  303. data/src/core/ext/transport/chttp2/transport/ping_promise.cc +151 -0
  304. data/src/core/ext/transport/chttp2/transport/ping_promise.h +180 -0
  305. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +17 -20
  306. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +19 -2
  307. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +40 -1
  308. data/src/core/ext/transport/chttp2/transport/transport_common.cc +19 -0
  309. data/src/core/ext/transport/chttp2/transport/transport_common.h +27 -0
  310. data/src/core/ext/transport/chttp2/transport/varint.cc +4 -4
  311. data/src/core/ext/transport/chttp2/transport/write_size_policy.h +1 -1
  312. data/src/core/ext/transport/chttp2/transport/writing.cc +109 -77
  313. data/src/core/ext/transport/inproc/inproc_transport.cc +10 -7
  314. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +23 -14
  315. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb.h +7 -3
  316. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c +8 -8
  317. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.h +3 -3
  318. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +68 -68
  319. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +34 -34
  320. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.h +3 -3
  321. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb.h +3 -3
  322. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.c +10 -10
  323. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.h +3 -3
  324. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +20 -18
  325. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +44 -44
  326. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.h +3 -3
  327. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb.h +3 -3
  328. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.c +2 -2
  329. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.h +3 -3
  330. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb.h +3 -3
  331. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.c +4 -4
  332. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.h +3 -3
  333. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb.h +3 -3
  334. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.h +3 -3
  335. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +9 -9
  336. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +4 -4
  337. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.h +3 -3
  338. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb.h +3 -3
  339. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.h +3 -3
  340. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +149 -133
  341. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +76 -75
  342. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.h +3 -3
  343. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb.h +3 -3
  344. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.c +2 -2
  345. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.h +3 -3
  346. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb.h +3 -3
  347. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.h +3 -3
  348. data/src/core/ext/upb-gen/envoy/annotations/resource.upb.h +5 -5
  349. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.c +1 -1
  350. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.h +3 -3
  351. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +41 -29
  352. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +29 -29
  353. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.h +3 -3
  354. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +231 -243
  355. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +104 -104
  356. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.h +3 -3
  357. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +30 -30
  358. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +15 -15
  359. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.h +3 -3
  360. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +367 -349
  361. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +152 -150
  362. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.h +3 -3
  363. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb.h +3 -3
  364. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.c +2 -2
  365. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.h +3 -3
  366. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +61 -61
  367. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +16 -16
  368. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.h +3 -3
  369. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +53 -49
  370. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +31 -31
  371. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.h +3 -3
  372. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +44 -32
  373. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +26 -26
  374. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.h +3 -3
  375. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb.h +3 -3
  376. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.c +2 -2
  377. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.h +3 -3
  378. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +329 -262
  379. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +126 -100
  380. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.h +5 -3
  381. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +61 -57
  382. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +31 -31
  383. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.h +3 -3
  384. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb.h +7 -3
  385. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.c +2 -2
  386. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.h +3 -3
  387. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb.h +3 -3
  388. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.c +2 -2
  389. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.h +3 -3
  390. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb.h +3 -3
  391. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.c +2 -2
  392. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.h +3 -3
  393. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +91 -95
  394. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +35 -35
  395. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.h +3 -3
  396. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +115 -103
  397. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +44 -44
  398. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.h +3 -3
  399. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb.h +3 -3
  400. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.c +2 -2
  401. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.h +3 -3
  402. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +19 -15
  403. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +7 -7
  404. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.h +3 -3
  405. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +216 -117
  406. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +71 -65
  407. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.h +3 -3
  408. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb.h +3 -3
  409. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.c +2 -2
  410. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.h +3 -3
  411. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb.h +3 -3
  412. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.c +2 -2
  413. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.h +3 -3
  414. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb.h +151 -0
  415. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.c +60 -0
  416. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.h +32 -0
  417. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +232 -21
  418. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +65 -17
  419. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.h +9 -3
  420. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +34 -30
  421. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +12 -12
  422. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.h +3 -3
  423. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb.h +3 -3
  424. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.c +2 -2
  425. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.h +3 -3
  426. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +15 -40
  427. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +10 -10
  428. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.h +3 -3
  429. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +52 -44
  430. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +30 -30
  431. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.h +3 -3
  432. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +27 -27
  433. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +15 -15
  434. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.h +3 -3
  435. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb.h +3 -3
  436. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.c +2 -2
  437. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.h +3 -3
  438. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +150 -142
  439. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +56 -56
  440. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.h +3 -3
  441. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +80 -167
  442. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +37 -58
  443. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.h +3 -5
  444. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +88 -3
  445. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +26 -4
  446. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.h +3 -3
  447. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb.h +3 -3
  448. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.c +2 -2
  449. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.h +3 -3
  450. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +9 -9
  451. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +6 -6
  452. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.h +3 -3
  453. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +56 -36
  454. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +26 -26
  455. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.h +3 -3
  456. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +17 -4
  457. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.c +14 -14
  458. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.h +3 -3
  459. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +175 -39
  460. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +60 -30
  461. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.h +5 -3
  462. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +55 -80
  463. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +16 -16
  464. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.h +3 -3
  465. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +927 -686
  466. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +366 -309
  467. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.h +7 -3
  468. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +20 -16
  469. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +8 -8
  470. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.h +3 -3
  471. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +18 -6
  472. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +20 -20
  473. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.h +3 -3
  474. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb.h +3 -3
  475. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.c +4 -4
  476. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.h +3 -3
  477. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb.h +3 -3
  478. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.c +2 -2
  479. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.h +3 -3
  480. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb.h +7 -3
  481. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.c +4 -4
  482. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.h +3 -3
  483. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb.h +3 -3
  484. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.c +2 -2
  485. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.h +3 -3
  486. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +10 -10
  487. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +5 -5
  488. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.h +3 -3
  489. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb.h +3 -3
  490. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.c +2 -2
  491. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.h +3 -3
  492. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +22 -18
  493. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +11 -11
  494. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.h +3 -3
  495. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb.h +3 -5
  496. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.c +0 -1
  497. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.h +3 -4
  498. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +10 -10
  499. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +7 -7
  500. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.h +3 -3
  501. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +19 -19
  502. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +12 -12
  503. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.h +3 -3
  504. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +313 -410
  505. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +114 -114
  506. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.h +3 -3
  507. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +3 -3
  508. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.h +3 -3
  509. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb.h +11 -3
  510. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.c +4 -4
  511. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.h +3 -3
  512. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +68 -64
  513. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +31 -31
  514. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.h +3 -3
  515. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb.h +22 -22
  516. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +10 -10
  517. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.h +3 -3
  518. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +28 -28
  519. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +13 -13
  520. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.h +3 -3
  521. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +37 -37
  522. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +13 -13
  523. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.h +3 -3
  524. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +10 -6
  525. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +6 -6
  526. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.h +3 -3
  527. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +338 -294
  528. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +144 -143
  529. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.h +3 -3
  530. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +3 -3
  531. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.c +2 -2
  532. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.h +3 -3
  533. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +63 -3
  534. 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 +15 -4
  535. 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 +3 -3
  536. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +10 -6
  537. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +9 -9
  538. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.h +3 -3
  539. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +3 -3
  540. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.h +3 -3
  541. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +26 -26
  542. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +10 -10
  543. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.h +3 -3
  544. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +3 -3
  545. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.c +2 -2
  546. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.h +3 -3
  547. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb.h +3 -4
  548. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.c +2 -3
  549. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.h +3 -3
  550. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +3 -3
  551. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.h +3 -3
  552. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +91 -87
  553. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +38 -38
  554. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.h +3 -3
  555. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +7 -3
  556. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c +6 -6
  557. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.h +3 -3
  558. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +167 -77
  559. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +58 -49
  560. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.h +3 -3
  561. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +40 -10
  562. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c +10 -8
  563. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.h +3 -3
  564. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +35 -27
  565. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +13 -13
  566. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.h +3 -3
  567. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb.h +3 -3
  568. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.h +3 -3
  569. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +367 -164
  570. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +94 -69
  571. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.h +5 -3
  572. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +9 -9
  573. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +6 -6
  574. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.h +3 -3
  575. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +69 -64
  576. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +36 -36
  577. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.h +3 -3
  578. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +10 -10
  579. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +5 -5
  580. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.h +3 -3
  581. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb.h +7 -3
  582. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.c +4 -4
  583. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.h +3 -3
  584. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb.h +142 -0
  585. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.c +55 -0
  586. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.h +32 -0
  587. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +40 -3
  588. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c +8 -5
  589. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.h +3 -3
  590. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb.h +3 -3
  591. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.h +3 -3
  592. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +13 -9
  593. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +4 -4
  594. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.h +3 -3
  595. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb.h +3 -3
  596. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.c +2 -2
  597. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.h +3 -3
  598. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb.h +7 -3
  599. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.c +2 -2
  600. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.h +3 -3
  601. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb.h +7 -3
  602. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.c +2 -2
  603. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.h +3 -3
  604. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +14 -10
  605. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +9 -9
  606. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.h +3 -3
  607. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb.h +3 -3
  608. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.h +3 -3
  609. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb.h +7 -3
  610. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.c +4 -4
  611. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.h +3 -3
  612. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb.h +7 -3
  613. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.c +2 -2
  614. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.h +3 -3
  615. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb.h +11 -3
  616. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.c +6 -6
  617. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.h +3 -3
  618. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb.h +11 -3
  619. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.c +4 -4
  620. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.h +3 -3
  621. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +18 -14
  622. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +8 -8
  623. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.h +3 -3
  624. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb.h +7 -3
  625. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.c +2 -2
  626. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.h +3 -3
  627. data/src/core/ext/upb-gen/envoy/type/v3/http.upb.h +3 -3
  628. data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.h +3 -3
  629. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb.h +3 -3
  630. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.h +3 -3
  631. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb.h +3 -3
  632. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.h +3 -3
  633. data/src/core/ext/upb-gen/envoy/type/v3/range.upb.h +3 -3
  634. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.h +3 -3
  635. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb.h +7 -3
  636. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.c +2 -2
  637. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.h +3 -3
  638. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb.h +3 -3
  639. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.h +3 -3
  640. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb.h +3 -3
  641. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.h +3 -3
  642. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb.h +3 -3
  643. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.c +2 -2
  644. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.h +3 -3
  645. data/src/core/ext/upb-gen/google/api/annotations.upb.h +5 -5
  646. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.c +1 -1
  647. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.h +3 -3
  648. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +96 -136
  649. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +46 -46
  650. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.h +3 -3
  651. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +95 -126
  652. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +51 -51
  653. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.h +3 -3
  654. data/src/core/ext/upb-gen/google/api/http.upb.h +59 -54
  655. data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +26 -26
  656. data/src/core/ext/upb-gen/google/api/http.upb_minitable.h +3 -3
  657. data/src/core/ext/upb-gen/google/api/httpbody.upb.h +3 -3
  658. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.c +2 -2
  659. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.h +3 -3
  660. data/src/core/ext/upb-gen/google/protobuf/any.upb.h +4 -3
  661. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.h +3 -3
  662. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +520 -320
  663. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +267 -217
  664. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +25 -20
  665. data/src/core/ext/upb-gen/google/protobuf/duration.upb.h +4 -3
  666. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.h +3 -3
  667. data/src/core/ext/upb-gen/google/protobuf/empty.upb.h +4 -3
  668. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.h +3 -3
  669. data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +17 -36
  670. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.c +8 -8
  671. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.h +3 -3
  672. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb.h +4 -3
  673. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.h +3 -3
  674. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb.h +4 -3
  675. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.h +3 -3
  676. data/src/core/ext/upb-gen/google/rpc/status.upb.h +3 -3
  677. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.c +2 -2
  678. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.h +3 -3
  679. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb.h +571 -0
  680. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.c +120 -0
  681. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.h +36 -0
  682. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb.h +1272 -0
  683. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.c +312 -0
  684. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.h +50 -0
  685. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb.h +984 -0
  686. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.c +226 -0
  687. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.h +44 -0
  688. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +12 -31
  689. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.c +2 -2
  690. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.h +3 -3
  691. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +202 -145
  692. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +50 -44
  693. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.h +3 -3
  694. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h +158 -3
  695. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +42 -4
  696. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.h +7 -3
  697. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb.h +4 -3
  698. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.h +3 -3
  699. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +17 -9
  700. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +14 -14
  701. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.h +3 -3
  702. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +25 -43
  703. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +5 -5
  704. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.h +3 -3
  705. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +73 -111
  706. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +25 -25
  707. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.h +3 -3
  708. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb.h +13 -13
  709. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.c +5 -5
  710. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.h +3 -3
  711. data/src/core/ext/upb-gen/udpa/annotations/security.upb.h +5 -5
  712. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.c +1 -1
  713. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.h +3 -3
  714. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb.h +3 -3
  715. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.h +3 -3
  716. data/src/core/ext/upb-gen/udpa/annotations/status.upb.h +5 -5
  717. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.c +1 -1
  718. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.h +3 -3
  719. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb.h +5 -5
  720. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.c +1 -1
  721. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.h +3 -3
  722. data/src/core/ext/upb-gen/validate/validate.upb.h +385 -373
  723. data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +133 -133
  724. data/src/core/ext/upb-gen/validate/validate.upb_minitable.h +4 -4
  725. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb.h +13 -13
  726. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.c +5 -5
  727. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.h +3 -3
  728. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb.h +5 -5
  729. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.c +1 -1
  730. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.h +3 -3
  731. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb.h +3 -3
  732. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.h +3 -3
  733. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb.h +9 -9
  734. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.c +3 -3
  735. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.h +3 -3
  736. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb.h +5 -5
  737. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.c +1 -1
  738. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.h +3 -3
  739. data/src/core/ext/upb-gen/xds/core/v3/authority.upb.h +3 -3
  740. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.h +3 -3
  741. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb.h +3 -3
  742. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.c +2 -2
  743. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.h +3 -3
  744. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb.h +7 -3
  745. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.c +4 -4
  746. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.h +3 -3
  747. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +12 -31
  748. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.c +2 -2
  749. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.h +3 -3
  750. data/src/core/ext/upb-gen/xds/core/v3/extension.upb.h +3 -3
  751. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.c +2 -2
  752. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.h +3 -3
  753. data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +10 -10
  754. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +5 -5
  755. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.h +3 -3
  756. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +23 -15
  757. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +6 -6
  758. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.h +3 -3
  759. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb.h +3 -3
  760. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.c +2 -2
  761. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.h +3 -3
  762. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +30 -87
  763. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.c +2 -2
  764. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.h +3 -3
  765. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb.h +3 -3
  766. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.c +2 -2
  767. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.h +3 -3
  768. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +10 -10
  769. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +5 -5
  770. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.h +3 -3
  771. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb.h +3 -3
  772. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.c +4 -4
  773. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.h +3 -3
  774. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb.h +3 -3
  775. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.h +3 -3
  776. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +6 -6
  777. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +5 -5
  778. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.h +3 -3
  779. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +45 -49
  780. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +23 -23
  781. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.h +3 -3
  782. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb.h +3 -3
  783. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.c +12 -12
  784. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.h +3 -3
  785. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb.h +7 -3
  786. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.c +2 -2
  787. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.h +3 -3
  788. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +7 -3
  789. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.c +4 -4
  790. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.h +3 -3
  791. data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +7 -3
  792. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c +4 -4
  793. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.h +3 -3
  794. data/src/core/ext/upb-gen/xds/type/v3/range.upb.h +4 -3
  795. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.h +3 -3
  796. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb.h +3 -3
  797. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.c +2 -2
  798. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.h +3 -3
  799. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.c +123 -62
  800. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.h +8 -4
  801. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.c +200 -101
  802. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.h +8 -4
  803. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.c +152 -77
  804. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.h +8 -4
  805. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.c +524 -254
  806. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.h +8 -4
  807. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.c +44 -23
  808. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.h +8 -4
  809. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.c +66 -34
  810. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.h +8 -4
  811. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.c +54 -28
  812. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.h +8 -4
  813. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.c +46 -25
  814. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.h +8 -4
  815. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.c +47 -25
  816. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.h +8 -4
  817. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.c +256 -124
  818. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.h +8 -4
  819. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.c +50 -28
  820. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.h +8 -4
  821. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.c +55 -28
  822. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.h +8 -4
  823. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.c +34 -18
  824. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.h +8 -4
  825. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.c +414 -206
  826. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.h +8 -4
  827. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +831 -413
  828. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +8 -4
  829. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +143 -73
  830. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +8 -4
  831. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.c +1132 -552
  832. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.h +8 -4
  833. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.c +63 -34
  834. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.h +8 -4
  835. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.c +255 -127
  836. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.h +8 -4
  837. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.c +363 -178
  838. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.h +8 -4
  839. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.c +227 -114
  840. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.h +8 -4
  841. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.c +57 -31
  842. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.h +8 -4
  843. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.c +596 -287
  844. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.h +13 -4
  845. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.c +271 -137
  846. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.h +8 -4
  847. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.c +56 -30
  848. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.h +8 -4
  849. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.c +45 -25
  850. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.h +8 -4
  851. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.c +59 -31
  852. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.h +8 -4
  853. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.c +438 -217
  854. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.h +8 -4
  855. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.c +441 -221
  856. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.h +8 -4
  857. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.c +55 -30
  858. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.h +8 -4
  859. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.c +57 -31
  860. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.h +8 -4
  861. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.c +619 -294
  862. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.h +8 -4
  863. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.c +70 -36
  864. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.h +8 -4
  865. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.c +62 -33
  866. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.h +8 -4
  867. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.c +68 -0
  868. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.h +37 -0
  869. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.c +97 -39
  870. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.h +23 -4
  871. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.c +97 -51
  872. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.h +8 -4
  873. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.c +51 -27
  874. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.h +8 -4
  875. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.c +147 -76
  876. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.h +8 -4
  877. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +230 -116
  878. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +8 -4
  879. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.c +277 -138
  880. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.h +8 -4
  881. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.c +48 -26
  882. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.h +8 -4
  883. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.c +388 -197
  884. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.h +8 -4
  885. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.c +304 -160
  886. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.h +8 -9
  887. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.c +175 -82
  888. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.h +8 -4
  889. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.c +90 -47
  890. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.h +8 -4
  891. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.c +98 -51
  892. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.h +8 -4
  893. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.c +196 -99
  894. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.h +8 -4
  895. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.c +237 -117
  896. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.h +8 -4
  897. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.c +418 -193
  898. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.h +13 -4
  899. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.c +194 -99
  900. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.h +8 -4
  901. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.c +2004 -955
  902. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.h +18 -4
  903. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.c +101 -53
  904. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.h +8 -4
  905. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.c +352 -176
  906. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.h +8 -4
  907. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.c +79 -42
  908. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.h +8 -4
  909. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.c +67 -37
  910. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.h +8 -4
  911. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.c +63 -34
  912. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.h +8 -4
  913. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.c +88 -47
  914. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.h +8 -4
  915. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.c +80 -43
  916. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.h +8 -4
  917. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.c +53 -29
  918. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.h +8 -4
  919. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.c +86 -46
  920. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.h +8 -4
  921. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.c +56 -36
  922. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.h +8 -4
  923. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.c +91 -49
  924. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.h +8 -4
  925. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.c +105 -55
  926. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.h +8 -4
  927. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.c +775 -379
  928. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.h +8 -4
  929. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +52 -28
  930. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +8 -4
  931. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +134 -68
  932. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +8 -4
  933. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +189 -96
  934. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +8 -4
  935. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.c +116 -61
  936. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.h +8 -4
  937. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +112 -58
  938. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +8 -4
  939. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.c +160 -82
  940. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.h +8 -4
  941. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +75 -39
  942. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +8 -4
  943. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +1161 -567
  944. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +8 -4
  945. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +52 -28
  946. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +8 -4
  947. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.c +56 -33
  948. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.h +8 -4
  949. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +48 -26
  950. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +8 -4
  951. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +390 -194
  952. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +8 -4
  953. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +126 -65
  954. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +8 -4
  955. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +498 -235
  956. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +8 -4
  957. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +74 -36
  958. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +8 -4
  959. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.c +221 -110
  960. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.h +8 -4
  961. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.c +68 -36
  962. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.h +8 -4
  963. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.c +378 -174
  964. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.h +13 -4
  965. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.c +100 -52
  966. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.h +8 -4
  967. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.c +257 -128
  968. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.h +8 -4
  969. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.c +44 -24
  970. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.h +8 -4
  971. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.c +68 -35
  972. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.h +8 -4
  973. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.c +59 -0
  974. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.h +37 -0
  975. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.c +61 -27
  976. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.h +8 -4
  977. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.c +65 -34
  978. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.h +8 -4
  979. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.c +72 -38
  980. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.h +8 -4
  981. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.c +57 -31
  982. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.h +8 -4
  983. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.c +52 -29
  984. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.h +8 -4
  985. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.c +51 -28
  986. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.h +8 -4
  987. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.c +89 -47
  988. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.h +8 -4
  989. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.c +37 -20
  990. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.h +8 -4
  991. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.c +89 -47
  992. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.h +8 -4
  993. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.c +67 -35
  994. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.h +8 -4
  995. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.c +112 -58
  996. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.h +8 -4
  997. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.c +110 -56
  998. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.h +8 -4
  999. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.c +123 -62
  1000. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.h +8 -4
  1001. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.c +59 -31
  1002. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.h +8 -4
  1003. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.c +30 -16
  1004. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.h +8 -4
  1005. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.c +143 -72
  1006. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.h +8 -4
  1007. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.c +61 -32
  1008. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.h +8 -4
  1009. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.c +51 -27
  1010. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.h +8 -4
  1011. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.c +85 -45
  1012. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.h +8 -4
  1013. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.c +35 -19
  1014. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.h +8 -4
  1015. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.c +44 -23
  1016. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.h +8 -4
  1017. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.c +61 -33
  1018. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.h +8 -4
  1019. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.c +35 -19
  1020. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.h +8 -4
  1021. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.c +272 -133
  1022. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.h +8 -4
  1023. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.c +315 -154
  1024. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.h +8 -4
  1025. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.c +64 -33
  1026. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.h +8 -4
  1027. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.c +35 -19
  1028. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.h +8 -4
  1029. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.c +26 -15
  1030. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.h +8 -4
  1031. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +1106 -496
  1032. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.h +13 -4
  1033. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.c +28 -16
  1034. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.h +8 -4
  1035. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.c +23 -13
  1036. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.h +8 -4
  1037. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.c +69 -35
  1038. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.h +8 -4
  1039. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.c +29 -16
  1040. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.h +8 -4
  1041. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.c +51 -26
  1042. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.h +8 -4
  1043. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.c +32 -17
  1044. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.h +8 -4
  1045. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/promise.upbdefs.c +175 -0
  1046. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/promise.upbdefs.h +82 -0
  1047. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/property_list.upbdefs.c +135 -0
  1048. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/property_list.upbdefs.h +67 -0
  1049. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +161 -79
  1050. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +8 -4
  1051. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.c +84 -42
  1052. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.h +8 -4
  1053. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.c +48 -26
  1054. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.h +8 -4
  1055. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.c +26 -14
  1056. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.h +8 -4
  1057. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.c +50 -26
  1058. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.h +8 -4
  1059. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.c +36 -19
  1060. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.h +8 -4
  1061. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.c +538 -261
  1062. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.h +8 -4
  1063. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.c +86 -43
  1064. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.h +8 -4
  1065. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.c +49 -26
  1066. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.h +8 -4
  1067. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.c +27 -15
  1068. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.h +8 -4
  1069. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.c +87 -44
  1070. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.h +8 -4
  1071. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.c +37 -20
  1072. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.h +8 -4
  1073. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.c +30 -17
  1074. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.h +8 -4
  1075. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.c +41 -23
  1076. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.h +8 -4
  1077. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.c +62 -33
  1078. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.h +8 -4
  1079. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.c +36 -19
  1080. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.h +8 -4
  1081. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.c +36 -20
  1082. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.h +8 -4
  1083. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.c +42 -23
  1084. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.h +8 -4
  1085. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.c +76 -39
  1086. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.h +8 -4
  1087. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.c +45 -24
  1088. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.h +8 -4
  1089. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.c +41 -23
  1090. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.h +8 -4
  1091. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.c +53 -29
  1092. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.h +8 -4
  1093. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.c +29 -16
  1094. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.h +8 -4
  1095. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.c +58 -32
  1096. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.h +8 -4
  1097. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.c +207 -103
  1098. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.h +8 -4
  1099. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.c +95 -49
  1100. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.h +8 -4
  1101. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.c +38 -20
  1102. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.h +8 -4
  1103. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.c +60 -31
  1104. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.h +8 -4
  1105. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.c +67 -36
  1106. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.h +8 -4
  1107. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.c +31 -17
  1108. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h +8 -4
  1109. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c +31 -17
  1110. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h +8 -4
  1111. data/src/core/filter/auth/auth_filters.h +208 -0
  1112. data/src/core/filter/auth/client_auth_filter.cc +192 -0
  1113. data/src/core/filter/auth/server_auth_filter.cc +208 -0
  1114. data/src/core/filter/blackboard.cc +2 -2
  1115. data/src/core/filter/filter_args.h +98 -0
  1116. data/src/core/handshaker/endpoint_info/endpoint_info_handshaker.h +1 -1
  1117. data/src/core/handshaker/handshaker.cc +23 -25
  1118. data/src/core/handshaker/handshaker.h +3 -0
  1119. data/src/core/handshaker/http_connect/http_connect_handshaker.cc +13 -7
  1120. data/src/core/handshaker/http_connect/http_connect_handshaker.h +1 -1
  1121. data/src/core/handshaker/http_connect/http_proxy_mapper.cc +36 -52
  1122. data/src/core/handshaker/http_connect/http_proxy_mapper.h +5 -5
  1123. data/src/core/handshaker/http_connect/xds_http_proxy_mapper.cc +5 -5
  1124. data/src/core/handshaker/http_connect/xds_http_proxy_mapper.h +6 -6
  1125. data/src/core/handshaker/proxy_mapper.h +4 -4
  1126. data/src/core/handshaker/proxy_mapper_registry.cc +5 -6
  1127. data/src/core/handshaker/proxy_mapper_registry.h +4 -4
  1128. data/src/core/handshaker/security/legacy_secure_endpoint.cc +597 -0
  1129. data/src/core/handshaker/security/secure_endpoint.cc +813 -311
  1130. data/src/core/handshaker/security/secure_endpoint.h +17 -0
  1131. data/src/core/handshaker/security/security_handshaker.cc +12 -11
  1132. data/src/core/handshaker/security/security_handshaker.h +2 -2
  1133. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +14 -6
  1134. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.h +1 -1
  1135. data/src/core/lib/address_utils/sockaddr_utils.cc +5 -5
  1136. data/src/core/lib/channel/channel_args.cc +28 -13
  1137. data/src/core/lib/channel/channel_args.h +65 -39
  1138. data/src/core/lib/channel/channel_args_preconditioning.h +1 -1
  1139. data/src/core/lib/channel/channel_stack.cc +32 -4
  1140. data/src/core/lib/channel/channel_stack.h +16 -6
  1141. data/src/core/lib/channel/channel_stack_builder_impl.cc +2 -2
  1142. data/src/core/lib/channel/channel_stack_builder_impl.h +2 -7
  1143. data/src/core/lib/channel/connected_channel.cc +4 -4
  1144. data/src/core/lib/channel/promise_based_filter.cc +10 -10
  1145. data/src/core/lib/channel/promise_based_filter.h +749 -416
  1146. data/src/core/lib/compression/compression.cc +3 -2
  1147. data/src/core/lib/compression/compression_internal.cc +9 -9
  1148. data/src/core/lib/compression/compression_internal.h +3 -3
  1149. data/src/core/lib/debug/trace.cc +1 -1
  1150. data/src/core/lib/debug/trace_flags.cc +7 -6
  1151. data/src/core/lib/debug/trace_flags.h +3 -3
  1152. data/src/core/lib/debug/trace_impl.h +0 -1
  1153. data/src/core/lib/event_engine/ares_resolver.cc +175 -60
  1154. data/src/core/lib/event_engine/ares_resolver.h +54 -12
  1155. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +10 -6
  1156. data/src/core/lib/event_engine/cf_engine/cf_engine.h +3 -8
  1157. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +10 -11
  1158. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +12 -10
  1159. data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +2 -4
  1160. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +9 -10
  1161. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +2 -4
  1162. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +5 -7
  1163. data/src/core/lib/event_engine/channel_args_endpoint_config.h +6 -7
  1164. data/src/core/lib/event_engine/common_closures.h +2 -4
  1165. data/src/core/lib/event_engine/default_event_engine.cc +63 -34
  1166. data/src/core/lib/event_engine/default_event_engine.h +25 -34
  1167. data/src/core/lib/event_engine/default_event_engine_factory.cc +12 -18
  1168. data/src/core/lib/event_engine/default_event_engine_factory.h +3 -5
  1169. data/src/core/lib/event_engine/endpoint_channel_arg_wrapper.cc +40 -0
  1170. data/src/core/lib/event_engine/endpoint_channel_arg_wrapper.h +60 -0
  1171. data/src/core/lib/event_engine/event_engine.cc +9 -4
  1172. data/src/core/lib/event_engine/extensions/blocking_dns.h +46 -0
  1173. data/src/core/lib/event_engine/extensions/can_track_errors.h +2 -4
  1174. data/src/core/lib/event_engine/extensions/channelz.h +66 -0
  1175. data/src/core/lib/event_engine/extensions/chaotic_good_extension.h +2 -4
  1176. data/src/core/lib/event_engine/extensions/iomgr_compatible.h +39 -0
  1177. data/src/core/lib/event_engine/extensions/supports_fd.h +2 -4
  1178. data/src/core/lib/event_engine/extensions/supports_win_sockets.h +48 -0
  1179. data/src/core/lib/event_engine/extensions/tcp_trace.h +4 -6
  1180. data/src/core/lib/event_engine/grpc_polled_fd.h +7 -4
  1181. data/src/core/lib/event_engine/handle_containers.h +2 -4
  1182. data/src/core/lib/event_engine/memory_allocator_factory.h +2 -4
  1183. data/src/core/lib/event_engine/nameser.h +1 -1
  1184. data/src/core/lib/event_engine/poller.h +2 -4
  1185. data/src/core/lib/event_engine/posix.h +2 -4
  1186. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +134 -212
  1187. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +13 -19
  1188. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +83 -172
  1189. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +9 -13
  1190. data/src/core/lib/event_engine/posix_engine/event_poller.h +20 -19
  1191. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +3 -23
  1192. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +2 -4
  1193. data/src/core/lib/event_engine/posix_engine/file_descriptor_collection.cc +124 -0
  1194. data/src/core/lib/event_engine/posix_engine/file_descriptor_collection.h +243 -0
  1195. data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +31 -23
  1196. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +8 -6
  1197. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +8 -5
  1198. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +2 -4
  1199. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +2 -4
  1200. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +6 -11
  1201. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.h +5 -4
  1202. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +170 -110
  1203. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +31 -37
  1204. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +344 -104
  1205. data/src/core/lib/event_engine/posix_engine/posix_engine.h +74 -35
  1206. data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +2 -4
  1207. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +49 -43
  1208. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +8 -8
  1209. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +60 -146
  1210. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +12 -9
  1211. data/src/core/lib/event_engine/posix_engine/posix_interface.h +211 -0
  1212. data/src/core/lib/event_engine/posix_engine/posix_interface_posix.cc +1083 -0
  1213. data/src/core/lib/event_engine/posix_engine/posix_interface_windows.cc +281 -0
  1214. data/src/core/lib/event_engine/posix_engine/posix_write_event_sink.cc +154 -0
  1215. data/src/core/lib/event_engine/posix_engine/posix_write_event_sink.h +174 -0
  1216. data/src/core/lib/event_engine/posix_engine/set_socket_dualstack.cc +64 -0
  1217. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +8 -736
  1218. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +12 -174
  1219. data/src/core/lib/event_engine/posix_engine/timer.cc +4 -6
  1220. data/src/core/lib/event_engine/posix_engine/timer.h +4 -6
  1221. data/src/core/lib/event_engine/posix_engine/timer_heap.cc +3 -5
  1222. data/src/core/lib/event_engine/posix_engine/timer_heap.h +2 -4
  1223. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +38 -29
  1224. data/src/core/lib/event_engine/posix_engine/timer_manager.h +17 -17
  1225. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +119 -157
  1226. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +30 -99
  1227. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +28 -29
  1228. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +8 -6
  1229. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +38 -58
  1230. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +8 -6
  1231. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +9 -10
  1232. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +14 -10
  1233. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +5 -5
  1234. data/src/core/lib/event_engine/query_extensions.h +12 -25
  1235. data/src/core/lib/event_engine/ref_counted_dns_resolver_interface.h +2 -4
  1236. data/src/core/lib/event_engine/resolved_address.cc +2 -4
  1237. data/src/core/lib/event_engine/resolved_address_internal.h +2 -4
  1238. data/src/core/lib/event_engine/shim.cc +18 -18
  1239. data/src/core/lib/event_engine/shim.h +16 -4
  1240. data/src/core/lib/event_engine/slice.cc +2 -4
  1241. data/src/core/lib/event_engine/slice_buffer.cc +2 -4
  1242. data/src/core/lib/event_engine/tcp_socket_utils.cc +16 -23
  1243. data/src/core/lib/event_engine/tcp_socket_utils.h +5 -7
  1244. data/src/core/lib/event_engine/thread_local.cc +2 -4
  1245. data/src/core/lib/event_engine/thread_local.h +2 -4
  1246. data/src/core/lib/event_engine/thread_pool/thread_count.cc +2 -4
  1247. data/src/core/lib/event_engine/thread_pool/thread_count.h +4 -18
  1248. data/src/core/lib/event_engine/thread_pool/thread_pool.h +9 -7
  1249. data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +2 -21
  1250. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +23 -15
  1251. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +7 -7
  1252. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +2 -4
  1253. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +2 -4
  1254. data/src/core/lib/event_engine/time_util.cc +2 -4
  1255. data/src/core/lib/event_engine/time_util.h +2 -4
  1256. data/src/core/lib/event_engine/utils.cc +36 -4
  1257. data/src/core/lib/event_engine/utils.h +5 -4
  1258. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +7 -5
  1259. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.h +6 -4
  1260. data/src/core/lib/event_engine/windows/iocp.cc +2 -4
  1261. data/src/core/lib/event_engine/windows/iocp.h +2 -4
  1262. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.cc +2 -4
  1263. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.h +2 -4
  1264. data/src/core/lib/event_engine/windows/win_socket.cc +13 -4
  1265. data/src/core/lib/event_engine/windows/win_socket.h +5 -4
  1266. data/src/core/lib/event_engine/windows/windows_endpoint.cc +32 -25
  1267. data/src/core/lib/event_engine/windows/windows_endpoint.h +9 -8
  1268. data/src/core/lib/event_engine/windows/windows_engine.cc +44 -4
  1269. data/src/core/lib/event_engine/windows/windows_engine.h +10 -8
  1270. data/src/core/lib/event_engine/windows/windows_listener.cc +21 -12
  1271. data/src/core/lib/event_engine/windows/windows_listener.h +11 -8
  1272. data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +2 -4
  1273. data/src/core/lib/event_engine/work_queue/basic_work_queue.h +2 -4
  1274. data/src/core/lib/event_engine/work_queue/work_queue.h +2 -4
  1275. data/src/core/lib/experiments/config.cc +1 -1
  1276. data/src/core/lib/experiments/experiments.cc +515 -187
  1277. data/src/core/lib/experiments/experiments.h +190 -91
  1278. data/src/core/lib/iomgr/buffer_list.cc +1 -1
  1279. data/src/core/lib/iomgr/buffer_list.h +22 -21
  1280. data/src/core/lib/iomgr/call_combiner.h +1 -1
  1281. data/src/core/lib/iomgr/cfstream_handle.cc +0 -2
  1282. data/src/core/lib/iomgr/closure.h +1 -2
  1283. data/src/core/lib/iomgr/combiner.cc +3 -3
  1284. data/src/core/lib/iomgr/combiner.h +1 -1
  1285. data/src/core/lib/iomgr/endpoint.cc +4 -3
  1286. data/src/core/lib/iomgr/endpoint.h +7 -4
  1287. data/src/core/lib/iomgr/endpoint_cfstream.cc +3 -2
  1288. data/src/core/lib/iomgr/endpoint_pair_posix.cc +43 -16
  1289. data/src/core/lib/iomgr/endpoint_pair_windows.cc +43 -8
  1290. data/src/core/lib/iomgr/error.cc +28 -44
  1291. data/src/core/lib/iomgr/ev_apple.cc +1 -1
  1292. data/src/core/lib/iomgr/ev_epoll1_linux.cc +20 -3
  1293. data/src/core/lib/iomgr/ev_poll_posix.cc +22 -0
  1294. data/src/core/lib/iomgr/ev_posix.cc +1 -1
  1295. data/src/core/lib/iomgr/event_engine_shims/closure.cc +0 -1
  1296. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +12 -13
  1297. data/src/core/lib/iomgr/event_engine_shims/tcp_client.cc +0 -1
  1298. data/src/core/lib/iomgr/exec_ctx.cc +1 -7
  1299. data/src/core/lib/iomgr/exec_ctx.h +1 -132
  1300. data/src/core/lib/iomgr/fork_posix.cc +0 -7
  1301. data/src/core/lib/iomgr/iomgr.cc +1 -4
  1302. data/src/core/lib/iomgr/iomgr_posix.cc +2 -1
  1303. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +3 -0
  1304. data/src/core/lib/iomgr/iomgr_windows.cc +3 -1
  1305. data/src/core/lib/iomgr/nameser.h +1 -1
  1306. data/src/core/lib/iomgr/polling_entity.cc +2 -7
  1307. data/src/core/lib/iomgr/resolve_address_posix.cc +37 -49
  1308. data/src/core/lib/iomgr/resolve_address_posix.h +15 -0
  1309. data/src/core/lib/iomgr/resolve_address_windows.cc +22 -47
  1310. data/src/core/lib/iomgr/resolve_address_windows.h +15 -2
  1311. data/src/core/lib/iomgr/socket_utils_common_posix.cc +1 -0
  1312. data/src/core/lib/iomgr/socket_utils_posix.cc +23 -11
  1313. data/src/core/lib/iomgr/socket_utils_posix.h +12 -2
  1314. data/src/core/lib/iomgr/tcp_client_cfstream.cc +8 -9
  1315. data/src/core/lib/iomgr/tcp_client_posix.cc +27 -23
  1316. data/src/core/lib/iomgr/tcp_client_posix.h +1 -1
  1317. data/src/core/lib/iomgr/tcp_client_windows.cc +3 -3
  1318. data/src/core/lib/iomgr/tcp_posix.cc +84 -48
  1319. data/src/core/lib/iomgr/tcp_posix.h +10 -2
  1320. data/src/core/lib/iomgr/tcp_server_posix.cc +10 -4
  1321. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +1 -4
  1322. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +2 -2
  1323. data/src/core/lib/iomgr/tcp_server_windows.cc +44 -22
  1324. data/src/core/lib/iomgr/tcp_windows.cc +3 -2
  1325. data/src/core/lib/iomgr/timer_generic.cc +1 -1
  1326. data/src/core/lib/iomgr/timer_heap.cc +1 -1
  1327. data/src/core/lib/iomgr/timer_manager.cc +1 -9
  1328. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +11 -3
  1329. data/src/core/lib/promise/activity.cc +2 -0
  1330. data/src/core/lib/promise/activity.h +35 -13
  1331. data/src/core/lib/promise/all_ok.h +68 -0
  1332. data/src/core/lib/promise/arena_promise.h +23 -7
  1333. data/src/core/lib/promise/detail/basic_seq.h +32 -18
  1334. data/src/core/lib/promise/detail/join_state.h +16 -68
  1335. data/src/core/lib/promise/detail/promise_factory.h +96 -26
  1336. data/src/core/lib/promise/detail/promise_like.h +163 -12
  1337. data/src/core/lib/promise/detail/promise_variant.h +50 -0
  1338. data/src/core/lib/promise/detail/seq_state.h +1162 -495
  1339. data/src/core/lib/promise/for_each.h +14 -5
  1340. data/src/core/lib/promise/if.h +68 -20
  1341. data/src/core/lib/promise/inter_activity_latch.h +147 -0
  1342. data/src/core/lib/promise/inter_activity_mutex.h +547 -0
  1343. data/src/core/lib/promise/interceptor_list.h +9 -9
  1344. data/src/core/lib/promise/latch.h +14 -6
  1345. data/src/core/lib/promise/loop.h +131 -17
  1346. data/src/core/lib/promise/map.h +269 -18
  1347. data/src/core/lib/promise/match_promise.h +103 -0
  1348. data/src/core/lib/promise/mpsc.cc +425 -0
  1349. data/src/core/lib/promise/mpsc.h +490 -0
  1350. data/src/core/lib/promise/party.cc +144 -68
  1351. data/src/core/lib/promise/party.h +340 -54
  1352. data/src/core/lib/promise/pipe.h +12 -12
  1353. data/src/core/lib/promise/poll.h +34 -16
  1354. data/src/core/lib/promise/prioritized_race.h +16 -22
  1355. data/src/core/lib/promise/promise.h +6 -5
  1356. data/src/core/lib/promise/race.h +35 -12
  1357. data/src/core/lib/promise/seq.h +52 -35
  1358. data/src/core/lib/promise/sleep.cc +9 -6
  1359. data/src/core/lib/promise/sleep.h +15 -1
  1360. data/src/core/lib/promise/status_flag.h +54 -12
  1361. data/src/core/lib/promise/try_join.h +119 -5
  1362. data/src/core/lib/promise/try_seq.h +79 -49
  1363. data/src/core/lib/promise/wait_set.cc +28 -0
  1364. data/src/core/lib/promise/wait_set.h +86 -0
  1365. data/src/core/lib/resource_quota/api.h +1 -1
  1366. data/src/core/lib/resource_quota/arena.h +106 -0
  1367. data/src/core/lib/resource_quota/connection_quota.h +4 -0
  1368. data/src/core/lib/resource_quota/memory_quota.cc +78 -54
  1369. data/src/core/lib/resource_quota/memory_quota.h +10 -8
  1370. data/src/core/lib/resource_quota/periodic_update.cc +1 -1
  1371. data/src/core/lib/security/authorization/evaluate_args.cc +4 -4
  1372. data/src/core/lib/security/authorization/evaluate_args.h +4 -4
  1373. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +1 -8
  1374. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +7 -7
  1375. data/src/core/lib/security/authorization/matchers.h +3 -3
  1376. data/src/core/lib/security/authorization/rbac_policy.cc +1 -1
  1377. data/src/core/lib/security/authorization/rbac_policy.h +3 -3
  1378. data/src/core/lib/slice/slice.h +11 -0
  1379. data/src/core/lib/slice/slice_buffer.cc +3 -2
  1380. data/src/core/lib/slice/slice_buffer.h +8 -2
  1381. data/src/core/lib/surface/call.cc +24 -22
  1382. data/src/core/lib/surface/call.h +4 -3
  1383. data/src/core/lib/surface/call_utils.cc +5 -5
  1384. data/src/core/lib/surface/call_utils.h +17 -7
  1385. data/src/core/lib/surface/channel.cc +6 -14
  1386. data/src/core/lib/surface/channel.h +5 -5
  1387. data/src/core/lib/surface/channel_create.cc +140 -5
  1388. data/src/core/lib/surface/channel_create.h +4 -0
  1389. data/src/core/lib/surface/channel_init.cc +165 -48
  1390. data/src/core/lib/surface/channel_init.h +67 -4
  1391. data/src/core/lib/surface/completion_queue.cc +88 -67
  1392. data/src/core/lib/surface/completion_queue.h +1 -1
  1393. data/src/core/lib/surface/connection_context.cc +77 -0
  1394. data/src/core/lib/surface/connection_context.h +156 -0
  1395. data/src/core/lib/surface/event_string.cc +7 -1
  1396. data/src/core/lib/surface/filter_stack_call.cc +60 -40
  1397. data/src/core/lib/surface/filter_stack_call.h +3 -3
  1398. data/src/core/lib/surface/init.cc +12 -14
  1399. data/src/core/lib/surface/init_internally.h +13 -2
  1400. data/src/core/lib/surface/lame_client.cc +2 -2
  1401. data/src/core/lib/surface/legacy_channel.cc +41 -37
  1402. data/src/core/lib/surface/legacy_channel.h +6 -4
  1403. data/src/core/lib/surface/version.cc +2 -2
  1404. data/src/core/lib/transport/bdp_estimator.cc +1 -1
  1405. data/src/core/lib/transport/call_final_info.h +1 -1
  1406. data/src/core/lib/transport/connectivity_state.cc +8 -9
  1407. data/src/core/lib/transport/connectivity_state.h +2 -4
  1408. data/src/core/lib/transport/error_utils.cc +65 -11
  1409. data/src/core/lib/transport/error_utils.h +2 -2
  1410. data/src/core/lib/transport/promise_endpoint.cc +110 -0
  1411. data/src/core/lib/transport/promise_endpoint.h +307 -0
  1412. data/src/core/lib/transport/status_conversion.cc +11 -36
  1413. data/src/core/lib/transport/status_conversion.h +5 -4
  1414. data/src/core/lib/transport/timeout_encoding.cc +19 -19
  1415. data/src/core/lib/transport/timeout_encoding.h +3 -2
  1416. data/src/core/lib/transport/transport.cc +2 -3
  1417. data/src/core/lib/transport/transport.h +20 -12
  1418. data/src/core/lib/transport/transport_framing_endpoint_extension.h +47 -0
  1419. data/src/core/lib/transport/transport_op_string.cc +1 -1
  1420. data/src/core/load_balancing/backend_metric_parser.cc +12 -25
  1421. data/src/core/load_balancing/child_policy_handler.cc +3 -5
  1422. data/src/core/load_balancing/delegating_helper.h +3 -4
  1423. data/src/core/load_balancing/endpoint_list.cc +12 -2
  1424. data/src/core/load_balancing/endpoint_list.h +20 -13
  1425. data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +2 -7
  1426. data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +4 -4
  1427. data/src/core/load_balancing/grpclb/grpclb.cc +25 -43
  1428. data/src/core/load_balancing/health_check_client.cc +19 -57
  1429. data/src/core/load_balancing/health_check_client_internal.h +7 -7
  1430. data/src/core/load_balancing/lb_policy.cc +4 -6
  1431. data/src/core/load_balancing/lb_policy.h +6 -16
  1432. data/src/core/load_balancing/lb_policy_registry.cc +10 -8
  1433. data/src/core/load_balancing/oob_backend_metric.cc +3 -9
  1434. data/src/core/load_balancing/outlier_detection/outlier_detection.cc +63 -73
  1435. data/src/core/load_balancing/outlier_detection/outlier_detection.h +4 -3
  1436. data/src/core/load_balancing/pick_first/pick_first.cc +74 -990
  1437. data/src/core/load_balancing/priority/priority.cc +9 -14
  1438. data/src/core/load_balancing/ring_hash/ring_hash.cc +211 -159
  1439. data/src/core/load_balancing/ring_hash/ring_hash.h +4 -11
  1440. data/src/core/load_balancing/rls/rls.cc +139 -233
  1441. data/src/core/load_balancing/rls/rls.h +97 -1
  1442. data/src/core/load_balancing/round_robin/round_robin.cc +17 -23
  1443. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc +6 -6
  1444. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h +3 -3
  1445. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +25 -34
  1446. data/src/core/load_balancing/weighted_target/weighted_target.cc +12 -26
  1447. data/src/core/load_balancing/xds/cds.cc +25 -27
  1448. data/src/core/load_balancing/xds/xds_cluster_impl.cc +17 -20
  1449. data/src/core/load_balancing/xds/xds_cluster_manager.cc +11 -19
  1450. data/src/core/load_balancing/xds/xds_override_host.cc +99 -125
  1451. data/src/core/load_balancing/xds/xds_wrr_locality.cc +11 -13
  1452. data/src/core/plugin_registry/grpc_plugin_registry.cc +5 -1
  1453. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +3 -3
  1454. data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +14 -16
  1455. data/src/core/resolver/dns/c_ares/dns_resolver_ares.h +1 -1
  1456. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +1 -1
  1457. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +4 -0
  1458. data/src/core/resolver/dns/dns_resolver_plugin.cc +1 -1
  1459. data/src/core/resolver/dns/dns_resolver_plugin.h +1 -1
  1460. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +10 -15
  1461. data/src/core/resolver/dns/native/dns_resolver.cc +2 -2
  1462. data/src/core/resolver/dns/native/dns_resolver.h +1 -1
  1463. data/src/core/resolver/fake/fake_resolver.cc +11 -12
  1464. data/src/core/resolver/fake/fake_resolver.h +2 -2
  1465. data/src/core/resolver/google_c2p/google_c2p_resolver.cc +11 -14
  1466. data/src/core/resolver/polling_resolver.cc +2 -5
  1467. data/src/core/resolver/polling_resolver.h +3 -3
  1468. data/src/core/resolver/resolver_registry.cc +4 -3
  1469. data/src/core/resolver/sockaddr/sockaddr_resolver.cc +3 -2
  1470. data/src/core/resolver/xds/xds_config.cc +12 -9
  1471. data/src/core/resolver/xds/xds_config.h +11 -6
  1472. data/src/core/resolver/xds/xds_dependency_manager.cc +220 -193
  1473. data/src/core/resolver/xds/xds_dependency_manager.h +30 -19
  1474. data/src/core/resolver/xds/xds_resolver.cc +116 -136
  1475. data/src/core/server/add_port.cc +87 -0
  1476. data/src/core/server/server.cc +459 -131
  1477. data/src/core/server/server.h +237 -72
  1478. data/src/core/server/server_call_tracer_filter.cc +5 -9
  1479. data/src/core/server/server_call_tracer_filter.h +1 -1
  1480. data/src/core/server/server_config_selector.h +1 -1
  1481. data/src/core/server/server_config_selector_filter.cc +9 -16
  1482. data/src/core/server/xds_channel_stack_modifier.cc +1 -1
  1483. data/src/core/server/xds_server_config_fetcher.cc +159 -187
  1484. data/src/core/service_config/service_config.h +1 -1
  1485. data/src/core/service_config/service_config_channel_arg_filter.cc +9 -21
  1486. data/src/core/service_config/service_config_impl.cc +4 -4
  1487. data/src/core/service_config/service_config_impl.h +1 -1
  1488. data/src/core/telemetry/call_tracer.cc +12 -14
  1489. data/src/core/telemetry/call_tracer.h +10 -9
  1490. data/src/core/telemetry/context_list_entry.cc +38 -0
  1491. data/src/core/telemetry/context_list_entry.h +112 -0
  1492. data/src/core/telemetry/default_tcp_tracer.cc +26 -0
  1493. data/src/core/telemetry/default_tcp_tracer.h +44 -0
  1494. data/src/core/telemetry/histogram_view.cc +3 -3
  1495. data/src/core/telemetry/metrics.cc +44 -23
  1496. data/src/core/telemetry/metrics.h +24 -14
  1497. data/src/core/telemetry/stats.h +0 -5
  1498. data/src/core/telemetry/stats_data.cc +564 -329
  1499. data/src/core/telemetry/stats_data.h +474 -180
  1500. data/src/core/telemetry/tcp_tracer.cc +38 -0
  1501. data/src/core/telemetry/tcp_tracer.h +104 -100
  1502. data/src/core/transport/auth_context.cc +235 -0
  1503. data/src/core/transport/auth_context.h +139 -0
  1504. data/src/core/transport/endpoint_transport.h +90 -0
  1505. data/src/core/transport/endpoint_transport_client_channel_factory.cc +61 -0
  1506. data/src/core/transport/endpoint_transport_client_channel_factory.h +57 -0
  1507. data/src/core/tsi/alts/frame_protector/alts_counter.h +1 -1
  1508. data/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc +1 -1
  1509. data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +1 -1
  1510. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +36 -4
  1511. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +3 -1
  1512. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +74 -20
  1513. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +9 -3
  1514. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +2 -2
  1515. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +12 -4
  1516. data/src/core/tsi/fake_transport_security.cc +22 -0
  1517. data/src/core/tsi/ssl_transport_security.cc +203 -76
  1518. data/src/core/tsi/ssl_transport_security.h +8 -3
  1519. data/src/core/tsi/ssl_transport_security_utils.h +1 -1
  1520. data/src/core/tsi/transport_security.h +3 -0
  1521. data/src/core/tsi/transport_security_grpc.cc +8 -0
  1522. data/src/core/tsi/transport_security_grpc.h +22 -3
  1523. data/src/core/tsi/transport_security_interface.h +32 -27
  1524. data/src/core/util/backoff.cc +3 -3
  1525. data/src/core/util/backoff.h +1 -1
  1526. data/src/core/util/check_class_size.h +48 -0
  1527. data/src/core/util/down_cast.h +1 -1
  1528. data/src/core/util/dual_ref_counted.h +48 -0
  1529. data/src/core/util/dump_args.h +1 -9
  1530. data/src/core/util/env.h +3 -4
  1531. data/src/core/util/examine_stack.cc +2 -2
  1532. data/src/core/util/examine_stack.h +3 -4
  1533. data/src/core/util/fork.cc +1 -1
  1534. data/src/core/util/fork.h +2 -2
  1535. data/src/core/util/function_signature.h +80 -0
  1536. data/src/core/util/gcp_metadata_query.cc +4 -3
  1537. data/src/core/util/gpr_time.cc +4 -6
  1538. data/src/core/util/http_client/httpcli.cc +97 -36
  1539. data/src/core/util/http_client/httpcli.h +22 -9
  1540. data/src/core/util/http_client/httpcli_security_connector.cc +7 -6
  1541. data/src/core/util/json/json_channel_args.h +2 -1
  1542. data/src/core/util/json/json_object_loader.cc +4 -4
  1543. data/src/core/util/json/json_object_loader.h +19 -19
  1544. data/src/core/util/json/json_reader.cc +4 -4
  1545. data/src/core/util/json/json_writer.cc +4 -4
  1546. data/src/core/util/latent_see.cc +123 -76
  1547. data/src/core/util/latent_see.h +34 -36
  1548. data/src/core/util/linux/env.cc +6 -5
  1549. data/src/core/util/load_file.cc +26 -14
  1550. data/src/core/util/log.cc +5 -1
  1551. data/src/core/util/lru_cache.h +4 -4
  1552. data/src/core/util/match.h +7 -7
  1553. data/src/core/util/matchers.cc +1 -2
  1554. data/src/core/util/matchers.h +7 -12
  1555. data/src/core/util/memory_usage.h +268 -0
  1556. data/src/core/util/per_cpu.cc +2 -0
  1557. data/src/core/util/per_cpu.h +7 -0
  1558. data/src/core/util/posix/env.cc +2 -2
  1559. data/src/core/util/posix/sync.cc +0 -1
  1560. data/src/core/util/posix/time.cc +0 -1
  1561. data/src/core/util/ref_counted.h +1 -0
  1562. data/src/core/util/ref_counted_ptr.h +27 -1
  1563. data/src/core/util/ring_buffer.h +4 -5
  1564. data/src/core/util/shared_bit_gen.cc +21 -0
  1565. data/src/core/util/shared_bit_gen.h +64 -0
  1566. data/src/core/util/single_set_ptr.h +35 -4
  1567. data/src/core/util/status_helper.cc +98 -79
  1568. data/src/core/util/status_helper.h +13 -30
  1569. data/src/core/util/string.cc +2 -2
  1570. data/src/core/util/sync_abseil.cc +0 -1
  1571. data/src/core/util/table.h +6 -21
  1572. data/src/core/util/time.cc +5 -5
  1573. data/src/core/util/time.h +5 -5
  1574. data/src/core/util/time_precise.cc +0 -1
  1575. data/src/core/util/type_list.h +56 -0
  1576. data/src/core/util/upb_utils.h +42 -0
  1577. data/src/core/util/uri.cc +91 -24
  1578. data/src/core/util/uri.h +23 -7
  1579. data/src/core/util/useful.h +66 -17
  1580. data/src/core/util/validation_errors.cc +5 -5
  1581. data/src/core/util/wait_for_single_owner.cc +31 -0
  1582. data/src/core/util/wait_for_single_owner.h +86 -0
  1583. data/src/core/util/windows/env.cc +3 -3
  1584. data/src/core/util/windows/sync.cc +0 -1
  1585. data/src/core/util/windows/time.cc +0 -1
  1586. data/src/core/util/work_serializer.cc +27 -267
  1587. data/src/core/util/work_serializer.h +3 -27
  1588. data/src/core/xds/grpc/certificate_provider_store.cc +14 -19
  1589. data/src/core/xds/grpc/certificate_provider_store.h +4 -4
  1590. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +6 -6
  1591. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +1 -1
  1592. data/src/core/xds/grpc/xds_audit_logger_registry.cc +1 -1
  1593. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +22 -20
  1594. data/src/core/xds/grpc/xds_bootstrap_grpc.h +7 -2
  1595. data/src/core/xds/grpc/xds_certificate_provider.cc +16 -16
  1596. data/src/core/xds/grpc/xds_certificate_provider.h +2 -2
  1597. data/src/core/xds/grpc/xds_client_grpc.cc +20 -16
  1598. data/src/core/xds/grpc/xds_client_grpc.h +4 -2
  1599. data/src/core/xds/grpc/xds_cluster.h +7 -7
  1600. data/src/core/xds/grpc/xds_cluster_parser.cc +29 -28
  1601. data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +4 -4
  1602. data/src/core/xds/grpc/xds_common_types.cc +2 -2
  1603. data/src/core/xds/grpc/xds_common_types.h +4 -4
  1604. data/src/core/xds/grpc/xds_common_types_parser.cc +167 -89
  1605. data/src/core/xds/grpc/xds_common_types_parser.h +20 -7
  1606. data/src/core/xds/grpc/xds_endpoint.cc +3 -4
  1607. data/src/core/xds/grpc/xds_endpoint_parser.cc +68 -37
  1608. data/src/core/xds/grpc/xds_health_status.cc +4 -4
  1609. data/src/core/xds/grpc/xds_health_status.h +4 -3
  1610. data/src/core/xds/grpc/xds_http_fault_filter.cc +19 -21
  1611. data/src/core/xds/grpc/xds_http_fault_filter.h +4 -3
  1612. data/src/core/xds/grpc/xds_http_filter.h +11 -4
  1613. data/src/core/xds/grpc/xds_http_filter_registry.cc +8 -10
  1614. data/src/core/xds/grpc/xds_http_filter_registry.h +4 -4
  1615. data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +31 -9
  1616. data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +7 -3
  1617. data/src/core/xds/grpc/xds_http_rbac_filter.cc +21 -21
  1618. data/src/core/xds/grpc/xds_http_rbac_filter.h +4 -3
  1619. data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +10 -10
  1620. data/src/core/xds/grpc/xds_http_stateful_session_filter.h +4 -3
  1621. data/src/core/xds/grpc/xds_lb_policy_registry.cc +5 -5
  1622. data/src/core/xds/grpc/xds_lb_policy_registry.h +1 -1
  1623. data/src/core/xds/grpc/xds_listener.cc +4 -6
  1624. data/src/core/xds/grpc/xds_listener.h +10 -10
  1625. data/src/core/xds/grpc/xds_listener_parser.cc +58 -51
  1626. data/src/core/xds/grpc/xds_listener_parser.h +2 -1
  1627. data/src/core/xds/grpc/xds_metadata.cc +5 -5
  1628. data/src/core/xds/grpc/xds_metadata.h +8 -0
  1629. data/src/core/xds/grpc/xds_metadata_parser.cc +26 -37
  1630. data/src/core/xds/grpc/xds_metadata_parser.h +0 -2
  1631. data/src/core/xds/grpc/xds_route_config.cc +10 -15
  1632. data/src/core/xds/grpc/xds_route_config.h +10 -10
  1633. data/src/core/xds/grpc/xds_route_config_parser.cc +85 -132
  1634. data/src/core/xds/grpc/xds_route_config_parser.h +5 -5
  1635. data/src/core/xds/grpc/xds_routing.cc +6 -6
  1636. data/src/core/xds/grpc/xds_routing.h +6 -6
  1637. data/src/core/xds/grpc/xds_server_grpc.cc +133 -50
  1638. data/src/core/xds/grpc/xds_server_grpc.h +34 -13
  1639. data/src/core/xds/grpc/xds_server_grpc_interface.h +37 -0
  1640. data/src/core/xds/grpc/xds_transport_grpc.cc +29 -12
  1641. data/src/core/xds/grpc/xds_transport_grpc.h +5 -3
  1642. data/src/core/xds/xds_client/lrs_client.cc +77 -88
  1643. data/src/core/xds/xds_client/lrs_client.h +15 -15
  1644. data/src/core/xds/xds_client/xds_api.cc +5 -228
  1645. data/src/core/xds/xds_client/xds_api.h +1 -133
  1646. data/src/core/xds/xds_client/xds_bootstrap.cc +11 -1
  1647. data/src/core/xds/xds_client/xds_bootstrap.h +25 -1
  1648. data/src/core/xds/xds_client/xds_client.cc +1076 -727
  1649. data/src/core/xds/xds_client/xds_client.h +138 -30
  1650. data/src/core/xds/xds_client/xds_resource_type.h +3 -5
  1651. data/src/core/xds/xds_client/xds_resource_type_impl.h +13 -8
  1652. data/src/core/xds/xds_client/xds_transport.h +1 -1
  1653. data/src/ruby/ext/grpc/extconf.rb +5 -2
  1654. data/src/ruby/ext/grpc/rb_call.c +1 -8
  1655. data/src/ruby/ext/grpc/rb_channel.c +70 -557
  1656. data/src/ruby/ext/grpc/rb_channel.h +0 -3
  1657. data/src/ruby/ext/grpc/rb_completion_queue.c +26 -14
  1658. data/src/ruby/ext/grpc/rb_completion_queue.h +1 -7
  1659. data/src/ruby/ext/grpc/rb_grpc.c +9 -5
  1660. data/src/ruby/ext/grpc/rb_grpc.h +1 -1
  1661. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +1 -1
  1662. data/src/ruby/ext/grpc/rb_loader.c +0 -4
  1663. data/src/ruby/ext/grpc/rb_server.c +31 -50
  1664. data/src/ruby/lib/grpc/generic/client_stub.rb +4 -4
  1665. data/src/ruby/lib/grpc/version.rb +1 -1
  1666. data/src/ruby/spec/core_spec.rb +22 -0
  1667. data/src/ruby/spec/generic/active_call_spec.rb +1 -1
  1668. data/src/ruby/spec/generic/client_stub_spec.rb +2 -6
  1669. data/src/ruby/spec/generic/rpc_server_spec.rb +1 -1
  1670. data/third_party/abseil-cpp/absl/algorithm/algorithm.h +2 -2
  1671. data/third_party/abseil-cpp/absl/algorithm/container.h +81 -67
  1672. data/third_party/abseil-cpp/absl/base/attributes.h +142 -23
  1673. data/third_party/abseil-cpp/absl/base/call_once.h +18 -16
  1674. data/third_party/abseil-cpp/absl/base/config.h +23 -132
  1675. data/third_party/abseil-cpp/absl/base/fast_type_id.h +45 -0
  1676. data/third_party/abseil-cpp/absl/base/internal/cycleclock.cc +0 -5
  1677. data/third_party/abseil-cpp/absl/base/internal/cycleclock_config.h +7 -7
  1678. data/third_party/abseil-cpp/absl/base/internal/endian.h +34 -38
  1679. data/third_party/abseil-cpp/absl/base/internal/iterator_traits.h +71 -0
  1680. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +6 -5
  1681. data/third_party/abseil-cpp/absl/base/internal/nullability_deprecated.h +106 -0
  1682. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +1 -1
  1683. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +0 -9
  1684. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +3 -13
  1685. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +14 -0
  1686. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +5 -1
  1687. data/third_party/abseil-cpp/absl/base/internal/tracing.cc +39 -0
  1688. data/third_party/abseil-cpp/absl/base/internal/tracing.h +81 -0
  1689. data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +6 -6
  1690. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +0 -10
  1691. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +17 -0
  1692. data/third_party/abseil-cpp/absl/base/macros.h +35 -4
  1693. data/third_party/abseil-cpp/absl/base/no_destructor.h +11 -32
  1694. data/third_party/abseil-cpp/absl/base/nullability.h +124 -56
  1695. data/third_party/abseil-cpp/absl/base/optimization.h +8 -12
  1696. data/third_party/abseil-cpp/absl/base/options.h +7 -81
  1697. data/third_party/abseil-cpp/absl/base/policy_checks.h +9 -7
  1698. data/third_party/abseil-cpp/absl/cleanup/cleanup.h +1 -3
  1699. data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +3 -4
  1700. data/third_party/abseil-cpp/absl/container/btree_map.h +891 -0
  1701. data/third_party/abseil-cpp/absl/container/btree_set.h +826 -0
  1702. data/third_party/abseil-cpp/absl/container/fixed_array.h +9 -15
  1703. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +22 -3
  1704. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +23 -4
  1705. data/third_party/abseil-cpp/absl/container/inlined_vector.h +10 -6
  1706. data/third_party/abseil-cpp/absl/container/internal/btree.h +3149 -0
  1707. data/third_party/abseil-cpp/absl/container/internal/btree_container.h +867 -0
  1708. data/third_party/abseil-cpp/absl/container/internal/common.h +43 -0
  1709. data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +10 -2
  1710. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +10 -10
  1711. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +1 -8
  1712. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +0 -4
  1713. data/third_party/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +527 -0
  1714. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +20 -4
  1715. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +31 -12
  1716. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +6 -9
  1717. data/third_party/abseil-cpp/absl/container/internal/layout.h +27 -43
  1718. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +199 -68
  1719. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +1462 -263
  1720. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1170 -1547
  1721. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl.h +80 -0
  1722. data/third_party/abseil-cpp/absl/crc/crc32c.cc +0 -4
  1723. data/third_party/abseil-cpp/absl/crc/crc32c.h +7 -5
  1724. data/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc +56 -0
  1725. data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +0 -22
  1726. data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +45 -74
  1727. data/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +21 -7
  1728. data/third_party/abseil-cpp/absl/debugging/internal/addresses.h +57 -0
  1729. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +1 -1
  1730. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +5 -5
  1731. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +12 -37
  1732. data/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.cc +16 -16
  1733. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +1 -1
  1734. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +40 -21
  1735. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +16 -7
  1736. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +7 -0
  1737. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +14 -5
  1738. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +10 -4
  1739. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +27 -16
  1740. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +20 -8
  1741. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +4 -3
  1742. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +15 -28
  1743. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +19 -9
  1744. data/third_party/abseil-cpp/absl/debugging/leak_check.cc +73 -0
  1745. data/third_party/abseil-cpp/absl/debugging/leak_check.h +150 -0
  1746. data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +144 -27
  1747. data/third_party/abseil-cpp/absl/debugging/stacktrace.h +73 -5
  1748. data/third_party/abseil-cpp/absl/debugging/symbolize.cc +3 -2
  1749. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +67 -18
  1750. data/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +3 -2
  1751. data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +25 -6
  1752. data/third_party/abseil-cpp/absl/flags/commandlineflag.cc +1 -0
  1753. data/third_party/abseil-cpp/absl/flags/commandlineflag.h +9 -2
  1754. data/third_party/abseil-cpp/absl/flags/flag.h +18 -15
  1755. data/third_party/abseil-cpp/absl/flags/internal/commandlineflag.h +2 -2
  1756. data/third_party/abseil-cpp/absl/flags/internal/flag.cc +14 -5
  1757. data/third_party/abseil-cpp/absl/flags/internal/flag.h +23 -11
  1758. data/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.cc +4 -0
  1759. data/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.h +3 -0
  1760. data/third_party/abseil-cpp/absl/flags/internal/program_name.cc +13 -12
  1761. data/third_party/abseil-cpp/absl/flags/internal/registry.h +4 -3
  1762. data/third_party/abseil-cpp/absl/flags/reflection.cc +2 -3
  1763. data/third_party/abseil-cpp/absl/flags/usage_config.cc +9 -4
  1764. data/third_party/abseil-cpp/absl/functional/any_invocable.h +8 -10
  1765. data/third_party/abseil-cpp/absl/functional/function_ref.h +2 -9
  1766. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +110 -226
  1767. data/third_party/abseil-cpp/absl/functional/internal/front_binder.h +10 -12
  1768. data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +2 -5
  1769. data/third_party/abseil-cpp/absl/hash/hash.h +44 -2
  1770. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +14 -18
  1771. data/third_party/abseil-cpp/absl/hash/internal/hash.h +257 -127
  1772. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +27 -72
  1773. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h +2 -6
  1774. data/third_party/abseil-cpp/absl/hash/internal/weakly_mixed_integer.h +38 -0
  1775. data/third_party/abseil-cpp/absl/log/absl_vlog_is_on.h +2 -0
  1776. data/third_party/abseil-cpp/absl/log/check.h +2 -1
  1777. data/third_party/abseil-cpp/absl/log/globals.h +4 -5
  1778. data/third_party/abseil-cpp/absl/log/internal/append_truncated.h +28 -0
  1779. data/third_party/abseil-cpp/absl/log/internal/check_op.cc +43 -38
  1780. data/third_party/abseil-cpp/absl/log/internal/check_op.h +124 -99
  1781. data/third_party/abseil-cpp/absl/log/internal/conditions.cc +5 -3
  1782. data/third_party/abseil-cpp/absl/log/internal/conditions.h +7 -2
  1783. data/third_party/abseil-cpp/absl/log/internal/log_message.cc +158 -64
  1784. data/third_party/abseil-cpp/absl/log/internal/log_message.h +140 -83
  1785. data/third_party/abseil-cpp/absl/log/internal/nullstream.h +1 -0
  1786. data/third_party/abseil-cpp/absl/log/internal/proto.cc +3 -5
  1787. data/third_party/abseil-cpp/absl/log/internal/proto.h +28 -18
  1788. data/third_party/abseil-cpp/absl/log/internal/strip.h +4 -12
  1789. data/third_party/abseil-cpp/absl/log/internal/structured_proto.cc +115 -0
  1790. data/third_party/abseil-cpp/absl/log/internal/structured_proto.h +107 -0
  1791. data/third_party/abseil-cpp/absl/log/internal/vlog_config.cc +8 -1
  1792. data/third_party/abseil-cpp/absl/log/internal/vlog_config.h +8 -6
  1793. data/third_party/abseil-cpp/absl/log/internal/voidify.h +10 -4
  1794. data/third_party/abseil-cpp/absl/log/log.h +48 -35
  1795. data/third_party/abseil-cpp/absl/log/log_sink_registry.h +5 -2
  1796. data/third_party/abseil-cpp/absl/log/vlog_is_on.h +2 -0
  1797. data/third_party/abseil-cpp/absl/meta/type_traits.h +62 -181
  1798. data/third_party/abseil-cpp/absl/numeric/bits.h +68 -2
  1799. data/third_party/abseil-cpp/absl/numeric/int128.cc +0 -52
  1800. data/third_party/abseil-cpp/absl/numeric/int128.h +15 -3
  1801. data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +6 -4
  1802. data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +6 -3
  1803. data/third_party/abseil-cpp/absl/numeric/internal/bits.h +7 -3
  1804. data/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc +1 -1
  1805. data/third_party/abseil-cpp/absl/random/bernoulli_distribution.h +3 -1
  1806. data/third_party/abseil-cpp/absl/random/beta_distribution.h +3 -1
  1807. data/third_party/abseil-cpp/absl/random/bit_gen_ref.h +12 -12
  1808. data/third_party/abseil-cpp/absl/random/discrete_distribution.cc +10 -0
  1809. data/third_party/abseil-cpp/absl/random/discrete_distribution.h +4 -2
  1810. data/third_party/abseil-cpp/absl/random/distributions.h +6 -8
  1811. data/third_party/abseil-cpp/absl/random/exponential_distribution.h +1 -0
  1812. data/third_party/abseil-cpp/absl/random/gaussian_distribution.h +3 -2
  1813. data/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +8 -7
  1814. data/third_party/abseil-cpp/absl/random/internal/entropy_pool.cc +185 -0
  1815. data/third_party/abseil-cpp/absl/random/internal/entropy_pool.h +35 -0
  1816. data/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h +5 -2
  1817. data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +5 -6
  1818. data/third_party/abseil-cpp/absl/random/internal/platform.h +12 -12
  1819. data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +57 -6
  1820. data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +2 -1
  1821. data/third_party/abseil-cpp/absl/random/internal/seed_material.cc +20 -12
  1822. data/third_party/abseil-cpp/absl/random/internal/seed_material.h +5 -5
  1823. data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +2 -2
  1824. data/third_party/abseil-cpp/absl/random/internal/wide_multiply.h +0 -1
  1825. data/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h +1 -4
  1826. data/third_party/abseil-cpp/absl/random/poisson_distribution.h +4 -3
  1827. data/third_party/abseil-cpp/absl/random/random.h +88 -53
  1828. data/third_party/abseil-cpp/absl/random/seed_gen_exception.cc +2 -3
  1829. data/third_party/abseil-cpp/absl/random/seed_sequences.cc +6 -2
  1830. data/third_party/abseil-cpp/absl/random/seed_sequences.h +1 -2
  1831. data/third_party/abseil-cpp/absl/random/uniform_int_distribution.h +2 -1
  1832. data/third_party/abseil-cpp/absl/random/uniform_real_distribution.h +2 -0
  1833. data/third_party/abseil-cpp/absl/random/zipf_distribution.h +5 -4
  1834. data/third_party/abseil-cpp/absl/status/internal/status_internal.cc +10 -7
  1835. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +3 -4
  1836. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +4 -3
  1837. data/third_party/abseil-cpp/absl/status/status.cc +4 -8
  1838. data/third_party/abseil-cpp/absl/status/status.h +8 -8
  1839. data/third_party/abseil-cpp/absl/status/status_payload_printer.h +2 -2
  1840. data/third_party/abseil-cpp/absl/status/statusor.cc +2 -2
  1841. data/third_party/abseil-cpp/absl/status/statusor.h +6 -6
  1842. data/third_party/abseil-cpp/absl/strings/ascii.cc +44 -29
  1843. data/third_party/abseil-cpp/absl/strings/ascii.h +62 -22
  1844. data/third_party/abseil-cpp/absl/strings/charconv.cc +25 -29
  1845. data/third_party/abseil-cpp/absl/strings/charconv.h +5 -5
  1846. data/third_party/abseil-cpp/absl/strings/charset.h +3 -4
  1847. data/third_party/abseil-cpp/absl/strings/cord.cc +54 -58
  1848. data/third_party/abseil-cpp/absl/strings/cord.h +99 -102
  1849. data/third_party/abseil-cpp/absl/strings/cord_analysis.cc +11 -11
  1850. data/third_party/abseil-cpp/absl/strings/cord_analysis.h +3 -3
  1851. data/third_party/abseil-cpp/absl/strings/escaping.cc +186 -197
  1852. data/third_party/abseil-cpp/absl/strings/escaping.h +9 -10
  1853. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +1 -1
  1854. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +1 -1
  1855. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +53 -22
  1856. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +0 -4
  1857. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +0 -4
  1858. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +7 -63
  1859. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +1 -11
  1860. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +0 -22
  1861. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +3 -2
  1862. data/third_party/abseil-cpp/absl/strings/internal/str_format/output.cc +5 -3
  1863. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +4 -2
  1864. data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +3 -3
  1865. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +35 -0
  1866. data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +0 -5
  1867. data/third_party/abseil-cpp/absl/strings/internal/utf8.cc +96 -1
  1868. data/third_party/abseil-cpp/absl/strings/internal/utf8.h +15 -1
  1869. data/third_party/abseil-cpp/absl/strings/match.h +21 -11
  1870. data/third_party/abseil-cpp/absl/strings/numbers.cc +55 -33
  1871. data/third_party/abseil-cpp/absl/strings/numbers.h +87 -58
  1872. data/third_party/abseil-cpp/absl/strings/str_cat.cc +6 -7
  1873. data/third_party/abseil-cpp/absl/strings/str_cat.h +41 -30
  1874. data/third_party/abseil-cpp/absl/strings/str_format.h +18 -18
  1875. data/third_party/abseil-cpp/absl/strings/str_replace.cc +3 -3
  1876. data/third_party/abseil-cpp/absl/strings/str_replace.h +6 -6
  1877. data/third_party/abseil-cpp/absl/strings/str_split.h +18 -1
  1878. data/third_party/abseil-cpp/absl/strings/string_view.cc +4 -9
  1879. data/third_party/abseil-cpp/absl/strings/string_view.h +46 -50
  1880. data/third_party/abseil-cpp/absl/strings/strip.h +11 -8
  1881. data/third_party/abseil-cpp/absl/strings/substitute.cc +5 -4
  1882. data/third_party/abseil-cpp/absl/strings/substitute.h +66 -64
  1883. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +16 -10
  1884. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +6 -0
  1885. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +5 -1
  1886. data/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +0 -4
  1887. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +0 -5
  1888. data/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +0 -4
  1889. data/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +0 -4
  1890. data/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +0 -4
  1891. data/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.cc +0 -4
  1892. data/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +0 -4
  1893. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +39 -13
  1894. data/third_party/abseil-cpp/absl/synchronization/mutex.h +97 -69
  1895. data/third_party/abseil-cpp/absl/synchronization/notification.cc +10 -2
  1896. data/third_party/abseil-cpp/absl/synchronization/notification.h +12 -2
  1897. data/third_party/abseil-cpp/absl/time/civil_time.cc +1 -0
  1898. data/third_party/abseil-cpp/absl/time/duration.cc +18 -58
  1899. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +1 -1
  1900. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +1 -1
  1901. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +1 -1
  1902. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +3 -3
  1903. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +2 -2
  1904. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +2 -2
  1905. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +3 -3
  1906. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +2 -2
  1907. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +1 -1
  1908. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +1 -1
  1909. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +92 -112
  1910. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +1 -1
  1911. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +6 -4
  1912. data/third_party/abseil-cpp/absl/time/time.h +89 -23
  1913. data/third_party/abseil-cpp/absl/types/internal/span.h +3 -2
  1914. data/third_party/abseil-cpp/absl/types/optional.h +7 -745
  1915. data/third_party/abseil-cpp/absl/types/span.h +98 -54
  1916. data/third_party/abseil-cpp/absl/types/variant.h +5 -784
  1917. data/third_party/abseil-cpp/absl/utility/utility.h +10 -185
  1918. data/third_party/boringssl-with-bazel/src/crypto/aes/aes.cc +41 -0
  1919. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.cc +259 -0
  1920. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.cc +53 -0
  1921. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.cc +47 -0
  1922. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.cc +42 -0
  1923. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.cc +109 -0
  1924. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.cc +43 -0
  1925. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.cc +439 -0
  1926. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.cc +239 -0
  1927. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.cc +193 -0
  1928. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.cc +32 -0
  1929. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.cc +415 -0
  1930. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.cc +206 -0
  1931. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.cc +224 -0
  1932. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.cc +172 -0
  1933. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.cc +109 -0
  1934. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.cc +355 -0
  1935. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.cc +61 -0
  1936. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.cc +56 -0
  1937. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.cc +63 -0
  1938. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.cc +52 -0
  1939. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +33 -61
  1940. data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.cc +241 -0
  1941. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.cc +963 -0
  1942. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.cc +661 -0
  1943. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.cc +164 -0
  1944. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.cc +276 -0
  1945. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.cc +80 -0
  1946. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.cc +229 -0
  1947. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.cc +434 -0
  1948. data/third_party/boringssl-with-bazel/src/crypto/bcm_support.h +19 -48
  1949. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.cc +658 -0
  1950. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.cc +268 -0
  1951. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.cc +509 -0
  1952. data/third_party/boringssl-with-bazel/src/crypto/bio/errno.cc +50 -0
  1953. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.cc +193 -0
  1954. data/third_party/boringssl-with-bazel/src/crypto/bio/file.cc +292 -0
  1955. data/third_party/boringssl-with-bazel/src/crypto/bio/hexdump.cc +152 -0
  1956. data/third_party/boringssl-with-bazel/src/crypto/bio/internal.h +17 -61
  1957. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.cc +446 -0
  1958. data/third_party/boringssl-with-bazel/src/crypto/bio/printf.cc +59 -0
  1959. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.cc +144 -0
  1960. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.cc +131 -0
  1961. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.cc +169 -0
  1962. data/third_party/boringssl-with-bazel/src/crypto/bn/bn_asn1.cc +57 -0
  1963. data/third_party/boringssl-with-bazel/src/crypto/bn/convert.cc +407 -0
  1964. data/third_party/boringssl-with-bazel/src/crypto/bn/div.cc +100 -0
  1965. data/third_party/boringssl-with-bazel/src/crypto/bn/exponentiation.cc +166 -0
  1966. data/third_party/boringssl-with-bazel/src/crypto/bn/sqrt.cc +93 -0
  1967. data/third_party/boringssl-with-bazel/src/crypto/buf/buf.cc +118 -0
  1968. data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.cc +53 -0
  1969. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.cc +266 -0
  1970. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.cc +708 -0
  1971. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.cc +912 -0
  1972. data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +16 -16
  1973. data/third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.cc +156 -0
  1974. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.cc +224 -0
  1975. data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +23 -23
  1976. data/third_party/boringssl-with-bazel/src/crypto/cipher/derive_key.cc +108 -0
  1977. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_aesctrhmac.cc +279 -0
  1978. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_aeseax.cc +289 -0
  1979. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_aesgcmsiv.cc +922 -0
  1980. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_chacha20poly1305.cc +341 -0
  1981. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_des.cc +198 -0
  1982. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_null.cc +51 -0
  1983. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_rc2.cc +417 -0
  1984. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_rc4.cc +54 -0
  1985. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_tls.cc +599 -0
  1986. data/third_party/boringssl-with-bazel/src/crypto/cipher/get_cipher.cc +85 -0
  1987. data/third_party/boringssl-with-bazel/src/crypto/cipher/internal.h +240 -0
  1988. data/third_party/boringssl-with-bazel/src/crypto/cipher/tls_cbc.cc +476 -0
  1989. data/third_party/boringssl-with-bazel/src/crypto/cms/cms.cc +172 -0
  1990. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.cc +631 -0
  1991. data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +13 -13
  1992. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.cc +73 -0
  1993. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.cc +53 -0
  1994. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.cc +60 -0
  1995. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.cc +59 -0
  1996. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.cc +92 -0
  1997. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.cc +39 -0
  1998. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.cc +53 -0
  1999. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.cc +173 -0
  2000. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.h +24 -22
  2001. data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.cc +281 -0
  2002. data/third_party/boringssl-with-bazel/src/crypto/crypto.cc +181 -0
  2003. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.cc +2154 -0
  2004. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.cc +18 -0
  2005. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +13 -13
  2006. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +17 -17
  2007. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.cc +529 -0
  2008. data/third_party/boringssl-with-bazel/src/crypto/des/des.cc +829 -0
  2009. data/third_party/boringssl-with-bazel/src/crypto/des/internal.h +31 -73
  2010. data/third_party/boringssl-with-bazel/src/crypto/dh/dh_asn1.cc +123 -0
  2011. data/third_party/boringssl-with-bazel/src/crypto/dh/params.cc +408 -0
  2012. data/third_party/boringssl-with-bazel/src/crypto/digest/digest_extra.cc +314 -0
  2013. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.cc +941 -0
  2014. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.cc +367 -0
  2015. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +17 -19
  2016. data/third_party/boringssl-with-bazel/src/crypto/ec/ec_asn1.cc +554 -0
  2017. data/third_party/boringssl-with-bazel/src/crypto/ec/ec_derive.cc +96 -0
  2018. data/third_party/boringssl-with-bazel/src/crypto/ec/hash_to_curve.cc +502 -0
  2019. data/third_party/boringssl-with-bazel/src/crypto/ec/internal.h +78 -0
  2020. data/third_party/boringssl-with-bazel/src/crypto/ecdh/ecdh.cc +73 -0
  2021. data/third_party/boringssl-with-bazel/src/crypto/ecdsa/ecdsa_asn1.cc +351 -0
  2022. data/third_party/boringssl-with-bazel/src/crypto/engine/engine.cc +95 -0
  2023. data/third_party/boringssl-with-bazel/src/crypto/err/err.cc +808 -0
  2024. data/third_party/boringssl-with-bazel/src/crypto/err/internal.h +13 -13
  2025. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.cc +379 -0
  2026. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.cc +470 -0
  2027. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.cc +439 -0
  2028. data/third_party/boringssl-with-bazel/src/crypto/evp/internal.h +17 -59
  2029. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh.cc +153 -0
  2030. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.cc +142 -0
  2031. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.cc +279 -0
  2032. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.cc +230 -0
  2033. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.cc +286 -0
  2034. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.cc +103 -0
  2035. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.cc +225 -0
  2036. data/third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.cc +236 -0
  2037. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.cc +609 -0
  2038. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.cc +198 -0
  2039. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.cc +109 -0
  2040. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.cc +237 -0
  2041. data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.cc +98 -0
  2042. data/third_party/boringssl-with-bazel/src/crypto/evp/print.cc +342 -0
  2043. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.cc +216 -0
  2044. data/third_party/boringssl-with-bazel/src/crypto/evp/sign.cc +95 -0
  2045. data/third_party/boringssl-with-bazel/src/crypto/ex_data.cc +141 -0
  2046. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.cc.inc +202 -0
  2047. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.cc.inc +1281 -0
  2048. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/cbc.cc.inc +130 -0
  2049. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/cfb.cc.inc +166 -0
  2050. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/ctr.cc.inc +100 -0
  2051. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/gcm.cc.inc +604 -0
  2052. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/gcm_nohw.cc.inc +302 -0
  2053. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +396 -76
  2054. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.cc.inc +209 -0
  2055. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.cc.inc +93 -0
  2056. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/ofb.cc.inc +53 -0
  2057. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.cc +282 -0
  2058. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm_interface.h +765 -29
  2059. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/add.cc.inc +269 -0
  2060. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +554 -0
  2061. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.cc.inc +374 -0
  2062. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.cc.inc +225 -0
  2063. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.cc.inc +159 -0
  2064. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.cc.inc +191 -0
  2065. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.cc.inc +734 -0
  2066. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.cc.inc +87 -0
  2067. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.cc.inc +739 -0
  2068. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.cc.inc +278 -0
  2069. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.cc.inc +323 -0
  2070. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/generic.cc.inc +582 -0
  2071. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +53 -160
  2072. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/jacobi.cc.inc +99 -0
  2073. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.cc.inc +409 -0
  2074. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.cc.inc +222 -0
  2075. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.cc.inc +698 -0
  2076. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.cc.inc +928 -0
  2077. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.cc.inc +260 -0
  2078. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.cc.inc +142 -0
  2079. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.h +24 -21
  2080. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.cc.inc +315 -0
  2081. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.cc.inc +382 -0
  2082. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.cc.inc +295 -0
  2083. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.cc.inc +672 -0
  2084. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.cc.inc +1235 -0
  2085. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aesccm.cc.inc +409 -0
  2086. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h +18 -69
  2087. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/cmac.cc.inc +288 -0
  2088. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +36 -25
  2089. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.cc.inc +190 -0
  2090. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.cc.inc +424 -0
  2091. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +13 -15
  2092. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.cc.inc +244 -0
  2093. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.cc.inc +178 -0
  2094. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/internal.h +17 -59
  2095. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +17 -51
  2096. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/digestsign.cc.inc +226 -0
  2097. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/builtin_curves.h +91 -91
  2098. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.cc.inc +971 -0
  2099. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.cc.inc +494 -0
  2100. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.cc.inc +439 -0
  2101. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.cc.inc +104 -0
  2102. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +23 -70
  2103. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.cc.inc +295 -0
  2104. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.cc.inc +1163 -0
  2105. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz-table.h +15 -10
  2106. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.cc.inc +741 -0
  2107. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.h +26 -21
  2108. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.cc.inc +749 -0
  2109. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +13 -13
  2110. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.cc.inc +179 -0
  2111. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.cc.inc +279 -0
  2112. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.cc.inc +269 -0
  2113. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.cc.inc +255 -0
  2114. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.cc.inc +221 -0
  2115. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.cc.inc +88 -0
  2116. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +278 -0
  2117. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +13 -13
  2118. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.cc +28 -0
  2119. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.cc.inc +112 -0
  2120. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.cc.inc +215 -0
  2121. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/keccak/internal.h +70 -0
  2122. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/keccak/keccak.cc.inc +279 -0
  2123. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mldsa/fips_known_values.inc +1345 -0
  2124. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mldsa/mldsa.cc.inc +2300 -0
  2125. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mlkem/fips_known_values.inc +411 -0
  2126. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mlkem/mlkem.cc.inc +1397 -0
  2127. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.cc.inc +214 -0
  2128. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +22 -28
  2129. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.cc.inc +483 -0
  2130. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.cc.inc +147 -0
  2131. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +17 -60
  2132. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.cc.inc +372 -0
  2133. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.cc.inc +983 -0
  2134. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.cc.inc +1279 -0
  2135. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.cc.inc +129 -0
  2136. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.cc.inc +1055 -0
  2137. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h +38 -38
  2138. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +327 -0
  2139. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +52 -78
  2140. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.cc.inc +390 -0
  2141. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.cc.inc +299 -0
  2142. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.cc.inc +473 -0
  2143. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/address.h +119 -0
  2144. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/fips_known_values.inc +674 -0
  2145. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/fors.cc.inc +169 -0
  2146. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/fors.h +58 -0
  2147. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/merkle.cc.inc +161 -0
  2148. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/merkle.h +70 -0
  2149. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/params.h +78 -0
  2150. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +504 -0
  2151. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/thash.cc.inc +173 -0
  2152. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/thash.h +85 -0
  2153. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/wots.cc.inc +171 -0
  2154. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/wots.h +50 -0
  2155. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +13 -13
  2156. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.cc.inc +180 -0
  2157. data/third_party/boringssl-with-bazel/src/crypto/fuzzer_mode.cc +30 -0
  2158. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.cc +1095 -0
  2159. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.cc +2185 -0
  2160. data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +16 -16
  2161. data/third_party/boringssl-with-bazel/src/crypto/internal.h +283 -457
  2162. data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +13 -13
  2163. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.cc +869 -0
  2164. data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +34 -78
  2165. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.cc +309 -0
  2166. data/third_party/boringssl-with-bazel/src/crypto/md4/md4.cc +194 -0
  2167. data/third_party/boringssl-with-bazel/src/crypto/md5/internal.h +37 -0
  2168. data/third_party/boringssl-with-bazel/src/crypto/md5/md5.cc +243 -0
  2169. data/third_party/boringssl-with-bazel/src/crypto/mem.cc +581 -0
  2170. data/third_party/boringssl-with-bazel/src/crypto/mldsa/mldsa.cc +90 -0
  2171. data/third_party/boringssl-with-bazel/src/crypto/mlkem/mlkem.cc +97 -1042
  2172. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.cc +513 -0
  2173. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +14 -56
  2174. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_xref.cc +80 -0
  2175. data/third_party/boringssl-with-bazel/src/crypto/pem/internal.h +44 -0
  2176. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.cc +149 -0
  2177. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.cc +254 -0
  2178. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.cc +736 -0
  2179. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.cc +45 -0
  2180. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.cc +208 -0
  2181. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.cc +141 -0
  2182. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.cc +22 -0
  2183. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.cc +22 -0
  2184. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +36 -22
  2185. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.cc +195 -0
  2186. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.cc +524 -0
  2187. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +28 -63
  2188. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.cc +279 -0
  2189. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.cc +471 -0
  2190. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.cc +1322 -0
  2191. data/third_party/boringssl-with-bazel/src/crypto/poly1305/internal.h +17 -17
  2192. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.cc +314 -0
  2193. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.cc +310 -0
  2194. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.cc +850 -0
  2195. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +17 -17
  2196. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.cc +262 -0
  2197. data/third_party/boringssl-with-bazel/src/crypto/rand/deterministic.cc +65 -0
  2198. data/third_party/boringssl-with-bazel/src/crypto/rand/fork_detect.cc +194 -0
  2199. data/third_party/boringssl-with-bazel/src/crypto/rand/forkunsafe.cc +44 -0
  2200. data/third_party/boringssl-with-bazel/src/crypto/rand/getentropy.cc +60 -0
  2201. data/third_party/boringssl-with-bazel/src/crypto/rand/getrandom_fillin.h +64 -0
  2202. data/third_party/boringssl-with-bazel/src/crypto/rand/internal.h +55 -0
  2203. data/third_party/boringssl-with-bazel/src/crypto/rand/ios.cc +42 -0
  2204. data/third_party/boringssl-with-bazel/src/crypto/rand/passive.cc +178 -0
  2205. data/third_party/boringssl-with-bazel/src/crypto/rand/rand.cc +77 -0
  2206. data/third_party/boringssl-with-bazel/src/crypto/rand/trusty.cc +46 -0
  2207. data/third_party/boringssl-with-bazel/src/crypto/rand/urandom.cc +328 -0
  2208. data/third_party/boringssl-with-bazel/src/crypto/rand/windows.cc +98 -0
  2209. data/third_party/boringssl-with-bazel/src/crypto/rc4/rc4.cc +56 -0
  2210. data/third_party/boringssl-with-bazel/src/crypto/refcount.cc +59 -0
  2211. data/third_party/boringssl-with-bazel/src/crypto/rsa/internal.h +36 -0
  2212. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_asn1.cc +283 -0
  2213. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_crypt.cc +523 -0
  2214. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_extra.cc +19 -0
  2215. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_print.cc +27 -0
  2216. data/third_party/boringssl-with-bazel/src/crypto/sha/sha1.cc +52 -0
  2217. data/third_party/boringssl-with-bazel/src/crypto/sha/sha256.cc +87 -0
  2218. data/third_party/boringssl-with-bazel/src/crypto/sha/sha512.cc +104 -0
  2219. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.cc +79 -0
  2220. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/slhdsa.cc +113 -0
  2221. data/third_party/boringssl-with-bazel/src/crypto/spake2plus/internal.h +204 -0
  2222. data/third_party/boringssl-with-bazel/src/crypto/spake2plus/spake2plus.cc +501 -0
  2223. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.cc +496 -0
  2224. data/third_party/boringssl-with-bazel/src/crypto/thread.cc +68 -0
  2225. data/third_party/boringssl-with-bazel/src/crypto/thread_none.cc +51 -0
  2226. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.cc +151 -0
  2227. data/third_party/boringssl-with-bazel/src/crypto/thread_win.cc +238 -0
  2228. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +17 -17
  2229. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.cc +1656 -0
  2230. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.cc +685 -0
  2231. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.cc +1263 -0
  2232. data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.cc +52 -0
  2233. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.cc +95 -0
  2234. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.cc +74 -0
  2235. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.cc +136 -0
  2236. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.cc +538 -0
  2237. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.cc +355 -0
  2238. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.cc +227 -0
  2239. data/third_party/boringssl-with-bazel/src/crypto/x509/ext_dat.h +13 -55
  2240. data/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.cc +37 -0
  2241. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +29 -61
  2242. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.cc +185 -0
  2243. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.cc +796 -0
  2244. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.cc +364 -0
  2245. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.cc +103 -0
  2246. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.cc +203 -0
  2247. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.cc +287 -0
  2248. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.cc +79 -0
  2249. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akey.cc +181 -0
  2250. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akeya.cc +31 -0
  2251. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_alt.cc +593 -0
  2252. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bcons.cc +95 -0
  2253. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bitst.cc +102 -0
  2254. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_conf.cc +366 -0
  2255. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_cpols.cc +444 -0
  2256. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_crld.cc +557 -0
  2257. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_enum.cc +73 -0
  2258. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_extku.cc +114 -0
  2259. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_genn.cc +228 -0
  2260. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ia5.cc +79 -0
  2261. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_info.cc +161 -0
  2262. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_int.cc +81 -0
  2263. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_lib.cc +304 -0
  2264. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ncons.cc +514 -0
  2265. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ocsp.cc +89 -0
  2266. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pcons.cc +101 -0
  2267. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pmaps.cc +109 -0
  2268. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_prn.cc +183 -0
  2269. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_purp.cc +590 -0
  2270. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_skey.cc +131 -0
  2271. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.cc +1342 -0
  2272. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.cc +47 -0
  2273. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.cc +186 -0
  2274. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.cc +238 -0
  2275. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.cc +66 -0
  2276. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.cc +44 -0
  2277. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.cc +139 -0
  2278. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.cc +554 -0
  2279. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.cc +164 -0
  2280. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.cc +257 -0
  2281. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.cc +198 -0
  2282. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.cc +118 -0
  2283. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.cc +147 -0
  2284. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.cc +249 -0
  2285. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.cc +1607 -0
  2286. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.cc +440 -0
  2287. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.cc +235 -0
  2288. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.cc +365 -0
  2289. data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.cc +67 -0
  2290. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.cc +91 -0
  2291. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.cc +116 -0
  2292. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.cc +318 -0
  2293. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.cc +55 -0
  2294. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.cc +342 -0
  2295. data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.cc +36 -0
  2296. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.cc +501 -0
  2297. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.cc +170 -0
  2298. data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.cc +74 -0
  2299. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.cc +51 -0
  2300. data/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.cc +34 -0
  2301. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.cc +28 -0
  2302. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.cc +485 -0
  2303. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.cc +153 -0
  2304. data/third_party/boringssl-with-bazel/src/gen/crypto/err_data.cc +1538 -0
  2305. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +29 -21
  2306. data/third_party/boringssl-with-bazel/src/include/openssl/aes.h +14 -48
  2307. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +16 -76
  2308. data/third_party/boringssl-with-bazel/src/include/openssl/asm_base.h +14 -14
  2309. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +29 -116
  2310. data/third_party/boringssl-with-bazel/src/include/openssl/asn1_mac.h +13 -13
  2311. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +248 -328
  2312. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +31 -58
  2313. data/third_party/boringssl-with-bazel/src/include/openssl/base64.h +14 -56
  2314. data/third_party/boringssl-with-bazel/src/include/openssl/bcm_public.h +82 -0
  2315. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +14 -56
  2316. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +14 -14
  2317. data/third_party/boringssl-with-bazel/src/include/openssl/blowfish.h +14 -56
  2318. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +15 -122
  2319. data/third_party/boringssl-with-bazel/src/include/openssl/buf.h +14 -56
  2320. data/third_party/boringssl-with-bazel/src/include/openssl/buffer.h +13 -13
  2321. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +38 -17
  2322. data/third_party/boringssl-with-bazel/src/include/openssl/cast.h +14 -56
  2323. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +14 -14
  2324. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +32 -60
  2325. data/third_party/boringssl-with-bazel/src/include/openssl/cmac.h +14 -14
  2326. data/third_party/boringssl-with-bazel/src/include/openssl/cms.h +146 -0
  2327. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +14 -56
  2328. data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +13 -13
  2329. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +48 -17
  2330. data/third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h +14 -14
  2331. data/third_party/boringssl-with-bazel/src/include/openssl/curve25519.h +14 -14
  2332. data/third_party/boringssl-with-bazel/src/include/openssl/des.h +14 -56
  2333. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +18 -56
  2334. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +38 -63
  2335. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +18 -59
  2336. data/third_party/boringssl-with-bazel/src/include/openssl/dtls1.h +13 -13
  2337. data/third_party/boringssl-with-bazel/src/include/openssl/e_os2.h +14 -14
  2338. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +15 -67
  2339. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +32 -73
  2340. data/third_party/boringssl-with-bazel/src/include/openssl/ecdh.h +15 -66
  2341. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +14 -52
  2342. data/third_party/boringssl-with-bazel/src/include/openssl/engine.h +14 -14
  2343. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +15 -108
  2344. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +15 -57
  2345. data/third_party/boringssl-with-bazel/src/include/openssl/evp_errors.h +13 -55
  2346. data/third_party/boringssl-with-bazel/src/include/openssl/ex_data.h +14 -108
  2347. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/kyber.h +14 -14
  2348. data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +14 -14
  2349. data/third_party/boringssl-with-bazel/src/include/openssl/hmac.h +14 -56
  2350. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +18 -18
  2351. data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +14 -14
  2352. data/third_party/boringssl-with-bazel/src/include/openssl/is_boringssl.h +13 -13
  2353. data/third_party/boringssl-with-bazel/src/include/openssl/kdf.h +14 -14
  2354. data/third_party/boringssl-with-bazel/src/include/openssl/lhash.h +14 -56
  2355. data/third_party/boringssl-with-bazel/src/include/openssl/md4.h +14 -56
  2356. data/third_party/boringssl-with-bazel/src/include/openssl/md5.h +14 -56
  2357. data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +14 -56
  2358. data/third_party/boringssl-with-bazel/src/include/openssl/mldsa.h +21 -27
  2359. data/third_party/boringssl-with-bazel/src/include/openssl/mlkem.h +14 -38
  2360. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +28 -70
  2361. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +14 -56
  2362. data/third_party/boringssl-with-bazel/src/include/openssl/obj_mac.h +14 -14
  2363. data/third_party/boringssl-with-bazel/src/include/openssl/objects.h +13 -13
  2364. data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +23 -17
  2365. data/third_party/boringssl-with-bazel/src/include/openssl/opensslv.h +13 -13
  2366. data/third_party/boringssl-with-bazel/src/include/openssl/ossl_typ.h +13 -13
  2367. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +22 -60
  2368. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs12.h +13 -13
  2369. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +14 -14
  2370. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +32 -61
  2371. data/third_party/boringssl-with-bazel/src/include/openssl/poly1305.h +14 -14
  2372. data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +14 -14
  2373. data/third_party/boringssl-with-bazel/src/include/openssl/posix_time.h +14 -14
  2374. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +15 -15
  2375. data/third_party/boringssl-with-bazel/src/include/openssl/rc4.h +14 -56
  2376. data/third_party/boringssl-with-bazel/src/include/openssl/ripemd.h +14 -56
  2377. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +24 -64
  2378. data/third_party/boringssl-with-bazel/src/include/openssl/safestack.h +13 -13
  2379. data/third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h +14 -14
  2380. data/third_party/boringssl-with-bazel/src/include/openssl/sha.h +16 -96
  2381. data/third_party/boringssl-with-bazel/src/include/openssl/siphash.h +14 -14
  2382. data/third_party/boringssl-with-bazel/src/include/openssl/slhdsa.h +174 -0
  2383. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +25 -33
  2384. data/third_party/boringssl-with-bazel/src/include/openssl/srtp.h +13 -13
  2385. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +628 -309
  2386. data/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h +15 -114
  2387. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +14 -56
  2388. data/third_party/boringssl-with-bazel/src/include/openssl/target.h +23 -18
  2389. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +16 -58
  2390. data/third_party/boringssl-with-bazel/src/include/openssl/time.h +13 -13
  2391. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +36 -157
  2392. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +16 -16
  2393. data/third_party/boringssl-with-bazel/src/include/openssl/type_check.h +14 -56
  2394. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +21 -65
  2395. data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +13 -13
  2396. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +13 -13
  2397. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3_errors.h +13 -53
  2398. data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +15 -14
  2399. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +680 -434
  2400. data/third_party/boringssl-with-bazel/src/ssl/d1_lib.cc +129 -174
  2401. data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +176 -131
  2402. data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +21 -127
  2403. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +109 -104
  2404. data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +321 -316
  2405. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +101 -94
  2406. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +920 -519
  2407. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +78 -85
  2408. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +67 -157
  2409. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +201 -333
  2410. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +113 -245
  2411. data/third_party/boringssl-with-bazel/src/ssl/internal.h +1054 -540
  2412. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +47 -157
  2413. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +29 -159
  2414. data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +18 -112
  2415. data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +108 -207
  2416. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +70 -149
  2417. data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +15 -20
  2418. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +117 -157
  2419. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +229 -365
  2420. data/third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc +294 -32
  2421. data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +13 -109
  2422. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +35 -34
  2423. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +352 -354
  2424. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +43 -101
  2425. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +127 -249
  2426. data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +17 -91
  2427. data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +109 -157
  2428. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +44 -30
  2429. data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +66 -195
  2430. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +46 -177
  2431. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +88 -48
  2432. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +160 -96
  2433. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +251 -184
  2434. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +250 -119
  2435. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +64 -117
  2436. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +54 -139
  2437. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h +6 -0
  2438. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h +6 -0
  2439. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_adx.h +4 -1
  2440. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +1 -1
  2441. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h +3 -0
  2442. data/third_party/upb/upb/base/internal/log2.h +3 -1
  2443. data/third_party/upb/upb/base/string_view.h +10 -0
  2444. data/third_party/upb/upb/hash/common.c +312 -187
  2445. data/third_party/upb/upb/hash/common.h +44 -43
  2446. data/third_party/upb/upb/hash/int_table.h +29 -5
  2447. data/third_party/upb/upb/hash/str_table.h +6 -0
  2448. data/third_party/upb/upb/json/decode.c +39 -10
  2449. data/third_party/upb/upb/json/decode.h +25 -3
  2450. data/third_party/upb/upb/mem/alloc.h +5 -0
  2451. data/third_party/upb/upb/mem/arena.c +438 -161
  2452. data/third_party/upb/upb/mem/arena.h +57 -11
  2453. data/third_party/upb/upb/mem/arena.hpp +4 -20
  2454. data/third_party/upb/upb/mem/internal/arena.h +65 -29
  2455. data/third_party/upb/upb/message/accessors.c +1 -5
  2456. data/third_party/upb/upb/message/accessors.h +49 -0
  2457. data/third_party/upb/upb/message/array.c +7 -6
  2458. data/third_party/upb/upb/message/array.h +4 -4
  2459. data/third_party/upb/upb/message/compat.c +11 -14
  2460. data/third_party/upb/upb/message/compat.h +4 -3
  2461. data/third_party/upb/upb/message/copy.c +35 -30
  2462. data/third_party/upb/upb/message/internal/accessors.h +151 -15
  2463. data/third_party/upb/upb/message/internal/extension.c +16 -25
  2464. data/third_party/upb/upb/message/internal/extension.h +17 -5
  2465. data/third_party/upb/upb/message/internal/iterator.c +58 -0
  2466. data/third_party/upb/upb/message/internal/iterator.h +29 -0
  2467. data/third_party/upb/upb/message/internal/map.h +76 -22
  2468. data/third_party/upb/upb/message/internal/map_sorter.h +13 -4
  2469. data/third_party/upb/upb/message/internal/message.c +48 -29
  2470. data/third_party/upb/upb/message/internal/message.h +203 -25
  2471. data/third_party/upb/upb/message/map.c +68 -20
  2472. data/third_party/upb/upb/message/map.h +8 -1
  2473. data/third_party/upb/upb/message/map_gencode_util.h +3 -45
  2474. data/third_party/upb/upb/message/map_sorter.c +52 -16
  2475. data/third_party/upb/upb/message/merge.h +3 -3
  2476. data/third_party/upb/upb/message/message.c +200 -42
  2477. data/third_party/upb/upb/message/message.h +69 -4
  2478. data/third_party/upb/upb/message/value.h +9 -0
  2479. data/third_party/upb/upb/mini_descriptor/build_enum.c +16 -6
  2480. data/third_party/upb/upb/mini_descriptor/decode.c +115 -138
  2481. data/third_party/upb/upb/mini_descriptor/decode.h +4 -3
  2482. data/third_party/upb/upb/mini_descriptor/internal/encode.hpp +1 -1
  2483. data/third_party/upb/upb/mini_descriptor/link.c +4 -0
  2484. data/third_party/upb/upb/mini_table/extension.h +8 -1
  2485. data/third_party/upb/upb/mini_table/extension_registry.c +25 -13
  2486. data/third_party/upb/upb/mini_table/extension_registry.h +13 -6
  2487. data/third_party/upb/upb/mini_table/internal/enum.h +1 -1
  2488. data/third_party/upb/upb/mini_table/internal/extension.h +24 -1
  2489. data/third_party/upb/upb/mini_table/internal/field.h +4 -4
  2490. data/third_party/upb/upb/mini_table/internal/message.h +1 -1
  2491. data/third_party/upb/upb/mini_table/message.c +21 -13
  2492. data/third_party/upb/upb/port/atomic.h +134 -7
  2493. data/third_party/upb/upb/port/def.inc +184 -47
  2494. data/third_party/upb/upb/port/undef.inc +14 -0
  2495. data/third_party/upb/upb/reflection/common.h +1 -11
  2496. data/third_party/upb/upb/reflection/def.hpp +5 -1
  2497. data/third_party/upb/upb/reflection/def_pool.c +10 -3
  2498. data/third_party/upb/upb/reflection/def_pool.h +2 -2
  2499. data/third_party/upb/upb/reflection/descriptor_bootstrap.h +19 -0
  2500. data/third_party/upb/upb/reflection/enum_def.c +4 -4
  2501. data/third_party/upb/upb/reflection/enum_reserved_range.c +1 -1
  2502. data/third_party/upb/upb/reflection/enum_value_def.c +9 -8
  2503. data/third_party/upb/upb/reflection/extension_range.c +1 -2
  2504. data/third_party/upb/upb/reflection/field_def.c +6 -22
  2505. data/third_party/upb/upb/reflection/field_def.h +1 -1
  2506. data/third_party/upb/upb/reflection/file_def.c +16 -10
  2507. data/third_party/upb/upb/reflection/internal/def_builder.c +1 -1
  2508. data/third_party/upb/upb/reflection/internal/def_builder.h +35 -10
  2509. data/third_party/upb/upb/reflection/internal/enum_value_def.h +1 -1
  2510. data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +1 -1
  2511. data/third_party/upb/upb/reflection/message.c +19 -16
  2512. data/third_party/upb/upb/reflection/message.h +3 -1
  2513. data/third_party/upb/upb/reflection/message_def.c +4 -7
  2514. data/third_party/upb/upb/reflection/message_reserved_range.c +1 -1
  2515. data/third_party/upb/upb/reflection/method_def.c +1 -1
  2516. data/third_party/upb/upb/reflection/oneof_def.c +3 -3
  2517. data/third_party/upb/upb/reflection/service_def.c +2 -5
  2518. data/third_party/upb/upb/text/encode.c +17 -20
  2519. data/third_party/upb/upb/text/internal/encode.c +25 -6
  2520. data/third_party/upb/upb/text/internal/encode.h +6 -1
  2521. data/third_party/upb/upb/wire/decode.c +154 -107
  2522. data/third_party/upb/upb/wire/decode.h +5 -3
  2523. data/third_party/upb/upb/wire/encode.c +114 -55
  2524. data/third_party/upb/upb/wire/encode.h +2 -0
  2525. data/third_party/upb/upb/wire/eps_copy_input_stream.h +18 -20
  2526. data/third_party/upb/upb/wire/internal/decode_fast.c +2 -2
  2527. data/third_party/upb/upb/wire/internal/decode_fast.h +4 -0
  2528. data/third_party/upb/upb/wire/internal/decoder.h +4 -11
  2529. data/third_party/utf8_range/utf8_range.c +15 -275
  2530. data/third_party/utf8_range/utf8_range_neon.inc +117 -0
  2531. data/third_party/utf8_range/utf8_range_sse.inc +272 -0
  2532. data/third_party/zlib/deflate.c +40 -15
  2533. data/third_party/zlib/deflate.h +33 -2
  2534. data/third_party/zlib/gzguts.h +2 -6
  2535. data/third_party/zlib/inflate.c +1 -1
  2536. data/third_party/zlib/inftrees.c +3 -3
  2537. data/third_party/zlib/inftrees.h +2 -2
  2538. data/third_party/zlib/trees.c +18 -4
  2539. data/third_party/zlib/zconf.h +1 -9
  2540. data/third_party/zlib/zlib.h +12 -12
  2541. data/third_party/zlib/zutil.h +4 -25
  2542. metadata +631 -521
  2543. data/include/grpc/grpc_cronet.h +0 -37
  2544. data/src/core/ext/transport/chttp2/transport/context_list_entry.h +0 -82
  2545. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb.h +0 -426
  2546. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.c +0 -87
  2547. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.h +0 -32
  2548. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb.h +0 -407
  2549. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.c +0 -124
  2550. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.h +0 -38
  2551. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.c +0 -108
  2552. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.h +0 -33
  2553. data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.c +0 -67
  2554. data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.h +0 -48
  2555. data/src/core/lib/channel/call_finalization.h +0 -88
  2556. data/src/core/lib/channel/status_util.cc +0 -153
  2557. data/src/core/lib/channel/status_util.h +0 -80
  2558. data/src/core/lib/config/config_vars.cc +0 -151
  2559. data/src/core/lib/config/config_vars.h +0 -128
  2560. data/src/core/lib/config/config_vars_non_generated.cc +0 -49
  2561. data/src/core/lib/config/core_configuration.cc +0 -111
  2562. data/src/core/lib/config/core_configuration.h +0 -242
  2563. data/src/core/lib/config/load_config.cc +0 -77
  2564. data/src/core/lib/config/load_config.h +0 -54
  2565. data/src/core/lib/event_engine/forkable.cc +0 -107
  2566. data/src/core/lib/event_engine/forkable.h +0 -69
  2567. data/src/core/lib/iomgr/executor.cc +0 -452
  2568. data/src/core/lib/iomgr/executor.h +0 -119
  2569. data/src/core/lib/iomgr/python_util.h +0 -46
  2570. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +0 -69
  2571. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +0 -50
  2572. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +0 -75
  2573. data/src/core/lib/security/context/security_context.cc +0 -331
  2574. data/src/core/lib/security/context/security_context.h +0 -202
  2575. data/src/core/lib/security/credentials/alts/alts_credentials.cc +0 -116
  2576. data/src/core/lib/security/credentials/alts/alts_credentials.h +0 -127
  2577. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +0 -71
  2578. data/src/core/lib/security/credentials/alts/check_gcp_environment.h +0 -57
  2579. data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +0 -67
  2580. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +0 -32
  2581. data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +0 -101
  2582. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +0 -123
  2583. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +0 -45
  2584. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h +0 -74
  2585. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc +0 -55
  2586. data/src/core/lib/security/credentials/call_creds_util.cc +0 -97
  2587. data/src/core/lib/security/credentials/call_creds_util.h +0 -43
  2588. data/src/core/lib/security/credentials/channel_creds_registry.h +0 -126
  2589. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +0 -241
  2590. data/src/core/lib/security/credentials/composite/composite_credentials.cc +0 -168
  2591. data/src/core/lib/security/credentials/composite/composite_credentials.h +0 -134
  2592. data/src/core/lib/security/credentials/credentials.cc +0 -160
  2593. data/src/core/lib/security/credentials/credentials.h +0 -298
  2594. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +0 -529
  2595. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +0 -117
  2596. data/src/core/lib/security/credentials/external/aws_request_signer.cc +0 -230
  2597. data/src/core/lib/security/credentials/external/aws_request_signer.h +0 -72
  2598. data/src/core/lib/security/credentials/external/external_account_credentials.cc +0 -642
  2599. data/src/core/lib/security/credentials/external/external_account_credentials.h +0 -207
  2600. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +0 -175
  2601. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +0 -80
  2602. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +0 -221
  2603. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +0 -73
  2604. data/src/core/lib/security/credentials/fake/fake_credentials.cc +0 -103
  2605. data/src/core/lib/security/credentials/fake/fake_credentials.h +0 -124
  2606. data/src/core/lib/security/credentials/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +0 -195
  2607. data/src/core/lib/security/credentials/gcp_service_account_identity/gcp_service_account_identity_credentials.h +0 -90
  2608. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +0 -38
  2609. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +0 -430
  2610. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +0 -101
  2611. data/src/core/lib/security/credentials/iam/iam_credentials.cc +0 -78
  2612. data/src/core/lib/security/credentials/iam/iam_credentials.h +0 -66
  2613. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +0 -71
  2614. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +0 -61
  2615. data/src/core/lib/security/credentials/jwt/json_token.cc +0 -318
  2616. data/src/core/lib/security/credentials/jwt/json_token.h +0 -78
  2617. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +0 -182
  2618. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +0 -106
  2619. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +0 -988
  2620. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +0 -122
  2621. data/src/core/lib/security/credentials/local/local_credentials.cc +0 -68
  2622. data/src/core/lib/security/credentials/local/local_credentials.h +0 -77
  2623. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +0 -653
  2624. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +0 -197
  2625. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +0 -202
  2626. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +0 -123
  2627. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +0 -474
  2628. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +0 -144
  2629. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +0 -338
  2630. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +0 -215
  2631. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_match.cc +0 -84
  2632. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +0 -482
  2633. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +0 -206
  2634. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +0 -237
  2635. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +0 -169
  2636. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +0 -161
  2637. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +0 -145
  2638. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +0 -258
  2639. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.h +0 -130
  2640. data/src/core/lib/security/credentials/tls/tls_credentials.cc +0 -170
  2641. data/src/core/lib/security/credentials/tls/tls_credentials.h +0 -75
  2642. data/src/core/lib/security/credentials/tls/tls_utils.cc +0 -127
  2643. data/src/core/lib/security/credentials/tls/tls_utils.h +0 -50
  2644. data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.cc +0 -298
  2645. data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.h +0 -175
  2646. data/src/core/lib/security/credentials/xds/xds_credentials.cc +0 -230
  2647. data/src/core/lib/security/credentials/xds/xds_credentials.h +0 -110
  2648. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +0 -303
  2649. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +0 -78
  2650. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +0 -314
  2651. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +0 -42
  2652. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +0 -118
  2653. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +0 -102
  2654. data/src/core/lib/security/security_connector/load_system_roots.h +0 -35
  2655. data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +0 -36
  2656. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +0 -165
  2657. data/src/core/lib/security/security_connector/load_system_roots_supported.h +0 -44
  2658. data/src/core/lib/security/security_connector/load_system_roots_windows.cc +0 -85
  2659. data/src/core/lib/security/security_connector/local/local_security_connector.cc +0 -306
  2660. data/src/core/lib/security/security_connector/local/local_security_connector.h +0 -62
  2661. data/src/core/lib/security/security_connector/security_connector.cc +0 -123
  2662. data/src/core/lib/security/security_connector/security_connector.h +0 -197
  2663. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +0 -403
  2664. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +0 -81
  2665. data/src/core/lib/security/security_connector/ssl_utils.cc +0 -628
  2666. data/src/core/lib/security/security_connector/ssl_utils.h +0 -188
  2667. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +0 -816
  2668. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +0 -285
  2669. data/src/core/lib/security/transport/auth_filters.h +0 -144
  2670. data/src/core/lib/security/transport/client_auth_filter.cc +0 -219
  2671. data/src/core/lib/security/transport/server_auth_filter.cc +0 -215
  2672. data/src/core/lib/security/util/json_util.cc +0 -69
  2673. data/src/core/lib/security/util/json_util.h +0 -43
  2674. data/src/core/lib/surface/client_call.cc +0 -427
  2675. data/src/core/lib/surface/client_call.h +0 -179
  2676. data/src/core/lib/surface/server_call.cc +0 -221
  2677. data/src/core/lib/surface/server_call.h +0 -168
  2678. data/src/core/lib/transport/call_arena_allocator.cc +0 -27
  2679. data/src/core/lib/transport/call_arena_allocator.h +0 -91
  2680. data/src/core/lib/transport/call_destination.h +0 -76
  2681. data/src/core/lib/transport/call_filters.cc +0 -142
  2682. data/src/core/lib/transport/call_filters.h +0 -1899
  2683. data/src/core/lib/transport/call_spine.cc +0 -131
  2684. data/src/core/lib/transport/call_spine.h +0 -435
  2685. data/src/core/lib/transport/call_state.cc +0 -39
  2686. data/src/core/lib/transport/call_state.h +0 -1061
  2687. data/src/core/lib/transport/custom_metadata.h +0 -30
  2688. data/src/core/lib/transport/http2_errors.h +0 -41
  2689. data/src/core/lib/transport/interception_chain.cc +0 -147
  2690. data/src/core/lib/transport/interception_chain.h +0 -253
  2691. data/src/core/lib/transport/message.cc +0 -44
  2692. data/src/core/lib/transport/message.h +0 -66
  2693. data/src/core/lib/transport/metadata.cc +0 -61
  2694. data/src/core/lib/transport/metadata.h +0 -113
  2695. data/src/core/lib/transport/metadata_batch.cc +0 -374
  2696. data/src/core/lib/transport/metadata_batch.h +0 -1599
  2697. data/src/core/lib/transport/metadata_compression_traits.h +0 -66
  2698. data/src/core/lib/transport/metadata_info.cc +0 -55
  2699. data/src/core/lib/transport/metadata_info.h +0 -85
  2700. data/src/core/lib/transport/parsed_metadata.cc +0 -35
  2701. data/src/core/lib/transport/parsed_metadata.h +0 -429
  2702. data/src/core/lib/transport/simple_slice_based_metadata.h +0 -53
  2703. data/src/core/util/atm.cc +0 -34
  2704. data/third_party/abseil-cpp/absl/base/internal/fast_type_id.h +0 -50
  2705. data/third_party/abseil-cpp/absl/base/internal/inline_variable.h +0 -108
  2706. data/third_party/abseil-cpp/absl/base/internal/invoke.h +0 -241
  2707. data/third_party/abseil-cpp/absl/base/internal/nullability_impl.h +0 -108
  2708. data/third_party/abseil-cpp/absl/log/log_entry.cc +0 -41
  2709. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.cc +0 -253
  2710. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.h +0 -131
  2711. data/third_party/abseil-cpp/absl/strings/cord_buffer.cc +0 -30
  2712. data/third_party/abseil-cpp/absl/types/bad_optional_access.cc +0 -66
  2713. data/third_party/abseil-cpp/absl/types/bad_optional_access.h +0 -78
  2714. data/third_party/abseil-cpp/absl/types/bad_variant_access.cc +0 -82
  2715. data/third_party/abseil-cpp/absl/types/bad_variant_access.h +0 -82
  2716. data/third_party/abseil-cpp/absl/types/internal/optional.h +0 -352
  2717. data/third_party/abseil-cpp/absl/types/internal/variant.h +0 -1622
  2718. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +0 -284
  2719. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +0 -95
  2720. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c +0 -89
  2721. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c +0 -84
  2722. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +0 -151
  2723. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c +0 -85
  2724. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +0 -465
  2725. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +0 -279
  2726. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +0 -235
  2727. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c +0 -74
  2728. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c +0 -457
  2729. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +0 -245
  2730. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +0 -259
  2731. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +0 -214
  2732. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +0 -183
  2733. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +0 -397
  2734. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c +0 -103
  2735. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +0 -98
  2736. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +0 -105
  2737. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c +0 -94
  2738. data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.c +0 -241
  2739. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +0 -973
  2740. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +0 -708
  2741. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +0 -212
  2742. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +0 -317
  2743. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +0 -126
  2744. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +0 -268
  2745. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +0 -479
  2746. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +0 -726
  2747. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +0 -309
  2748. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +0 -544
  2749. data/third_party/boringssl-with-bazel/src/crypto/bio/errno.c +0 -92
  2750. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +0 -235
  2751. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +0 -334
  2752. data/third_party/boringssl-with-bazel/src/crypto/bio/hexdump.c +0 -192
  2753. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +0 -480
  2754. data/third_party/boringssl-with-bazel/src/crypto/bio/printf.c +0 -102
  2755. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +0 -189
  2756. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +0 -133
  2757. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +0 -169
  2758. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c +0 -57
  2759. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c +0 -465
  2760. data/third_party/boringssl-with-bazel/src/crypto/buf/buf.c +0 -158
  2761. data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.c +0 -53
  2762. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +0 -266
  2763. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c +0 -718
  2764. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +0 -911
  2765. data/third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.c +0 -156
  2766. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +0 -224
  2767. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c +0 -127
  2768. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c +0 -152
  2769. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c +0 -284
  2770. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c +0 -841
  2771. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +0 -348
  2772. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_des.c +0 -228
  2773. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c +0 -90
  2774. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c +0 -455
  2775. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c +0 -94
  2776. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +0 -598
  2777. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +0 -280
  2778. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +0 -514
  2779. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +0 -672
  2780. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c +0 -75
  2781. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c +0 -55
  2782. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c +0 -62
  2783. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c +0 -61
  2784. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.c +0 -93
  2785. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c +0 -41
  2786. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c +0 -54
  2787. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c +0 -151
  2788. data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.c +0 -326
  2789. data/third_party/boringssl-with-bazel/src/crypto/crypto.c +0 -188
  2790. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +0 -2157
  2791. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.c +0 -18
  2792. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c +0 -523
  2793. data/third_party/boringssl-with-bazel/src/crypto/des/des.c +0 -871
  2794. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c +0 -165
  2795. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c +0 -480
  2796. data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +0 -266
  2797. data/third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c +0 -1539
  2798. data/third_party/boringssl-with-bazel/src/crypto/dilithium/internal.h +0 -58
  2799. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +0 -997
  2800. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +0 -419
  2801. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +0 -572
  2802. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.c +0 -96
  2803. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +0 -508
  2804. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +0 -78
  2805. data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c +0 -124
  2806. data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c +0 -411
  2807. data/third_party/boringssl-with-bazel/src/crypto/engine/engine.c +0 -91
  2808. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +0 -903
  2809. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +0 -430
  2810. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +0 -547
  2811. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c +0 -483
  2812. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh.c +0 -137
  2813. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.c +0 -120
  2814. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c +0 -338
  2815. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +0 -274
  2816. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +0 -332
  2817. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c +0 -100
  2818. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c +0 -224
  2819. data/third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.c +0 -232
  2820. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c +0 -646
  2821. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c +0 -241
  2822. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c +0 -106
  2823. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.c +0 -236
  2824. data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.c +0 -146
  2825. data/third_party/boringssl-with-bazel/src/crypto/evp/print.c +0 -381
  2826. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +0 -209
  2827. data/third_party/boringssl-with-bazel/src/crypto/evp/sign.c +0 -156
  2828. data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +0 -236
  2829. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.c.inc +0 -127
  2830. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.c.inc +0 -1281
  2831. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.c.inc +0 -242
  2832. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c.inc +0 -124
  2833. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +0 -279
  2834. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/add.c.inc +0 -310
  2835. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/x86_64-gcc.c.inc +0 -541
  2836. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c.inc +0 -428
  2837. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.c.inc +0 -267
  2838. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.c.inc +0 -201
  2839. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.c.inc +0 -234
  2840. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c.inc +0 -876
  2841. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.c.inc +0 -87
  2842. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c.inc +0 -1320
  2843. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c.inc +0 -397
  2844. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c.inc +0 -331
  2845. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/generic.c.inc +0 -624
  2846. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/jacobi.c.inc +0 -146
  2847. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c.inc +0 -532
  2848. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c.inc +0 -222
  2849. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.c.inc +0 -744
  2850. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c.inc +0 -1077
  2851. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.c.inc +0 -354
  2852. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.c.inc +0 -137
  2853. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.c.inc +0 -363
  2854. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c.inc +0 -499
  2855. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.c.inc +0 -287
  2856. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c.inc +0 -717
  2857. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c.inc +0 -1464
  2858. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aesccm.c.inc +0 -446
  2859. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/cmac.c.inc +0 -322
  2860. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.c.inc +0 -245
  2861. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c.inc +0 -489
  2862. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c.inc +0 -288
  2863. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c.inc +0 -304
  2864. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/digestsign.c.inc +0 -267
  2865. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c.inc +0 -1043
  2866. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c.inc +0 -561
  2867. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c.inc +0 -491
  2868. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.c.inc +0 -104
  2869. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c.inc +0 -359
  2870. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c.inc +0 -1163
  2871. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.c.inc +0 -734
  2872. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c.inc +0 -749
  2873. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c.inc +0 -173
  2874. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c.inc +0 -336
  2875. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c.inc +0 -269
  2876. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.c.inc +0 -255
  2877. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c.inc +0 -264
  2878. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c.inc +0 -130
  2879. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c.inc +0 -317
  2880. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c +0 -29
  2881. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.c.inc +0 -112
  2882. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.c.inc +0 -256
  2883. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c.inc +0 -240
  2884. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/internal.h +0 -37
  2885. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c.inc +0 -284
  2886. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c.inc +0 -164
  2887. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c.inc +0 -200
  2888. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c.inc +0 -196
  2889. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c.inc +0 -743
  2890. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c.inc +0 -302
  2891. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +0 -428
  2892. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c.inc +0 -87
  2893. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.c.inc +0 -90
  2894. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.c.inc +0 -220
  2895. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c.inc +0 -479
  2896. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.c.inc +0 -241
  2897. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c.inc +0 -420
  2898. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c.inc +0 -1038
  2899. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c.inc +0 -1351
  2900. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c.inc +0 -121
  2901. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c.inc +0 -1038
  2902. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.c.inc +0 -328
  2903. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c.inc +0 -439
  2904. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c.inc +0 -359
  2905. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c.inc +0 -543
  2906. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c.inc +0 -218
  2907. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +0 -1092
  2908. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c +0 -2234
  2909. data/third_party/boringssl-with-bazel/src/crypto/keccak/internal.h +0 -70
  2910. data/third_party/boringssl-with-bazel/src/crypto/keccak/keccak.c +0 -279
  2911. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +0 -845
  2912. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c +0 -350
  2913. data/third_party/boringssl-with-bazel/src/crypto/mem.c +0 -613
  2914. data/third_party/boringssl-with-bazel/src/crypto/mldsa/internal.h +0 -73
  2915. data/third_party/boringssl-with-bazel/src/crypto/mldsa/mldsa.c +0 -1687
  2916. data/third_party/boringssl-with-bazel/src/crypto/mlkem/internal.h +0 -90
  2917. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +0 -564
  2918. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_xref.c +0 -122
  2919. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c +0 -243
  2920. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c +0 -294
  2921. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +0 -789
  2922. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.c +0 -87
  2923. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +0 -250
  2924. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +0 -183
  2925. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.c +0 -64
  2926. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.c +0 -64
  2927. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c +0 -193
  2928. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +0 -523
  2929. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.c +0 -316
  2930. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +0 -527
  2931. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +0 -1352
  2932. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +0 -314
  2933. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c +0 -308
  2934. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c +0 -847
  2935. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +0 -261
  2936. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +0 -65
  2937. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/fork_detect.c +0 -195
  2938. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c +0 -44
  2939. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.c +0 -60
  2940. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getrandom_fillin.h +0 -64
  2941. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/ios.c +0 -42
  2942. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +0 -174
  2943. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +0 -77
  2944. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/sysrand_internal.h +0 -37
  2945. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.c +0 -46
  2946. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/urandom.c +0 -328
  2947. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +0 -102
  2948. data/third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c +0 -98
  2949. data/third_party/boringssl-with-bazel/src/crypto/refcount.c +0 -59
  2950. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/internal.h +0 -79
  2951. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c +0 -324
  2952. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c +0 -570
  2953. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_print.c +0 -22
  2954. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +0 -79
  2955. data/third_party/boringssl-with-bazel/src/crypto/spx/address.c +0 -101
  2956. data/third_party/boringssl-with-bazel/src/crypto/spx/address.h +0 -50
  2957. data/third_party/boringssl-with-bazel/src/crypto/spx/fors.c +0 -133
  2958. data/third_party/boringssl-with-bazel/src/crypto/spx/fors.h +0 -54
  2959. data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.c +0 -150
  2960. data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.h +0 -61
  2961. data/third_party/boringssl-with-bazel/src/crypto/spx/params.h +0 -71
  2962. data/third_party/boringssl-with-bazel/src/crypto/spx/spx.c +0 -140
  2963. data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.c +0 -53
  2964. data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.h +0 -44
  2965. data/third_party/boringssl-with-bazel/src/crypto/spx/thash.c +0 -136
  2966. data/third_party/boringssl-with-bazel/src/crypto/spx/thash.h +0 -70
  2967. data/third_party/boringssl-with-bazel/src/crypto/spx/wots.c +0 -135
  2968. data/third_party/boringssl-with-bazel/src/crypto/spx/wots.h +0 -45
  2969. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +0 -534
  2970. data/third_party/boringssl-with-bazel/src/crypto/thread.c +0 -110
  2971. data/third_party/boringssl-with-bazel/src/crypto/thread_none.c +0 -51
  2972. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +0 -150
  2973. data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +0 -236
  2974. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +0 -1668
  2975. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +0 -687
  2976. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +0 -1267
  2977. data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.c +0 -94
  2978. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c +0 -136
  2979. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +0 -116
  2980. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +0 -178
  2981. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +0 -585
  2982. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +0 -400
  2983. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +0 -269
  2984. data/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.c +0 -79
  2985. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +0 -227
  2986. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.c +0 -786
  2987. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +0 -401
  2988. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +0 -145
  2989. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +0 -245
  2990. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +0 -329
  2991. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +0 -121
  2992. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akey.c +0 -221
  2993. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akeya.c +0 -73
  2994. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_alt.c +0 -634
  2995. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bcons.c +0 -135
  2996. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bitst.c +0 -141
  2997. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_conf.c +0 -416
  2998. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_cpols.c +0 -482
  2999. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_crld.c +0 -598
  3000. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_enum.c +0 -112
  3001. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_extku.c +0 -154
  3002. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_genn.c +0 -270
  3003. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ia5.c +0 -122
  3004. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_info.c +0 -211
  3005. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_int.c +0 -121
  3006. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_lib.c +0 -344
  3007. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ncons.c +0 -555
  3008. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ocsp.c +0 -81
  3009. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pcons.c +0 -142
  3010. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pmaps.c +0 -150
  3011. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_prn.c +0 -224
  3012. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_purp.c +0 -624
  3013. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_skey.c +0 -170
  3014. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.c +0 -1390
  3015. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.c +0 -89
  3016. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +0 -227
  3017. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +0 -280
  3018. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.c +0 -108
  3019. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.c +0 -86
  3020. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +0 -181
  3021. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +0 -599
  3022. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c +0 -206
  3023. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +0 -299
  3024. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +0 -240
  3025. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +0 -160
  3026. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.c +0 -189
  3027. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +0 -291
  3028. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +0 -1638
  3029. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +0 -440
  3030. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +0 -277
  3031. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +0 -407
  3032. data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c +0 -109
  3033. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c +0 -133
  3034. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +0 -149
  3035. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +0 -356
  3036. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +0 -97
  3037. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +0 -384
  3038. data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c +0 -78
  3039. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +0 -527
  3040. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +0 -210
  3041. data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.c +0 -116
  3042. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +0 -93
  3043. data/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.c +0 -79
  3044. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +0 -70
  3045. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +0 -544
  3046. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +0 -209
  3047. data/third_party/boringssl-with-bazel/src/gen/crypto/err_data.c +0 -1514
  3048. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +0 -129
  3049. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/spx.h +0 -90
  3050. data/third_party/upb/upb/message/internal/compare_unknown.c +0 -289
  3051. data/third_party/upb/upb/message/internal/compare_unknown.h +0 -49
@@ -1,148 +1,23 @@
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).
108
- *
109
- */
110
- /* ====================================================================
111
- * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED.
112
- * ECC cipher suite support in OpenSSL originally developed by
113
- * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project.
114
- */
115
- /* ====================================================================
116
- * Copyright 2005 Nokia. All rights reserved.
117
- *
118
- * The portions of the attached software ("Contribution") is developed by
119
- * Nokia Corporation and is licensed pursuant to the OpenSSL open source
120
- * license.
121
- *
122
- * The Contribution, originally written by Mika Kousa and Pasi Eronen of
123
- * Nokia Corporation, consists of the "PSK" (Pre-Shared Key) ciphersuites
124
- * support (see RFC 4279) to OpenSSL.
125
- *
126
- * No patent licenses or other rights except those expressly stated in
127
- * the OpenSSL open source license shall be deemed granted or received
128
- * expressly, by implication, estoppel, or otherwise.
129
- *
130
- * No assurances are provided by Nokia that the Contribution does not
131
- * infringe the patent or other intellectual property rights of any third
132
- * party or that the license provides you with all the necessary rights
133
- * to make use of the Contribution.
134
- *
135
- * THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IN
136
- * ADDITION TO THE DISCLAIMERS INCLUDED IN THE LICENSE, NOKIA
137
- * SPECIFICALLY DISCLAIMS ANY LIABILITY FOR CLAIMS BROUGHT BY YOU OR ANY
138
- * OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR
139
- * OTHERWISE.
140
- */
1
+ // Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
2
+ // Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
3
+ // Copyright 2005 Nokia. All rights reserved.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 (the "License");
6
+ // you may not use this file except in compliance with the License.
7
+ // You may obtain a copy of the License at
8
+ //
9
+ // https://www.apache.org/licenses/LICENSE-2.0
10
+ //
11
+ // Unless required by applicable law or agreed to in writing, software
12
+ // distributed under the License is distributed on an "AS IS" BASIS,
13
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ // See the License for the specific language governing permissions and
15
+ // limitations under the License.
141
16
 
142
17
  #ifndef OPENSSL_HEADER_SSL_H
143
18
  #define OPENSSL_HEADER_SSL_H
144
19
 
145
- #include <openssl/base.h>
20
+ #include <openssl/base.h> // IWYU pragma: export
146
21
 
147
22
  #include <openssl/bio.h>
148
23
  #include <openssl/buf.h>
@@ -242,12 +117,13 @@ OPENSSL_EXPORT int SSL_is_server(const SSL *ssl);
242
117
  // SSL_is_dtls returns one if |ssl| is a DTLS connection and zero otherwise.
243
118
  OPENSSL_EXPORT int SSL_is_dtls(const SSL *ssl);
244
119
 
120
+ // SSL_is_quic returns one if |ssl| is a QUIC connection and zero otherwise.
121
+ OPENSSL_EXPORT int SSL_is_quic(const SSL *ssl);
122
+
245
123
  // SSL_set_bio configures |ssl| to read from |rbio| and write to |wbio|. |ssl|
246
124
  // takes ownership of the two |BIO|s. If |rbio| and |wbio| are the same, |ssl|
247
- // only takes ownership of one reference.
248
- //
249
- // In DTLS, |rbio| must be non-blocking to properly handle timeouts and
250
- // retransmits.
125
+ // only takes ownership of one reference. See |SSL_set0_rbio| and
126
+ // |SSL_set0_wbio| for requirements on |rbio| and |wbio|, respectively.
251
127
  //
252
128
  // If |rbio| is the same as the currently configured |BIO| for reading, that
253
129
  // side is left untouched and is not freed.
@@ -263,14 +139,19 @@ OPENSSL_EXPORT int SSL_is_dtls(const SSL *ssl);
263
139
  OPENSSL_EXPORT void SSL_set_bio(SSL *ssl, BIO *rbio, BIO *wbio);
264
140
 
265
141
  // SSL_set0_rbio configures |ssl| to read from |rbio|. It takes ownership of
266
- // |rbio|.
142
+ // |rbio|. |rbio| may be a custom |BIO|, in which case it must implement
143
+ // |BIO_read| with |BIO_meth_set_read|. In DTLS, |rbio| must be non-blocking to
144
+ // properly handle timeouts and retransmits.
267
145
  //
268
146
  // Note that, although this function and |SSL_set0_wbio| may be called on the
269
147
  // same |BIO|, each call takes a reference. Use |BIO_up_ref| to balance this.
270
148
  OPENSSL_EXPORT void SSL_set0_rbio(SSL *ssl, BIO *rbio);
271
149
 
272
150
  // SSL_set0_wbio configures |ssl| to write to |wbio|. It takes ownership of
273
- // |wbio|.
151
+ // |wbio|. |wbio| may be a custom |BIO|, in which case it must implement
152
+ // |BIO_write| with |BIO_meth_set_write|. It must additionally implement
153
+ // |BIO_flush| with |BIO_meth_set_ctrl| and |BIO_CTRL_FLUSH|. If flushing is
154
+ // unnecessary with |wbio|, |BIO_flush| should return one and do nothing.
274
155
  //
275
156
  // Note that, although this function and |SSL_set0_rbio| may be called on the
276
157
  // same |BIO|, each call takes a reference. Use |BIO_up_ref| to balance this.
@@ -329,11 +210,19 @@ OPENSSL_EXPORT int SSL_set_wfd(SSL *ssl, int fd);
329
210
  // returns <= 0. The caller should pass the value into |SSL_get_error| to
330
211
  // determine how to proceed.
331
212
  //
332
- // In DTLS, the caller must drive retransmissions. Whenever |SSL_get_error|
333
- // signals |SSL_ERROR_WANT_READ|, use |DTLSv1_get_timeout| to determine the
334
- // current timeout. If it expires before the next retry, call
335
- // |DTLSv1_handle_timeout|. Note that DTLS handshake retransmissions use fresh
336
- // sequence numbers, so it is not sufficient to replay packets at the transport.
213
+ // In DTLS, the caller must drive retransmissions and timeouts. After calling
214
+ // this function, the caller must use |DTLSv1_get_timeout| to determine the
215
+ // current timeout, if any. If it expires before the application next calls into
216
+ // |ssl|, call |DTLSv1_handle_timeout|. Note that DTLS handshake retransmissions
217
+ // use fresh sequence numbers, so it is not sufficient to replay packets at the
218
+ // transport.
219
+ //
220
+ // After the DTLS handshake, some retransmissions may remain. If |ssl| wrote
221
+ // last in the handshake, it may need to retransmit the final flight in case of
222
+ // packet loss. Additionally, in DTLS 1.3, it may need to retransmit
223
+ // post-handshake messages. To handle these, the caller must always be prepared
224
+ // to receive packets and process them with |SSL_read|, even when the
225
+ // application protocol would otherwise not read from the connection.
337
226
  //
338
227
  // TODO(davidben): Ensure 0 is only returned on transport EOF.
339
228
  // https://crbug.com/466303.
@@ -352,6 +241,12 @@ OPENSSL_EXPORT int SSL_accept(SSL *ssl);
352
241
  // returns the number of bytes read. Otherwise, it returns <= 0. The caller
353
242
  // should pass the value into |SSL_get_error| to determine how to proceed.
354
243
  //
244
+ // In DTLS 1.3, the caller must also drive timeouts from retransmitting the
245
+ // final flight of the handshake, as well as post-handshake messages. After
246
+ // calling this function, the caller must use |DTLSv1_get_timeout| to determine
247
+ // the current timeout, if any. If it expires before the application next calls
248
+ // into |ssl|, call |DTLSv1_handle_timeout|.
249
+ //
355
250
  // TODO(davidben): Ensure 0 is only returned on transport EOF.
356
251
  // https://crbug.com/466303.
357
252
  OPENSSL_EXPORT int SSL_read(SSL *ssl, void *buf, int num);
@@ -478,16 +373,12 @@ OPENSSL_EXPORT int SSL_get_error(const SSL *ssl, int ret_code);
478
373
  #define SSL_ERROR_NONE 0
479
374
 
480
375
  // SSL_ERROR_SSL indicates the operation failed within the library. The caller
481
- // may inspect the error queue for more information.
376
+ // may inspect the error queue (see |ERR_get_error|) for more information.
482
377
  #define SSL_ERROR_SSL 1
483
378
 
484
379
  // SSL_ERROR_WANT_READ indicates the operation failed attempting to read from
485
380
  // the transport. The caller may retry the operation when the transport is ready
486
381
  // for reading.
487
- //
488
- // If signaled by a DTLS handshake, the caller must also call
489
- // |DTLSv1_get_timeout| and |DTLSv1_handle_timeout| as appropriate. See
490
- // |SSL_do_handshake|.
491
382
  #define SSL_ERROR_WANT_READ 2
492
383
 
493
384
  // SSL_ERROR_WANT_WRITE indicates the operation failed attempting to write to
@@ -600,28 +491,29 @@ OPENSSL_EXPORT int SSL_set_mtu(SSL *ssl, unsigned mtu);
600
491
  // DTLSv1_set_initial_timeout_duration sets the initial duration for a DTLS
601
492
  // handshake timeout.
602
493
  //
603
- // This duration overrides the default of 1 second, which is the strong
604
- // recommendation of RFC 6347 (see section 4.2.4.1). However, there may exist
605
- // situations where a shorter timeout would be beneficial, such as for
606
- // time-sensitive applications.
494
+ // This duration overrides the default of 400 milliseconds, which is
495
+ // recommendation of RFC 9147 for real-time protocols.
607
496
  OPENSSL_EXPORT void DTLSv1_set_initial_timeout_duration(SSL *ssl,
608
- unsigned duration_ms);
497
+ uint32_t duration_ms);
609
498
 
610
- // DTLSv1_get_timeout queries the next DTLS handshake timeout. If there is a
611
- // timeout in progress, it sets |*out| to the time remaining and returns one.
612
- // Otherwise, it returns zero.
499
+ // DTLSv1_get_timeout queries the running DTLS timers. If there are any in
500
+ // progress, it sets |*out| to the time remaining until the first timer expires
501
+ // and returns one. Otherwise, it returns zero. Timers may be scheduled both
502
+ // during and after the handshake.
613
503
  //
614
504
  // When the timeout expires, call |DTLSv1_handle_timeout| to handle the
615
505
  // retransmit behavior.
616
506
  //
617
- // NOTE: This function must be queried again whenever the handshake state
618
- // machine changes, including when |DTLSv1_handle_timeout| is called.
507
+ // NOTE: This function must be queried again whenever the state machine changes,
508
+ // including when |DTLSv1_handle_timeout| is called.
619
509
  OPENSSL_EXPORT int DTLSv1_get_timeout(const SSL *ssl, struct timeval *out);
620
510
 
621
- // DTLSv1_handle_timeout is called when a DTLS handshake timeout expires. If no
622
- // timeout had expired, it returns 0. Otherwise, it retransmits the previous
623
- // flight of handshake messages and returns 1. If too many timeouts had expired
624
- // without progress or an error occurs, it returns -1.
511
+ // DTLSv1_handle_timeout is called when a DTLS timeout expires. If no timeout
512
+ // had expired, it returns 0. Otherwise, it handles the timeout and returns 1 on
513
+ // success or -1 on error.
514
+ //
515
+ // This function may write to the transport (e.g. to retransmit messages) or
516
+ // update |ssl|'s internal state and schedule an updated timer.
625
517
  //
626
518
  // The caller's external timer should be compatible with the one |ssl| queries
627
519
  // within some fudge factor. Otherwise, the call will be a no-op, but
@@ -629,12 +521,16 @@ OPENSSL_EXPORT int DTLSv1_get_timeout(const SSL *ssl, struct timeval *out);
629
521
  //
630
522
  // If the function returns -1, checking if |SSL_get_error| returns
631
523
  // |SSL_ERROR_WANT_WRITE| may be used to determine if the retransmit failed due
632
- // to a non-fatal error at the write |BIO|. However, the operation may not be
633
- // retried until the next timeout fires.
524
+ // to a non-fatal error at the write |BIO|. In this case, when the |BIO| is
525
+ // writable, the operation may be retried by calling the original function,
526
+ // |SSL_do_handshake| or |SSL_read|.
634
527
  //
635
528
  // WARNING: This function breaks the usual return value convention.
636
529
  //
637
- // TODO(davidben): This |SSL_ERROR_WANT_WRITE| behavior is kind of bizarre.
530
+ // TODO(davidben): We can make this function entirely optional by just checking
531
+ // the timers in |SSL_do_handshake| or |SSL_read|. Then timers behave like any
532
+ // other retry condition: rerun the operation and the library will make what
533
+ // progress it can.
638
534
  OPENSSL_EXPORT int DTLSv1_handle_timeout(SSL *ssl);
639
535
 
640
536
 
@@ -651,17 +547,7 @@ OPENSSL_EXPORT int DTLSv1_handle_timeout(SSL *ssl);
651
547
 
652
548
  #define DTLS1_VERSION 0xfeff
653
549
  #define DTLS1_2_VERSION 0xfefd
654
- // DTLS1_3_EXPERIMENTAL_VERSION gates experimental, in-progress code for DTLS
655
- // 1.3.
656
- //
657
- // WARNING: Do not use this value. BoringSSL's DTLS 1.3 implementation is still
658
- // under development. The code enabled by this value is neither stable nor
659
- // secure. It does not correspond to any real protocol. It is also incompatible
660
- // with other DTLS implementations, and it is not compatible with future or past
661
- // versions of BoringSSL.
662
- //
663
- // When the DTLS 1.3 implementation is complete, this symbol will be replaced.
664
- #define DTLS1_3_EXPERIMENTAL_VERSION 0xfc25
550
+ #define DTLS1_3_VERSION 0xfefc
665
551
 
666
552
  // SSL_CTX_set_min_proto_version sets the minimum protocol version for |ctx| to
667
553
  // |version|. If |version| is zero, the default minimum version is used. It
@@ -864,8 +750,9 @@ OPENSSL_EXPORT void SSL_CTX_set0_buffer_pool(SSL_CTX *ctx,
864
750
  // |SSL_CTX| and |SSL| objects maintain lists of credentials in preference
865
751
  // order. During the handshake, BoringSSL will select the first usable
866
752
  // credential from the list. Non-credential APIs, such as
867
- // |SSL_CTX_use_certificate|, configure a "default credential", which is
868
- // appended to this list if configured.
753
+ // |SSL_CTX_use_certificate|, configure a "legacy credential", which is
754
+ // appended to this list if configured. Using the legacy credential is the same
755
+ // as configuring an equivalent credential with the |SSL_CREDENTIAL| API.
869
756
  //
870
757
  // When selecting credentials, BoringSSL considers the credential's type, its
871
758
  // cryptographic capabilities, and capabilities advertised by the peer. This
@@ -887,8 +774,6 @@ OPENSSL_EXPORT void SSL_CTX_set0_buffer_pool(SSL_CTX *ctx,
887
774
  // - Whether the peer supports the signature algorithms in the certificate chain
888
775
  // - Whether the a server certificate is compatible with the server_name
889
776
  // extension (SNI)
890
- // - Whether the peer supports the certificate authority that issued the
891
- // certificate
892
777
  //
893
778
  // Credentials may be configured before the handshake or dynamically in the
894
779
  // early callback (see |SSL_CTX_set_select_certificate_cb|) and certificate
@@ -942,6 +827,26 @@ OPENSSL_EXPORT int SSL_CREDENTIAL_set1_cert_chain(SSL_CREDENTIAL *cred,
942
827
  OPENSSL_EXPORT int SSL_CREDENTIAL_set1_ocsp_response(SSL_CREDENTIAL *cred,
943
828
  CRYPTO_BUFFER *ocsp);
944
829
 
830
+ // SSL_CREDENTIAL_set1_certificate_properties parses
831
+ // |certificate_property_list| as a CertificatePropertyList (see Section 6 of
832
+ // draft-ietf-tls-trust-anchor-ids-00) and applies recognized properties to
833
+ // |cred|. It returns one on success and zero on error. It is an error if
834
+ // |certificate_property_list| does not parse correctly, or if any recognized
835
+ // properties from |certificate_property_list| cannot be applied to |cred|.
836
+ //
837
+ // CertificatePropertyList is an extensible structure which allows serving
838
+ // properties of a certificate chain to be passed from a CA, through an
839
+ // application's issuance and configuration pipeline, and to the TLS serving
840
+ // logic, without requiring application changes for each property defined.
841
+ //
842
+ // BoringSSL currently supports the following properties:
843
+ // * trust_anchor_identifier (see |SSL_CREDENTIAL_set1_trust_anchor_id|)
844
+ //
845
+ // Note this function does not automatically enable issuer matching. Callers
846
+ // must separately call |SSL_CREDENTIAL_set_must_match_issuer| if desired.
847
+ OPENSSL_EXPORT int SSL_CREDENTIAL_set1_certificate_properties(
848
+ SSL_CREDENTIAL *cred, CRYPTO_BUFFER *cert_property_list);
849
+
945
850
  // SSL_CREDENTIAL_set1_signed_cert_timestamp_list sets |cred|'s list of signed
946
851
  // certificate timestamps |sct_list|. |sct_list| must contain one or more SCT
947
852
  // structures serialised as a SignedCertificateTimestampList (see
@@ -952,6 +857,27 @@ OPENSSL_EXPORT int SSL_CREDENTIAL_set1_ocsp_response(SSL_CREDENTIAL *cred,
952
857
  OPENSSL_EXPORT int SSL_CREDENTIAL_set1_signed_cert_timestamp_list(
953
858
  SSL_CREDENTIAL *cred, CRYPTO_BUFFER *sct_list);
954
859
 
860
+ // SSL_CREDENTIAL_set_must_match_issuer configures whether |cred| should check
861
+ // if the peer supports the certificate chain's issuer.
862
+ //
863
+ // If |match| is non-zero, |cred| will only be applicable when the certificate
864
+ // chain is issued by some CA requested by the peer in the
865
+ // certificate_authorities extension or, if |cred| has a trust anchor ID (see
866
+ // |SSL_CREDENTIAL_set1_trust_anchor_id|), the trust_anchors extension. |cred|'s
867
+ // certificate chain must then be a correctly ordered certification path.
868
+ //
869
+ // If |match| is zero (default), |cred| will not be conditioned on the peer's
870
+ // requested CAs. This can be used for certificate chains that are assumed to be
871
+ // usable by most peers.
872
+ //
873
+ // This setting can be used for certificate chains that may not be usable by all
874
+ // peers, e.g. chains with fewer cross-signs or issued from a newer CA. The
875
+ // credential list is tried in order, so more specific credentials that enable
876
+ // issuer matching should generally be ordered before less specific credentials
877
+ // that do not.
878
+ OPENSSL_EXPORT void SSL_CREDENTIAL_set_must_match_issuer(SSL_CREDENTIAL *cred,
879
+ int match);
880
+
955
881
  // SSL_CTX_add1_credential appends |cred| to |ctx|'s credential list. It returns
956
882
  // one on success and zero on error. The credential list is maintained in order
957
883
  // of decreasing preference, so earlier calls are preferred over later calls.
@@ -969,7 +895,7 @@ OPENSSL_EXPORT int SSL_CTX_add1_credential(SSL_CTX *ctx, SSL_CREDENTIAL *cred);
969
895
  OPENSSL_EXPORT int SSL_add1_credential(SSL *ssl, SSL_CREDENTIAL *cred);
970
896
 
971
897
  // SSL_certs_clear removes all credentials configured on |ssl|. It also removes
972
- // the certificate chain and private key on the default credential.
898
+ // the certificate chain and private key on the legacy credential.
973
899
  OPENSSL_EXPORT void SSL_certs_clear(SSL *ssl);
974
900
 
975
901
  // SSL_get0_selected_credential returns the credential in use in the current
@@ -1000,8 +926,9 @@ OPENSSL_EXPORT const SSL_CREDENTIAL *SSL_get0_selected_credential(
1000
926
  // than return an error. Additionally, overwriting a previously-configured
1001
927
  // certificate and key pair only works if the certificate is configured first.
1002
928
  //
1003
- // Each of these functions configures the default credential. To select between
1004
- // multiple certificates, see |SSL_CREDENTIAL_new_x509| and related APIs.
929
+ // Each of these functions configures the single "legacy credential" on the
930
+ // |SSL_CTX| or |SSL|. To select between multiple certificates, use
931
+ // |SSL_CREDENTIAL_new_x509| and other APIs to configure a list of credentials.
1005
932
 
1006
933
  // SSL_CTX_use_certificate sets |ctx|'s leaf certificate to |x509|. It returns
1007
934
  // one on success and zero on failure. If |ctx| has a private key which is
@@ -1138,9 +1065,8 @@ SSL_get0_peer_verify_algorithms(const SSL *ssl, const uint16_t **out_sigalgs);
1138
1065
  // The behavior of this function is undefined except during the callbacks set by
1139
1066
  // by |SSL_CTX_set_cert_cb| and |SSL_CTX_set_client_cert_cb| or when the
1140
1067
  // handshake is paused because of them.
1141
- OPENSSL_EXPORT size_t
1142
- SSL_get0_peer_delegation_algorithms(const SSL *ssl,
1143
- const uint16_t **out_sigalgs);
1068
+ OPENSSL_EXPORT size_t SSL_get0_peer_delegation_algorithms(
1069
+ const SSL *ssl, const uint16_t **out_sigalgs);
1144
1070
 
1145
1071
  // SSL_CTX_get0_certificate returns |ctx|'s leaf certificate.
1146
1072
  OPENSSL_EXPORT X509 *SSL_CTX_get0_certificate(const SSL_CTX *ctx);
@@ -1198,8 +1124,7 @@ OPENSSL_EXPORT int SSL_CTX_set_ocsp_response(SSL_CTX *ctx,
1198
1124
  // SSL_set_ocsp_response sets the OCSP response that is sent to clients which
1199
1125
  // request it. It returns one on success and zero on error. The caller retains
1200
1126
  // ownership of |response|.
1201
- OPENSSL_EXPORT int SSL_set_ocsp_response(SSL *ssl,
1202
- const uint8_t *response,
1127
+ OPENSSL_EXPORT int SSL_set_ocsp_response(SSL *ssl, const uint8_t *response,
1203
1128
  size_t response_len);
1204
1129
 
1205
1130
  // SSL_SIGN_* are signature algorithm values as defined in TLS 1.3.
@@ -1261,17 +1186,29 @@ OPENSSL_EXPORT const EVP_MD *SSL_get_signature_algorithm_digest(
1261
1186
  OPENSSL_EXPORT int SSL_is_signature_algorithm_rsa_pss(uint16_t sigalg);
1262
1187
 
1263
1188
  // SSL_CTX_set_signing_algorithm_prefs configures |ctx| to use |prefs| as the
1264
- // preference list when signing with |ctx|'s private key. It returns one on
1265
- // success and zero on error. |prefs| should not include the internal-only value
1266
- // |SSL_SIGN_RSA_PKCS1_MD5_SHA1|.
1189
+ // preference list when signing with |ctx|'s private key in TLS 1.2 and up. It
1190
+ // returns one on success and zero on error. |prefs| should not include the
1191
+ // internal-only TLS 1.0 value |SSL_SIGN_RSA_PKCS1_MD5_SHA1|.
1192
+ //
1193
+ // This setting is not used in TLS 1.0 and 1.1. Those protocols always sign a
1194
+ // hardcoded algorithm (an MD5/SHA-1 concatenation for RSA, and SHA-1 for
1195
+ // ECDSA). BoringSSL will use those algorithms if and only if those versions are
1196
+ // used. To disable them, set the minimum version to TLS 1.2 (default) or
1197
+ // higher.
1267
1198
  OPENSSL_EXPORT int SSL_CTX_set_signing_algorithm_prefs(SSL_CTX *ctx,
1268
1199
  const uint16_t *prefs,
1269
1200
  size_t num_prefs);
1270
1201
 
1271
1202
  // SSL_set_signing_algorithm_prefs configures |ssl| to use |prefs| as the
1272
- // preference list when signing with |ssl|'s private key. It returns one on
1273
- // success and zero on error. |prefs| should not include the internal-only value
1274
- // |SSL_SIGN_RSA_PKCS1_MD5_SHA1|.
1203
+ // preference list when signing with |ssl|'s private key in TLS 1.2 and up. It
1204
+ // returns one on success and zero on error. |prefs| should not include the
1205
+ // internal-only TLS 1.0 value |SSL_SIGN_RSA_PKCS1_MD5_SHA1|.
1206
+ //
1207
+ // This setting is not used in TLS 1.0 and 1.1. Those protocols always sign a
1208
+ // hardcoded algorithm (an MD5/SHA-1 concatenation for RSA, and SHA-1 for
1209
+ // ECDSA). BoringSSL will use those algorithms if and only if those versions are
1210
+ // used. To disable them, set the minimum version to TLS 1.2 (default) or
1211
+ // higher.
1275
1212
  OPENSSL_EXPORT int SSL_set_signing_algorithm_prefs(SSL *ssl,
1276
1213
  const uint16_t *prefs,
1277
1214
  size_t num_prefs);
@@ -1359,8 +1296,7 @@ OPENSSL_EXPORT int SSL_use_RSAPrivateKey_ASN1(SSL *ssl, const uint8_t *der,
1359
1296
  #define SSL_FILETYPE_ASN1 2
1360
1297
 
1361
1298
  OPENSSL_EXPORT int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx,
1362
- const char *file,
1363
- int type);
1299
+ const char *file, int type);
1364
1300
  OPENSSL_EXPORT int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file,
1365
1301
  int type);
1366
1302
 
@@ -1822,8 +1758,8 @@ OPENSSL_EXPORT STACK_OF(X509) *SSL_get_peer_full_cert_chain(const SSL *ssl);
1822
1758
  // verification. The caller does not take ownership of the result.
1823
1759
  //
1824
1760
  // This is the |CRYPTO_BUFFER| variant of |SSL_get_peer_full_cert_chain|.
1825
- OPENSSL_EXPORT const STACK_OF(CRYPTO_BUFFER) *
1826
- SSL_get0_peer_certificates(const SSL *ssl);
1761
+ OPENSSL_EXPORT const STACK_OF(CRYPTO_BUFFER) *SSL_get0_peer_certificates(
1762
+ const SSL *ssl);
1827
1763
 
1828
1764
  // SSL_get0_signed_cert_timestamp_list sets |*out| and |*out_len| to point to
1829
1765
  // |*out_len| bytes of SCT information from the server. This is only valid if
@@ -1884,15 +1820,24 @@ OPENSSL_EXPORT int SSL_session_reused(const SSL *ssl);
1884
1820
  // renegotiation (RFC 5746) or TLS 1.3. Otherwise, it returns zero.
1885
1821
  OPENSSL_EXPORT int SSL_get_secure_renegotiation_support(const SSL *ssl);
1886
1822
 
1887
- // SSL_export_keying_material exports a value derived from the master secret, as
1888
- // specified in RFC 5705. It writes |out_len| bytes to |out| given a label and
1889
- // optional context. (Since a zero length context is allowed, the |use_context|
1890
- // flag controls whether a context is included.)
1823
+ // SSL_export_keying_material exports a connection-specific secret from |ssl|,
1824
+ // as specified in RFC 5705. It writes |out_len| bytes to |out| given a label
1825
+ // and optional context. If |use_context| is zero, the |context| parameter is
1826
+ // ignored.
1827
+ //
1828
+ // To derive the same value, both sides of a connection must use the same output
1829
+ // length, label, and context. In TLS 1.2 and earlier, using a zero-length
1830
+ // context and using no context would give different output. In TLS 1.3 and
1831
+ // later, the output length impacts the derivation, so a truncated longer export
1832
+ // will not match a shorter export.
1891
1833
  //
1892
1834
  // It returns one on success and zero otherwise.
1893
- OPENSSL_EXPORT int SSL_export_keying_material(
1894
- SSL *ssl, uint8_t *out, size_t out_len, const char *label, size_t label_len,
1895
- const uint8_t *context, size_t context_len, int use_context);
1835
+ OPENSSL_EXPORT int SSL_export_keying_material(const SSL *ssl, uint8_t *out,
1836
+ size_t out_len, const char *label,
1837
+ size_t label_len,
1838
+ const uint8_t *context,
1839
+ size_t context_len,
1840
+ int use_context);
1896
1841
 
1897
1842
 
1898
1843
  // Sessions.
@@ -1937,8 +1882,9 @@ OPENSSL_EXPORT int SSL_SESSION_to_bytes_for_ticket(const SSL_SESSION *in,
1937
1882
 
1938
1883
  // SSL_SESSION_from_bytes parses |in_len| bytes from |in| as an SSL_SESSION. It
1939
1884
  // returns a newly-allocated |SSL_SESSION| on success or NULL on error.
1940
- OPENSSL_EXPORT SSL_SESSION *SSL_SESSION_from_bytes(
1941
- const uint8_t *in, size_t in_len, const SSL_CTX *ctx);
1885
+ OPENSSL_EXPORT SSL_SESSION *SSL_SESSION_from_bytes(const uint8_t *in,
1886
+ size_t in_len,
1887
+ const SSL_CTX *ctx);
1942
1888
 
1943
1889
  // SSL_SESSION_get_version returns a string describing the TLS or DTLS version
1944
1890
  // |session| was established at. For example, "TLSv1.2" or "DTLSv1".
@@ -2000,7 +1946,7 @@ OPENSSL_EXPORT X509 *SSL_SESSION_get0_peer(const SSL_SESSION *session);
2000
1946
  // unverified list of certificates as sent by the peer, not the final chain
2001
1947
  // built during verification. The caller does not take ownership of the result.
2002
1948
  OPENSSL_EXPORT const STACK_OF(CRYPTO_BUFFER) *
2003
- SSL_SESSION_get0_peer_certificates(const SSL_SESSION *session);
1949
+ SSL_SESSION_get0_peer_certificates(const SSL_SESSION *session);
2004
1950
 
2005
1951
  // SSL_SESSION_get0_signed_cert_timestamp_list sets |*out| and |*out_len| to
2006
1952
  // point to |*out_len| bytes of SCT information stored in |session|. This is
@@ -2117,6 +2063,12 @@ OPENSSL_EXPORT void SSL_SESSION_get0_peer_sha256(const SSL_SESSION *session,
2117
2063
  const uint8_t **out_ptr,
2118
2064
  size_t *out_len);
2119
2065
 
2066
+ // SSL_SESSION_is_resumable_across_names returns one if |session| may be resumed
2067
+ // with any identity in the server certificate and zero otherwise. See
2068
+ // draft-ietf-tls-cross-sni-resumption.
2069
+ OPENSSL_EXPORT int SSL_SESSION_is_resumable_across_names(
2070
+ const SSL_SESSION *session);
2071
+
2120
2072
 
2121
2073
  // Session caching.
2122
2074
  //
@@ -2188,7 +2140,7 @@ OPENSSL_EXPORT void SSL_SESSION_get0_peer_sha256(const SSL_SESSION *session,
2188
2140
  // SSL_SESS_CACHE_NO_INTERNAL, on a server, disables the internal session
2189
2141
  // cache.
2190
2142
  #define SSL_SESS_CACHE_NO_INTERNAL \
2191
- (SSL_SESS_CACHE_NO_INTERNAL_LOOKUP | SSL_SESS_CACHE_NO_INTERNAL_STORE)
2143
+ (SSL_SESS_CACHE_NO_INTERNAL_LOOKUP | SSL_SESS_CACHE_NO_INTERNAL_STORE)
2192
2144
 
2193
2145
  // SSL_CTX_set_session_cache_mode sets the session cache mode bits for |ctx| to
2194
2146
  // |mode|. It returns the previous value.
@@ -2366,6 +2318,32 @@ OPENSSL_EXPORT SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx))(
2366
2318
  // when the lookup has completed.
2367
2319
  OPENSSL_EXPORT SSL_SESSION *SSL_magic_pending_session_ptr(void);
2368
2320
 
2321
+ // SSL_CTX_set_resumption_across_names_enabled configures whether |ctx|, as a
2322
+ // TLS 1.3 server, signals its sessions are compatible with any identity in the
2323
+ // server certificate, e.g. all DNS names in the subjectAlternateNames list.
2324
+ // This does not change BoringSSL's resumption behavior, only whether it signals
2325
+ // this to the client. See draft-ietf-tls-cross-sni-resumption.
2326
+ //
2327
+ // When this is enabled, all identities in the server certificate should by
2328
+ // hosted by servers that accept TLS 1.3 tickets issued by |ctx|. The connection
2329
+ // will otherwise function, but performance may suffer from clients wasting
2330
+ // single-use tickets.
2331
+ OPENSSL_EXPORT void SSL_CTX_set_resumption_across_names_enabled(SSL_CTX *ctx,
2332
+ int enabled);
2333
+
2334
+ // SSL_set_resumption_across_names_enabled configures whether |ssl|, as a
2335
+ // TLS 1.3 server, signals its sessions are compatible with any identity in the
2336
+ // server certificate, e.g. all DNS names in the subjectAlternateNames list.
2337
+ // This does not change BoringSSL's resumption behavior, only whether it signals
2338
+ // this to the client. See draft-ietf-tls-cross-sni-resumption.
2339
+ //
2340
+ // When this is enabled, all identities in the server certificate should by
2341
+ // hosted by servers that accept TLS 1.3 tickets issued by |ssl|. The connection
2342
+ // will otherwise function, but performance may suffer from clients wasting
2343
+ // single-use tickets.
2344
+ OPENSSL_EXPORT void SSL_set_resumption_across_names_enabled(SSL *ssl,
2345
+ int enabled);
2346
+
2369
2347
 
2370
2348
  // Session tickets.
2371
2349
  //
@@ -2433,21 +2411,22 @@ OPENSSL_EXPORT int SSL_CTX_set_tlsext_ticket_keys(SSL_CTX *ctx, const void *in,
2433
2411
  // When encrypting a new ticket, |encrypt| will be one. It writes a public
2434
2412
  // 16-byte key name to |key_name| and a fresh IV to |iv|. The output IV length
2435
2413
  // must match |EVP_CIPHER_CTX_iv_length| of the cipher selected. In this mode,
2436
- // |callback| returns 1 on success and -1 on error.
2414
+ // |callback| returns 1 on success, 0 to decline sending a ticket, and -1 on
2415
+ // error.
2437
2416
  //
2438
2417
  // When decrypting a ticket, |encrypt| will be zero. |key_name| will point to a
2439
2418
  // 16-byte key name and |iv| points to an IV. The length of the IV consumed must
2440
2419
  // match |EVP_CIPHER_CTX_iv_length| of the cipher selected. In this mode,
2441
- // |callback| returns -1 to abort the handshake, 0 if decrypting the ticket
2442
- // failed, and 1 or 2 on success. If it returns 2, the ticket will be renewed.
2443
- // This may be used to re-key the ticket.
2420
+ // |callback| returns -1 to abort the handshake, 0 if the ticket key was
2421
+ // unrecognized, and 1 or 2 on success. If it returns 2, the ticket will be
2422
+ // renewed. This may be used to re-key the ticket.
2444
2423
  //
2445
2424
  // WARNING: |callback| wildly breaks the usual return value convention and is
2446
2425
  // called in two different modes.
2447
2426
  OPENSSL_EXPORT int SSL_CTX_set_tlsext_ticket_key_cb(
2448
- SSL_CTX *ctx, int (*callback)(SSL *ssl, uint8_t *key_name, uint8_t *iv,
2449
- EVP_CIPHER_CTX *ctx, HMAC_CTX *hmac_ctx,
2450
- int encrypt));
2427
+ SSL_CTX *ctx,
2428
+ int (*callback)(SSL *ssl, uint8_t *key_name, uint8_t *iv,
2429
+ EVP_CIPHER_CTX *ctx, HMAC_CTX *hmac_ctx, int encrypt));
2451
2430
 
2452
2431
  // ssl_ticket_aead_result_t enumerates the possible results from decrypting a
2453
2432
  // ticket with an |SSL_TICKET_AEAD_METHOD|.
@@ -2477,7 +2456,8 @@ struct ssl_ticket_aead_method_st {
2477
2456
  // seal encrypts and authenticates |in_len| bytes from |in|, writes, at most,
2478
2457
  // |max_out_len| bytes to |out|, and puts the number of bytes written in
2479
2458
  // |*out_len|. The |in| and |out| buffers may be equal but will not otherwise
2480
- // alias. It returns one on success or zero on error.
2459
+ // alias. It returns one on success or zero on error. If the function returns
2460
+ // but |*out_len| is zero, BoringSSL will skip sending a ticket.
2481
2461
  int (*seal)(SSL *ssl, uint8_t *out, size_t *out_len, size_t max_out_len,
2482
2462
  const uint8_t *in, size_t in_len);
2483
2463
 
@@ -2661,10 +2641,6 @@ OPENSSL_EXPORT int SSL_get_negotiated_group(const SSL *ssl);
2661
2641
  // with |SSL_VERIFY_PEER|, otherwise it won't work.
2662
2642
  #define SSL_VERIFY_FAIL_IF_NO_PEER_CERT 0x02
2663
2643
 
2664
- // SSL_VERIFY_PEER_IF_NO_OBC configures a server to request a client certificate
2665
- // if and only if Channel ID is not negotiated.
2666
- #define SSL_VERIFY_PEER_IF_NO_OBC 0x04
2667
-
2668
2644
  // SSL_CTX_set_verify configures certificate verification behavior. |mode| is
2669
2645
  // one of the |SSL_VERIFY_*| values defined above. |callback| should be NULL.
2670
2646
  //
@@ -2810,8 +2786,7 @@ OPENSSL_EXPORT int SSL_CTX_set1_param(SSL_CTX *ctx,
2810
2786
 
2811
2787
  // SSL_set1_param sets verification parameters from |param|. It returns one on
2812
2788
  // success and zero on failure. The caller retains ownership of |param|.
2813
- OPENSSL_EXPORT int SSL_set1_param(SSL *ssl,
2814
- const X509_VERIFY_PARAM *param);
2789
+ OPENSSL_EXPORT int SSL_set1_param(SSL *ssl, const X509_VERIFY_PARAM *param);
2815
2790
 
2816
2791
  // SSL_CTX_get0_param returns |ctx|'s |X509_VERIFY_PARAM| for certificate
2817
2792
  // verification. The caller must not release the returned pointer but may call
@@ -2941,27 +2916,44 @@ OPENSSL_EXPORT int SSL_set0_verify_cert_store(SSL *ssl, X509_STORE *store);
2941
2916
  OPENSSL_EXPORT int SSL_set1_verify_cert_store(SSL *ssl, X509_STORE *store);
2942
2917
 
2943
2918
  // SSL_CTX_set_verify_algorithm_prefs configures |ctx| to use |prefs| as the
2944
- // preference list when verifying signatures from the peer's long-term key. It
2945
- // returns one on zero on error. |prefs| should not include the internal-only
2946
- // value |SSL_SIGN_RSA_PKCS1_MD5_SHA1|.
2919
+ // preference list when verifying signatures from the peer's long-term key in
2920
+ // TLS 1.2 and up. It returns one on zero on error. |prefs| should not include
2921
+ // the internal-only TLS 1.0 value |SSL_SIGN_RSA_PKCS1_MD5_SHA1|.
2922
+ //
2923
+ // This setting is not used in TLS 1.0 and 1.1. Those protocols always sign a
2924
+ // hardcoded algorithm (an MD5/SHA-1 concatenation for RSA, and SHA-1 for
2925
+ // ECDSA). BoringSSL will accept those algorithms if and only if those versions
2926
+ // are used. To disable them, set the minimum version to TLS 1.2 (default) or
2927
+ // higher.
2947
2928
  OPENSSL_EXPORT int SSL_CTX_set_verify_algorithm_prefs(SSL_CTX *ctx,
2948
2929
  const uint16_t *prefs,
2949
2930
  size_t num_prefs);
2950
2931
 
2951
2932
  // SSL_set_verify_algorithm_prefs configures |ssl| to use |prefs| as the
2952
- // preference list when verifying signatures from the peer's long-term key. It
2953
- // returns one on zero on error. |prefs| should not include the internal-only
2954
- // value |SSL_SIGN_RSA_PKCS1_MD5_SHA1|.
2933
+ // preference list when verifying signatures from the peer's long-term key in
2934
+ // TLS 1.2 and up. It returns one on zero on error. |prefs| should not include
2935
+ // the internal-only TLS 1.0 value |SSL_SIGN_RSA_PKCS1_MD5_SHA1|.
2936
+ //
2937
+ // This setting is not used in TLS 1.0 and 1.1. Those protocols always sign a
2938
+ // hardcoded algorithm (an MD5/SHA-1 concatenation for RSA, and SHA-1 for
2939
+ // ECDSA). BoringSSL will accept those algorithms if and only if those versions
2940
+ // are used. To disable them, set the minimum version to TLS 1.2 (default) or
2941
+ // higher.
2955
2942
  OPENSSL_EXPORT int SSL_set_verify_algorithm_prefs(SSL *ssl,
2956
2943
  const uint16_t *prefs,
2957
2944
  size_t num_prefs);
2958
2945
 
2959
2946
 
2960
- // Client certificate CA list.
2947
+ // Certificate authorities.
2961
2948
  //
2962
- // When requesting a client certificate, a server may advertise a list of
2963
- // certificate authorities which are accepted. These functions may be used to
2964
- // configure this list.
2949
+ // TLS implementations can send a list of supported certificate authorities to
2950
+ // guide the peer in selecting a certificate. This was originally defined for
2951
+ // servers requesting client certificates, but TLS 1.3 generalized it to server
2952
+ // certificates with the certificate_authorities extension.
2953
+ //
2954
+ // The following functions can be used to configure and query this list. They do
2955
+ // not directly impact certificate verification, only the list of certificate
2956
+ // authorities sent to the peer.
2965
2957
 
2966
2958
  // SSL_set_client_CA_list sets |ssl|'s client certificate CA list to
2967
2959
  // |name_list|. It takes ownership of |name_list|.
@@ -2979,6 +2971,12 @@ OPENSSL_EXPORT void SSL_CTX_set_client_CA_list(SSL_CTX *ctx,
2979
2971
  OPENSSL_EXPORT void SSL_set0_client_CAs(SSL *ssl,
2980
2972
  STACK_OF(CRYPTO_BUFFER) *name_list);
2981
2973
 
2974
+ // SSL_set0_CA_names sets |ssl|'s CA name list for the certificate authorities
2975
+ // extension to |name_list|, which should contain DER-encoded distinguished
2976
+ // names (RFC 5280). It takes ownership of |name_list|.
2977
+ OPENSSL_EXPORT void SSL_set0_CA_names(SSL *ssl,
2978
+ STACK_OF(CRYPTO_BUFFER) *name_list);
2979
+
2982
2980
  // SSL_CTX_set0_client_CAs sets |ctx|'s client certificate CA list to
2983
2981
  // |name_list|, which should contain DER-encoded distinguished names (RFC 5280).
2984
2982
  // It takes ownership of |name_list|.
@@ -3002,12 +3000,12 @@ OPENSSL_EXPORT STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *ssl);
3002
3000
  //
3003
3001
  // The returned stack is owned by |ssl|, as are its contents. It should not be
3004
3002
  // used past the point where the handshake is restarted after the callback.
3005
- OPENSSL_EXPORT const STACK_OF(CRYPTO_BUFFER) *
3006
- SSL_get0_server_requested_CAs(const SSL *ssl);
3003
+ OPENSSL_EXPORT const STACK_OF(CRYPTO_BUFFER) *SSL_get0_server_requested_CAs(
3004
+ const SSL *ssl);
3007
3005
 
3008
3006
  // SSL_CTX_get_client_CA_list returns |ctx|'s client certificate CA list.
3009
- OPENSSL_EXPORT STACK_OF(X509_NAME) *
3010
- SSL_CTX_get_client_CA_list(const SSL_CTX *ctx);
3007
+ OPENSSL_EXPORT STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(
3008
+ const SSL_CTX *ctx);
3011
3009
 
3012
3010
  // SSL_add_client_CA appends |x509|'s subject to the client certificate CA list.
3013
3011
  // It returns one on success or zero on error. The caller retains ownership of
@@ -3040,6 +3038,95 @@ OPENSSL_EXPORT int SSL_add_bio_cert_subjects_to_stack(STACK_OF(X509_NAME) *out,
3040
3038
  BIO *bio);
3041
3039
 
3042
3040
 
3041
+ // Trust Anchor Identifiers.
3042
+ //
3043
+ // The trust_anchors extension, like certificate_authorities, allows clients to
3044
+ // communicate supported CAs to guide server certificate selection, or vice
3045
+ // versa. It better supports larger PKIs by referring to CAs by short "trust
3046
+ // anchor IDs" and, in the server certificate direction, allowing a client to
3047
+ // advertise only a subset of its full list, with DNS hinting and a retry
3048
+ // mechanism to manage the subset.
3049
+ //
3050
+ // See https://datatracker.ietf.org/doc/draft-ietf-tls-trust-anchor-ids/
3051
+ //
3052
+ // BoringSSL currently only implements this for server certificates, and not yet
3053
+ // client certificates.
3054
+
3055
+ // SSL_CREDENTIAL_set1_trust_anchor_id sets |cred|'s trust anchor ID to |id|, or
3056
+ // clears it if |id_len| is zero. It returns one on success and zero on
3057
+ // error. If not clearing, |id| must be in binary format (Section 3 of
3058
+ // draft-ietf-tls-trust-anchor-ids-00) of length |id_len|, and describe the
3059
+ // issuer of the final certificate in |cred|'s certificate chain.
3060
+ //
3061
+ // Additionally, |cred| must enable issuer matching (see
3062
+ // SSL_CREDENTIAL_set_must_match_issuer|) for this value to take effect.
3063
+ //
3064
+ // For better extensibility, callers are recommended to configure this
3065
+ // information with a CertificatePropertyList instead. See
3066
+ // |SSL_CREDENTIAL_set1_certificate_properties|.
3067
+ OPENSSL_EXPORT int SSL_CREDENTIAL_set1_trust_anchor_id(SSL_CREDENTIAL *cred,
3068
+ const uint8_t *id,
3069
+ size_t id_len);
3070
+
3071
+ // SSL_CTX_set1_requested_trust_anchors configures |ctx| to request a
3072
+ // certificate issued by one of the trust anchors in |ids|. It returns one on
3073
+ // success and zero on error. |ids| must be a list of trust anchor IDs in
3074
+ // wire-format (a series of non-empty, 8-bit length-prefixed strings).
3075
+ //
3076
+ // The list may describe application's full list of supported trust anchors, or
3077
+ // a, possibly empty, subset. Applications can select this subset using
3078
+ // out-of-band information, such as the DNS hint in Section 5 of
3079
+ // draft-ietf-tls-trust-anchor-ids-00. Client applications sending a subset
3080
+ // should use |SSL_get0_peer_available_trust_anchors| to implement the retry
3081
+ // flow from Section 4.3 of draft-ietf-tls-trust-anchor-ids-00.
3082
+ //
3083
+ // If empty (|ids_len| is zero), the trust_anchors extension will still be sent
3084
+ // in ClientHello. This may be used by a client application to signal support
3085
+ // for the retry flow without requesting specific trust anchors.
3086
+ //
3087
+ // This function does not directly impact certificate verification, only the
3088
+ // list of trust anchors sent to the peer.
3089
+ OPENSSL_EXPORT int SSL_CTX_set1_requested_trust_anchors(SSL_CTX *ctx,
3090
+ const uint8_t *ids,
3091
+ size_t ids_len);
3092
+
3093
+ // SSL_set1_requested_trust_anchors behaves like
3094
+ // |SSL_CTX_set1_requested_trust_anchors| but configures the value on |ssl|.
3095
+ OPENSSL_EXPORT int SSL_set1_requested_trust_anchors(SSL *ssl,
3096
+ const uint8_t *ids,
3097
+ size_t ids_len);
3098
+
3099
+ // SSL_peer_matched_trust_anchor returns one if the peer reported that its
3100
+ // certificate chain matched one of the trust anchor IDs requested by |ssl|, and
3101
+ // zero otherwise.
3102
+ //
3103
+ // This value is only available during the handshake and is expected to be
3104
+ // called during certificate verification, e.g. during |SSL_set_custom_verify|
3105
+ // or |SSL_CTX_set_cert_verify_callback| callbacks. If the value is one, callers
3106
+ // can safely treat the peer's certificate chain as a pre-built path and skip
3107
+ // path-building in certificate verification.
3108
+ OPENSSL_EXPORT int SSL_peer_matched_trust_anchor(const SSL *ssl);
3109
+
3110
+ // SSL_get0_peer_available_trust_anchors gets the peer's available trust anchor
3111
+ // IDs. It sets |*out| and |*out_len| so that |*out| points to |*out_len| bytes
3112
+ // containing the list in wire format (i.e. a series of non-empty
3113
+ // 8-bit-length-prefixed strings). If the peer did not provide a list, the
3114
+ // function will output zero bytes. Only servers can provide available trust
3115
+ // anchor IDs, so this API will only output a list when |ssl| is a client.
3116
+ //
3117
+ // This value is only available during the handshake and is expected to be
3118
+ // called in the event of certificate verification failure. Client applications
3119
+ // can use it to retry the connection, requesting different trust anchors. See
3120
+ // Section 4.3 of draft-ietf-tls-trust-anchor-ids-00 for details.
3121
+ // |CBS_get_u8_length_prefixed| may be used to iterate over the format.
3122
+ //
3123
+ // If needed in other contexts, callers may save the value during certificate
3124
+ // verification, or at |SSL_CB_HANDSHAKE_DONE| with |SSL_CTX_set_info_callback|.
3125
+ OPENSSL_EXPORT void SSL_get0_peer_available_trust_anchors(const SSL *ssl,
3126
+ const uint8_t **out,
3127
+ size_t *out_len);
3128
+
3129
+
3043
3130
  // Server name indication.
3044
3131
  //
3045
3132
  // The server_name extension (RFC 3546) allows the client to advertise the name
@@ -3162,8 +3249,9 @@ OPENSSL_EXPORT int SSL_set_alpn_protos(SSL *ssl, const uint8_t *protos,
3162
3249
  // |SSL_get_pending_cipher| to query the cipher suite. This may be used to
3163
3250
  // implement HTTP/2's cipher suite constraints.
3164
3251
  OPENSSL_EXPORT void SSL_CTX_set_alpn_select_cb(
3165
- SSL_CTX *ctx, int (*cb)(SSL *ssl, const uint8_t **out, uint8_t *out_len,
3166
- const uint8_t *in, unsigned in_len, void *arg),
3252
+ SSL_CTX *ctx,
3253
+ int (*cb)(SSL *ssl, const uint8_t **out, uint8_t *out_len,
3254
+ const uint8_t *in, unsigned in_len, void *arg),
3167
3255
  void *arg);
3168
3256
 
3169
3257
  // SSL_get0_alpn_selected gets the selected ALPN protocol (if any) from |ssl|.
@@ -3328,8 +3416,9 @@ OPENSSL_EXPORT void SSL_CTX_set_next_protos_advertised_cb(
3328
3416
  // the client to offer NPN in the ClientHello. Callers thus should not configure
3329
3417
  // this callback in TLS client contexts that are not intended to use NPN.
3330
3418
  OPENSSL_EXPORT void SSL_CTX_set_next_proto_select_cb(
3331
- SSL_CTX *ctx, int (*cb)(SSL *ssl, uint8_t **out, uint8_t *out_len,
3332
- const uint8_t *in, unsigned in_len, void *arg),
3419
+ SSL_CTX *ctx,
3420
+ int (*cb)(SSL *ssl, uint8_t **out, uint8_t *out_len, const uint8_t *in,
3421
+ unsigned in_len, void *arg),
3333
3422
  void *arg);
3334
3423
 
3335
3424
  // SSL_get0_next_proto_negotiated sets |*out_data| and |*out_len| to point to
@@ -3445,10 +3534,10 @@ DEFINE_CONST_STACK_OF(SRTP_PROTECTION_PROFILE)
3445
3534
  #define SRTP_AES128_CM_SHA1_32 0x0002
3446
3535
  #define SRTP_AES128_F8_SHA1_80 0x0003
3447
3536
  #define SRTP_AES128_F8_SHA1_32 0x0004
3448
- #define SRTP_NULL_SHA1_80 0x0005
3449
- #define SRTP_NULL_SHA1_32 0x0006
3450
- #define SRTP_AEAD_AES_128_GCM 0x0007
3451
- #define SRTP_AEAD_AES_256_GCM 0x0008
3537
+ #define SRTP_NULL_SHA1_80 0x0005
3538
+ #define SRTP_NULL_SHA1_32 0x0006
3539
+ #define SRTP_AEAD_AES_128_GCM 0x0007
3540
+ #define SRTP_AEAD_AES_256_GCM 0x0008
3452
3541
 
3453
3542
  // SSL_CTX_set_srtp_profiles enables SRTP for all SSL objects created from
3454
3543
  // |ctx|. |profile| contains a colon-separated list of profile names. It returns
@@ -3583,6 +3672,120 @@ OPENSSL_EXPORT int SSL_CREDENTIAL_set1_delegated_credential(
3583
3672
  SSL_CREDENTIAL *cred, CRYPTO_BUFFER *dc);
3584
3673
 
3585
3674
 
3675
+ // Password Authenticated Key Exchange (PAKE).
3676
+ //
3677
+ // Password Authenticated Key Exchange protocols allow client and server to
3678
+ // mutually authenticate one another using knowledge of a password or other
3679
+ // low-entropy secret. While the TLS 1.3 pre-shared key (PSK) mechanism can
3680
+ // authenticate a high-entropy secret, it cannot be used with low-entropy
3681
+ // secrets as the PSK binder values can be used to mount a dictionary attack on
3682
+ // a low-entropy PSK. Using TLS 1.3 with a PAKE limits an attacker to confirming
3683
+ // one password guess per handshake attempt.
3684
+ //
3685
+ // WARNING: The PAKE mode in TLS is not a general-purpose authentication scheme.
3686
+ // As the underlying secret is still low-entropy, callers must limit brute force
3687
+ // attacks across multiple connections, especially in multi-connection protocols
3688
+ // such as HTTP. The |error_limit| and |rate_limit| parameters in the functions
3689
+ // below may be used to implement this, provided the same |SSL_CREDENTIAL|
3690
+ // object is used across connections. Applications using multiple connections
3691
+ // should use the PAKE credential only once to authenticate a high-entropy
3692
+ // secret, e.g. exporting a PSK from |SSL_export_keying_material|, and use the
3693
+ // high-entropy secret for subsequent connections.
3694
+ //
3695
+ // TODO(crbug.com/369963041): Implement RFC 9258 so one can actually do that.
3696
+ //
3697
+ // WARNING: PAKE support in TLS is still experimental and may change as the
3698
+ // standard evolves. See
3699
+ // https://chris-wood.github.io/draft-bmw-tls-pake13/draft-bmw-tls-pake13.html
3700
+ //
3701
+ // Currently, only the SPAKE2PLUS_V1 named PAKE algorithm is implemented; see
3702
+ // https://chris-wood.github.io/draft-bmw-tls-pake13/draft-bmw-tls-pake13.html#section-8.1.
3703
+
3704
+ // SSL_PAKE_SPAKE2PLUSV1 is the codepoint for SPAKE2PLUS_V1. See
3705
+ // https://chris-wood.github.io/draft-bmw-tls-pake13/draft-bmw-tls-pake13.html#name-named-pake-registry.
3706
+ #define SSL_PAKE_SPAKE2PLUSV1 0x7d96
3707
+
3708
+ // SSL_spake2plusv1_register computes the values that the client (w0,
3709
+ // w1) and server (w0, registration_record) require to run SPAKE2+. These values
3710
+ // can be used when calling |SSL_CREDENTIAL_new_spake2plusv1_client| and
3711
+ // |SSL_CREDENTIAL_new_spake2plusv1_server|. The client and server identities
3712
+ // must match the values passed to those functions.
3713
+ //
3714
+ // Returns one on success and zero on error.
3715
+ OPENSSL_EXPORT int SSL_spake2plusv1_register(
3716
+ uint8_t out_w0[32], uint8_t out_w1[32], uint8_t out_registration_record[65],
3717
+ const uint8_t *password, size_t password_len,
3718
+ const uint8_t *client_identity, size_t client_identity_len,
3719
+ const uint8_t *server_identity, size_t server_identity_len);
3720
+
3721
+ // SSL_CREDENTIAL_new_spake2plusv1_client creates a new |SSL_CREDENTIAL| that
3722
+ // authenticates using SPAKE2+. It is to be used with a TLS client.
3723
+ //
3724
+ // The |context|, |client_identity|, and |server_identity| fields serve to
3725
+ // identity the SPAKE2+ settings and both sides of a connection must agree on
3726
+ // these values. If |context| is |NULL|, a default value will be used.
3727
+ //
3728
+ // |error_limit| is the number of failed handshakes allowed on the credential.
3729
+ // After the limit is reached, using the credential will fail. Ideally this
3730
+ // value is set to 1. Setting it to a higher value allows an attacker to have
3731
+ // that many attempts at guessing the password using this |SSL_CREDENTIAL|.
3732
+ // (Assuming that multiple TLS connections are allowed.)
3733
+ //
3734
+ // |w0| and |w1| come from calling |SSL_spake2plusv1_register|.
3735
+ //
3736
+ // Unlike most |SSL_CREDENTIAL|s, PAKE client credentials must be the only
3737
+ // credential configured on the connection. BoringSSL does not currently support
3738
+ // configuring multiple PAKE credentials as a client, or configuring a mix of
3739
+ // PAKE and non-PAKE credentials. Once a PAKE credential is configured, the
3740
+ // connection will require the server to authenticate with the same secret, so a
3741
+ // successful connection then implies that the server supported the PAKE and
3742
+ // knew the password.
3743
+ OPENSSL_EXPORT SSL_CREDENTIAL *SSL_CREDENTIAL_new_spake2plusv1_client(
3744
+ const uint8_t *context, size_t context_len, const uint8_t *client_identity,
3745
+ size_t client_identity_len, const uint8_t *server_identity,
3746
+ size_t server_identity_len, uint32_t error_limit, const uint8_t *w0,
3747
+ size_t w0_len, const uint8_t *w1, size_t w1_len);
3748
+
3749
+ // SSL_CREDENTIAL_new_spake2plusv1_server creates a new |SSL_CREDENTIAL| that
3750
+ // authenticates using SPAKE2+. It is to be used with a TLS server.
3751
+ //
3752
+ // The |context|, |client_identity|, and |server_identity| fields serve to
3753
+ // identity the SPAKE2+ settings and both sides of a connection must agree on
3754
+ // these values. If |context| is |NULL|, a default value will be used.
3755
+ //
3756
+ // |rate_limit| is the number of failed or unfinished handshakes allowed on the
3757
+ // credential. After the limit is reached, using the credential will fail.
3758
+ // Ideally this value is set to 1. Setting it to a higher value allows an
3759
+ // attacker to have that many attempts at guessing the password using this
3760
+ // |SSL_CREDENTIAL|. (Assuming that multiple TLS connections are allowed.)
3761
+ //
3762
+ // WARNING: |rate_limit| differs from the client's |error_limit| parameter.
3763
+ // Server PAKE credentials must temporarily deduct incomplete handshakes from
3764
+ // the limit, until the peer completes the handshake correctly. Thus
3765
+ // applications that use multiple connections in parallel may need a higher
3766
+ // limit, and thus higher attacker exposure, to avoid failures. Such
3767
+ // applications should instead use one PAKE-based connection to established a
3768
+ // high-entropy secret (e.g. with |SSL_export_keying_material|) instead of
3769
+ // repeating the PAKE exchange for each connection.
3770
+ //
3771
+ // |w0| and |registration_record| come from calling |SSL_spake2plusv1_register|,
3772
+ // which may be computed externally so that the server does not know the
3773
+ // password, or a password-equivalent secret.
3774
+ //
3775
+ // A server wishing to support a PAKE should install one of these credentials.
3776
+ // It is also possible to install certificate-based credentials, in which case
3777
+ // both PAKE and non-PAKE clients can be supported. However, if only a PAKE
3778
+ // credential is installed then the server knows that any successfully-connected
3779
+ // clients also knows the password. Otherwise, the server must be careful to
3780
+ // inspect the credential used for a connection before assuming that.
3781
+ OPENSSL_EXPORT SSL_CREDENTIAL *SSL_CREDENTIAL_new_spake2plusv1_server(
3782
+ const uint8_t *context, size_t context_len, const uint8_t *client_identity,
3783
+ size_t client_identity_len, const uint8_t *server_identity,
3784
+ size_t server_identity_len, uint32_t rate_limit, const uint8_t *w0,
3785
+ size_t w0_len, const uint8_t *registration_record,
3786
+ size_t registration_record_len);
3787
+
3788
+
3586
3789
  // QUIC integration.
3587
3790
  //
3588
3791
  // QUIC acts as an underlying transport for the TLS 1.3 handshake. The following
@@ -4279,20 +4482,118 @@ OPENSSL_EXPORT int SSL_generate_key_block(const SSL *ssl, uint8_t *out,
4279
4482
  size_t out_len);
4280
4483
 
4281
4484
  // SSL_get_read_sequence returns, in TLS, the expected sequence number of the
4282
- // next incoming record in the current epoch. In DTLS, it returns the maximum
4283
- // sequence number received in the current epoch and includes the epoch number
4284
- // in the two most significant bytes.
4485
+ // next incoming record in the current epoch.
4486
+ //
4487
+ // TODO(crbug.com/42290608): In DTLS, it returns the maximum sequence number
4488
+ // received in the current epoch (for some notion of "current" specific to
4489
+ // BoringSSL) and includes the epoch number in the two most significant bytes,
4490
+ // but this is deprecated. Use |SSL_get_dtls_read_sequence| instead.
4285
4491
  OPENSSL_EXPORT uint64_t SSL_get_read_sequence(const SSL *ssl);
4286
4492
 
4287
4493
  // SSL_get_write_sequence returns the sequence number of the next outgoing
4288
- // record in the current epoch. In DTLS, it includes the epoch number in the
4289
- // two most significant bytes.
4494
+ // record in the current epoch.
4495
+ //
4496
+ // TODO(crbug.com/42290608): In DTLS, it includes the epoch number in the two
4497
+ // most significant bytes, but this is deprecated. Use
4498
+ // |SSL_get_dtls_write_sequence| instead.
4290
4499
  OPENSSL_EXPORT uint64_t SSL_get_write_sequence(const SSL *ssl);
4291
4500
 
4292
4501
  // SSL_CTX_set_record_protocol_version returns whether |version| is zero.
4293
4502
  OPENSSL_EXPORT int SSL_CTX_set_record_protocol_version(SSL_CTX *ctx,
4294
4503
  int version);
4295
4504
 
4505
+ // SSL_is_dtls_handshake_idle returns one |ssl|'s handshake is idle and zero if
4506
+ // it is busy. The handshake is considered idle if all of the following are
4507
+ // true:
4508
+ //
4509
+ // - |ssl| is not mid handshake or post-handshake transaction.
4510
+ // - In DTLS 1.3, all sent handshake messages have been acknowledged. That is,
4511
+ // |ssl| does not have data to retransmit.
4512
+ // - All received handshake data has been processed. That is, |ssl| has no
4513
+ // buffered partial or out-of-order messages.
4514
+ //
4515
+ // If any condition is false, the handshake is considered busy. If this function
4516
+ // reports the handshake is busy, it is expected that the handshake will become
4517
+ // idle after short timers and a few roundtrips of successful communication.
4518
+ // However, this is not guaranteed if, e.g., the peer misbehaves or sends many
4519
+ // KeyUpdates.
4520
+ //
4521
+ // WARNING: In DTLS 1.3, this function may return one while multiple active read
4522
+ // epochs exist in |ssl|.
4523
+ //
4524
+ // WARNING: In DTLS 1.2 (or earlier), if |ssl| is the role that speaks last, it
4525
+ // retains its final flight for retransmission in case of loss. There is no
4526
+ // explicit protocol signal for when this completes, though after receiving
4527
+ // application data and/or a timeout it is likely that this is no longer needed.
4528
+ // BoringSSL does not currently evaluate either condition and leaves it it to
4529
+ // the caller to determine whether this is now unnecessary. This applies when
4530
+ // |ssl| is a server for full handshakes and when |ssl| is a client for full
4531
+ // handshakes.
4532
+ OPENSSL_EXPORT int SSL_is_dtls_handshake_idle(const SSL *ssl);
4533
+
4534
+ // SSL_get_dtls_handshake_read_seq returns the 16-bit sequence number of the
4535
+ // next DTLS handshake message to be read, or 0x10000 if handshake message
4536
+ // 0xffff (the maximum) has already been read.
4537
+ OPENSSL_EXPORT uint32_t SSL_get_dtls_handshake_read_seq(const SSL *ssl);
4538
+
4539
+ // SSL_get_dtls_handshake_write_seq returns the 16-bit sequence number of the
4540
+ // next DTLS handshake message to be written or 0x10000 if handshake message
4541
+ // 0xffff (the maximum) has already been written.
4542
+ OPENSSL_EXPORT uint32_t SSL_get_dtls_handshake_write_seq(const SSL *ssl);
4543
+
4544
+ // SSL_get_dtls_read_epoch returns the highest available DTLS read epoch in
4545
+ // |ssl|. In DTLS 1.3, |ssl| may have earlier epochs also active, sometimes to
4546
+ // optionally improve handling of reordered packets and sometimes as an
4547
+ // important part of the protocol correctness in the face of packet loss.
4548
+ //
4549
+ // The failure conditions of |SSL_get_dtls_read_traffic_secret| and
4550
+ // |SSL_get_dtls_read_sequence| can be used to determine if past epochs are
4551
+ // active.
4552
+ OPENSSL_EXPORT uint16_t SSL_get_dtls_read_epoch(const SSL *ssl);
4553
+
4554
+ // SSL_get_dtls_write_epoch returns the current DTLS write epoch. If the
4555
+ // handshake is idle (see |SSL_is_dtls_handshake_idle|), no other write epochs
4556
+ // will be active.
4557
+ OPENSSL_EXPORT uint16_t SSL_get_dtls_write_epoch(const SSL *ssl);
4558
+
4559
+ // SSL_get_dtls_read_sequence returns one more than the sequence number of the
4560
+ // highest record received in |epoch|. If no records have been received in
4561
+ // |epoch|. If the epoch does not exist, it returns |UINT64_MAX|.
4562
+ //
4563
+ // It is safe to discard all sequence numbers less than the return value of this
4564
+ // function. The sequence numbers returned by this function do not include the
4565
+ // epoch number in the upper 16 bits.
4566
+ OPENSSL_EXPORT uint64_t SSL_get_dtls_read_sequence(const SSL *ssl,
4567
+ uint16_t epoch);
4568
+
4569
+ // SSL_get_dtls_write_sequence returns the sequence number of the next record to
4570
+ // be sent in |epoch|. If the epoch does not exist, it returns |UINT64_MAX|.
4571
+ //
4572
+ // The sequence numbers returned by this function do not include the epoch
4573
+ // number in the upper 16 bits.
4574
+ OPENSSL_EXPORT uint64_t SSL_get_dtls_write_sequence(const SSL *ssl,
4575
+ uint16_t epoch);
4576
+
4577
+ // SSL_get_dtls_read_traffic_secret looks up the traffic secret for read epoch
4578
+ // |epoch|. If the epoch exists and is an encrypted (not epoch zero) DTLS 1.3
4579
+ // epoch, it sets |*out_data| and |*out_len| to a buffer containing the secrets
4580
+ // and returns one. Otherwise, it returns zero. The buffer is valid until the
4581
+ // next operation on |ssl|.
4582
+ OPENSSL_EXPORT int SSL_get_dtls_read_traffic_secret(const SSL *ssl,
4583
+ const uint8_t **out_data,
4584
+ size_t *out_len,
4585
+ uint16_t epoch);
4586
+
4587
+ // SSL_get_dtls_write_traffic_secret looks up the traffic secret for write epoch
4588
+ // |epoch|. If the epoch exists and is an encrypted (not epoch zero) DTLS 1.3
4589
+ // epoch, it sets |*out_data| and |*out_len| to a buffer containing the secrets
4590
+ // and returns one. Otherwise, it returns zero. The buffer is valid until the
4591
+ // next operation on |ssl|.
4592
+ OPENSSL_EXPORT int SSL_get_dtls_write_traffic_secret(const SSL *ssl,
4593
+ const uint8_t **out_data,
4594
+ size_t *out_len,
4595
+ uint16_t epoch);
4596
+
4296
4597
 
4297
4598
  // Handshake hints.
4298
4599
  //
@@ -4393,18 +4694,18 @@ OPENSSL_EXPORT int SSL_set_handshake_hints(SSL *ssl, const uint8_t *hints,
4393
4694
 
4394
4695
  // SSL_CTX_set_msg_callback installs |cb| as the message callback for |ctx|.
4395
4696
  // This callback will be called when sending or receiving low-level record
4396
- // headers, complete handshake messages, ChangeCipherSpec, and alerts.
4397
- // |write_p| is one for outgoing messages and zero for incoming messages.
4697
+ // headers, complete handshake messages, ChangeCipherSpec, alerts, and DTLS
4698
+ // ACKs. |write_p| is one for outgoing messages and zero for incoming messages.
4398
4699
  //
4399
4700
  // For each record header, |cb| is called with |version| = 0 and |content_type|
4400
4701
  // = |SSL3_RT_HEADER|. The |len| bytes from |buf| contain the header. Note that
4401
4702
  // this does not include the record body. If the record is sealed, the length
4402
4703
  // in the header is the length of the ciphertext.
4403
4704
  //
4404
- // For each handshake message, ChangeCipherSpec, and alert, |version| is the
4405
- // protocol version and |content_type| is the corresponding record type. The
4406
- // |len| bytes from |buf| contain the handshake message, one-byte
4407
- // ChangeCipherSpec body, and two-byte alert, respectively.
4705
+ // For each handshake message, ChangeCipherSpec, alert, and DTLS ACK, |version|
4706
+ // is the protocol version and |content_type| is the corresponding record type.
4707
+ // The |len| bytes from |buf| contain the handshake message, one-byte
4708
+ // ChangeCipherSpec body, two-byte alert, and ACK respectively.
4408
4709
  //
4409
4710
  // In connections that enable ECH, |cb| is additionally called with
4410
4711
  // |content_type| = |SSL3_RT_CLIENT_HELLO_INNER| for each ClientHelloInner that
@@ -4609,6 +4910,8 @@ struct ssl_early_callback_ctx {
4609
4910
  size_t random_len;
4610
4911
  const uint8_t *session_id;
4611
4912
  size_t session_id_len;
4913
+ const uint8_t *dtls_cookie;
4914
+ size_t dtls_cookie_len;
4612
4915
  const uint8_t *cipher_suites;
4613
4916
  size_t cipher_suites_len;
4614
4917
  const uint8_t *compression_methods;
@@ -4761,8 +5064,9 @@ OPENSSL_EXPORT int SSL_was_key_usage_invalid(const SSL *ssl);
4761
5064
  // a server (respectively, client) handshake completes, fails, or is paused.
4762
5065
  // The |value| argument is one if the handshake succeeded and <= 0
4763
5066
  // otherwise.
4764
- OPENSSL_EXPORT void SSL_CTX_set_info_callback(
4765
- SSL_CTX *ctx, void (*cb)(const SSL *ssl, int type, int value));
5067
+ OPENSSL_EXPORT void SSL_CTX_set_info_callback(SSL_CTX *ctx,
5068
+ void (*cb)(const SSL *ssl,
5069
+ int type, int value));
4766
5070
 
4767
5071
  // SSL_CTX_get_info_callback returns the callback set by
4768
5072
  // |SSL_CTX_set_info_callback|.
@@ -4772,8 +5076,9 @@ OPENSSL_EXPORT void (*SSL_CTX_get_info_callback(SSL_CTX *ctx))(const SSL *ssl,
4772
5076
 
4773
5077
  // SSL_set_info_callback configures a callback to be run at various events
4774
5078
  // during a connection's lifetime. See |SSL_CTX_set_info_callback|.
4775
- OPENSSL_EXPORT void SSL_set_info_callback(
4776
- SSL *ssl, void (*cb)(const SSL *ssl, int type, int value));
5079
+ OPENSSL_EXPORT void SSL_set_info_callback(SSL *ssl,
5080
+ void (*cb)(const SSL *ssl, int type,
5081
+ int value));
4777
5082
 
4778
5083
  // SSL_get_info_callback returns the callback set by |SSL_set_info_callback|.
4779
5084
  OPENSSL_EXPORT void (*SSL_get_info_callback(const SSL *ssl))(const SSL *ssl,
@@ -4865,23 +5170,18 @@ OPENSSL_EXPORT int SSL_used_hello_retry_request(const SSL *ssl);
4865
5170
  // https://bugs.openjdk.java.net/browse/JDK-8213202
4866
5171
  OPENSSL_EXPORT void SSL_set_jdk11_workaround(SSL *ssl, int enable);
4867
5172
 
4868
- // SSL_set_check_client_certificate_type configures whether the client, in
4869
- // TLS 1.2 and below, will check its certificate against the server's requested
4870
- // certificate types.
5173
+ // SSL_parse_client_hello decodes a ClientHello structure from |len| bytes in
5174
+ // |in|. On success, it returns one and writes the result to |*out|. Otherwise,
5175
+ // it returns zero. |ssl| will be saved into |*out| and determines how the
5176
+ // ClientHello is parsed, notably TLS vs DTLS. The fields in |*out| will alias
5177
+ // |in| and are only valid as long as |in| is valid and unchanged.
4871
5178
  //
4872
- // By default, this option is enabled. If disabled, certificate selection within
4873
- // the library may not function correctly. This flag is provided temporarily in
4874
- // case of compatibility issues. It will be removed sometime after June 2024.
4875
- OPENSSL_EXPORT void SSL_set_check_client_certificate_type(SSL *ssl, int enable);
4876
-
4877
- // SSL_set_check_ecdsa_curve configures whether the server, in TLS 1.2 and
4878
- // below, will check its certificate against the client's supported ECDSA
4879
- // curves.
4880
- //
4881
- // By default, this option is enabled. If disabled, certificate selection within
4882
- // the library may not function correctly. This flag is provided temporarily in
4883
- // case of compatibility issues. It will be removed sometime after June 2024.
4884
- OPENSSL_EXPORT void SSL_set_check_ecdsa_curve(SSL *ssl, int enable);
5179
+ // |in| should contain just the ClientHello structure (RFC 8446 and RFC 9147),
5180
+ // excluding the handshake header and already reassembled from record layer.
5181
+ // That is, |in| should begin with the legacy_version field, not the
5182
+ // client_hello HandshakeType constant or the handshake ContentType constant.
5183
+ OPENSSL_EXPORT int SSL_parse_client_hello(const SSL *ssl, SSL_CLIENT_HELLO *out,
5184
+ const uint8_t *in, size_t len);
4885
5185
 
4886
5186
 
4887
5187
  // Deprecated functions.
@@ -5178,16 +5478,16 @@ OPENSSL_EXPORT int SSL_set1_sigalgs_list(SSL *ssl, const char *str);
5178
5478
 
5179
5479
  #define SSL_get_cipher(ssl) SSL_CIPHER_get_name(SSL_get_current_cipher(ssl))
5180
5480
  #define SSL_get_cipher_bits(ssl, out_alg_bits) \
5181
- SSL_CIPHER_get_bits(SSL_get_current_cipher(ssl), out_alg_bits)
5481
+ SSL_CIPHER_get_bits(SSL_get_current_cipher(ssl), out_alg_bits)
5182
5482
  #define SSL_get_cipher_version(ssl) \
5183
- SSL_CIPHER_get_version(SSL_get_current_cipher(ssl))
5483
+ SSL_CIPHER_get_version(SSL_get_current_cipher(ssl))
5184
5484
  #define SSL_get_cipher_name(ssl) \
5185
- SSL_CIPHER_get_name(SSL_get_current_cipher(ssl))
5485
+ SSL_CIPHER_get_name(SSL_get_current_cipher(ssl))
5186
5486
  #define SSL_get_time(session) SSL_SESSION_get_time(session)
5187
5487
  #define SSL_set_time(session, time) SSL_SESSION_set_time((session), (time))
5188
5488
  #define SSL_get_timeout(session) SSL_SESSION_get_timeout(session)
5189
5489
  #define SSL_set_timeout(session, timeout) \
5190
- SSL_SESSION_set_timeout((session), (timeout))
5490
+ SSL_SESSION_set_timeout((session), (timeout))
5191
5491
 
5192
5492
  struct ssl_comp_st {
5193
5493
  int id;
@@ -5288,19 +5588,19 @@ OPENSSL_EXPORT int SSL_want(const SSL *ssl);
5288
5588
  #define SSL_want_read(ssl) (SSL_want(ssl) == SSL_READING)
5289
5589
  #define SSL_want_write(ssl) (SSL_want(ssl) == SSL_WRITING)
5290
5590
 
5291
- // SSL_get_finished writes up to |count| bytes of the Finished message sent by
5292
- // |ssl| to |buf|. It returns the total untruncated length or zero if none has
5293
- // been sent yet. At TLS 1.3 and later, it returns zero.
5294
- //
5295
- // Use |SSL_get_tls_unique| instead.
5591
+ // SSL_get_finished writes up to |count| bytes of the Finished message sent by
5592
+ // |ssl| to |buf|. It returns the total untruncated length or zero if none has
5593
+ // been sent yet. At TLS 1.3 and later, it returns zero.
5594
+ //
5595
+ // Use |SSL_get_tls_unique| instead.
5296
5596
  OPENSSL_EXPORT size_t SSL_get_finished(const SSL *ssl, void *buf, size_t count);
5297
5597
 
5298
- // SSL_get_peer_finished writes up to |count| bytes of the Finished message
5299
- // received from |ssl|'s peer to |buf|. It returns the total untruncated length
5300
- // or zero if none has been received yet. At TLS 1.3 and later, it returns
5301
- // zero.
5302
- //
5303
- // Use |SSL_get_tls_unique| instead.
5598
+ // SSL_get_peer_finished writes up to |count| bytes of the Finished message
5599
+ // received from |ssl|'s peer to |buf|. It returns the total untruncated length
5600
+ // or zero if none has been received yet. At TLS 1.3 and later, it returns
5601
+ // zero.
5602
+ //
5603
+ // Use |SSL_get_tls_unique| instead.
5304
5604
  OPENSSL_EXPORT size_t SSL_get_peer_finished(const SSL *ssl, void *buf,
5305
5605
  size_t count);
5306
5606
 
@@ -5632,7 +5932,7 @@ enum ssl_compliance_policy_t BORINGSSL_ENUM_INT {
5632
5932
  // other than by the supported signature algorithms. But WPA3's "192-bit"
5633
5933
  // mode requires at least P-384 or 3072-bit along the chain. The caller must
5634
5934
  // enforce this themselves on the verified chain using functions such as
5635
- // `X509_STORE_CTX_get0_chain`.
5935
+ // |X509_STORE_CTX_get0_chain|.
5636
5936
  //
5637
5937
  // Note that this setting is less secure than the default. The
5638
5938
  // implementation risks of using a more obscure primitive like P-384
@@ -5656,11 +5956,20 @@ enum ssl_compliance_policy_t BORINGSSL_ENUM_INT {
5656
5956
  OPENSSL_EXPORT int SSL_CTX_set_compliance_policy(
5657
5957
  SSL_CTX *ctx, enum ssl_compliance_policy_t policy);
5658
5958
 
5959
+ // SSL_CTX_get_compliance_policy returns the compliance policy configured on
5960
+ // |ctx|.
5961
+ OPENSSL_EXPORT enum ssl_compliance_policy_t SSL_CTX_get_compliance_policy(
5962
+ const SSL_CTX *ctx);
5963
+
5659
5964
  // SSL_set_compliance_policy acts the same as |SSL_CTX_set_compliance_policy|,
5660
5965
  // but only configures a single |SSL*|.
5661
5966
  OPENSSL_EXPORT int SSL_set_compliance_policy(
5662
5967
  SSL *ssl, enum ssl_compliance_policy_t policy);
5663
5968
 
5969
+ // SSL_get_compliance_policy returns the compliance policy configured on
5970
+ // |ssl|.
5971
+ OPENSSL_EXPORT enum ssl_compliance_policy_t SSL_get_compliance_policy(
5972
+ const SSL *ssl);
5664
5973
 
5665
5974
  // Nodejs compatibility section (hidden).
5666
5975
  //
@@ -5683,7 +5992,7 @@ OPENSSL_EXPORT int SSL_set_compliance_policy(
5683
5992
  //
5684
5993
  // See PORTING.md in the BoringSSL source tree for a table of corresponding
5685
5994
  // functions.
5686
- // https://boringssl.googlesource.com/boringssl/+/master/PORTING.md#Replacements-for-values
5995
+ // https://boringssl.googlesource.com/boringssl/+/main/PORTING.md#Replacements-for-values
5687
5996
 
5688
5997
  #define DTLS_CTRL_GET_TIMEOUT doesnt_exist
5689
5998
  #define DTLS_CTRL_HANDLE_TIMEOUT doesnt_exist
@@ -5776,7 +6085,7 @@ OPENSSL_EXPORT int SSL_set_compliance_policy(
5776
6085
  #define SSL_CTX_set_session_cache_mode SSL_CTX_set_session_cache_mode
5777
6086
  #define SSL_CTX_set_tlsext_servername_arg SSL_CTX_set_tlsext_servername_arg
5778
6087
  #define SSL_CTX_set_tlsext_servername_callback \
5779
- SSL_CTX_set_tlsext_servername_callback
6088
+ SSL_CTX_set_tlsext_servername_callback
5780
6089
  #define SSL_CTX_set_tlsext_ticket_key_cb SSL_CTX_set_tlsext_ticket_key_cb
5781
6090
  #define SSL_CTX_set_tlsext_ticket_keys SSL_CTX_set_tlsext_ticket_keys
5782
6091
  #define SSL_CTX_set_tmp_dh SSL_CTX_set_tmp_dh
@@ -5794,7 +6103,7 @@ OPENSSL_EXPORT int SSL_set_compliance_policy(
5794
6103
  #define SSL_get_negotiated_group SSL_get_negotiated_group
5795
6104
  #define SSL_get_options SSL_get_options
5796
6105
  #define SSL_get_secure_renegotiation_support \
5797
- SSL_get_secure_renegotiation_support
6106
+ SSL_get_secure_renegotiation_support
5798
6107
  #define SSL_need_tmp_RSA SSL_need_tmp_RSA
5799
6108
  #define SSL_num_renegotiations SSL_num_renegotiations
5800
6109
  #define SSL_session_reused SSL_session_reused
@@ -5814,7 +6123,7 @@ OPENSSL_EXPORT int SSL_set_compliance_policy(
5814
6123
  #define SSL_set_tmp_rsa SSL_set_tmp_rsa
5815
6124
  #define SSL_total_renegotiations SSL_total_renegotiations
5816
6125
 
5817
- #endif // !defined(BORINGSSL_PREFIX)
6126
+ #endif // !defined(BORINGSSL_PREFIX)
5818
6127
 
5819
6128
 
5820
6129
  #if defined(__cplusplus)
@@ -5894,9 +6203,12 @@ OPENSSL_EXPORT bool SSL_serialize_handback(const SSL *ssl, CBB *out);
5894
6203
  OPENSSL_EXPORT bool SSL_apply_handback(SSL *ssl, Span<const uint8_t> handback);
5895
6204
 
5896
6205
  // SSL_get_traffic_secrets sets |*out_read_traffic_secret| and
5897
- // |*out_write_traffic_secret| to reference the TLS 1.3 traffic secrets for
5898
- // |ssl|. This function is only valid on TLS 1.3 connections that have
5899
- // completed the handshake. It returns true on success and false on error.
6206
+ // |*out_write_traffic_secret| to reference the current TLS 1.3 traffic secrets
6207
+ // for |ssl|. It returns true on success and false on error.
6208
+ //
6209
+ // This function is only valid on TLS 1.3 connections that have completed the
6210
+ // handshake. It is not valid for QUIC or DTLS, where multiple traffic secrets
6211
+ // may be active at a time.
5900
6212
  OPENSSL_EXPORT bool SSL_get_traffic_secrets(
5901
6213
  const SSL *ssl, Span<const uint8_t> *out_read_traffic_secret,
5902
6214
  Span<const uint8_t> *out_write_traffic_secret);
@@ -6101,7 +6413,6 @@ BSSL_NAMESPACE_END
6101
6413
  #define SSL_R_WRONG_VERSION_ON_EARLY_DATA 278
6102
6414
  #define SSL_R_UNEXPECTED_EXTENSION_ON_EARLY_DATA 279
6103
6415
  #define SSL_R_NO_SUPPORTED_VERSIONS_ENABLED 280
6104
- #define SSL_R_APPLICATION_DATA_INSTEAD_OF_HANDSHAKE 281
6105
6416
  #define SSL_R_EMPTY_HELLO_RETRY_REQUEST 282
6106
6417
  #define SSL_R_EARLY_DATA_NOT_IN_USE 283
6107
6418
  #define SSL_R_HANDSHAKE_NOT_COMPLETE 284
@@ -6143,6 +6454,13 @@ BSSL_NAMESPACE_END
6143
6454
  #define SSL_R_INVALID_OUTER_EXTENSION 320
6144
6455
  #define SSL_R_INCONSISTENT_ECH_NEGOTIATION 321
6145
6456
  #define SSL_R_INVALID_ALPS_CODEPOINT 322
6457
+ #define SSL_R_NO_MATCHING_ISSUER 323
6458
+ #define SSL_R_INVALID_SPAKE2PLUSV1_VALUE 324
6459
+ #define SSL_R_PAKE_EXHAUSTED 325
6460
+ #define SSL_R_PEER_PAKE_MISMATCH 326
6461
+ #define SSL_R_UNSUPPORTED_CREDENTIAL_LIST 327
6462
+ #define SSL_R_INVALID_TRUST_ANCHOR_LIST 328
6463
+ #define SSL_R_INVALID_CERTIFICATE_PROPERTY_LIST 329
6146
6464
  #define SSL_R_SSLV3_ALERT_CLOSE_NOTIFY 1000
6147
6465
  #define SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE 1010
6148
6466
  #define SSL_R_SSLV3_ALERT_BAD_RECORD_MAC 1020
@@ -6177,5 +6495,6 @@ BSSL_NAMESPACE_END
6177
6495
  #define SSL_R_TLSV1_ALERT_CERTIFICATE_REQUIRED 1116
6178
6496
  #define SSL_R_TLSV1_ALERT_NO_APPLICATION_PROTOCOL 1120
6179
6497
  #define SSL_R_TLSV1_ALERT_ECH_REQUIRED 1121
6498
+ #define SSL_R_PAKE_AND_KEY_SHARE_NOT_ALLOWED 1122
6180
6499
 
6181
6500
  #endif // OPENSSL_HEADER_SSL_H