grpc 1.67.0 → 1.72.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3236) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +378 -397
  3. data/include/grpc/compression.h +1 -2
  4. data/include/grpc/credentials.h +1 -2
  5. data/include/grpc/event_engine/endpoint_config.h +7 -7
  6. data/include/grpc/event_engine/event_engine.h +56 -14
  7. data/include/grpc/event_engine/extensible.h +2 -2
  8. data/include/grpc/event_engine/internal/memory_allocator_impl.h +4 -4
  9. data/include/grpc/event_engine/memory_allocator.h +3 -4
  10. data/include/grpc/event_engine/memory_request.h +4 -5
  11. data/include/grpc/event_engine/slice.h +3 -4
  12. data/include/grpc/event_engine/slice_buffer.h +6 -7
  13. data/include/grpc/grpc.h +1 -2
  14. data/include/grpc/grpc_audit_logging.h +3 -3
  15. data/include/grpc/grpc_crl_provider.h +4 -4
  16. data/include/grpc/grpc_posix.h +1 -2
  17. data/include/grpc/grpc_security.h +1 -2
  18. data/include/grpc/impl/call.h +2 -2
  19. data/include/grpc/impl/channel_arg_names.h +72 -50
  20. data/include/grpc/impl/grpc_types.h +1 -2
  21. data/include/grpc/impl/slice_type.h +1 -2
  22. data/include/grpc/passive_listener.h +2 -2
  23. data/include/grpc/status.h +1 -1
  24. data/include/grpc/support/alloc.h +1 -2
  25. data/include/grpc/support/atm.h +0 -13
  26. data/include/grpc/support/json.h +17 -18
  27. data/include/grpc/support/log.h +1 -2
  28. data/include/grpc/support/metrics.h +7 -3
  29. data/include/grpc/support/port_platform.h +6 -1
  30. data/include/grpc/support/sync_posix.h +1 -2
  31. data/include/grpc/support/time.h +1 -2
  32. data/include/grpc/support/workaround_list.h +1 -4
  33. data/src/core/call/call_arena_allocator.cc +27 -0
  34. data/src/core/call/call_arena_allocator.h +91 -0
  35. data/src/core/call/call_destination.h +76 -0
  36. data/src/core/call/call_filters.cc +148 -0
  37. data/src/core/call/call_filters.h +1967 -0
  38. data/src/core/call/call_finalization.h +88 -0
  39. data/src/core/call/call_spine.cc +90 -0
  40. data/src/core/call/call_spine.h +644 -0
  41. data/src/core/call/call_state.cc +39 -0
  42. data/src/core/call/call_state.h +1154 -0
  43. data/src/core/call/client_call.cc +458 -0
  44. data/src/core/call/client_call.h +192 -0
  45. data/src/core/call/custom_metadata.h +30 -0
  46. data/src/core/call/interception_chain.cc +155 -0
  47. data/src/core/call/interception_chain.h +282 -0
  48. data/src/core/call/message.cc +44 -0
  49. data/src/core/call/message.h +70 -0
  50. data/src/core/call/metadata.cc +61 -0
  51. data/src/core/call/metadata.h +201 -0
  52. data/src/core/call/metadata_batch.cc +383 -0
  53. data/src/core/call/metadata_batch.h +1668 -0
  54. data/src/core/call/metadata_compression_traits.h +66 -0
  55. data/src/core/call/metadata_info.cc +73 -0
  56. data/src/core/call/metadata_info.h +85 -0
  57. data/src/core/call/parsed_metadata.cc +35 -0
  58. data/src/core/call/parsed_metadata.h +429 -0
  59. data/src/core/call/request_buffer.cc +224 -0
  60. data/src/core/call/request_buffer.h +192 -0
  61. data/src/core/call/security_context.cc +125 -0
  62. data/src/core/call/security_context.h +114 -0
  63. data/src/core/call/server_call.cc +259 -0
  64. data/src/core/call/server_call.h +169 -0
  65. data/src/core/call/simple_slice_based_metadata.h +53 -0
  66. data/src/core/call/status_util.cc +153 -0
  67. data/src/core/call/status_util.h +80 -0
  68. data/src/core/channelz/channel_trace.cc +5 -6
  69. data/src/core/channelz/channel_trace.h +5 -7
  70. data/src/core/channelz/channelz.cc +7 -8
  71. data/src/core/channelz/channelz.h +11 -32
  72. data/src/core/channelz/channelz_registry.cc +6 -14
  73. data/src/core/channelz/channelz_registry.h +4 -5
  74. data/src/core/client_channel/backup_poller.cc +21 -11
  75. data/src/core/client_channel/client_channel.cc +66 -65
  76. data/src/core/client_channel/client_channel.h +10 -7
  77. data/src/core/client_channel/client_channel_args.h +21 -0
  78. data/src/core/client_channel/client_channel_factory.cc +2 -2
  79. data/src/core/client_channel/client_channel_factory.h +1 -2
  80. data/src/core/client_channel/client_channel_filter.cc +91 -175
  81. data/src/core/client_channel/client_channel_filter.h +23 -21
  82. data/src/core/client_channel/client_channel_internal.h +3 -4
  83. data/src/core/client_channel/client_channel_plugin.cc +3 -4
  84. data/src/core/client_channel/client_channel_service_config.cc +3 -4
  85. data/src/core/client_channel/client_channel_service_config.h +9 -11
  86. data/src/core/client_channel/config_selector.h +6 -9
  87. data/src/core/client_channel/connector.h +3 -3
  88. data/src/core/client_channel/direct_channel.cc +6 -6
  89. data/src/core/client_channel/direct_channel.h +1 -1
  90. data/src/core/client_channel/dynamic_filters.cc +10 -9
  91. data/src/core/client_channel/dynamic_filters.h +8 -8
  92. data/src/core/client_channel/global_subchannel_pool.cc +2 -2
  93. data/src/core/client_channel/global_subchannel_pool.h +2 -3
  94. data/src/core/client_channel/lb_metadata.cc +7 -8
  95. data/src/core/client_channel/lb_metadata.h +6 -7
  96. data/src/core/client_channel/load_balanced_call_destination.cc +7 -8
  97. data/src/core/client_channel/load_balanced_call_destination.h +1 -2
  98. data/src/core/client_channel/local_subchannel_pool.cc +2 -3
  99. data/src/core/client_channel/local_subchannel_pool.h +1 -1
  100. data/src/core/client_channel/retry_filter.cc +6 -8
  101. data/src/core/client_channel/retry_filter.h +5 -8
  102. data/src/core/client_channel/retry_filter_legacy_call_data.cc +62 -62
  103. data/src/core/client_channel/retry_filter_legacy_call_data.h +22 -23
  104. data/src/core/client_channel/retry_interceptor.cc +408 -0
  105. data/src/core/client_channel/retry_interceptor.h +157 -0
  106. data/src/core/client_channel/retry_service_config.cc +8 -10
  107. data/src/core/client_channel/retry_service_config.h +20 -9
  108. data/src/core/client_channel/retry_throttle.cc +60 -50
  109. data/src/core/client_channel/retry_throttle.h +16 -11
  110. data/src/core/client_channel/subchannel.cc +62 -99
  111. data/src/core/client_channel/subchannel.h +22 -22
  112. data/src/core/client_channel/subchannel_interface_internal.h +1 -1
  113. data/src/core/client_channel/subchannel_pool_interface.cc +1 -3
  114. data/src/core/client_channel/subchannel_pool_interface.h +2 -3
  115. data/src/core/client_channel/subchannel_stream_client.cc +20 -21
  116. data/src/core/client_channel/subchannel_stream_client.h +13 -15
  117. data/src/core/config/config_vars.cc +152 -0
  118. data/src/core/config/config_vars.h +129 -0
  119. data/src/core/config/config_vars_non_generated.cc +49 -0
  120. data/src/core/config/core_configuration.cc +111 -0
  121. data/src/core/config/core_configuration.h +242 -0
  122. data/src/core/config/load_config.cc +78 -0
  123. data/src/core/config/load_config.h +54 -0
  124. data/src/core/credentials/call/call_credentials.h +157 -0
  125. data/src/core/credentials/call/call_creds_util.cc +97 -0
  126. data/src/core/credentials/call/call_creds_util.h +43 -0
  127. data/src/core/credentials/call/composite/composite_call_credentials.cc +115 -0
  128. data/src/core/credentials/call/composite/composite_call_credentials.h +82 -0
  129. data/src/core/credentials/call/external/aws_external_account_credentials.cc +528 -0
  130. data/src/core/credentials/call/external/aws_external_account_credentials.h +117 -0
  131. data/src/core/credentials/call/external/aws_request_signer.cc +230 -0
  132. data/src/core/credentials/call/external/aws_request_signer.h +72 -0
  133. data/src/core/credentials/call/external/external_account_credentials.cc +641 -0
  134. data/src/core/credentials/call/external/external_account_credentials.h +207 -0
  135. data/src/core/credentials/call/external/file_external_account_credentials.cc +174 -0
  136. data/src/core/credentials/call/external/file_external_account_credentials.h +80 -0
  137. data/src/core/credentials/call/external/url_external_account_credentials.cc +222 -0
  138. data/src/core/credentials/call/external/url_external_account_credentials.h +73 -0
  139. data/src/core/credentials/call/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +196 -0
  140. data/src/core/credentials/call/gcp_service_account_identity/gcp_service_account_identity_credentials.h +90 -0
  141. data/src/core/credentials/call/iam/iam_credentials.cc +78 -0
  142. data/src/core/credentials/call/iam/iam_credentials.h +66 -0
  143. data/src/core/credentials/call/json_util.cc +69 -0
  144. data/src/core/credentials/call/json_util.h +43 -0
  145. data/src/core/credentials/call/jwt/json_token.cc +318 -0
  146. data/src/core/credentials/call/jwt/json_token.h +78 -0
  147. data/src/core/credentials/call/jwt/jwt_credentials.cc +181 -0
  148. data/src/core/credentials/call/jwt/jwt_credentials.h +106 -0
  149. data/src/core/credentials/call/jwt/jwt_verifier.cc +988 -0
  150. data/src/core/credentials/call/jwt/jwt_verifier.h +122 -0
  151. data/src/core/credentials/call/oauth2/oauth2_credentials.cc +654 -0
  152. data/src/core/credentials/call/oauth2/oauth2_credentials.h +197 -0
  153. data/src/core/credentials/call/plugin/plugin_credentials.cc +201 -0
  154. data/src/core/credentials/call/plugin/plugin_credentials.h +123 -0
  155. data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.cc +304 -0
  156. data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.h +181 -0
  157. data/src/core/credentials/transport/alts/alts_credentials.cc +116 -0
  158. data/src/core/credentials/transport/alts/alts_credentials.h +127 -0
  159. data/src/core/credentials/transport/alts/alts_security_connector.cc +303 -0
  160. data/src/core/credentials/transport/alts/alts_security_connector.h +78 -0
  161. data/src/core/credentials/transport/alts/check_gcp_environment.cc +71 -0
  162. data/src/core/credentials/transport/alts/check_gcp_environment.h +57 -0
  163. data/src/core/credentials/transport/alts/check_gcp_environment_linux.cc +67 -0
  164. data/src/core/credentials/transport/alts/check_gcp_environment_no_op.cc +32 -0
  165. data/src/core/credentials/transport/alts/check_gcp_environment_windows.cc +101 -0
  166. data/src/core/credentials/transport/alts/grpc_alts_credentials_client_options.cc +123 -0
  167. data/src/core/credentials/transport/alts/grpc_alts_credentials_options.cc +45 -0
  168. data/src/core/credentials/transport/alts/grpc_alts_credentials_options.h +74 -0
  169. data/src/core/credentials/transport/alts/grpc_alts_credentials_server_options.cc +55 -0
  170. data/src/core/credentials/transport/channel_creds_registry.h +126 -0
  171. data/src/core/credentials/transport/channel_creds_registry_init.cc +245 -0
  172. data/src/core/credentials/transport/composite/composite_channel_credentials.cc +68 -0
  173. data/src/core/credentials/transport/composite/composite_channel_credentials.h +89 -0
  174. data/src/core/credentials/transport/fake/fake_credentials.cc +81 -0
  175. data/src/core/credentials/transport/fake/fake_credentials.h +92 -0
  176. data/src/core/credentials/transport/fake/fake_security_connector.cc +314 -0
  177. data/src/core/credentials/transport/fake/fake_security_connector.h +42 -0
  178. data/src/core/credentials/transport/google_default/credentials_generic.cc +38 -0
  179. data/src/core/credentials/transport/google_default/google_default_credentials.cc +442 -0
  180. data/src/core/credentials/transport/google_default/google_default_credentials.h +101 -0
  181. data/src/core/credentials/transport/insecure/insecure_credentials.cc +71 -0
  182. data/src/core/credentials/transport/insecure/insecure_credentials.h +61 -0
  183. data/src/core/credentials/transport/insecure/insecure_security_connector.cc +118 -0
  184. data/src/core/credentials/transport/insecure/insecure_security_connector.h +102 -0
  185. data/src/core/credentials/transport/local/local_credentials.cc +68 -0
  186. data/src/core/credentials/transport/local/local_credentials.h +77 -0
  187. data/src/core/credentials/transport/local/local_security_connector.cc +306 -0
  188. data/src/core/credentials/transport/local/local_security_connector.h +62 -0
  189. data/src/core/credentials/transport/security_connector.cc +123 -0
  190. data/src/core/credentials/transport/security_connector.h +197 -0
  191. data/src/core/credentials/transport/ssl/ssl_credentials.cc +474 -0
  192. data/src/core/credentials/transport/ssl/ssl_credentials.h +144 -0
  193. data/src/core/credentials/transport/ssl/ssl_security_connector.cc +403 -0
  194. data/src/core/credentials/transport/ssl/ssl_security_connector.h +81 -0
  195. data/src/core/credentials/transport/tls/certificate_provider_factory.h +69 -0
  196. data/src/core/credentials/transport/tls/certificate_provider_registry.cc +50 -0
  197. data/src/core/credentials/transport/tls/certificate_provider_registry.h +75 -0
  198. data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.cc +337 -0
  199. data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.h +215 -0
  200. data/src/core/credentials/transport/tls/grpc_tls_certificate_match.cc +84 -0
  201. data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.cc +490 -0
  202. data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.h +206 -0
  203. data/src/core/credentials/transport/tls/grpc_tls_certificate_verifier.cc +237 -0
  204. data/src/core/credentials/transport/tls/grpc_tls_certificate_verifier.h +169 -0
  205. data/src/core/credentials/transport/tls/grpc_tls_credentials_options.cc +161 -0
  206. data/src/core/credentials/transport/tls/grpc_tls_credentials_options.h +145 -0
  207. data/src/core/credentials/transport/tls/grpc_tls_crl_provider.cc +257 -0
  208. data/src/core/credentials/transport/tls/grpc_tls_crl_provider.h +129 -0
  209. data/src/core/credentials/transport/tls/load_system_roots.h +35 -0
  210. data/src/core/credentials/transport/tls/load_system_roots_fallback.cc +36 -0
  211. data/src/core/credentials/transport/tls/load_system_roots_supported.cc +165 -0
  212. data/src/core/credentials/transport/tls/load_system_roots_supported.h +44 -0
  213. data/src/core/credentials/transport/tls/load_system_roots_windows.cc +85 -0
  214. data/src/core/credentials/transport/tls/ssl_utils.cc +628 -0
  215. data/src/core/credentials/transport/tls/ssl_utils.h +188 -0
  216. data/src/core/credentials/transport/tls/tls_credentials.cc +170 -0
  217. data/src/core/credentials/transport/tls/tls_credentials.h +75 -0
  218. data/src/core/credentials/transport/tls/tls_security_connector.cc +816 -0
  219. data/src/core/credentials/transport/tls/tls_security_connector.h +285 -0
  220. data/src/core/credentials/transport/tls/tls_utils.cc +127 -0
  221. data/src/core/credentials/transport/tls/tls_utils.h +50 -0
  222. data/src/core/credentials/transport/transport_credentials.cc +158 -0
  223. data/src/core/credentials/transport/transport_credentials.h +182 -0
  224. data/src/core/credentials/transport/xds/xds_credentials.cc +231 -0
  225. data/src/core/credentials/transport/xds/xds_credentials.h +110 -0
  226. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +14 -21
  227. data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +7 -8
  228. data/src/core/ext/filters/census/grpc_context.cc +1 -2
  229. data/src/core/ext/filters/channel_idle/idle_filter_state.cc +1 -2
  230. data/src/core/ext/filters/channel_idle/idle_filter_state.h +0 -1
  231. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +25 -24
  232. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h +6 -8
  233. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +19 -23
  234. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +7 -9
  235. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +4 -5
  236. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +4 -7
  237. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +56 -25
  238. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +35 -20
  239. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.cc +3 -4
  240. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.h +3 -4
  241. data/src/core/ext/filters/http/client/http_client_filter.cc +13 -13
  242. data/src/core/ext/filters/http/client/http_client_filter.h +5 -6
  243. data/src/core/ext/filters/http/client_authority_filter.cc +15 -19
  244. data/src/core/ext/filters/http/client_authority_filter.h +6 -7
  245. data/src/core/ext/filters/http/http_filters_plugin.cc +1 -2
  246. data/src/core/ext/filters/http/message_compress/compression_filter.cc +43 -33
  247. data/src/core/ext/filters/http/message_compress/compression_filter.h +20 -18
  248. data/src/core/ext/filters/http/server/http_server_filter.cc +15 -15
  249. data/src/core/ext/filters/http/server/http_server_filter.h +4 -5
  250. data/src/core/ext/filters/message_size/message_size_filter.cc +27 -33
  251. data/src/core/ext/filters/message_size/message_size_filter.h +22 -25
  252. data/src/core/ext/filters/rbac/rbac_filter.cc +8 -15
  253. data/src/core/ext/filters/rbac/rbac_filter.h +6 -8
  254. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +17 -11
  255. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +2 -4
  256. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +13 -13
  257. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +6 -8
  258. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +3 -4
  259. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +5 -7
  260. data/src/core/ext/transport/chttp2/alpn/alpn.cc +1 -2
  261. data/src/core/ext/transport/chttp2/alpn/alpn.h +1 -2
  262. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +24 -29
  263. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +7 -7
  264. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +765 -189
  265. data/src/core/ext/transport/chttp2/server/chttp2_server.h +195 -15
  266. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +7 -7
  267. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +2 -3
  268. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +4 -6
  269. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +1 -2
  270. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.cc +53 -0
  271. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.h +70 -0
  272. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +277 -193
  273. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +12 -13
  274. data/src/core/ext/transport/chttp2/transport/context_list_entry.h +4 -5
  275. data/src/core/ext/transport/chttp2/transport/decode_huff.h +4 -4
  276. data/src/core/ext/transport/chttp2/transport/flow_control.cc +4 -6
  277. data/src/core/ext/transport/chttp2/transport/flow_control.h +5 -7
  278. data/src/core/ext/transport/chttp2/transport/frame.cc +109 -70
  279. data/src/core/ext/transport/chttp2/transport/frame.h +52 -7
  280. data/src/core/ext/transport/chttp2/transport/frame_data.cc +19 -13
  281. data/src/core/ext/transport/chttp2/transport/frame_data.h +2 -4
  282. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +11 -13
  283. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -2
  284. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +2 -4
  285. data/src/core/ext/transport/chttp2/transport/frame_ping.h +1 -2
  286. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +10 -8
  287. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -2
  288. data/src/core/ext/transport/chttp2/transport/frame_security.cc +80 -0
  289. data/src/core/ext/transport/chttp2/transport/frame_security.h +44 -0
  290. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +28 -12
  291. data/src/core/ext/transport/chttp2/transport/frame_settings.h +3 -4
  292. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +21 -3
  293. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +1 -2
  294. data/src/core/ext/transport/chttp2/transport/hpack_constants.h +2 -2
  295. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +10 -11
  296. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +8 -10
  297. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +2 -2
  298. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +4 -5
  299. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +2 -4
  300. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +7 -9
  301. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +38 -39
  302. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +10 -13
  303. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +1 -3
  304. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +4 -6
  305. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +22 -12
  306. data/src/core/ext/transport/chttp2/transport/http2_settings.h +14 -8
  307. data/src/core/ext/transport/chttp2/transport/http2_status.h +52 -0
  308. data/src/core/ext/transport/chttp2/transport/internal.h +58 -112
  309. data/src/core/ext/transport/chttp2/transport/legacy_frame.h +1 -0
  310. data/src/core/ext/transport/chttp2/transport/parsing.cc +90 -42
  311. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.cc +4 -4
  312. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.h +3 -3
  313. data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +4 -4
  314. data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +5 -7
  315. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +6 -7
  316. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +4 -6
  317. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +5 -3
  318. data/src/core/ext/transport/chttp2/transport/stream_lists.h +65 -0
  319. data/src/core/ext/transport/chttp2/transport/varint.cc +6 -6
  320. data/src/core/ext/transport/chttp2/transport/varint.h +1 -2
  321. data/src/core/ext/transport/chttp2/transport/write_size_policy.cc +2 -2
  322. data/src/core/ext/transport/chttp2/transport/write_size_policy.h +3 -4
  323. data/src/core/ext/transport/chttp2/transport/writing.cc +40 -45
  324. data/src/core/ext/transport/inproc/inproc_transport.cc +8 -11
  325. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +28 -25
  326. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb.h +35 -4
  327. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c +25 -18
  328. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.h +10 -4
  329. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +101 -69
  330. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +52 -46
  331. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.h +9 -4
  332. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb.h +39 -4
  333. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.c +29 -22
  334. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.h +10 -4
  335. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +154 -19
  336. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +111 -90
  337. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.h +24 -4
  338. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb.h +10 -4
  339. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.c +8 -4
  340. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.h +7 -4
  341. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb.h +17 -4
  342. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.c +12 -8
  343. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.h +7 -4
  344. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb.h +5 -4
  345. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.c +4 -1
  346. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.h +6 -4
  347. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +11 -10
  348. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +8 -5
  349. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.h +6 -4
  350. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb.h +5 -4
  351. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.c +4 -1
  352. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.h +6 -4
  353. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +165 -134
  354. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +88 -83
  355. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.h +7 -4
  356. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb.h +7 -4
  357. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.c +7 -4
  358. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.h +6 -4
  359. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb.h +5 -4
  360. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.c +7 -1
  361. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.h +5 -4
  362. data/src/core/ext/upb-gen/envoy/annotations/resource.upb.h +7 -6
  363. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.c +10 -6
  364. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.h +6 -4
  365. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +87 -30
  366. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +73 -55
  367. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.h +21 -4
  368. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +397 -220
  369. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +197 -172
  370. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.h +28 -4
  371. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +58 -31
  372. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +31 -26
  373. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.h +8 -4
  374. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +535 -326
  375. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +259 -230
  376. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.h +30 -4
  377. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb.h +9 -4
  378. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.c +8 -5
  379. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.h +6 -4
  380. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +114 -62
  381. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +44 -41
  382. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.h +6 -4
  383. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +116 -26
  384. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +83 -66
  385. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.h +20 -4
  386. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +73 -33
  387. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +52 -42
  388. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.h +13 -4
  389. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb.h +9 -4
  390. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.c +8 -5
  391. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.h +6 -4
  392. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +405 -190
  393. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +192 -135
  394. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.h +36 -4
  395. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +100 -58
  396. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +57 -48
  397. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.h +12 -4
  398. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb.h +7 -4
  399. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.c +7 -4
  400. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.h +6 -4
  401. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb.h +7 -4
  402. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.c +7 -4
  403. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.h +6 -4
  404. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb.h +10 -4
  405. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.c +8 -4
  406. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.h +7 -4
  407. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +128 -63
  408. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +76 -60
  409. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.h +19 -4
  410. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +192 -104
  411. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +89 -78
  412. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.h +14 -4
  413. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb.h +12 -4
  414. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.c +8 -5
  415. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.h +6 -4
  416. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +19 -16
  417. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +12 -9
  418. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.h +6 -4
  419. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +304 -118
  420. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +138 -114
  421. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.h +21 -4
  422. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb.h +7 -4
  423. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.c +8 -4
  424. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.h +7 -4
  425. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb.h +12 -4
  426. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.c +9 -5
  427. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.h +7 -4
  428. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb.h +151 -0
  429. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.c +60 -0
  430. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.h +32 -0
  431. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +235 -22
  432. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +71 -19
  433. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.h +13 -4
  434. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +43 -31
  435. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +21 -17
  436. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.h +7 -4
  437. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb.h +9 -4
  438. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.c +8 -5
  439. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.h +6 -4
  440. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +45 -16
  441. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +25 -19
  442. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.h +9 -4
  443. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +89 -45
  444. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +57 -48
  445. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.h +12 -4
  446. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +68 -28
  447. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +36 -28
  448. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.h +11 -4
  449. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb.h +7 -4
  450. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.c +7 -4
  451. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.h +6 -4
  452. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +222 -143
  453. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +99 -87
  454. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.h +15 -4
  455. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +127 -164
  456. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +67 -79
  457. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.h +11 -5
  458. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +112 -4
  459. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +41 -16
  460. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.h +6 -4
  461. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb.h +11 -4
  462. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.c +10 -6
  463. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.h +7 -4
  464. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +15 -10
  465. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +12 -9
  466. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.h +6 -4
  467. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +66 -37
  468. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +48 -38
  469. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.h +13 -4
  470. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +53 -5
  471. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.c +41 -29
  472. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.h +15 -4
  473. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +258 -16
  474. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +108 -65
  475. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.h +18 -4
  476. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +102 -56
  477. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +34 -29
  478. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.h +8 -4
  479. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +1289 -615
  480. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +582 -465
  481. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.h +67 -4
  482. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +27 -17
  483. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +17 -12
  484. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.h +8 -4
  485. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +72 -7
  486. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +61 -47
  487. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.h +17 -4
  488. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb.h +9 -4
  489. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.c +11 -7
  490. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.h +7 -4
  491. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb.h +7 -4
  492. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.c +7 -4
  493. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.h +6 -4
  494. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb.h +9 -4
  495. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.c +11 -7
  496. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.h +7 -4
  497. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb.h +7 -4
  498. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.c +7 -4
  499. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.h +6 -4
  500. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +23 -11
  501. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +13 -10
  502. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.h +6 -4
  503. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb.h +7 -4
  504. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.c +7 -4
  505. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.h +6 -4
  506. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +26 -19
  507. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +19 -15
  508. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.h +7 -4
  509. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb.h +5 -6
  510. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.c +3 -2
  511. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.h +5 -5
  512. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +20 -11
  513. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +16 -12
  514. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.h +7 -4
  515. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +23 -20
  516. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +17 -14
  517. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.h +6 -4
  518. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +402 -310
  519. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +168 -150
  520. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.h +21 -4
  521. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +5 -4
  522. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.c +4 -1
  523. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.h +6 -4
  524. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb.h +17 -4
  525. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.c +18 -11
  526. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.h +10 -4
  527. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +85 -65
  528. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +45 -40
  529. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.h +8 -4
  530. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb.h +36 -23
  531. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +23 -17
  532. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.h +9 -4
  533. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +40 -29
  534. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +23 -19
  535. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.h +7 -4
  536. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +55 -38
  537. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +23 -19
  538. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.h +7 -4
  539. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +12 -7
  540. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +13 -9
  541. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.h +7 -4
  542. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +488 -295
  543. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +240 -216
  544. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.h +26 -4
  545. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +7 -4
  546. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.c +7 -4
  547. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.h +6 -4
  548. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +77 -4
  549. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.c +25 -11
  550. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.h +6 -4
  551. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +24 -7
  552. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +25 -18
  553. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.h +10 -4
  554. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +5 -4
  555. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.c +4 -1
  556. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.h +6 -4
  557. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +38 -27
  558. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +19 -16
  559. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.h +6 -4
  560. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +7 -4
  561. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.c +7 -4
  562. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.h +6 -4
  563. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb.h +105 -0
  564. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.c +51 -0
  565. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.h +32 -0
  566. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +5 -4
  567. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.c +3 -1
  568. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.h +5 -4
  569. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +143 -88
  570. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +70 -60
  571. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.h +13 -4
  572. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +17 -4
  573. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c +18 -13
  574. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.h +8 -4
  575. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +229 -78
  576. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +98 -80
  577. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.h +12 -4
  578. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +49 -11
  579. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c +17 -11
  580. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.h +7 -4
  581. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +66 -28
  582. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +37 -31
  583. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.h +9 -4
  584. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb.h +5 -4
  585. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.c +4 -1
  586. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.h +6 -4
  587. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +440 -127
  588. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +137 -96
  589. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.h +21 -4
  590. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +20 -10
  591. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +14 -10
  592. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.h +7 -4
  593. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +107 -65
  594. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +58 -51
  595. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.h +10 -4
  596. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +14 -11
  597. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +10 -7
  598. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.h +6 -4
  599. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb.h +14 -4
  600. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.c +14 -8
  601. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.h +9 -4
  602. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb.h +142 -0
  603. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.c +55 -0
  604. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.h +32 -0
  605. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +40 -4
  606. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c +13 -7
  607. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.h +6 -4
  608. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb.h +5 -4
  609. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.c +8 -1
  610. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.h +10 -4
  611. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +18 -10
  612. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +11 -7
  613. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.h +7 -4
  614. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb.h +12 -4
  615. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.c +8 -5
  616. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.h +6 -4
  617. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb.h +7 -4
  618. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.c +7 -4
  619. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.h +6 -4
  620. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb.h +7 -4
  621. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.c +7 -4
  622. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.h +6 -4
  623. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +18 -11
  624. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +18 -13
  625. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.h +8 -4
  626. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb.h +5 -4
  627. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.c +5 -1
  628. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.h +7 -4
  629. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb.h +14 -4
  630. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.c +12 -8
  631. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.h +7 -4
  632. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb.h +12 -4
  633. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.c +9 -5
  634. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.h +7 -4
  635. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb.h +22 -4
  636. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.c +20 -14
  637. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.h +9 -4
  638. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb.h +18 -4
  639. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.c +19 -10
  640. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.h +12 -4
  641. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +28 -15
  642. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +22 -15
  643. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.h +10 -4
  644. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb.h +9 -4
  645. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.c +10 -5
  646. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.h +8 -4
  647. data/src/core/ext/upb-gen/envoy/type/v3/http.upb.h +5 -4
  648. data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.c +3 -1
  649. data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.h +5 -4
  650. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb.h +5 -4
  651. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.c +4 -1
  652. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.h +6 -4
  653. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb.h +5 -4
  654. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.c +5 -1
  655. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.h +7 -4
  656. data/src/core/ext/upb-gen/envoy/type/v3/range.upb.h +5 -4
  657. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.c +6 -1
  658. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.h +8 -4
  659. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb.h +9 -4
  660. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.c +9 -5
  661. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.h +7 -4
  662. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb.h +5 -4
  663. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.c +3 -1
  664. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.h +5 -4
  665. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb.h +5 -4
  666. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.c +4 -1
  667. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.h +6 -4
  668. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb.h +9 -4
  669. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.c +8 -5
  670. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.h +6 -4
  671. data/src/core/ext/upb-gen/google/api/annotations.upb.h +7 -6
  672. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.c +5 -2
  673. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.h +5 -4
  674. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +168 -89
  675. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +89 -74
  676. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.h +18 -4
  677. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +162 -84
  678. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +98 -80
  679. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.h +21 -4
  680. data/src/core/ext/upb-gen/google/api/http.upb.h +69 -55
  681. data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +35 -30
  682. data/src/core/ext/upb-gen/google/api/http.upb_minitable.h +8 -4
  683. data/src/core/ext/upb-gen/google/api/httpbody.upb.h +10 -4
  684. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.c +7 -4
  685. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.h +6 -4
  686. data/src/core/ext/upb-gen/google/protobuf/any.upb.h +6 -4
  687. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.c +4 -1
  688. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.h +6 -4
  689. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +529 -305
  690. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +337 -290
  691. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +56 -21
  692. data/src/core/ext/upb-gen/google/protobuf/duration.upb.h +6 -4
  693. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.c +4 -1
  694. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.h +6 -4
  695. data/src/core/ext/upb-gen/google/protobuf/empty.upb.h +6 -4
  696. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.c +4 -1
  697. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.h +6 -4
  698. data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +34 -13
  699. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.c +20 -14
  700. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.h +9 -4
  701. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb.h +6 -4
  702. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.c +4 -1
  703. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.h +6 -4
  704. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb.h +6 -4
  705. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.c +12 -1
  706. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.h +14 -4
  707. data/src/core/ext/upb-gen/google/rpc/status.upb.h +10 -4
  708. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.c +7 -4
  709. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.h +6 -4
  710. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +21 -13
  711. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.c +9 -5
  712. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.h +7 -4
  713. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +170 -114
  714. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +76 -62
  715. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.h +17 -4
  716. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h +10 -4
  717. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +9 -5
  718. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.h +7 -4
  719. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb.h +6 -4
  720. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.c +5 -1
  721. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.h +7 -4
  722. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +35 -10
  723. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +35 -24
  724. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.h +14 -4
  725. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +32 -25
  726. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +12 -7
  727. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.h +8 -4
  728. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +125 -74
  729. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +50 -39
  730. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.h +14 -4
  731. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb.h +15 -14
  732. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.c +22 -12
  733. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.h +8 -4
  734. data/src/core/ext/upb-gen/udpa/annotations/security.upb.h +7 -6
  735. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.c +10 -6
  736. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.h +6 -4
  737. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb.h +5 -4
  738. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.c +4 -1
  739. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.h +5 -4
  740. data/src/core/ext/upb-gen/udpa/annotations/status.upb.h +7 -6
  741. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.c +10 -6
  742. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.h +6 -4
  743. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb.h +7 -6
  744. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.c +10 -6
  745. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.h +6 -4
  746. data/src/core/ext/upb-gen/validate/validate.upb.h +457 -374
  747. data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +233 -204
  748. data/src/core/ext/upb-gen/validate/validate.upb_minitable.h +29 -5
  749. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb.h +15 -14
  750. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.c +22 -12
  751. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.h +8 -4
  752. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb.h +7 -6
  753. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.c +10 -6
  754. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.h +6 -4
  755. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb.h +5 -4
  756. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.c +4 -1
  757. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.h +5 -4
  758. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb.h +11 -10
  759. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.c +20 -11
  760. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.h +9 -4
  761. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb.h +7 -6
  762. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.c +10 -6
  763. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.h +6 -4
  764. data/src/core/ext/upb-gen/xds/core/v3/authority.upb.h +5 -4
  765. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.c +4 -1
  766. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.h +6 -4
  767. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb.h +7 -4
  768. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.c +7 -4
  769. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.h +6 -4
  770. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb.h +11 -4
  771. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.c +12 -8
  772. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.h +7 -4
  773. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +19 -13
  774. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.c +8 -4
  775. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.h +7 -4
  776. data/src/core/ext/upb-gen/xds/core/v3/extension.upb.h +7 -4
  777. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.c +7 -4
  778. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.h +6 -4
  779. data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +16 -11
  780. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +11 -8
  781. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.h +6 -4
  782. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +26 -16
  783. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +14 -10
  784. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.h +7 -4
  785. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb.h +7 -4
  786. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.c +7 -4
  787. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.h +6 -4
  788. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +47 -31
  789. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.c +12 -6
  790. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.h +9 -4
  791. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb.h +7 -4
  792. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.c +7 -4
  793. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.h +6 -4
  794. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +14 -11
  795. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +10 -7
  796. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.h +6 -4
  797. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb.h +12 -4
  798. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.c +11 -7
  799. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.h +7 -4
  800. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb.h +5 -4
  801. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.c +4 -1
  802. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.h +6 -4
  803. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +20 -7
  804. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +13 -9
  805. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.h +7 -4
  806. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +83 -26
  807. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +58 -46
  808. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.h +15 -4
  809. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb.h +41 -4
  810. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.c +30 -22
  811. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.h +11 -4
  812. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb.h +7 -4
  813. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.c +8 -4
  814. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.h +7 -4
  815. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +12 -4
  816. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.c +11 -7
  817. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.h +7 -4
  818. data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +13 -4
  819. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c +13 -9
  820. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.h +7 -4
  821. data/src/core/ext/upb-gen/xds/type/v3/range.upb.h +6 -4
  822. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.c +6 -1
  823. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.h +8 -4
  824. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb.h +7 -4
  825. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.c +7 -4
  826. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.h +6 -4
  827. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.c +2 -1
  828. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.h +5 -4
  829. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.c +2 -1
  830. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.h +5 -4
  831. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.c +2 -1
  832. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.h +5 -4
  833. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.c +13 -11
  834. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.h +5 -4
  835. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.c +2 -1
  836. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.h +5 -4
  837. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.c +2 -1
  838. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.h +5 -4
  839. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.c +2 -1
  840. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.h +5 -4
  841. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.c +2 -1
  842. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.h +5 -4
  843. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.c +2 -1
  844. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.h +5 -4
  845. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.c +8 -5
  846. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.h +5 -4
  847. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.c +2 -1
  848. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.h +5 -4
  849. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.c +2 -1
  850. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.h +5 -4
  851. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.c +2 -1
  852. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.h +5 -4
  853. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.c +2 -1
  854. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.h +5 -4
  855. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +2 -1
  856. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +5 -4
  857. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +2 -1
  858. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +5 -4
  859. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.c +420 -414
  860. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.h +5 -4
  861. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.c +2 -1
  862. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.h +5 -4
  863. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.c +2 -1
  864. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.h +5 -4
  865. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.c +2 -1
  866. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.h +5 -4
  867. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.c +2 -1
  868. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.h +5 -4
  869. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.c +2 -1
  870. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.h +5 -4
  871. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.c +163 -154
  872. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.h +10 -4
  873. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.c +2 -1
  874. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.h +5 -4
  875. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.c +2 -1
  876. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.h +5 -4
  877. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.c +2 -1
  878. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.h +5 -4
  879. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.c +2 -1
  880. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.h +5 -4
  881. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.c +2 -1
  882. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.h +5 -4
  883. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.c +2 -1
  884. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.h +5 -4
  885. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.c +2 -1
  886. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.h +5 -4
  887. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.c +2 -1
  888. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.h +5 -4
  889. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.c +272 -262
  890. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.h +5 -4
  891. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.c +2 -1
  892. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.h +5 -4
  893. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.c +2 -1
  894. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.h +5 -4
  895. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.c +46 -0
  896. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.h +33 -0
  897. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.c +31 -20
  898. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.h +20 -4
  899. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.c +2 -1
  900. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.h +5 -4
  901. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.c +2 -1
  902. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.h +5 -4
  903. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.c +2 -1
  904. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.h +5 -4
  905. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +2 -1
  906. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +5 -4
  907. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.c +2 -1
  908. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.h +5 -4
  909. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.c +2 -1
  910. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.h +5 -4
  911. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.c +2 -1
  912. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.h +5 -4
  913. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.c +60 -66
  914. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.h +5 -9
  915. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.c +75 -64
  916. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.h +5 -4
  917. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.c +2 -1
  918. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.h +5 -4
  919. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.c +2 -1
  920. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.h +5 -4
  921. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.c +2 -1
  922. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.h +5 -4
  923. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.c +51 -49
  924. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.h +5 -4
  925. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.c +119 -101
  926. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.h +10 -4
  927. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.c +2 -1
  928. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.h +5 -4
  929. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.c +919 -899
  930. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.h +15 -4
  931. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.c +2 -1
  932. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.h +5 -4
  933. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.c +2 -1
  934. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.h +5 -4
  935. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.c +2 -1
  936. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.h +5 -4
  937. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.c +2 -1
  938. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.h +5 -4
  939. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.c +2 -1
  940. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.h +5 -4
  941. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.c +2 -1
  942. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.h +5 -4
  943. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.c +2 -1
  944. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.h +5 -4
  945. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.c +2 -1
  946. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.h +5 -4
  947. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.c +2 -1
  948. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.h +5 -4
  949. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.c +17 -19
  950. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.h +5 -4
  951. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.c +2 -1
  952. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.h +5 -4
  953. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.c +2 -1
  954. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.h +5 -4
  955. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.c +2 -1
  956. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.h +5 -4
  957. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +2 -1
  958. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +5 -4
  959. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +2 -1
  960. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +5 -4
  961. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +2 -1
  962. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +5 -4
  963. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.c +2 -1
  964. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.h +5 -4
  965. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +35 -34
  966. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +5 -4
  967. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.c +2 -1
  968. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.h +5 -4
  969. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +2 -1
  970. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +5 -4
  971. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +462 -458
  972. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +5 -4
  973. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +2 -1
  974. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +5 -4
  975. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.c +50 -0
  976. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.h +33 -0
  977. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +2 -1
  978. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +5 -4
  979. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +97 -96
  980. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +5 -4
  981. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +2 -1
  982. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +5 -4
  983. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +204 -192
  984. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +5 -4
  985. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +21 -18
  986. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +5 -4
  987. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.c +2 -1
  988. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.h +5 -4
  989. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.c +2 -1
  990. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.h +5 -4
  991. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.c +150 -136
  992. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.h +10 -4
  993. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.c +2 -1
  994. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.h +5 -4
  995. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.c +25 -23
  996. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.h +5 -4
  997. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.c +2 -1
  998. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.h +5 -4
  999. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.c +2 -1
  1000. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.h +5 -4
  1001. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.c +41 -0
  1002. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.h +33 -0
  1003. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.c +28 -20
  1004. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.h +5 -4
  1005. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.c +2 -1
  1006. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.h +5 -4
  1007. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.c +2 -1
  1008. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.h +5 -4
  1009. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.c +2 -1
  1010. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.h +5 -4
  1011. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.c +2 -1
  1012. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.h +5 -4
  1013. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.c +2 -1
  1014. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.h +5 -4
  1015. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.c +2 -1
  1016. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.h +5 -4
  1017. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.c +2 -1
  1018. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.h +5 -4
  1019. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.c +2 -1
  1020. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.h +5 -4
  1021. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.c +2 -1
  1022. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.h +5 -4
  1023. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.c +2 -1
  1024. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.h +5 -4
  1025. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.c +2 -1
  1026. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.h +5 -4
  1027. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.c +2 -1
  1028. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.h +5 -4
  1029. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.c +2 -1
  1030. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.h +5 -4
  1031. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.c +2 -1
  1032. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.h +5 -4
  1033. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.c +2 -1
  1034. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.h +5 -4
  1035. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.c +2 -1
  1036. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.h +5 -4
  1037. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.c +2 -1
  1038. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.h +5 -4
  1039. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.c +2 -1
  1040. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.h +5 -4
  1041. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.c +2 -1
  1042. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.h +5 -4
  1043. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.c +2 -1
  1044. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.h +5 -4
  1045. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.c +2 -1
  1046. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.h +5 -4
  1047. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.c +2 -1
  1048. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.h +5 -4
  1049. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.c +2 -1
  1050. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.h +5 -4
  1051. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.c +2 -1
  1052. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.h +5 -4
  1053. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.c +2 -1
  1054. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.h +5 -4
  1055. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.c +2 -1
  1056. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.h +5 -4
  1057. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.c +2 -1
  1058. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.h +5 -4
  1059. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +497 -484
  1060. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.h +5 -4
  1061. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.c +2 -1
  1062. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.h +5 -4
  1063. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.c +2 -1
  1064. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.h +5 -4
  1065. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.c +2 -1
  1066. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.h +5 -4
  1067. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.c +2 -1
  1068. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.h +5 -4
  1069. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.c +2 -1
  1070. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.h +5 -4
  1071. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.c +2 -1
  1072. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.h +5 -4
  1073. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +2 -1
  1074. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +5 -4
  1075. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.c +2 -1
  1076. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.h +5 -4
  1077. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.c +2 -1
  1078. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.h +5 -4
  1079. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.c +2 -1
  1080. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.h +5 -4
  1081. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.c +2 -1
  1082. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.h +5 -4
  1083. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.c +2 -1
  1084. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.h +5 -4
  1085. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.c +2 -1
  1086. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.h +5 -4
  1087. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.c +2 -1
  1088. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.h +5 -4
  1089. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.c +2 -1
  1090. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.h +5 -4
  1091. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.c +2 -1
  1092. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.h +5 -4
  1093. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.c +2 -1
  1094. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.h +5 -4
  1095. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.c +2 -1
  1096. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.h +5 -4
  1097. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.c +2 -1
  1098. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.h +5 -4
  1099. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.c +2 -1
  1100. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.h +5 -4
  1101. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.c +2 -1
  1102. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.h +5 -4
  1103. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.c +2 -1
  1104. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.h +5 -4
  1105. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.c +2 -1
  1106. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.h +5 -4
  1107. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.c +2 -1
  1108. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.h +5 -4
  1109. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.c +2 -1
  1110. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.h +5 -4
  1111. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.c +2 -1
  1112. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.h +5 -4
  1113. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.c +2 -1
  1114. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.h +5 -4
  1115. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.c +2 -1
  1116. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.h +5 -4
  1117. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.c +2 -1
  1118. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.h +5 -4
  1119. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.c +2 -1
  1120. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.h +5 -4
  1121. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.c +2 -1
  1122. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.h +5 -4
  1123. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.c +2 -1
  1124. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.h +5 -4
  1125. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.c +2 -1
  1126. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.h +5 -4
  1127. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.c +2 -1
  1128. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.h +5 -4
  1129. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.c +2 -1
  1130. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.h +5 -4
  1131. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.c +2 -1
  1132. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h +5 -4
  1133. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c +2 -1
  1134. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h +5 -4
  1135. data/src/core/filter/auth/auth_filters.h +233 -0
  1136. data/src/core/filter/auth/client_auth_filter.cc +310 -0
  1137. data/src/core/filter/auth/server_auth_filter.cc +208 -0
  1138. data/src/core/filter/blackboard.cc +33 -0
  1139. data/src/core/filter/blackboard.h +70 -0
  1140. data/src/core/filter/filter_args.h +112 -0
  1141. data/src/core/handshaker/endpoint_info/endpoint_info_handshaker.cc +4 -5
  1142. data/src/core/handshaker/endpoint_info/endpoint_info_handshaker.h +1 -1
  1143. data/src/core/handshaker/handshaker.cc +8 -22
  1144. data/src/core/handshaker/handshaker.h +8 -10
  1145. data/src/core/handshaker/handshaker_registry.cc +1 -2
  1146. data/src/core/handshaker/handshaker_registry.h +2 -2
  1147. data/src/core/handshaker/http_connect/http_connect_handshaker.cc +17 -16
  1148. data/src/core/handshaker/http_connect/http_connect_handshaker.h +1 -1
  1149. data/src/core/handshaker/http_connect/http_proxy_mapper.cc +38 -41
  1150. data/src/core/handshaker/http_connect/http_proxy_mapper.h +7 -8
  1151. data/src/core/handshaker/http_connect/xds_http_proxy_mapper.cc +57 -0
  1152. data/src/core/handshaker/http_connect/xds_http_proxy_mapper.h +46 -0
  1153. data/src/core/handshaker/proxy_mapper.h +6 -7
  1154. data/src/core/handshaker/proxy_mapper_registry.cc +7 -8
  1155. data/src/core/handshaker/proxy_mapper_registry.h +6 -7
  1156. data/src/core/handshaker/security/secure_endpoint.cc +14 -16
  1157. data/src/core/handshaker/security/secure_endpoint.h +2 -3
  1158. data/src/core/handshaker/security/security_handshaker.cc +19 -27
  1159. data/src/core/handshaker/security/security_handshaker.h +4 -5
  1160. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +16 -15
  1161. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.h +1 -1
  1162. data/src/core/lib/address_utils/parse_address.cc +3 -4
  1163. data/src/core/lib/address_utils/parse_address.h +2 -4
  1164. data/src/core/lib/address_utils/sockaddr_utils.cc +4 -6
  1165. data/src/core/lib/address_utils/sockaddr_utils.h +1 -3
  1166. data/src/core/lib/channel/channel_args.cc +17 -19
  1167. data/src/core/lib/channel/channel_args.h +68 -51
  1168. data/src/core/lib/channel/channel_args_preconditioning.cc +2 -2
  1169. data/src/core/lib/channel/channel_args_preconditioning.h +4 -4
  1170. data/src/core/lib/channel/channel_stack.cc +5 -4
  1171. data/src/core/lib/channel/channel_stack.h +18 -19
  1172. data/src/core/lib/channel/channel_stack_builder.cc +2 -2
  1173. data/src/core/lib/channel/channel_stack_builder.h +3 -4
  1174. data/src/core/lib/channel/channel_stack_builder_impl.cc +6 -8
  1175. data/src/core/lib/channel/channel_stack_builder_impl.h +15 -3
  1176. data/src/core/lib/channel/connected_channel.cc +12 -14
  1177. data/src/core/lib/channel/promise_based_filter.cc +42 -33
  1178. data/src/core/lib/channel/promise_based_filter.h +101 -147
  1179. data/src/core/lib/compression/compression.cc +5 -6
  1180. data/src/core/lib/compression/compression_internal.cc +14 -16
  1181. data/src/core/lib/compression/compression_internal.h +6 -8
  1182. data/src/core/lib/compression/message_compress.cc +3 -6
  1183. data/src/core/lib/debug/trace.cc +5 -6
  1184. data/src/core/lib/debug/trace_flags.cc +6 -6
  1185. data/src/core/lib/debug/trace_flags.h +2 -2
  1186. data/src/core/lib/debug/trace_impl.h +2 -2
  1187. data/src/core/lib/event_engine/ares_resolver.cc +20 -26
  1188. data/src/core/lib/event_engine/ares_resolver.h +13 -20
  1189. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +4 -8
  1190. data/src/core/lib/event_engine/cf_engine/cf_engine.h +3 -5
  1191. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +7 -9
  1192. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +6 -10
  1193. data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +2 -4
  1194. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +11 -13
  1195. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +5 -9
  1196. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +7 -10
  1197. data/src/core/lib/event_engine/channel_args_endpoint_config.h +7 -9
  1198. data/src/core/lib/event_engine/common_closures.h +5 -7
  1199. data/src/core/lib/event_engine/default_event_engine.cc +69 -41
  1200. data/src/core/lib/event_engine/default_event_engine.h +27 -36
  1201. data/src/core/lib/event_engine/default_event_engine_factory.cc +14 -20
  1202. data/src/core/lib/event_engine/default_event_engine_factory.h +5 -7
  1203. data/src/core/lib/event_engine/event_engine.cc +4 -6
  1204. data/src/core/lib/event_engine/extensions/can_track_errors.h +4 -6
  1205. data/src/core/lib/event_engine/extensions/chaotic_good_extension.h +3 -6
  1206. data/src/core/lib/event_engine/extensions/iomgr_compatible.h +39 -0
  1207. data/src/core/lib/event_engine/extensions/supports_fd.h +22 -7
  1208. data/src/core/lib/event_engine/extensions/supports_win_sockets.h +48 -0
  1209. data/src/core/lib/event_engine/extensions/tcp_trace.h +3 -6
  1210. data/src/core/lib/event_engine/forkable.cc +5 -7
  1211. data/src/core/lib/event_engine/forkable.h +4 -6
  1212. data/src/core/lib/event_engine/grpc_polled_fd.h +5 -8
  1213. data/src/core/lib/event_engine/handle_containers.h +4 -7
  1214. data/src/core/lib/event_engine/memory_allocator_factory.h +5 -8
  1215. data/src/core/lib/event_engine/nameser.h +1 -1
  1216. data/src/core/lib/event_engine/poller.h +4 -6
  1217. data/src/core/lib/event_engine/posix.h +2 -4
  1218. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +14 -62
  1219. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +6 -9
  1220. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +21 -71
  1221. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +6 -9
  1222. data/src/core/lib/event_engine/posix_engine/event_poller.h +5 -8
  1223. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +6 -9
  1224. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +4 -6
  1225. data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +6 -10
  1226. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +4 -7
  1227. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +3 -6
  1228. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +7 -10
  1229. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +4 -7
  1230. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +4 -7
  1231. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.h +4 -7
  1232. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +35 -29
  1233. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +10 -13
  1234. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +54 -37
  1235. data/src/core/lib/event_engine/posix_engine/posix_engine.h +18 -20
  1236. data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +5 -7
  1237. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +10 -14
  1238. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +14 -15
  1239. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +32 -10
  1240. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +7 -6
  1241. data/src/core/lib/event_engine/posix_engine/set_socket_dualstack.cc +64 -0
  1242. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +13 -28
  1243. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +9 -12
  1244. data/src/core/lib/event_engine/posix_engine/timer.cc +8 -10
  1245. data/src/core/lib/event_engine/posix_engine/timer.h +9 -13
  1246. data/src/core/lib/event_engine/posix_engine/timer_heap.cc +4 -7
  1247. data/src/core/lib/event_engine/posix_engine/timer_heap.h +4 -6
  1248. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +8 -11
  1249. data/src/core/lib/event_engine/posix_engine/timer_manager.h +9 -13
  1250. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +9 -15
  1251. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +27 -30
  1252. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +7 -10
  1253. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +4 -7
  1254. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +16 -11
  1255. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +4 -7
  1256. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +4 -6
  1257. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +4 -7
  1258. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +4 -6
  1259. data/src/core/lib/event_engine/query_extensions.h +4 -6
  1260. data/src/core/lib/event_engine/ref_counted_dns_resolver_interface.h +5 -9
  1261. data/src/core/lib/event_engine/resolved_address.cc +7 -8
  1262. data/src/core/lib/event_engine/resolved_address_internal.h +2 -4
  1263. data/src/core/lib/event_engine/shim.cc +11 -20
  1264. data/src/core/lib/event_engine/shim.h +13 -4
  1265. data/src/core/lib/event_engine/slice.cc +5 -9
  1266. data/src/core/lib/event_engine/slice_buffer.cc +3 -6
  1267. data/src/core/lib/event_engine/tcp_socket_utils.cc +9 -18
  1268. data/src/core/lib/event_engine/tcp_socket_utils.h +8 -10
  1269. data/src/core/lib/event_engine/thread_local.cc +2 -4
  1270. data/src/core/lib/event_engine/thread_local.h +2 -4
  1271. data/src/core/lib/event_engine/thread_pool/thread_count.cc +4 -8
  1272. data/src/core/lib/event_engine/thread_pool/thread_count.h +9 -24
  1273. data/src/core/lib/event_engine/thread_pool/thread_pool.h +4 -8
  1274. data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +4 -7
  1275. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +27 -23
  1276. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +11 -14
  1277. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +7 -9
  1278. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +7 -9
  1279. data/src/core/lib/event_engine/time_util.cc +4 -6
  1280. data/src/core/lib/event_engine/time_util.h +3 -6
  1281. data/src/core/lib/event_engine/utils.cc +21 -9
  1282. data/src/core/lib/event_engine/utils.h +12 -8
  1283. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +7 -12
  1284. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.h +6 -10
  1285. data/src/core/lib/event_engine/windows/iocp.cc +6 -9
  1286. data/src/core/lib/event_engine/windows/iocp.h +3 -6
  1287. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.cc +6 -10
  1288. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.h +2 -4
  1289. data/src/core/lib/event_engine/windows/win_socket.cc +17 -9
  1290. data/src/core/lib/event_engine/windows/win_socket.h +9 -9
  1291. data/src/core/lib/event_engine/windows/windows_endpoint.cc +35 -29
  1292. data/src/core/lib/event_engine/windows/windows_endpoint.h +4 -6
  1293. data/src/core/lib/event_engine/windows/windows_engine.cc +55 -15
  1294. data/src/core/lib/event_engine/windows/windows_engine.h +18 -15
  1295. data/src/core/lib/event_engine/windows/windows_listener.cc +9 -13
  1296. data/src/core/lib/event_engine/windows/windows_listener.h +15 -13
  1297. data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +5 -7
  1298. data/src/core/lib/event_engine/work_queue/basic_work_queue.h +5 -9
  1299. data/src/core/lib/event_engine/work_queue/work_queue.h +4 -7
  1300. data/src/core/lib/experiments/config.cc +9 -12
  1301. data/src/core/lib/experiments/config.h +1 -2
  1302. data/src/core/lib/experiments/experiments.cc +442 -174
  1303. data/src/core/lib/experiments/experiments.h +187 -86
  1304. data/src/core/lib/iomgr/buffer_list.cc +4 -5
  1305. data/src/core/lib/iomgr/buffer_list.h +23 -23
  1306. data/src/core/lib/iomgr/call_combiner.cc +2 -4
  1307. data/src/core/lib/iomgr/call_combiner.h +6 -8
  1308. data/src/core/lib/iomgr/cfstream_handle.cc +2 -6
  1309. data/src/core/lib/iomgr/cfstream_handle.h +1 -1
  1310. data/src/core/lib/iomgr/closure.cc +2 -2
  1311. data/src/core/lib/iomgr/closure.h +7 -10
  1312. data/src/core/lib/iomgr/combiner.cc +4 -7
  1313. data/src/core/lib/iomgr/combiner.h +2 -3
  1314. data/src/core/lib/iomgr/endpoint.h +1 -2
  1315. data/src/core/lib/iomgr/endpoint_cfstream.cc +2 -4
  1316. data/src/core/lib/iomgr/endpoint_pair_posix.cc +45 -20
  1317. data/src/core/lib/iomgr/endpoint_pair_windows.cc +44 -10
  1318. data/src/core/lib/iomgr/error.cc +34 -52
  1319. data/src/core/lib/iomgr/error.h +6 -8
  1320. data/src/core/lib/iomgr/error_cfstream.cc +1 -3
  1321. data/src/core/lib/iomgr/ev_apple.cc +3 -4
  1322. data/src/core/lib/iomgr/ev_epoll1_linux.cc +20 -10
  1323. data/src/core/lib/iomgr/ev_poll_posix.cc +16 -5
  1324. data/src/core/lib/iomgr/ev_posix.cc +4 -6
  1325. data/src/core/lib/iomgr/ev_posix.h +1 -2
  1326. data/src/core/lib/iomgr/event_engine_shims/closure.cc +3 -5
  1327. data/src/core/lib/iomgr/event_engine_shims/closure.h +1 -2
  1328. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +11 -14
  1329. data/src/core/lib/iomgr/event_engine_shims/endpoint.h +2 -2
  1330. data/src/core/lib/iomgr/event_engine_shims/tcp_client.cc +2 -4
  1331. data/src/core/lib/iomgr/exec_ctx.cc +5 -12
  1332. data/src/core/lib/iomgr/exec_ctx.h +7 -140
  1333. data/src/core/lib/iomgr/executor.cc +6 -19
  1334. data/src/core/lib/iomgr/executor.h +1 -1
  1335. data/src/core/lib/iomgr/fork_posix.cc +5 -7
  1336. data/src/core/lib/iomgr/fork_windows.cc +2 -2
  1337. data/src/core/lib/iomgr/internal_errqueue.cc +2 -3
  1338. data/src/core/lib/iomgr/iocp_windows.cc +4 -6
  1339. data/src/core/lib/iomgr/iomgr.cc +7 -9
  1340. data/src/core/lib/iomgr/iomgr.h +1 -2
  1341. data/src/core/lib/iomgr/iomgr_internal.cc +1 -2
  1342. data/src/core/lib/iomgr/iomgr_internal.h +1 -2
  1343. data/src/core/lib/iomgr/iomgr_posix.cc +2 -1
  1344. data/src/core/lib/iomgr/iomgr_windows.cc +4 -3
  1345. data/src/core/lib/iomgr/lockfree_event.cc +3 -4
  1346. data/src/core/lib/iomgr/nameser.h +1 -1
  1347. data/src/core/lib/iomgr/polling_entity.cc +5 -11
  1348. data/src/core/lib/iomgr/pollset_set_windows.cc +1 -2
  1349. data/src/core/lib/iomgr/pollset_windows.cc +2 -2
  1350. data/src/core/lib/iomgr/port.h +2 -2
  1351. data/src/core/lib/iomgr/resolve_address.cc +3 -4
  1352. data/src/core/lib/iomgr/resolve_address.h +4 -6
  1353. data/src/core/lib/iomgr/resolve_address_impl.h +1 -2
  1354. data/src/core/lib/iomgr/resolve_address_posix.cc +6 -9
  1355. data/src/core/lib/iomgr/resolve_address_posix.h +2 -2
  1356. data/src/core/lib/iomgr/resolve_address_windows.cc +8 -12
  1357. data/src/core/lib/iomgr/resolve_address_windows.h +2 -2
  1358. data/src/core/lib/iomgr/resolved_address.h +1 -2
  1359. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +3 -5
  1360. data/src/core/lib/iomgr/socket_mutator.cc +1 -1
  1361. data/src/core/lib/iomgr/socket_mutator.h +1 -2
  1362. data/src/core/lib/iomgr/socket_utils.h +1 -2
  1363. data/src/core/lib/iomgr/socket_utils_common_posix.cc +6 -7
  1364. data/src/core/lib/iomgr/socket_utils_linux.cc +1 -1
  1365. data/src/core/lib/iomgr/socket_utils_posix.cc +23 -13
  1366. data/src/core/lib/iomgr/socket_utils_posix.h +12 -2
  1367. data/src/core/lib/iomgr/socket_utils_windows.cc +1 -1
  1368. data/src/core/lib/iomgr/socket_windows.cc +3 -5
  1369. data/src/core/lib/iomgr/socket_windows.h +1 -2
  1370. data/src/core/lib/iomgr/tcp_client_cfstream.cc +13 -16
  1371. data/src/core/lib/iomgr/tcp_client_posix.cc +16 -22
  1372. data/src/core/lib/iomgr/tcp_client_posix.h +1 -1
  1373. data/src/core/lib/iomgr/tcp_client_windows.cc +6 -8
  1374. data/src/core/lib/iomgr/tcp_posix.cc +70 -45
  1375. data/src/core/lib/iomgr/tcp_posix.h +10 -2
  1376. data/src/core/lib/iomgr/tcp_server.h +2 -2
  1377. data/src/core/lib/iomgr/tcp_server_posix.cc +19 -15
  1378. data/src/core/lib/iomgr/tcp_server_utils_posix.h +2 -3
  1379. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +4 -9
  1380. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +4 -6
  1381. data/src/core/lib/iomgr/tcp_server_windows.cc +38 -30
  1382. data/src/core/lib/iomgr/tcp_windows.cc +4 -6
  1383. data/src/core/lib/iomgr/timer.h +2 -2
  1384. data/src/core/lib/iomgr/timer_generic.cc +9 -11
  1385. data/src/core/lib/iomgr/timer_heap.cc +2 -3
  1386. data/src/core/lib/iomgr/timer_manager.cc +5 -15
  1387. data/src/core/lib/iomgr/timer_manager.h +1 -2
  1388. data/src/core/lib/iomgr/unix_sockets_posix.cc +3 -4
  1389. data/src/core/lib/iomgr/unix_sockets_posix.h +3 -4
  1390. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +0 -2
  1391. data/src/core/lib/iomgr/vsock.cc +2 -4
  1392. data/src/core/lib/iomgr/vsock.h +3 -4
  1393. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +2 -2
  1394. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +13 -6
  1395. data/src/core/lib/promise/activity.cc +4 -4
  1396. data/src/core/lib/promise/activity.h +43 -24
  1397. data/src/core/lib/promise/all_ok.h +71 -4
  1398. data/src/core/lib/promise/arena_promise.h +2 -4
  1399. data/src/core/lib/promise/cancel_callback.h +4 -4
  1400. data/src/core/lib/promise/context.h +7 -8
  1401. data/src/core/lib/promise/detail/basic_seq.h +33 -19
  1402. data/src/core/lib/promise/detail/join_state.h +20 -73
  1403. data/src/core/lib/promise/detail/promise_factory.h +92 -33
  1404. data/src/core/lib/promise/detail/promise_like.h +34 -15
  1405. data/src/core/lib/promise/detail/seq_state.h +285 -500
  1406. data/src/core/lib/promise/detail/status.h +5 -5
  1407. data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +2 -3
  1408. data/src/core/lib/promise/for_each.h +23 -15
  1409. data/src/core/lib/promise/if.h +56 -28
  1410. data/src/core/lib/promise/interceptor_list.h +12 -14
  1411. data/src/core/lib/promise/latch.h +15 -9
  1412. data/src/core/lib/promise/loop.h +73 -22
  1413. data/src/core/lib/promise/map.h +230 -21
  1414. data/src/core/lib/promise/observable.h +3 -4
  1415. data/src/core/lib/promise/party.cc +119 -84
  1416. data/src/core/lib/promise/party.h +286 -65
  1417. data/src/core/lib/promise/pipe.h +15 -17
  1418. data/src/core/lib/promise/poll.h +40 -23
  1419. data/src/core/lib/promise/prioritized_race.h +17 -23
  1420. data/src/core/lib/promise/promise.h +8 -10
  1421. data/src/core/lib/promise/race.h +6 -14
  1422. data/src/core/lib/promise/seq.h +58 -45
  1423. data/src/core/lib/promise/sleep.cc +6 -6
  1424. data/src/core/lib/promise/sleep.h +19 -6
  1425. data/src/core/lib/promise/status_flag.h +51 -17
  1426. data/src/core/lib/promise/try_join.h +124 -10
  1427. data/src/core/lib/promise/try_seq.h +84 -59
  1428. data/src/core/lib/resource_quota/api.cc +4 -6
  1429. data/src/core/lib/resource_quota/api.h +2 -3
  1430. data/src/core/lib/resource_quota/arena.cc +3 -4
  1431. data/src/core/lib/resource_quota/arena.h +91 -5
  1432. data/src/core/lib/resource_quota/connection_quota.cc +2 -2
  1433. data/src/core/lib/resource_quota/connection_quota.h +9 -6
  1434. data/src/core/lib/resource_quota/memory_quota.cc +73 -60
  1435. data/src/core/lib/resource_quota/memory_quota.h +25 -17
  1436. data/src/core/lib/resource_quota/periodic_update.cc +4 -4
  1437. data/src/core/lib/resource_quota/periodic_update.h +2 -4
  1438. data/src/core/lib/resource_quota/resource_quota.h +7 -8
  1439. data/src/core/lib/resource_quota/thread_quota.cc +2 -2
  1440. data/src/core/lib/resource_quota/thread_quota.h +5 -6
  1441. data/src/core/lib/security/authorization/audit_logging.cc +5 -6
  1442. data/src/core/lib/security/authorization/audit_logging.h +5 -6
  1443. data/src/core/lib/security/authorization/authorization_engine.h +3 -3
  1444. data/src/core/lib/security/authorization/authorization_policy_provider.h +3 -4
  1445. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +1 -1
  1446. data/src/core/lib/security/authorization/evaluate_args.cc +8 -10
  1447. data/src/core/lib/security/authorization/evaluate_args.h +7 -8
  1448. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +2 -3
  1449. data/src/core/lib/security/authorization/grpc_authorization_engine.h +2 -3
  1450. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +6 -11
  1451. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +9 -10
  1452. data/src/core/lib/security/authorization/matchers.cc +2 -4
  1453. data/src/core/lib/security/authorization/matchers.h +5 -7
  1454. data/src/core/lib/security/authorization/rbac_policy.cc +3 -3
  1455. data/src/core/lib/security/authorization/rbac_policy.h +6 -8
  1456. data/src/core/lib/security/authorization/stdout_logger.cc +4 -4
  1457. data/src/core/lib/security/authorization/stdout_logger.h +4 -4
  1458. data/src/core/lib/slice/percent_encoding.cc +2 -4
  1459. data/src/core/lib/slice/slice.cc +4 -6
  1460. data/src/core/lib/slice/slice.h +11 -7
  1461. data/src/core/lib/slice/slice_buffer.cc +7 -8
  1462. data/src/core/lib/slice/slice_buffer.h +5 -6
  1463. data/src/core/lib/slice/slice_internal.h +3 -5
  1464. data/src/core/lib/slice/slice_refcount.h +2 -3
  1465. data/src/core/lib/slice/slice_string_helpers.h +1 -2
  1466. data/src/core/lib/surface/byte_buffer.cc +1 -2
  1467. data/src/core/lib/surface/byte_buffer_reader.cc +3 -5
  1468. data/src/core/lib/surface/call.cc +42 -46
  1469. data/src/core/lib/surface/call.h +10 -11
  1470. data/src/core/lib/surface/call_log_batch.cc +3 -5
  1471. data/src/core/lib/surface/call_test_only.h +1 -2
  1472. data/src/core/lib/surface/call_utils.cc +21 -64
  1473. data/src/core/lib/surface/call_utils.h +70 -26
  1474. data/src/core/lib/surface/channel.cc +7 -16
  1475. data/src/core/lib/surface/channel.h +16 -17
  1476. data/src/core/lib/surface/channel_create.cc +2 -3
  1477. data/src/core/lib/surface/channel_create.h +2 -3
  1478. data/src/core/lib/surface/channel_init.cc +5 -7
  1479. data/src/core/lib/surface/channel_init.h +6 -8
  1480. data/src/core/lib/surface/completion_queue.cc +99 -80
  1481. data/src/core/lib/surface/completion_queue.h +4 -5
  1482. data/src/core/lib/surface/completion_queue_factory.cc +1 -2
  1483. data/src/core/lib/surface/connection_context.cc +77 -0
  1484. data/src/core/lib/surface/connection_context.h +156 -0
  1485. data/src/core/lib/surface/event_string.cc +9 -3
  1486. data/src/core/lib/surface/event_string.h +2 -2
  1487. data/src/core/lib/surface/filter_stack_call.cc +60 -51
  1488. data/src/core/lib/surface/filter_stack_call.h +18 -20
  1489. data/src/core/lib/surface/init.cc +46 -21
  1490. data/src/core/lib/surface/init.h +5 -0
  1491. data/src/core/lib/surface/init_internally.h +13 -2
  1492. data/src/core/lib/surface/lame_client.cc +11 -12
  1493. data/src/core/lib/surface/lame_client.h +4 -5
  1494. data/src/core/lib/surface/legacy_channel.cc +47 -42
  1495. data/src/core/lib/surface/legacy_channel.h +8 -9
  1496. data/src/core/lib/surface/metadata_array.cc +1 -2
  1497. data/src/core/lib/surface/validate_metadata.cc +3 -4
  1498. data/src/core/lib/surface/validate_metadata.h +2 -4
  1499. data/src/core/lib/surface/version.cc +2 -2
  1500. data/src/core/lib/transport/bdp_estimator.cc +2 -3
  1501. data/src/core/lib/transport/bdp_estimator.h +3 -5
  1502. data/src/core/lib/transport/call_final_info.cc +2 -2
  1503. data/src/core/lib/transport/call_final_info.h +3 -3
  1504. data/src/core/lib/transport/connectivity_state.cc +11 -13
  1505. data/src/core/lib/transport/connectivity_state.h +7 -10
  1506. data/src/core/lib/transport/error_utils.cc +68 -15
  1507. data/src/core/lib/transport/error_utils.h +6 -7
  1508. data/src/core/lib/transport/status_conversion.cc +16 -14
  1509. data/src/core/lib/transport/status_conversion.h +6 -5
  1510. data/src/core/lib/transport/timeout_encoding.cc +22 -22
  1511. data/src/core/lib/transport/timeout_encoding.h +4 -5
  1512. data/src/core/lib/transport/transport.cc +4 -7
  1513. data/src/core/lib/transport/transport.h +24 -21
  1514. data/src/core/lib/transport/transport_framing_endpoint_extension.h +47 -0
  1515. data/src/core/lib/transport/transport_op_string.cc +5 -6
  1516. data/src/core/load_balancing/address_filtering.cc +2 -4
  1517. data/src/core/load_balancing/address_filtering.h +4 -5
  1518. data/src/core/load_balancing/backend_metric_data.h +2 -2
  1519. data/src/core/load_balancing/backend_metric_parser.cc +22 -30
  1520. data/src/core/load_balancing/backend_metric_parser.h +1 -3
  1521. data/src/core/load_balancing/child_policy_handler.cc +5 -6
  1522. data/src/core/load_balancing/child_policy_handler.h +4 -5
  1523. data/src/core/load_balancing/delegating_helper.h +7 -8
  1524. data/src/core/load_balancing/endpoint_list.cc +18 -10
  1525. data/src/core/load_balancing/endpoint_list.h +26 -21
  1526. data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +12 -11
  1527. data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +5 -6
  1528. data/src/core/load_balancing/grpclb/grpclb.cc +42 -62
  1529. data/src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc +1 -2
  1530. data/src/core/load_balancing/grpclb/grpclb_client_stats.cc +2 -3
  1531. data/src/core/load_balancing/grpclb/grpclb_client_stats.h +5 -7
  1532. data/src/core/load_balancing/grpclb/load_balancer_api.cc +4 -6
  1533. data/src/core/load_balancing/grpclb/load_balancer_api.h +4 -6
  1534. data/src/core/load_balancing/health_check_client.cc +36 -68
  1535. data/src/core/load_balancing/health_check_client.h +3 -3
  1536. data/src/core/load_balancing/health_check_client_internal.h +15 -16
  1537. data/src/core/load_balancing/lb_policy.cc +4 -6
  1538. data/src/core/load_balancing/lb_policy.h +17 -27
  1539. data/src/core/load_balancing/lb_policy_factory.h +4 -5
  1540. data/src/core/load_balancing/lb_policy_registry.cc +13 -12
  1541. data/src/core/load_balancing/lb_policy_registry.h +4 -5
  1542. data/src/core/load_balancing/oob_backend_metric.cc +14 -16
  1543. data/src/core/load_balancing/oob_backend_metric.h +3 -3
  1544. data/src/core/load_balancing/oob_backend_metric_internal.h +8 -9
  1545. data/src/core/load_balancing/outlier_detection/outlier_detection.cc +88 -94
  1546. data/src/core/load_balancing/outlier_detection/outlier_detection.h +6 -7
  1547. data/src/core/load_balancing/pick_first/pick_first.cc +78 -997
  1548. data/src/core/load_balancing/priority/priority.cc +20 -27
  1549. data/src/core/load_balancing/ring_hash/ring_hash.cc +223 -173
  1550. data/src/core/load_balancing/ring_hash/ring_hash.h +7 -15
  1551. data/src/core/load_balancing/rls/rls.cc +159 -256
  1552. data/src/core/load_balancing/rls/rls.h +97 -1
  1553. data/src/core/load_balancing/round_robin/round_robin.cc +23 -34
  1554. data/src/core/load_balancing/subchannel_interface.h +13 -6
  1555. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc +8 -8
  1556. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h +4 -5
  1557. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +35 -48
  1558. data/src/core/load_balancing/weighted_target/weighted_target.cc +19 -29
  1559. data/src/core/load_balancing/xds/cds.cc +37 -45
  1560. data/src/core/load_balancing/xds/xds_cluster_impl.cc +58 -64
  1561. data/src/core/load_balancing/xds/xds_cluster_manager.cc +20 -30
  1562. data/src/core/load_balancing/xds/xds_override_host.cc +59 -108
  1563. data/src/core/load_balancing/xds/xds_override_host.h +3 -4
  1564. data/src/core/load_balancing/xds/xds_wrr_locality.cc +21 -24
  1565. data/src/core/plugin_registry/grpc_plugin_registry.cc +3 -7
  1566. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +3 -3
  1567. data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +25 -30
  1568. data/src/core/resolver/dns/c_ares/dns_resolver_ares.h +2 -3
  1569. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver.h +4 -6
  1570. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -4
  1571. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +8 -11
  1572. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +15 -19
  1573. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +7 -6
  1574. data/src/core/resolver/dns/dns_resolver_plugin.cc +4 -5
  1575. data/src/core/resolver/dns/dns_resolver_plugin.h +1 -1
  1576. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +19 -26
  1577. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.h +3 -4
  1578. data/src/core/resolver/dns/event_engine/service_config_helper.cc +3 -5
  1579. data/src/core/resolver/dns/event_engine/service_config_helper.h +2 -2
  1580. data/src/core/resolver/dns/native/dns_resolver.cc +11 -12
  1581. data/src/core/resolver/dns/native/dns_resolver.h +1 -1
  1582. data/src/core/resolver/endpoint_addresses.cc +1 -3
  1583. data/src/core/resolver/endpoint_addresses.h +2 -3
  1584. data/src/core/resolver/fake/fake_resolver.cc +17 -19
  1585. data/src/core/resolver/fake/fake_resolver.h +9 -10
  1586. data/src/core/resolver/google_c2p/google_c2p_resolver.cc +21 -25
  1587. data/src/core/resolver/polling_resolver.cc +8 -13
  1588. data/src/core/resolver/polling_resolver.h +10 -11
  1589. data/src/core/resolver/resolver.h +4 -5
  1590. data/src/core/resolver/resolver_factory.h +4 -5
  1591. data/src/core/resolver/resolver_registry.cc +6 -5
  1592. data/src/core/resolver/resolver_registry.h +4 -5
  1593. data/src/core/resolver/sockaddr/sockaddr_resolver.cc +5 -6
  1594. data/src/core/resolver/xds/xds_config.cc +7 -8
  1595. data/src/core/resolver/xds/xds_config.h +3 -4
  1596. data/src/core/resolver/xds/xds_dependency_manager.cc +200 -191
  1597. data/src/core/resolver/xds/xds_dependency_manager.h +29 -20
  1598. data/src/core/resolver/xds/xds_resolver.cc +98 -141
  1599. data/src/core/resolver/xds/xds_resolver_attributes.h +2 -3
  1600. data/src/core/server/server.cc +376 -92
  1601. data/src/core/server/server.h +228 -82
  1602. data/src/core/server/server_call_tracer_filter.cc +15 -12
  1603. data/src/core/server/server_call_tracer_filter.h +1 -1
  1604. data/src/core/server/server_config_selector.h +6 -7
  1605. data/src/core/server/server_config_selector_filter.cc +17 -22
  1606. data/src/core/server/xds_channel_stack_modifier.cc +3 -3
  1607. data/src/core/server/xds_channel_stack_modifier.h +5 -6
  1608. data/src/core/server/xds_server_config_fetcher.cc +121 -188
  1609. data/src/core/service_config/service_config.h +3 -5
  1610. data/src/core/service_config/service_config_call_data.h +5 -6
  1611. data/src/core/service_config/service_config_channel_arg_filter.cc +16 -26
  1612. data/src/core/service_config/service_config_impl.cc +7 -9
  1613. data/src/core/service_config/service_config_impl.h +4 -6
  1614. data/src/core/service_config/service_config_parser.cc +1 -2
  1615. data/src/core/service_config/service_config_parser.h +2 -4
  1616. data/src/core/telemetry/call_tracer.cc +12 -15
  1617. data/src/core/telemetry/call_tracer.h +13 -13
  1618. data/src/core/telemetry/histogram_view.cc +3 -3
  1619. data/src/core/telemetry/histogram_view.h +1 -2
  1620. data/src/core/telemetry/metrics.cc +47 -27
  1621. data/src/core/telemetry/metrics.h +30 -21
  1622. data/src/core/telemetry/stats.cc +1 -2
  1623. data/src/core/telemetry/stats.h +2 -4
  1624. data/src/core/telemetry/stats_data.cc +187 -2
  1625. data/src/core/telemetry/stats_data.h +124 -4
  1626. data/src/core/telemetry/tcp_tracer.h +92 -87
  1627. data/src/core/transport/auth_context.cc +236 -0
  1628. data/src/core/transport/auth_context.h +140 -0
  1629. data/src/core/tsi/alts/crypt/aes_gcm.cc +5 -8
  1630. data/src/core/tsi/alts/crypt/gsec.cc +2 -3
  1631. data/src/core/tsi/alts/crypt/gsec.h +3 -4
  1632. data/src/core/tsi/alts/frame_protector/alts_counter.cc +1 -2
  1633. data/src/core/tsi/alts/frame_protector/alts_counter.h +3 -4
  1634. data/src/core/tsi/alts/frame_protector/alts_crypter.cc +1 -2
  1635. data/src/core/tsi/alts/frame_protector/alts_crypter.h +2 -3
  1636. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +4 -5
  1637. data/src/core/tsi/alts/frame_protector/alts_frame_protector.h +1 -2
  1638. data/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc +1 -1
  1639. data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +1 -1
  1640. data/src/core/tsi/alts/frame_protector/frame_handler.cc +4 -6
  1641. data/src/core/tsi/alts/frame_protector/frame_handler.h +1 -2
  1642. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +14 -15
  1643. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +2 -3
  1644. data/src/core/tsi/alts/handshaker/alts_shared_resource.h +1 -1
  1645. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +33 -31
  1646. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +1 -1
  1647. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -3
  1648. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -2
  1649. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +3 -3
  1650. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +3 -5
  1651. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h +1 -2
  1652. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +2 -3
  1653. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h +1 -2
  1654. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +3 -5
  1655. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +3 -4
  1656. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h +1 -2
  1657. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +3 -5
  1658. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h +1 -2
  1659. data/src/core/tsi/fake_transport_security.cc +9 -7
  1660. data/src/core/tsi/local_transport_security.cc +4 -6
  1661. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +4 -5
  1662. data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +8 -10
  1663. data/src/core/tsi/ssl/session_cache/ssl_session.h +4 -5
  1664. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +4 -5
  1665. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +7 -8
  1666. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +2 -4
  1667. data/src/core/tsi/ssl_transport_security.cc +30 -18
  1668. data/src/core/tsi/ssl_transport_security.h +6 -8
  1669. data/src/core/tsi/ssl_transport_security_utils.cc +1 -3
  1670. data/src/core/tsi/ssl_transport_security_utils.h +3 -5
  1671. data/src/core/tsi/ssl_types.h +1 -2
  1672. data/src/core/tsi/transport_security.cc +2 -3
  1673. data/src/core/tsi/transport_security.h +1 -2
  1674. data/src/core/tsi/transport_security_interface.h +3 -4
  1675. data/src/core/util/alloc.cc +2 -5
  1676. data/src/core/util/atomic_utils.h +47 -0
  1677. data/src/core/util/avl.h +324 -0
  1678. data/src/core/util/backoff.cc +57 -0
  1679. data/src/core/util/backoff.h +86 -0
  1680. data/src/core/util/bitset.h +224 -0
  1681. data/src/core/util/check_class_size.h +48 -0
  1682. data/src/core/util/chunked_vector.h +256 -0
  1683. data/src/core/util/construct_destruct.h +41 -0
  1684. data/src/core/util/cpp_impl_of.h +49 -0
  1685. data/src/core/util/crash.cc +40 -0
  1686. data/src/core/util/crash.h +36 -0
  1687. data/src/core/util/debug_location.h +106 -0
  1688. data/src/core/util/directory_reader.h +48 -0
  1689. data/src/core/util/down_cast.h +48 -0
  1690. data/src/core/util/dual_ref_counted.h +376 -0
  1691. data/src/core/util/dump_args.cc +54 -0
  1692. data/src/core/util/dump_args.h +114 -0
  1693. data/src/core/util/env.h +52 -0
  1694. data/src/core/util/event_log.cc +87 -0
  1695. data/src/core/util/event_log.h +79 -0
  1696. data/src/core/util/examine_stack.cc +43 -0
  1697. data/src/core/util/examine_stack.h +44 -0
  1698. data/src/core/util/fork.cc +241 -0
  1699. data/src/core/util/fork.h +98 -0
  1700. data/src/core/util/gcp_metadata_query.cc +9 -12
  1701. data/src/core/util/gcp_metadata_query.h +2 -3
  1702. data/src/core/util/gethostname.h +26 -0
  1703. data/src/core/util/gethostname_fallback.cc +30 -0
  1704. data/src/core/util/gethostname_host_name_max.cc +39 -0
  1705. data/src/core/util/gethostname_sysconf.cc +39 -0
  1706. data/src/core/util/glob.h +29 -0
  1707. data/src/core/util/gpr_time.cc +266 -0
  1708. data/src/core/util/grpc_if_nametoindex.h +29 -0
  1709. data/src/core/util/grpc_if_nametoindex_posix.cc +41 -0
  1710. data/src/core/util/grpc_if_nametoindex_unsupported.cc +36 -0
  1711. data/src/core/util/host_port.cc +114 -0
  1712. data/src/core/util/host_port.h +57 -0
  1713. data/src/core/util/http_client/format_request.cc +2 -5
  1714. data/src/core/util/http_client/format_request.h +1 -2
  1715. data/src/core/util/http_client/httpcli.cc +91 -40
  1716. data/src/core/util/http_client/httpcli.h +26 -19
  1717. data/src/core/util/http_client/httpcli_security_connector.cc +14 -17
  1718. data/src/core/util/http_client/httpcli_ssl_credentials.h +2 -3
  1719. data/src/core/util/http_client/parser.cc +2 -4
  1720. data/src/core/util/http_client/parser.h +1 -3
  1721. data/src/core/util/if_list.h +4530 -0
  1722. data/src/core/util/iphone/cpu.cc +1 -2
  1723. data/src/core/util/json/json.h +1 -2
  1724. data/src/core/util/json/json_channel_args.h +2 -2
  1725. data/src/core/util/json/json_object_loader.cc +7 -8
  1726. data/src/core/util/json/json_object_loader.h +20 -21
  1727. data/src/core/util/json/json_reader.cc +6 -9
  1728. data/src/core/util/json/json_reader.h +0 -1
  1729. data/src/core/util/json/json_util.cc +4 -4
  1730. data/src/core/util/json/json_util.h +1 -2
  1731. data/src/core/util/json/json_writer.cc +4 -6
  1732. data/src/core/util/latent_see.cc +100 -70
  1733. data/src/core/util/latent_see.h +45 -20
  1734. data/src/core/util/linux/cpu.cc +4 -6
  1735. data/src/core/util/linux/env.cc +61 -0
  1736. data/src/core/util/load_file.cc +87 -0
  1737. data/src/core/util/load_file.h +33 -0
  1738. data/src/core/util/log.cc +10 -13
  1739. data/src/core/util/lru_cache.h +31 -13
  1740. data/src/core/util/manual_constructor.h +145 -0
  1741. data/src/core/util/match.h +74 -0
  1742. data/src/core/util/matchers.cc +336 -0
  1743. data/src/core/util/matchers.h +162 -0
  1744. data/src/core/util/memory.h +52 -0
  1745. data/src/core/util/mpscq.cc +108 -0
  1746. data/src/core/util/mpscq.h +98 -0
  1747. data/src/core/util/msys/tmpfile.cc +3 -4
  1748. data/src/core/util/no_destruct.h +95 -0
  1749. data/src/core/util/notification.h +66 -0
  1750. data/src/core/util/orphanable.h +153 -0
  1751. data/src/core/util/overload.h +59 -0
  1752. data/src/core/util/packed_table.h +40 -0
  1753. data/src/core/util/per_cpu.cc +34 -0
  1754. data/src/core/util/per_cpu.h +102 -0
  1755. data/src/core/util/posix/cpu.cc +3 -5
  1756. data/src/core/util/posix/directory_reader.cc +82 -0
  1757. data/src/core/util/posix/env.cc +47 -0
  1758. data/src/core/util/posix/stat.cc +54 -0
  1759. data/src/core/util/posix/string.cc +2 -3
  1760. data/src/core/util/posix/sync.cc +2 -5
  1761. data/src/core/util/posix/thd.cc +243 -0
  1762. data/src/core/util/posix/time.cc +3 -5
  1763. data/src/core/util/posix/tmpfile.cc +4 -6
  1764. data/src/core/util/random_early_detection.cc +33 -0
  1765. data/src/core/util/random_early_detection.h +61 -0
  1766. data/src/core/util/ref_counted.h +403 -0
  1767. data/src/core/util/ref_counted_ptr.h +443 -0
  1768. data/src/core/util/ref_counted_string.cc +42 -0
  1769. data/src/core/util/ref_counted_string.h +159 -0
  1770. data/src/core/util/ring_buffer.h +4 -5
  1771. data/src/core/util/single_set_ptr.h +89 -0
  1772. data/src/core/util/sorted_pack.h +89 -0
  1773. data/src/core/util/spinlock.h +1 -2
  1774. data/src/core/util/stat.h +35 -0
  1775. data/src/core/util/status_helper.cc +450 -0
  1776. data/src/core/util/status_helper.h +143 -0
  1777. data/src/core/util/strerror.cc +40 -0
  1778. data/src/core/util/strerror.h +29 -0
  1779. data/src/core/util/string.cc +6 -9
  1780. data/src/core/util/string.h +1 -3
  1781. data/src/core/util/sync.cc +3 -5
  1782. data/src/core/util/sync.h +199 -0
  1783. data/src/core/util/sync_abseil.cc +4 -7
  1784. data/src/core/util/table.h +471 -0
  1785. data/src/core/util/tchar.cc +49 -0
  1786. data/src/core/util/tchar.h +33 -0
  1787. data/src/core/util/thd.h +193 -0
  1788. data/src/core/util/time.cc +174 -204
  1789. data/src/core/util/time.h +385 -0
  1790. data/src/core/util/time_averaged_stats.cc +60 -0
  1791. data/src/core/util/time_averaged_stats.h +79 -0
  1792. data/src/core/util/time_precise.cc +2 -4
  1793. data/src/core/util/time_precise.h +0 -1
  1794. data/src/core/util/time_util.cc +80 -0
  1795. data/src/core/util/time_util.h +41 -0
  1796. data/src/core/util/tmpfile.h +0 -1
  1797. data/src/core/util/type_list.h +88 -0
  1798. data/src/core/util/unique_type_name.h +123 -0
  1799. data/src/core/util/uri.cc +378 -0
  1800. data/src/core/util/uri.h +112 -0
  1801. data/src/core/util/useful.h +13 -15
  1802. data/src/core/util/uuid_v4.cc +37 -0
  1803. data/src/core/util/uuid_v4.h +35 -0
  1804. data/src/core/util/validation_errors.cc +73 -0
  1805. data/src/core/util/validation_errors.h +144 -0
  1806. data/src/core/util/wait_for_single_owner.h +62 -0
  1807. data/src/core/util/windows/cpu.cc +1 -1
  1808. data/src/core/util/windows/directory_reader.cc +79 -0
  1809. data/src/core/util/windows/env.cc +56 -0
  1810. data/src/core/util/windows/stat.cc +50 -0
  1811. data/src/core/util/windows/string.cc +2 -3
  1812. data/src/core/util/windows/string_util.cc +5 -7
  1813. data/src/core/util/windows/sync.cc +1 -3
  1814. data/src/core/util/windows/thd.cc +182 -0
  1815. data/src/core/util/windows/time.cc +1 -4
  1816. data/src/core/util/windows/tmpfile.cc +4 -5
  1817. data/src/core/util/work_serializer.cc +298 -0
  1818. data/src/core/util/work_serializer.h +81 -0
  1819. data/src/core/util/xxhash_inline.h +29 -0
  1820. data/src/core/xds/grpc/certificate_provider_store.cc +16 -22
  1821. data/src/core/xds/grpc/certificate_provider_store.h +12 -13
  1822. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +8 -9
  1823. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +7 -8
  1824. data/src/core/xds/grpc/xds_audit_logger_registry.cc +5 -6
  1825. data/src/core/xds/grpc/xds_audit_logger_registry.h +3 -4
  1826. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +23 -24
  1827. data/src/core/xds/grpc/xds_bootstrap_grpc.h +6 -6
  1828. data/src/core/xds/grpc/xds_certificate_provider.cc +18 -19
  1829. data/src/core/xds/grpc/xds_certificate_provider.h +10 -11
  1830. data/src/core/xds/grpc/xds_client_grpc.cc +74 -50
  1831. data/src/core/xds/grpc/xds_client_grpc.h +17 -9
  1832. data/src/core/xds/grpc/xds_cluster.cc +9 -4
  1833. data/src/core/xds/grpc/xds_cluster.h +34 -8
  1834. data/src/core/xds/grpc/xds_cluster_parser.cc +131 -50
  1835. data/src/core/xds/grpc/xds_cluster_parser.h +6 -2
  1836. data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +9 -11
  1837. data/src/core/xds/grpc/xds_cluster_specifier_plugin.h +5 -6
  1838. data/src/core/xds/grpc/xds_common_types.cc +3 -4
  1839. data/src/core/xds/grpc/xds_common_types.h +6 -7
  1840. data/src/core/xds/grpc/xds_common_types_parser.cc +68 -34
  1841. data/src/core/xds/grpc/xds_common_types_parser.h +15 -9
  1842. data/src/core/xds/grpc/xds_endpoint.cc +3 -4
  1843. data/src/core/xds/grpc/xds_endpoint.h +7 -5
  1844. data/src/core/xds/grpc/xds_endpoint_parser.cc +92 -56
  1845. data/src/core/xds/grpc/xds_endpoint_parser.h +1 -2
  1846. data/src/core/xds/grpc/xds_health_status.cc +4 -4
  1847. data/src/core/xds/grpc/xds_health_status.h +4 -4
  1848. data/src/core/xds/grpc/xds_http_fault_filter.cc +24 -28
  1849. data/src/core/xds/grpc/xds_http_fault_filter.h +8 -8
  1850. data/src/core/xds/grpc/xds_http_filter.h +6 -7
  1851. data/src/core/xds/grpc/xds_http_filter_registry.cc +9 -10
  1852. data/src/core/xds/grpc/xds_http_filter_registry.h +6 -7
  1853. data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +12 -13
  1854. data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +6 -6
  1855. data/src/core/xds/grpc/xds_http_rbac_filter.cc +71 -61
  1856. data/src/core/xds/grpc/xds_http_rbac_filter.h +8 -8
  1857. data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +15 -16
  1858. data/src/core/xds/grpc/xds_http_stateful_session_filter.h +8 -8
  1859. data/src/core/xds/grpc/xds_lb_policy_registry.cc +9 -11
  1860. data/src/core/xds/grpc/xds_lb_policy_registry.h +4 -5
  1861. data/src/core/xds/grpc/xds_listener.cc +5 -8
  1862. data/src/core/xds/grpc/xds_listener.h +11 -12
  1863. data/src/core/xds/grpc/xds_listener_parser.cc +62 -58
  1864. data/src/core/xds/grpc/xds_listener_parser.h +3 -3
  1865. data/src/core/xds/grpc/xds_metadata.cc +5 -5
  1866. data/src/core/xds/grpc/xds_metadata.h +34 -3
  1867. data/src/core/xds/grpc/xds_metadata_parser.cc +102 -48
  1868. data/src/core/xds/grpc/xds_metadata_parser.h +1 -2
  1869. data/src/core/xds/grpc/xds_route_config.cc +12 -18
  1870. data/src/core/xds/grpc/xds_route_config.h +12 -13
  1871. data/src/core/xds/grpc/xds_route_config_parser.cc +125 -129
  1872. data/src/core/xds/grpc/xds_route_config_parser.h +8 -11
  1873. data/src/core/xds/grpc/xds_routing.cc +8 -10
  1874. data/src/core/xds/grpc/xds_routing.h +7 -9
  1875. data/src/core/xds/grpc/xds_server_grpc.cc +83 -51
  1876. data/src/core/xds/grpc/xds_server_grpc.h +28 -15
  1877. data/src/core/xds/grpc/xds_server_grpc_interface.h +33 -0
  1878. data/src/core/xds/grpc/xds_transport_grpc.cc +101 -57
  1879. data/src/core/xds/grpc/xds_transport_grpc.h +33 -20
  1880. data/src/core/xds/xds_client/lrs_client.cc +1281 -0
  1881. data/src/core/xds/xds_client/lrs_client.h +394 -0
  1882. data/src/core/xds/xds_client/xds_api.cc +28 -465
  1883. data/src/core/xds/xds_client/xds_api.h +6 -161
  1884. data/src/core/xds/xds_client/xds_backend_metric_propagation.cc +63 -0
  1885. data/src/core/xds/xds_client/xds_backend_metric_propagation.h +59 -0
  1886. data/src/core/xds/xds_client/xds_bootstrap.cc +12 -3
  1887. data/src/core/xds/xds_client/xds_bootstrap.h +25 -3
  1888. data/src/core/xds/xds_client/xds_client.cc +1086 -1296
  1889. data/src/core/xds/xds_client/xds_client.h +170 -115
  1890. data/src/core/xds/xds_client/xds_locality.h +102 -0
  1891. data/src/core/xds/xds_client/xds_metrics.h +2 -2
  1892. data/src/core/xds/xds_client/xds_resource_type.h +7 -10
  1893. data/src/core/xds/xds_client/xds_resource_type_impl.h +15 -11
  1894. data/src/core/xds/xds_client/xds_transport.h +29 -14
  1895. data/src/ruby/ext/grpc/extconf.rb +2 -1
  1896. data/src/ruby/ext/grpc/rb_byte_buffer.c +3 -3
  1897. data/src/ruby/ext/grpc/rb_call.c +5 -5
  1898. data/src/ruby/ext/grpc/rb_call_credentials.c +5 -6
  1899. data/src/ruby/ext/grpc/rb_channel.c +6 -7
  1900. data/src/ruby/ext/grpc/rb_channel_args.c +3 -3
  1901. data/src/ruby/ext/grpc/rb_channel_credentials.c +5 -6
  1902. data/src/ruby/ext/grpc/rb_channel_credentials.h +1 -2
  1903. data/src/ruby/ext/grpc/rb_completion_queue.c +3 -4
  1904. data/src/ruby/ext/grpc/rb_compression_options.c +6 -7
  1905. data/src/ruby/ext/grpc/rb_event_thread.c +4 -5
  1906. data/src/ruby/ext/grpc/rb_grpc.c +3 -4
  1907. data/src/ruby/ext/grpc/rb_grpc.h +2 -3
  1908. data/src/ruby/ext/grpc/rb_server.c +6 -6
  1909. data/src/ruby/ext/grpc/rb_server_credentials.c +3 -3
  1910. data/src/ruby/ext/grpc/rb_server_credentials.h +1 -2
  1911. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +5 -6
  1912. data/src/ruby/ext/grpc/rb_xds_channel_credentials.h +1 -2
  1913. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +4 -4
  1914. data/src/ruby/ext/grpc/rb_xds_server_credentials.h +1 -2
  1915. data/src/ruby/lib/grpc/version.rb +1 -1
  1916. data/src/ruby/spec/generic/client_stub_spec.rb +20 -20
  1917. data/third_party/abseil-cpp/absl/algorithm/container.h +57 -18
  1918. data/third_party/abseil-cpp/absl/base/attributes.h +84 -0
  1919. data/third_party/abseil-cpp/absl/base/config.h +32 -51
  1920. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +0 -16
  1921. data/third_party/abseil-cpp/absl/base/internal/nullability_impl.h +3 -1
  1922. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +13 -3
  1923. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +0 -12
  1924. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +4 -4
  1925. data/third_party/abseil-cpp/absl/base/macros.h +48 -0
  1926. data/third_party/abseil-cpp/absl/base/no_destructor.h +35 -40
  1927. data/third_party/abseil-cpp/absl/base/nullability.h +33 -7
  1928. data/third_party/abseil-cpp/absl/base/optimization.h +11 -0
  1929. data/third_party/abseil-cpp/absl/base/options.h +1 -1
  1930. data/third_party/abseil-cpp/absl/base/prefetch.h +1 -1
  1931. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +68 -12
  1932. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +60 -6
  1933. data/third_party/abseil-cpp/absl/container/hash_container_defaults.h +45 -0
  1934. data/third_party/abseil-cpp/absl/container/inlined_vector.h +13 -0
  1935. data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +20 -11
  1936. data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +15 -16
  1937. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +34 -1
  1938. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +68 -1
  1939. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +50 -0
  1940. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +22 -7
  1941. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +26 -8
  1942. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +39 -35
  1943. data/third_party/abseil-cpp/absl/container/internal/layout.h +190 -74
  1944. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +8 -6
  1945. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +334 -71
  1946. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1299 -458
  1947. data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +19 -17
  1948. data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc +4 -3
  1949. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc +2 -1
  1950. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc +12 -8
  1951. data/third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc +1 -1
  1952. data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +11 -7
  1953. data/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +18 -17
  1954. data/third_party/abseil-cpp/absl/debugging/internal/bounded_utf8_length_sequence.h +126 -0
  1955. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +258 -0
  1956. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +55 -0
  1957. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +1057 -86
  1958. data/third_party/abseil-cpp/absl/debugging/internal/demangle.h +3 -0
  1959. data/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.cc +925 -0
  1960. data/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.h +42 -0
  1961. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +43 -16
  1962. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +8 -7
  1963. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +10 -7
  1964. data/third_party/abseil-cpp/absl/debugging/internal/utf8_for_code_point.cc +70 -0
  1965. data/third_party/abseil-cpp/absl/debugging/internal/utf8_for_code_point.h +47 -0
  1966. data/third_party/abseil-cpp/absl/flags/commandlineflag.h +11 -0
  1967. data/third_party/abseil-cpp/absl/flags/flag.h +2 -0
  1968. data/third_party/abseil-cpp/absl/flags/internal/flag.cc +117 -30
  1969. data/third_party/abseil-cpp/absl/flags/internal/flag.h +192 -30
  1970. data/third_party/abseil-cpp/absl/flags/reflection.cc +10 -0
  1971. data/third_party/abseil-cpp/absl/functional/any_invocable.h +13 -3
  1972. data/third_party/abseil-cpp/absl/functional/bind_front.h +3 -2
  1973. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +7 -7
  1974. data/third_party/abseil-cpp/absl/functional/internal/front_binder.h +9 -9
  1975. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +1 -1
  1976. data/third_party/abseil-cpp/absl/hash/internal/hash.h +13 -3
  1977. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +60 -28
  1978. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h +4 -0
  1979. data/third_party/abseil-cpp/absl/log/absl_vlog_is_on.h +3 -3
  1980. data/third_party/abseil-cpp/absl/log/globals.h +28 -15
  1981. data/third_party/abseil-cpp/absl/log/internal/check_op.cc +20 -0
  1982. data/third_party/abseil-cpp/absl/log/internal/check_op.h +63 -21
  1983. data/third_party/abseil-cpp/absl/log/internal/conditions.h +2 -2
  1984. data/third_party/abseil-cpp/absl/log/internal/log_impl.h +23 -23
  1985. data/third_party/abseil-cpp/absl/log/internal/log_message.cc +104 -47
  1986. data/third_party/abseil-cpp/absl/log/internal/log_message.h +23 -4
  1987. data/third_party/abseil-cpp/absl/log/internal/nullstream.h +1 -10
  1988. data/third_party/abseil-cpp/absl/log/internal/strip.h +36 -0
  1989. data/third_party/abseil-cpp/absl/log/log.h +5 -1
  1990. data/third_party/abseil-cpp/absl/log/log_sink.h +11 -4
  1991. data/third_party/abseil-cpp/absl/log/vlog_is_on.h +3 -3
  1992. data/third_party/abseil-cpp/absl/meta/type_traits.h +138 -42
  1993. data/third_party/abseil-cpp/absl/numeric/int128.cc +0 -3
  1994. data/third_party/abseil-cpp/absl/numeric/int128.h +35 -5
  1995. data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +14 -0
  1996. data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +18 -0
  1997. data/third_party/abseil-cpp/absl/numeric/internal/bits.h +6 -2
  1998. data/third_party/abseil-cpp/absl/random/beta_distribution.h +8 -8
  1999. data/third_party/abseil-cpp/absl/random/bit_gen_ref.h +9 -7
  2000. data/third_party/abseil-cpp/absl/random/distributions.h +11 -11
  2001. data/third_party/abseil-cpp/absl/random/seed_sequences.h +2 -0
  2002. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +61 -2
  2003. data/third_party/abseil-cpp/absl/status/status.cc +0 -4
  2004. data/third_party/abseil-cpp/absl/status/status.h +4 -4
  2005. data/third_party/abseil-cpp/absl/status/statusor.h +108 -142
  2006. data/third_party/abseil-cpp/absl/strings/ascii.cc +32 -71
  2007. data/third_party/abseil-cpp/absl/strings/cord.cc +20 -15
  2008. data/third_party/abseil-cpp/absl/strings/cord.h +68 -7
  2009. data/third_party/abseil-cpp/absl/strings/escaping.cc +96 -21
  2010. data/third_party/abseil-cpp/absl/strings/escaping.h +25 -8
  2011. data/third_party/abseil-cpp/absl/strings/has_absl_stringify.h +1 -0
  2012. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +10 -0
  2013. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +29 -9
  2014. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +2 -2
  2015. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc +19 -13
  2016. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h +23 -13
  2017. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +24 -24
  2018. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +12 -7
  2019. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +9 -4
  2020. data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +5 -2
  2021. data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +23 -2
  2022. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +5 -1
  2023. data/third_party/abseil-cpp/absl/strings/numbers.cc +107 -333
  2024. data/third_party/abseil-cpp/absl/strings/numbers.h +12 -151
  2025. data/third_party/abseil-cpp/absl/strings/str_cat.cc +49 -142
  2026. data/third_party/abseil-cpp/absl/strings/str_cat.h +70 -85
  2027. data/third_party/abseil-cpp/absl/strings/str_format.h +1 -1
  2028. data/third_party/abseil-cpp/absl/strings/str_join.h +19 -5
  2029. data/third_party/abseil-cpp/absl/strings/str_split.h +2 -2
  2030. data/third_party/abseil-cpp/absl/strings/string_view.h +3 -2
  2031. data/third_party/abseil-cpp/absl/strings/substitute.cc +4 -0
  2032. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +11 -2
  2033. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h +5 -0
  2034. data/third_party/abseil-cpp/absl/synchronization/mutex.h +5 -4
  2035. data/third_party/abseil-cpp/absl/time/civil_time.h +2 -2
  2036. data/third_party/abseil-cpp/absl/time/clock.cc +15 -1
  2037. data/third_party/abseil-cpp/absl/time/duration.cc +58 -53
  2038. data/third_party/abseil-cpp/absl/time/format.cc +2 -1
  2039. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +1 -1
  2040. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +0 -29
  2041. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +3 -3
  2042. data/third_party/abseil-cpp/absl/time/time.h +73 -29
  2043. data/third_party/abseil-cpp/absl/types/compare.h +505 -0
  2044. data/third_party/abseil-cpp/absl/types/internal/optional.h +2 -2
  2045. data/third_party/abseil-cpp/absl/types/internal/variant.h +55 -67
  2046. data/third_party/abseil-cpp/absl/types/optional.h +15 -18
  2047. data/third_party/abseil-cpp/absl/types/span.h +3 -2
  2048. data/third_party/abseil-cpp/absl/types/variant.h +19 -24
  2049. data/third_party/abseil-cpp/absl/utility/utility.h +3 -41
  2050. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.cc +243 -0
  2051. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.cc +53 -0
  2052. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.cc +47 -0
  2053. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.cc +42 -0
  2054. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.cc +109 -0
  2055. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.cc +43 -0
  2056. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.cc +424 -0
  2057. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.cc +239 -0
  2058. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.cc +193 -0
  2059. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.cc +32 -0
  2060. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.cc +415 -0
  2061. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.cc +206 -0
  2062. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.cc +224 -0
  2063. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.cc +172 -0
  2064. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.cc +109 -0
  2065. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.cc +355 -0
  2066. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.cc +61 -0
  2067. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.cc +56 -0
  2068. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.cc +63 -0
  2069. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.cc +52 -0
  2070. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +13 -57
  2071. data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.cc +241 -0
  2072. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.cc +932 -0
  2073. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.cc +669 -0
  2074. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.cc +164 -0
  2075. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.cc +276 -0
  2076. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.cc +84 -0
  2077. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.cc +229 -0
  2078. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.cc +434 -0
  2079. data/third_party/boringssl-with-bazel/src/crypto/bcm_support.h +19 -13
  2080. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.cc +658 -0
  2081. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.cc +268 -0
  2082. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.cc +511 -0
  2083. data/third_party/boringssl-with-bazel/src/crypto/bio/errno.cc +50 -0
  2084. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.cc +193 -0
  2085. data/third_party/boringssl-with-bazel/src/crypto/bio/file.cc +292 -0
  2086. data/third_party/boringssl-with-bazel/src/crypto/bio/hexdump.cc +152 -0
  2087. data/third_party/boringssl-with-bazel/src/crypto/bio/internal.h +13 -55
  2088. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.cc +446 -0
  2089. data/third_party/boringssl-with-bazel/src/crypto/bio/printf.cc +59 -0
  2090. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.cc +147 -0
  2091. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.cc +133 -0
  2092. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.cc +169 -0
  2093. data/third_party/boringssl-with-bazel/src/crypto/bn/bn_asn1.cc +57 -0
  2094. data/third_party/boringssl-with-bazel/src/crypto/bn/convert.cc +423 -0
  2095. data/third_party/boringssl-with-bazel/src/crypto/buf/buf.cc +118 -0
  2096. data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.cc +53 -0
  2097. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.cc +266 -0
  2098. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.cc +702 -0
  2099. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.cc +912 -0
  2100. data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +13 -13
  2101. data/third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.cc +156 -0
  2102. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.cc +224 -0
  2103. data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +18 -18
  2104. data/third_party/boringssl-with-bazel/src/crypto/cipher/derive_key.cc +110 -0
  2105. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_aesctrhmac.cc +279 -0
  2106. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_aesgcmsiv.cc +845 -0
  2107. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_chacha20poly1305.cc +341 -0
  2108. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_des.cc +198 -0
  2109. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_null.cc +51 -0
  2110. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_rc2.cc +417 -0
  2111. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_rc4.cc +54 -0
  2112. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_tls.cc +599 -0
  2113. data/third_party/boringssl-with-bazel/src/crypto/cipher/get_cipher.cc +85 -0
  2114. data/third_party/boringssl-with-bazel/src/crypto/cipher/internal.h +240 -0
  2115. data/third_party/boringssl-with-bazel/src/crypto/cipher/tls_cbc.cc +476 -0
  2116. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.cc +631 -0
  2117. data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +13 -13
  2118. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.cc +73 -0
  2119. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.cc +53 -0
  2120. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.cc +60 -0
  2121. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.cc +59 -0
  2122. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.cc +92 -0
  2123. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.cc +39 -0
  2124. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.cc +53 -0
  2125. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.cc +150 -0
  2126. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.h +13 -13
  2127. data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.cc +287 -0
  2128. data/third_party/boringssl-with-bazel/src/crypto/crypto.cc +181 -0
  2129. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.cc +2154 -0
  2130. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.cc +18 -0
  2131. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +13 -13
  2132. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +13 -13
  2133. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.cc +529 -0
  2134. data/third_party/boringssl-with-bazel/src/crypto/des/des.cc +829 -0
  2135. data/third_party/boringssl-with-bazel/src/crypto/des/internal.h +27 -69
  2136. data/third_party/boringssl-with-bazel/src/crypto/dh/dh_asn1.cc +124 -0
  2137. data/third_party/boringssl-with-bazel/src/crypto/dh/params.cc +442 -0
  2138. data/third_party/boringssl-with-bazel/src/crypto/digest/digest_extra.cc +306 -0
  2139. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.cc +951 -0
  2140. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.cc +379 -0
  2141. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +13 -15
  2142. data/third_party/boringssl-with-bazel/src/crypto/ec/ec_asn1.cc +570 -0
  2143. data/third_party/boringssl-with-bazel/src/crypto/ec/ec_derive.cc +96 -0
  2144. data/third_party/boringssl-with-bazel/src/crypto/ec/hash_to_curve.cc +510 -0
  2145. data/third_party/boringssl-with-bazel/src/crypto/ec/internal.h +78 -0
  2146. data/third_party/boringssl-with-bazel/src/crypto/ecdh/ecdh.cc +73 -0
  2147. data/third_party/boringssl-with-bazel/src/crypto/ecdsa/ecdsa_asn1.cc +357 -0
  2148. data/third_party/boringssl-with-bazel/src/crypto/engine/engine.cc +95 -0
  2149. data/third_party/boringssl-with-bazel/src/crypto/err/err.cc +810 -0
  2150. data/third_party/boringssl-with-bazel/src/crypto/err/internal.h +13 -13
  2151. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.cc +379 -0
  2152. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.cc +471 -0
  2153. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.cc +440 -0
  2154. data/third_party/boringssl-with-bazel/src/crypto/evp/internal.h +13 -55
  2155. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh.cc +153 -0
  2156. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.cc +142 -0
  2157. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.cc +279 -0
  2158. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.cc +230 -0
  2159. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.cc +286 -0
  2160. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.cc +103 -0
  2161. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.cc +225 -0
  2162. data/third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.cc +236 -0
  2163. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.cc +609 -0
  2164. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.cc +198 -0
  2165. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.cc +109 -0
  2166. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.cc +237 -0
  2167. data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.cc +98 -0
  2168. data/third_party/boringssl-with-bazel/src/crypto/evp/print.cc +342 -0
  2169. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.cc +216 -0
  2170. data/third_party/boringssl-with-bazel/src/crypto/evp/sign.cc +114 -0
  2171. data/third_party/boringssl-with-bazel/src/crypto/ex_data.cc +141 -0
  2172. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.cc.inc +191 -0
  2173. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.cc.inc +1281 -0
  2174. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/cbc.cc.inc +130 -0
  2175. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/cfb.cc.inc +166 -0
  2176. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/ctr.cc.inc +100 -0
  2177. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/gcm.cc.inc +604 -0
  2178. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/gcm_nohw.cc.inc +302 -0
  2179. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +419 -70
  2180. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.cc.inc +208 -0
  2181. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.cc.inc +84 -0
  2182. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/ofb.cc.inc +53 -0
  2183. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/polyval.cc.inc +89 -0
  2184. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.cc +282 -0
  2185. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm_interface.h +665 -25
  2186. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/add.cc.inc +269 -0
  2187. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +554 -0
  2188. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.cc.inc +374 -0
  2189. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.cc.inc +225 -0
  2190. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.cc.inc +159 -0
  2191. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.cc.inc +191 -0
  2192. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.cc.inc +825 -0
  2193. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.cc.inc +87 -0
  2194. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.cc.inc +1227 -0
  2195. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.cc.inc +300 -0
  2196. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.cc.inc +339 -0
  2197. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/generic.cc.inc +582 -0
  2198. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +25 -134
  2199. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/jacobi.cc.inc +108 -0
  2200. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.cc.inc +430 -0
  2201. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.cc.inc +222 -0
  2202. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.cc.inc +698 -0
  2203. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.cc.inc +980 -0
  2204. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.cc.inc +260 -0
  2205. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.cc.inc +142 -0
  2206. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.h +20 -17
  2207. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.cc.inc +320 -0
  2208. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.cc.inc +459 -0
  2209. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.cc.inc +295 -0
  2210. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.cc.inc +672 -0
  2211. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.cc.inc +1242 -0
  2212. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aesccm.cc.inc +409 -0
  2213. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h +14 -65
  2214. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/cmac.cc.inc +288 -0
  2215. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +26 -22
  2216. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.cc.inc +203 -0
  2217. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.cc.inc +443 -0
  2218. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +13 -15
  2219. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.cc.inc +250 -0
  2220. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.cc.inc +178 -0
  2221. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/internal.h +13 -55
  2222. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +13 -47
  2223. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/digestsign.cc.inc +226 -0
  2224. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/builtin_curves.h +91 -91
  2225. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.cc.inc +986 -0
  2226. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.cc.inc +501 -0
  2227. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.cc.inc +439 -0
  2228. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.cc.inc +104 -0
  2229. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +19 -66
  2230. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.cc.inc +306 -0
  2231. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.cc.inc +1163 -0
  2232. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz-table.h +15 -10
  2233. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.cc.inc +741 -0
  2234. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.h +22 -17
  2235. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.cc.inc +749 -0
  2236. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +13 -13
  2237. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.cc.inc +179 -0
  2238. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.cc.inc +284 -0
  2239. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.cc.inc +269 -0
  2240. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.cc.inc +255 -0
  2241. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.cc.inc +221 -0
  2242. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.cc.inc +88 -0
  2243. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +278 -0
  2244. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +13 -13
  2245. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.cc +28 -0
  2246. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.cc.inc +112 -0
  2247. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.cc.inc +215 -0
  2248. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/keccak/internal.h +70 -0
  2249. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/keccak/keccak.cc.inc +279 -0
  2250. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mldsa/mldsa.cc.inc +1993 -0
  2251. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mlkem/mlkem.cc.inc +1165 -0
  2252. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.cc.inc +214 -0
  2253. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +18 -24
  2254. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.cc.inc +483 -0
  2255. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.cc.inc +147 -0
  2256. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +13 -56
  2257. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.cc.inc +379 -0
  2258. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.cc.inc +983 -0
  2259. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.cc.inc +1296 -0
  2260. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.cc.inc +129 -0
  2261. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.cc.inc +1042 -0
  2262. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h +34 -34
  2263. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +327 -0
  2264. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +43 -57
  2265. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.cc.inc +390 -0
  2266. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.cc.inc +299 -0
  2267. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.cc.inc +473 -0
  2268. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/address.h +119 -0
  2269. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/fors.cc.inc +169 -0
  2270. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/fors.h +58 -0
  2271. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/merkle.cc.inc +161 -0
  2272. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/merkle.h +70 -0
  2273. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/params.h +78 -0
  2274. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +329 -0
  2275. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/thash.cc.inc +173 -0
  2276. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/thash.h +85 -0
  2277. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/wots.cc.inc +171 -0
  2278. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/wots.h +50 -0
  2279. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +13 -13
  2280. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.cc.inc +180 -0
  2281. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.cc +1095 -0
  2282. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.cc +2185 -0
  2283. data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +13 -13
  2284. data/third_party/boringssl-with-bazel/src/crypto/internal.h +262 -445
  2285. data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +13 -13
  2286. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.cc +869 -0
  2287. data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +31 -75
  2288. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.cc +309 -0
  2289. data/third_party/boringssl-with-bazel/src/crypto/md4/md4.cc +194 -0
  2290. data/third_party/boringssl-with-bazel/src/crypto/md5/internal.h +37 -0
  2291. data/third_party/boringssl-with-bazel/src/crypto/md5/md5.cc +243 -0
  2292. data/third_party/boringssl-with-bazel/src/crypto/mem.cc +583 -0
  2293. data/third_party/boringssl-with-bazel/src/crypto/mldsa/mldsa.cc +90 -0
  2294. data/third_party/boringssl-with-bazel/src/crypto/mlkem/mlkem.cc +97 -1042
  2295. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.cc +519 -0
  2296. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +14 -56
  2297. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_xref.cc +80 -0
  2298. data/third_party/boringssl-with-bazel/src/crypto/pem/internal.h +44 -0
  2299. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.cc +149 -0
  2300. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.cc +254 -0
  2301. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.cc +741 -0
  2302. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.cc +45 -0
  2303. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.cc +208 -0
  2304. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.cc +141 -0
  2305. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.cc +22 -0
  2306. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.cc +22 -0
  2307. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +13 -13
  2308. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.cc +193 -0
  2309. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.cc +526 -0
  2310. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +13 -54
  2311. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.cc +275 -0
  2312. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.cc +487 -0
  2313. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.cc +1304 -0
  2314. data/third_party/boringssl-with-bazel/src/crypto/poly1305/internal.h +13 -13
  2315. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.cc +314 -0
  2316. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.cc +310 -0
  2317. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.cc +850 -0
  2318. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +13 -13
  2319. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.cc +262 -0
  2320. data/third_party/boringssl-with-bazel/src/crypto/rand/deterministic.cc +65 -0
  2321. data/third_party/boringssl-with-bazel/src/crypto/rand/fork_detect.cc +194 -0
  2322. data/third_party/boringssl-with-bazel/src/crypto/rand/forkunsafe.cc +44 -0
  2323. data/third_party/boringssl-with-bazel/src/crypto/rand/getentropy.cc +60 -0
  2324. data/third_party/boringssl-with-bazel/src/crypto/rand/getrandom_fillin.h +64 -0
  2325. data/third_party/boringssl-with-bazel/src/crypto/rand/ios.cc +42 -0
  2326. data/third_party/boringssl-with-bazel/src/crypto/rand/passive.cc +178 -0
  2327. data/third_party/boringssl-with-bazel/src/crypto/rand/rand.cc +77 -0
  2328. data/third_party/boringssl-with-bazel/src/crypto/rand/sysrand_internal.h +37 -0
  2329. data/third_party/boringssl-with-bazel/src/crypto/rand/trusty.cc +46 -0
  2330. data/third_party/boringssl-with-bazel/src/crypto/rand/urandom.cc +328 -0
  2331. data/third_party/boringssl-with-bazel/src/crypto/rand/windows.cc +102 -0
  2332. data/third_party/boringssl-with-bazel/src/crypto/rc4/rc4.cc +56 -0
  2333. data/third_party/boringssl-with-bazel/src/crypto/refcount.cc +59 -0
  2334. data/third_party/boringssl-with-bazel/src/crypto/rsa/internal.h +36 -0
  2335. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_asn1.cc +283 -0
  2336. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_crypt.cc +531 -0
  2337. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_extra.cc +19 -0
  2338. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_print.cc +27 -0
  2339. data/third_party/boringssl-with-bazel/src/crypto/sha/sha1.cc +52 -0
  2340. data/third_party/boringssl-with-bazel/src/crypto/sha/sha256.cc +87 -0
  2341. data/third_party/boringssl-with-bazel/src/crypto/sha/sha512.cc +104 -0
  2342. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.cc +79 -0
  2343. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/slhdsa.cc +113 -0
  2344. data/third_party/boringssl-with-bazel/src/crypto/spake2plus/internal.h +204 -0
  2345. data/third_party/boringssl-with-bazel/src/crypto/spake2plus/spake2plus.cc +501 -0
  2346. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.cc +496 -0
  2347. data/third_party/boringssl-with-bazel/src/crypto/thread.cc +68 -0
  2348. data/third_party/boringssl-with-bazel/src/crypto/thread_none.cc +51 -0
  2349. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.cc +151 -0
  2350. data/third_party/boringssl-with-bazel/src/crypto/thread_win.cc +240 -0
  2351. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +13 -13
  2352. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.cc +1656 -0
  2353. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.cc +685 -0
  2354. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.cc +1263 -0
  2355. data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.cc +52 -0
  2356. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.cc +97 -0
  2357. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.cc +74 -0
  2358. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.cc +136 -0
  2359. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.cc +542 -0
  2360. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.cc +355 -0
  2361. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.cc +227 -0
  2362. data/third_party/boringssl-with-bazel/src/crypto/x509/ext_dat.h +13 -55
  2363. data/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.cc +37 -0
  2364. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +13 -57
  2365. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.cc +185 -0
  2366. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.cc +796 -0
  2367. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.cc +364 -0
  2368. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.cc +103 -0
  2369. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.cc +203 -0
  2370. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.cc +287 -0
  2371. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.cc +79 -0
  2372. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akey.cc +181 -0
  2373. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akeya.cc +31 -0
  2374. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_alt.cc +593 -0
  2375. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bcons.cc +95 -0
  2376. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bitst.cc +102 -0
  2377. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_conf.cc +374 -0
  2378. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_cpols.cc +444 -0
  2379. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_crld.cc +557 -0
  2380. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_enum.cc +73 -0
  2381. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_extku.cc +114 -0
  2382. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_genn.cc +228 -0
  2383. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ia5.cc +79 -0
  2384. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_info.cc +164 -0
  2385. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_int.cc +81 -0
  2386. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_lib.cc +304 -0
  2387. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ncons.cc +514 -0
  2388. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ocsp.cc +89 -0
  2389. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pcons.cc +101 -0
  2390. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pmaps.cc +109 -0
  2391. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_prn.cc +183 -0
  2392. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_purp.cc +590 -0
  2393. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_skey.cc +131 -0
  2394. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.cc +1342 -0
  2395. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.cc +47 -0
  2396. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.cc +186 -0
  2397. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.cc +238 -0
  2398. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.cc +66 -0
  2399. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.cc +44 -0
  2400. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.cc +139 -0
  2401. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.cc +554 -0
  2402. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.cc +164 -0
  2403. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.cc +257 -0
  2404. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.cc +198 -0
  2405. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.cc +118 -0
  2406. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.cc +147 -0
  2407. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.cc +249 -0
  2408. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.cc +1600 -0
  2409. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.cc +440 -0
  2410. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.cc +235 -0
  2411. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.cc +365 -0
  2412. data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.cc +67 -0
  2413. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.cc +91 -0
  2414. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.cc +107 -0
  2415. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.cc +318 -0
  2416. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.cc +55 -0
  2417. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.cc +342 -0
  2418. data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.cc +36 -0
  2419. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.cc +492 -0
  2420. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.cc +170 -0
  2421. data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.cc +74 -0
  2422. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.cc +51 -0
  2423. data/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.cc +34 -0
  2424. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.cc +28 -0
  2425. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.cc +506 -0
  2426. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.cc +169 -0
  2427. data/third_party/boringssl-with-bazel/src/gen/crypto/err_data.cc +1529 -0
  2428. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +13 -13
  2429. data/third_party/boringssl-with-bazel/src/include/openssl/aes.h +13 -47
  2430. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +16 -76
  2431. data/third_party/boringssl-with-bazel/src/include/openssl/asm_base.h +14 -14
  2432. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +23 -62
  2433. data/third_party/boringssl-with-bazel/src/include/openssl/asn1_mac.h +13 -13
  2434. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +248 -328
  2435. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +24 -55
  2436. data/third_party/boringssl-with-bazel/src/include/openssl/base64.h +13 -55
  2437. data/third_party/boringssl-with-bazel/src/include/openssl/bcm_public.h +82 -0
  2438. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +13 -55
  2439. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +13 -13
  2440. data/third_party/boringssl-with-bazel/src/include/openssl/blowfish.h +13 -55
  2441. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +14 -121
  2442. data/third_party/boringssl-with-bazel/src/include/openssl/buf.h +13 -55
  2443. data/third_party/boringssl-with-bazel/src/include/openssl/buffer.h +13 -13
  2444. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +31 -16
  2445. data/third_party/boringssl-with-bazel/src/include/openssl/cast.h +13 -55
  2446. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +13 -13
  2447. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +31 -59
  2448. data/third_party/boringssl-with-bazel/src/include/openssl/cmac.h +13 -13
  2449. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +13 -55
  2450. data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +13 -13
  2451. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +25 -14
  2452. data/third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h +13 -13
  2453. data/third_party/boringssl-with-bazel/src/include/openssl/curve25519.h +13 -13
  2454. data/third_party/boringssl-with-bazel/src/include/openssl/des.h +13 -55
  2455. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +17 -55
  2456. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +19 -56
  2457. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +17 -58
  2458. data/third_party/boringssl-with-bazel/src/include/openssl/dtls1.h +13 -13
  2459. data/third_party/boringssl-with-bazel/src/include/openssl/e_os2.h +13 -13
  2460. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +14 -66
  2461. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +31 -72
  2462. data/third_party/boringssl-with-bazel/src/include/openssl/ecdh.h +14 -65
  2463. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +13 -51
  2464. data/third_party/boringssl-with-bazel/src/include/openssl/engine.h +13 -13
  2465. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +13 -107
  2466. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +14 -56
  2467. data/third_party/boringssl-with-bazel/src/include/openssl/evp_errors.h +13 -55
  2468. data/third_party/boringssl-with-bazel/src/include/openssl/ex_data.h +13 -107
  2469. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/kyber.h +13 -13
  2470. data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +13 -13
  2471. data/third_party/boringssl-with-bazel/src/include/openssl/hmac.h +13 -55
  2472. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +13 -13
  2473. data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +13 -13
  2474. data/third_party/boringssl-with-bazel/src/include/openssl/is_boringssl.h +13 -13
  2475. data/third_party/boringssl-with-bazel/src/include/openssl/kdf.h +13 -13
  2476. data/third_party/boringssl-with-bazel/src/include/openssl/lhash.h +13 -55
  2477. data/third_party/boringssl-with-bazel/src/include/openssl/md4.h +13 -55
  2478. data/third_party/boringssl-with-bazel/src/include/openssl/md5.h +13 -55
  2479. data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +13 -55
  2480. data/third_party/boringssl-with-bazel/src/include/openssl/mldsa.h +20 -26
  2481. data/third_party/boringssl-with-bazel/src/include/openssl/mlkem.h +13 -37
  2482. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +27 -69
  2483. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +13 -55
  2484. data/third_party/boringssl-with-bazel/src/include/openssl/obj_mac.h +13 -13
  2485. data/third_party/boringssl-with-bazel/src/include/openssl/objects.h +13 -13
  2486. data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +13 -13
  2487. data/third_party/boringssl-with-bazel/src/include/openssl/opensslv.h +13 -13
  2488. data/third_party/boringssl-with-bazel/src/include/openssl/ossl_typ.h +13 -13
  2489. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +22 -60
  2490. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs12.h +13 -13
  2491. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +13 -13
  2492. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +13 -55
  2493. data/third_party/boringssl-with-bazel/src/include/openssl/poly1305.h +13 -13
  2494. data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +13 -13
  2495. data/third_party/boringssl-with-bazel/src/include/openssl/posix_time.h +13 -13
  2496. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +13 -13
  2497. data/third_party/boringssl-with-bazel/src/include/openssl/rc4.h +13 -55
  2498. data/third_party/boringssl-with-bazel/src/include/openssl/ripemd.h +13 -55
  2499. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +23 -63
  2500. data/third_party/boringssl-with-bazel/src/include/openssl/safestack.h +13 -13
  2501. data/third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h +13 -13
  2502. data/third_party/boringssl-with-bazel/src/include/openssl/sha.h +15 -95
  2503. data/third_party/boringssl-with-bazel/src/include/openssl/siphash.h +13 -13
  2504. data/third_party/boringssl-with-bazel/src/include/openssl/slhdsa.h +174 -0
  2505. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +24 -32
  2506. data/third_party/boringssl-with-bazel/src/include/openssl/srtp.h +13 -13
  2507. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +358 -290
  2508. data/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h +15 -114
  2509. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +13 -55
  2510. data/third_party/boringssl-with-bazel/src/include/openssl/target.h +23 -13
  2511. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +15 -57
  2512. data/third_party/boringssl-with-bazel/src/include/openssl/time.h +13 -13
  2513. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +27 -156
  2514. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +15 -15
  2515. data/third_party/boringssl-with-bazel/src/include/openssl/type_check.h +13 -55
  2516. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +14 -61
  2517. data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +13 -13
  2518. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +13 -13
  2519. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3_errors.h +13 -53
  2520. data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +15 -14
  2521. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +680 -434
  2522. data/third_party/boringssl-with-bazel/src/ssl/d1_lib.cc +129 -174
  2523. data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +176 -131
  2524. data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +21 -127
  2525. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +107 -104
  2526. data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +311 -312
  2527. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +54 -47
  2528. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +673 -475
  2529. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +66 -73
  2530. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +61 -153
  2531. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +199 -332
  2532. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +89 -213
  2533. data/third_party/boringssl-with-bazel/src/ssl/internal.h +961 -536
  2534. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +47 -157
  2535. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +29 -159
  2536. data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +18 -112
  2537. data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +103 -196
  2538. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +52 -145
  2539. data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +15 -20
  2540. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +117 -157
  2541. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +229 -365
  2542. data/third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc +218 -32
  2543. data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +13 -109
  2544. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +34 -33
  2545. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +194 -350
  2546. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +38 -83
  2547. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +101 -236
  2548. data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +17 -91
  2549. data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +109 -157
  2550. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +44 -30
  2551. data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +66 -195
  2552. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +45 -176
  2553. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +58 -42
  2554. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +147 -95
  2555. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +251 -180
  2556. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +237 -108
  2557. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +64 -117
  2558. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +52 -134
  2559. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h +6 -0
  2560. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h +6 -0
  2561. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_adx.h +4 -1
  2562. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +1 -1
  2563. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h +3 -0
  2564. data/third_party/upb/upb/base/internal/log2.h +3 -1
  2565. data/third_party/upb/upb/base/string_view.h +10 -0
  2566. data/third_party/upb/upb/hash/common.c +5 -1
  2567. data/third_party/upb/upb/json/decode.c +59 -13
  2568. data/third_party/upb/upb/json/decode.h +25 -3
  2569. data/third_party/upb/upb/json/encode.c +2 -2
  2570. data/third_party/upb/upb/lex/round_trip.c +10 -0
  2571. data/third_party/upb/upb/mem/alloc.h +5 -0
  2572. data/third_party/upb/upb/mem/arena.c +306 -141
  2573. data/third_party/upb/upb/mem/arena.h +56 -11
  2574. data/third_party/upb/upb/mem/arena.hpp +9 -21
  2575. data/third_party/upb/upb/mem/internal/arena.h +4 -6
  2576. data/third_party/upb/upb/message/accessors.c +2 -4
  2577. data/third_party/upb/upb/message/accessors.h +219 -379
  2578. data/third_party/upb/upb/message/compat.c +11 -14
  2579. data/third_party/upb/upb/message/compat.h +4 -3
  2580. data/third_party/upb/upb/message/copy.c +46 -37
  2581. data/third_party/upb/upb/message/internal/accessors.h +717 -36
  2582. data/third_party/upb/upb/message/internal/extension.c +29 -25
  2583. data/third_party/upb/upb/message/internal/extension.h +21 -5
  2584. data/third_party/upb/upb/message/internal/iterator.c +58 -0
  2585. data/third_party/upb/upb/message/internal/iterator.h +29 -0
  2586. data/third_party/upb/upb/message/internal/map.h +2 -3
  2587. data/third_party/upb/upb/message/internal/map_sorter.h +3 -2
  2588. data/third_party/upb/upb/message/internal/message.c +57 -39
  2589. data/third_party/upb/upb/message/internal/message.h +162 -31
  2590. data/third_party/upb/upb/message/map_sorter.c +20 -8
  2591. data/third_party/upb/upb/message/merge.c +38 -0
  2592. data/third_party/upb/upb/message/merge.h +26 -0
  2593. data/third_party/upb/upb/message/message.c +90 -38
  2594. data/third_party/upb/upb/message/message.h +64 -12
  2595. data/third_party/upb/upb/message/value.h +35 -0
  2596. data/third_party/upb/upb/mini_descriptor/build_enum.c +1 -1
  2597. data/third_party/upb/upb/mini_descriptor/decode.c +104 -138
  2598. data/third_party/upb/upb/mini_descriptor/decode.h +4 -3
  2599. data/third_party/upb/upb/mini_descriptor/internal/encode.hpp +1 -1
  2600. data/third_party/upb/upb/mini_descriptor/link.c +7 -3
  2601. data/third_party/upb/upb/mini_table/extension_registry.c +41 -11
  2602. data/third_party/upb/upb/mini_table/extension_registry.h +30 -6
  2603. data/third_party/upb/upb/mini_table/internal/extension.h +9 -0
  2604. data/third_party/upb/upb/mini_table/internal/message.c +21 -1
  2605. data/third_party/upb/upb/mini_table/internal/message.h +40 -20
  2606. data/third_party/upb/upb/mini_table/internal/sub.h +5 -0
  2607. data/third_party/upb/upb/mini_table/message.c +21 -13
  2608. data/third_party/upb/upb/mini_table/message.h +11 -1
  2609. data/third_party/upb/upb/port/atomic.h +134 -7
  2610. data/third_party/upb/upb/port/def.inc +229 -37
  2611. data/third_party/upb/upb/port/undef.inc +17 -0
  2612. data/third_party/upb/upb/reflection/common.h +1 -11
  2613. data/third_party/upb/upb/reflection/def.hpp +13 -1
  2614. data/third_party/upb/upb/reflection/def_pool.c +10 -3
  2615. data/third_party/upb/upb/reflection/descriptor_bootstrap.h +19 -0
  2616. data/third_party/upb/upb/reflection/field_def.c +11 -22
  2617. data/third_party/upb/upb/reflection/field_def.h +1 -0
  2618. data/third_party/upb/upb/reflection/file_def.c +12 -5
  2619. data/third_party/upb/upb/reflection/internal/def_builder.c +1 -1
  2620. data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +1 -1
  2621. data/third_party/upb/upb/reflection/message.c +27 -19
  2622. data/third_party/upb/upb/reflection/message.h +5 -3
  2623. data/third_party/upb/upb/text/encode.c +51 -406
  2624. data/third_party/upb/upb/text/encode.h +1 -11
  2625. data/third_party/upb/upb/text/internal/encode.c +199 -0
  2626. data/third_party/upb/upb/text/internal/encode.h +244 -0
  2627. data/third_party/upb/upb/text/options.h +22 -0
  2628. data/third_party/upb/upb/wire/decode.c +130 -83
  2629. data/third_party/upb/upb/wire/decode.h +8 -3
  2630. data/third_party/upb/upb/wire/encode.c +113 -55
  2631. data/third_party/upb/upb/wire/encode.h +5 -0
  2632. data/third_party/upb/upb/wire/eps_copy_input_stream.h +18 -20
  2633. data/third_party/upb/upb/wire/internal/decode_fast.c +3 -0
  2634. data/third_party/upb/upb/wire/internal/decoder.h +4 -11
  2635. data/third_party/utf8_range/utf8_range.c +15 -275
  2636. data/third_party/utf8_range/utf8_range_neon.inc +117 -0
  2637. data/third_party/utf8_range/utf8_range_sse.inc +272 -0
  2638. data/third_party/zlib/deflate.c +40 -15
  2639. data/third_party/zlib/deflate.h +33 -2
  2640. data/third_party/zlib/gzguts.h +2 -6
  2641. data/third_party/zlib/inflate.c +1 -1
  2642. data/third_party/zlib/inftrees.c +3 -3
  2643. data/third_party/zlib/inftrees.h +2 -2
  2644. data/third_party/zlib/trees.c +18 -4
  2645. data/third_party/zlib/zconf.h +1 -9
  2646. data/third_party/zlib/zlib.h +12 -12
  2647. data/third_party/zlib/zutil.h +4 -25
  2648. metadata +648 -599
  2649. data/include/grpc/grpc_cronet.h +0 -37
  2650. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb.h +0 -419
  2651. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.c +0 -84
  2652. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.h +0 -30
  2653. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb.h +0 -400
  2654. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.c +0 -118
  2655. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.h +0 -33
  2656. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.c +0 -107
  2657. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.h +0 -32
  2658. data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.c +0 -66
  2659. data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.h +0 -47
  2660. data/src/core/lib/avl/avl.h +0 -325
  2661. data/src/core/lib/backoff/backoff.cc +0 -44
  2662. data/src/core/lib/backoff/backoff.h +0 -87
  2663. data/src/core/lib/backoff/random_early_detection.cc +0 -33
  2664. data/src/core/lib/backoff/random_early_detection.h +0 -62
  2665. data/src/core/lib/channel/call_finalization.h +0 -88
  2666. data/src/core/lib/channel/status_util.cc +0 -155
  2667. data/src/core/lib/channel/status_util.h +0 -80
  2668. data/src/core/lib/config/config_vars.cc +0 -152
  2669. data/src/core/lib/config/config_vars.h +0 -129
  2670. data/src/core/lib/config/config_vars_non_generated.cc +0 -49
  2671. data/src/core/lib/config/core_configuration.cc +0 -111
  2672. data/src/core/lib/config/core_configuration.h +0 -243
  2673. data/src/core/lib/config/load_config.cc +0 -79
  2674. data/src/core/lib/config/load_config.h +0 -55
  2675. data/src/core/lib/debug/event_log.cc +0 -87
  2676. data/src/core/lib/debug/event_log.h +0 -81
  2677. data/src/core/lib/gprpp/atomic_utils.h +0 -47
  2678. data/src/core/lib/gprpp/bitset.h +0 -225
  2679. data/src/core/lib/gprpp/chunked_vector.h +0 -257
  2680. data/src/core/lib/gprpp/construct_destruct.h +0 -40
  2681. data/src/core/lib/gprpp/cpp_impl_of.h +0 -49
  2682. data/src/core/lib/gprpp/crash.cc +0 -41
  2683. data/src/core/lib/gprpp/crash.h +0 -37
  2684. data/src/core/lib/gprpp/debug_location.h +0 -106
  2685. data/src/core/lib/gprpp/directory_reader.h +0 -48
  2686. data/src/core/lib/gprpp/down_cast.h +0 -48
  2687. data/src/core/lib/gprpp/dual_ref_counted.h +0 -377
  2688. data/src/core/lib/gprpp/dump_args.cc +0 -54
  2689. data/src/core/lib/gprpp/dump_args.h +0 -117
  2690. data/src/core/lib/gprpp/env.h +0 -53
  2691. data/src/core/lib/gprpp/examine_stack.cc +0 -43
  2692. data/src/core/lib/gprpp/examine_stack.h +0 -45
  2693. data/src/core/lib/gprpp/fork.cc +0 -241
  2694. data/src/core/lib/gprpp/fork.h +0 -98
  2695. data/src/core/lib/gprpp/glob.h +0 -29
  2696. data/src/core/lib/gprpp/host_port.cc +0 -115
  2697. data/src/core/lib/gprpp/host_port.h +0 -57
  2698. data/src/core/lib/gprpp/if_list.h +0 -4530
  2699. data/src/core/lib/gprpp/linux/env.cc +0 -62
  2700. data/src/core/lib/gprpp/load_file.cc +0 -76
  2701. data/src/core/lib/gprpp/load_file.h +0 -34
  2702. data/src/core/lib/gprpp/manual_constructor.h +0 -146
  2703. data/src/core/lib/gprpp/match.h +0 -75
  2704. data/src/core/lib/gprpp/memory.h +0 -52
  2705. data/src/core/lib/gprpp/mpscq.cc +0 -108
  2706. data/src/core/lib/gprpp/mpscq.h +0 -99
  2707. data/src/core/lib/gprpp/no_destruct.h +0 -95
  2708. data/src/core/lib/gprpp/notification.h +0 -67
  2709. data/src/core/lib/gprpp/orphanable.h +0 -153
  2710. data/src/core/lib/gprpp/overload.h +0 -59
  2711. data/src/core/lib/gprpp/packed_table.h +0 -40
  2712. data/src/core/lib/gprpp/per_cpu.cc +0 -34
  2713. data/src/core/lib/gprpp/per_cpu.h +0 -103
  2714. data/src/core/lib/gprpp/posix/directory_reader.cc +0 -82
  2715. data/src/core/lib/gprpp/posix/env.cc +0 -47
  2716. data/src/core/lib/gprpp/posix/stat.cc +0 -55
  2717. data/src/core/lib/gprpp/posix/thd.cc +0 -246
  2718. data/src/core/lib/gprpp/ref_counted.h +0 -403
  2719. data/src/core/lib/gprpp/ref_counted_ptr.h +0 -445
  2720. data/src/core/lib/gprpp/ref_counted_string.cc +0 -43
  2721. data/src/core/lib/gprpp/ref_counted_string.h +0 -161
  2722. data/src/core/lib/gprpp/single_set_ptr.h +0 -89
  2723. data/src/core/lib/gprpp/sorted_pack.h +0 -89
  2724. data/src/core/lib/gprpp/stat.h +0 -36
  2725. data/src/core/lib/gprpp/status_helper.cc +0 -433
  2726. data/src/core/lib/gprpp/status_helper.h +0 -162
  2727. data/src/core/lib/gprpp/strerror.cc +0 -41
  2728. data/src/core/lib/gprpp/strerror.h +0 -29
  2729. data/src/core/lib/gprpp/sync.h +0 -199
  2730. data/src/core/lib/gprpp/table.h +0 -488
  2731. data/src/core/lib/gprpp/tchar.cc +0 -49
  2732. data/src/core/lib/gprpp/tchar.h +0 -33
  2733. data/src/core/lib/gprpp/thd.h +0 -194
  2734. data/src/core/lib/gprpp/time.cc +0 -241
  2735. data/src/core/lib/gprpp/time.h +0 -379
  2736. data/src/core/lib/gprpp/time_averaged_stats.cc +0 -60
  2737. data/src/core/lib/gprpp/time_averaged_stats.h +0 -79
  2738. data/src/core/lib/gprpp/time_util.cc +0 -81
  2739. data/src/core/lib/gprpp/time_util.h +0 -41
  2740. data/src/core/lib/gprpp/type_list.h +0 -32
  2741. data/src/core/lib/gprpp/unique_type_name.h +0 -124
  2742. data/src/core/lib/gprpp/uuid_v4.cc +0 -37
  2743. data/src/core/lib/gprpp/uuid_v4.h +0 -36
  2744. data/src/core/lib/gprpp/validation_errors.cc +0 -74
  2745. data/src/core/lib/gprpp/validation_errors.h +0 -145
  2746. data/src/core/lib/gprpp/windows/directory_reader.cc +0 -79
  2747. data/src/core/lib/gprpp/windows/env.cc +0 -56
  2748. data/src/core/lib/gprpp/windows/stat.cc +0 -51
  2749. data/src/core/lib/gprpp/windows/thd.cc +0 -184
  2750. data/src/core/lib/gprpp/work_serializer.cc +0 -543
  2751. data/src/core/lib/gprpp/work_serializer.h +0 -106
  2752. data/src/core/lib/gprpp/xxhash_inline.h +0 -29
  2753. data/src/core/lib/iomgr/gethostname.h +0 -26
  2754. data/src/core/lib/iomgr/gethostname_fallback.cc +0 -30
  2755. data/src/core/lib/iomgr/gethostname_host_name_max.cc +0 -40
  2756. data/src/core/lib/iomgr/gethostname_sysconf.cc +0 -40
  2757. data/src/core/lib/iomgr/grpc_if_nametoindex.h +0 -30
  2758. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +0 -42
  2759. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +0 -37
  2760. data/src/core/lib/matchers/matchers.cc +0 -330
  2761. data/src/core/lib/matchers/matchers.h +0 -163
  2762. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +0 -70
  2763. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +0 -50
  2764. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +0 -76
  2765. data/src/core/lib/security/context/security_context.cc +0 -333
  2766. data/src/core/lib/security/context/security_context.h +0 -204
  2767. data/src/core/lib/security/credentials/alts/alts_credentials.cc +0 -116
  2768. data/src/core/lib/security/credentials/alts/alts_credentials.h +0 -123
  2769. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +0 -72
  2770. data/src/core/lib/security/credentials/alts/check_gcp_environment.h +0 -57
  2771. data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +0 -68
  2772. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +0 -33
  2773. data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +0 -102
  2774. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +0 -124
  2775. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +0 -45
  2776. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h +0 -74
  2777. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc +0 -55
  2778. data/src/core/lib/security/credentials/call_creds_util.cc +0 -96
  2779. data/src/core/lib/security/credentials/call_creds_util.h +0 -43
  2780. data/src/core/lib/security/credentials/channel_creds_registry.h +0 -127
  2781. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +0 -242
  2782. data/src/core/lib/security/credentials/composite/composite_credentials.cc +0 -169
  2783. data/src/core/lib/security/credentials/composite/composite_credentials.h +0 -135
  2784. data/src/core/lib/security/credentials/credentials.cc +0 -163
  2785. data/src/core/lib/security/credentials/credentials.h +0 -299
  2786. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +0 -531
  2787. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +0 -116
  2788. data/src/core/lib/security/credentials/external/aws_request_signer.cc +0 -231
  2789. data/src/core/lib/security/credentials/external/aws_request_signer.h +0 -72
  2790. data/src/core/lib/security/credentials/external/external_account_credentials.cc +0 -644
  2791. data/src/core/lib/security/credentials/external/external_account_credentials.h +0 -209
  2792. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +0 -176
  2793. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +0 -79
  2794. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +0 -223
  2795. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +0 -72
  2796. data/src/core/lib/security/credentials/fake/fake_credentials.cc +0 -105
  2797. data/src/core/lib/security/credentials/fake/fake_credentials.h +0 -125
  2798. data/src/core/lib/security/credentials/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +0 -196
  2799. data/src/core/lib/security/credentials/gcp_service_account_identity/gcp_service_account_identity_credentials.h +0 -90
  2800. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +0 -39
  2801. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +0 -433
  2802. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +0 -99
  2803. data/src/core/lib/security/credentials/iam/iam_credentials.cc +0 -80
  2804. data/src/core/lib/security/credentials/iam/iam_credentials.h +0 -67
  2805. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +0 -71
  2806. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +0 -61
  2807. data/src/core/lib/security/credentials/jwt/json_token.cc +0 -321
  2808. data/src/core/lib/security/credentials/jwt/json_token.h +0 -79
  2809. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +0 -184
  2810. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +0 -108
  2811. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +0 -991
  2812. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +0 -123
  2813. data/src/core/lib/security/credentials/local/local_credentials.cc +0 -68
  2814. data/src/core/lib/security/credentials/local/local_credentials.h +0 -77
  2815. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +0 -655
  2816. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +0 -198
  2817. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +0 -203
  2818. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +0 -125
  2819. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +0 -476
  2820. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +0 -146
  2821. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +0 -338
  2822. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +0 -216
  2823. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_match.cc +0 -86
  2824. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +0 -412
  2825. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +0 -204
  2826. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +0 -239
  2827. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +0 -170
  2828. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +0 -162
  2829. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +0 -145
  2830. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +0 -260
  2831. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.h +0 -132
  2832. data/src/core/lib/security/credentials/tls/tls_credentials.cc +0 -171
  2833. data/src/core/lib/security/credentials/tls/tls_credentials.h +0 -73
  2834. data/src/core/lib/security/credentials/tls/tls_utils.cc +0 -128
  2835. data/src/core/lib/security/credentials/tls/tls_utils.h +0 -50
  2836. data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.cc +0 -298
  2837. data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.h +0 -176
  2838. data/src/core/lib/security/credentials/xds/xds_credentials.cc +0 -231
  2839. data/src/core/lib/security/credentials/xds/xds_credentials.h +0 -112
  2840. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +0 -305
  2841. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +0 -78
  2842. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +0 -316
  2843. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +0 -42
  2844. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +0 -120
  2845. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +0 -103
  2846. data/src/core/lib/security/security_connector/load_system_roots.h +0 -35
  2847. data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +0 -36
  2848. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +0 -167
  2849. data/src/core/lib/security/security_connector/load_system_roots_supported.h +0 -44
  2850. data/src/core/lib/security/security_connector/load_system_roots_windows.cc +0 -86
  2851. data/src/core/lib/security/security_connector/local/local_security_connector.cc +0 -302
  2852. data/src/core/lib/security/security_connector/local/local_security_connector.h +0 -62
  2853. data/src/core/lib/security/security_connector/security_connector.cc +0 -125
  2854. data/src/core/lib/security/security_connector/security_connector.h +0 -198
  2855. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +0 -405
  2856. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +0 -82
  2857. data/src/core/lib/security/security_connector/ssl_utils.cc +0 -630
  2858. data/src/core/lib/security/security_connector/ssl_utils.h +0 -190
  2859. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +0 -818
  2860. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +0 -286
  2861. data/src/core/lib/security/transport/auth_filters.h +0 -145
  2862. data/src/core/lib/security/transport/client_auth_filter.cc +0 -221
  2863. data/src/core/lib/security/transport/server_auth_filter.cc +0 -216
  2864. data/src/core/lib/security/util/json_util.cc +0 -70
  2865. data/src/core/lib/security/util/json_util.h +0 -43
  2866. data/src/core/lib/surface/client_call.cc +0 -429
  2867. data/src/core/lib/surface/client_call.h +0 -179
  2868. data/src/core/lib/surface/server_call.cc +0 -223
  2869. data/src/core/lib/surface/server_call.h +0 -168
  2870. data/src/core/lib/transport/call_arena_allocator.cc +0 -27
  2871. data/src/core/lib/transport/call_arena_allocator.h +0 -92
  2872. data/src/core/lib/transport/call_destination.h +0 -76
  2873. data/src/core/lib/transport/call_filters.cc +0 -254
  2874. data/src/core/lib/transport/call_filters.h +0 -1532
  2875. data/src/core/lib/transport/call_spine.cc +0 -132
  2876. data/src/core/lib/transport/call_spine.h +0 -418
  2877. data/src/core/lib/transport/call_state.cc +0 -39
  2878. data/src/core/lib/transport/call_state.h +0 -957
  2879. data/src/core/lib/transport/custom_metadata.h +0 -30
  2880. data/src/core/lib/transport/http2_errors.h +0 -41
  2881. data/src/core/lib/transport/interception_chain.cc +0 -147
  2882. data/src/core/lib/transport/interception_chain.h +0 -244
  2883. data/src/core/lib/transport/message.cc +0 -44
  2884. data/src/core/lib/transport/message.h +0 -61
  2885. data/src/core/lib/transport/metadata.cc +0 -61
  2886. data/src/core/lib/transport/metadata.h +0 -113
  2887. data/src/core/lib/transport/metadata_batch.cc +0 -376
  2888. data/src/core/lib/transport/metadata_batch.h +0 -1601
  2889. data/src/core/lib/transport/metadata_compression_traits.h +0 -67
  2890. data/src/core/lib/transport/metadata_info.cc +0 -55
  2891. data/src/core/lib/transport/metadata_info.h +0 -85
  2892. data/src/core/lib/transport/parsed_metadata.cc +0 -35
  2893. data/src/core/lib/transport/parsed_metadata.h +0 -431
  2894. data/src/core/lib/transport/simple_slice_based_metadata.h +0 -54
  2895. data/src/core/lib/uri/uri_parser.cc +0 -371
  2896. data/src/core/lib/uri/uri_parser.h +0 -101
  2897. data/src/core/resolver/binder/binder_resolver.cc +0 -153
  2898. data/src/core/util/atm.cc +0 -35
  2899. data/src/core/xds/xds_client/xds_client_stats.cc +0 -164
  2900. data/src/core/xds/xds_client/xds_client_stats.h +0 -258
  2901. data/third_party/abseil-cpp/absl/strings/internal/has_absl_stringify.h +0 -44
  2902. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +0 -284
  2903. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +0 -95
  2904. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c +0 -89
  2905. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c +0 -84
  2906. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +0 -151
  2907. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c +0 -85
  2908. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +0 -465
  2909. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +0 -279
  2910. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +0 -235
  2911. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c +0 -74
  2912. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c +0 -457
  2913. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +0 -245
  2914. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +0 -259
  2915. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +0 -214
  2916. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +0 -183
  2917. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +0 -397
  2918. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c +0 -103
  2919. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +0 -98
  2920. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +0 -105
  2921. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c +0 -94
  2922. data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.c +0 -241
  2923. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +0 -973
  2924. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +0 -708
  2925. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +0 -212
  2926. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +0 -317
  2927. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +0 -126
  2928. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +0 -268
  2929. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +0 -479
  2930. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +0 -726
  2931. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +0 -309
  2932. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +0 -544
  2933. data/third_party/boringssl-with-bazel/src/crypto/bio/errno.c +0 -92
  2934. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +0 -235
  2935. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +0 -334
  2936. data/third_party/boringssl-with-bazel/src/crypto/bio/hexdump.c +0 -192
  2937. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +0 -480
  2938. data/third_party/boringssl-with-bazel/src/crypto/bio/printf.c +0 -102
  2939. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +0 -189
  2940. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +0 -133
  2941. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +0 -169
  2942. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c +0 -57
  2943. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c +0 -465
  2944. data/third_party/boringssl-with-bazel/src/crypto/buf/buf.c +0 -158
  2945. data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.c +0 -53
  2946. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +0 -266
  2947. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c +0 -718
  2948. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +0 -911
  2949. data/third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.c +0 -156
  2950. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +0 -224
  2951. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c +0 -127
  2952. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c +0 -152
  2953. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c +0 -284
  2954. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c +0 -841
  2955. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +0 -348
  2956. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_des.c +0 -228
  2957. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c +0 -90
  2958. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c +0 -455
  2959. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c +0 -94
  2960. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +0 -598
  2961. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +0 -280
  2962. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +0 -514
  2963. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +0 -672
  2964. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c +0 -75
  2965. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c +0 -55
  2966. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c +0 -62
  2967. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c +0 -61
  2968. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.c +0 -93
  2969. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c +0 -41
  2970. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c +0 -54
  2971. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c +0 -151
  2972. data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.c +0 -326
  2973. data/third_party/boringssl-with-bazel/src/crypto/crypto.c +0 -188
  2974. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +0 -2157
  2975. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.c +0 -18
  2976. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c +0 -523
  2977. data/third_party/boringssl-with-bazel/src/crypto/des/des.c +0 -871
  2978. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c +0 -165
  2979. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c +0 -480
  2980. data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +0 -266
  2981. data/third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c +0 -1539
  2982. data/third_party/boringssl-with-bazel/src/crypto/dilithium/internal.h +0 -58
  2983. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +0 -997
  2984. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +0 -419
  2985. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +0 -572
  2986. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.c +0 -96
  2987. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +0 -508
  2988. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +0 -78
  2989. data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c +0 -124
  2990. data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c +0 -411
  2991. data/third_party/boringssl-with-bazel/src/crypto/engine/engine.c +0 -91
  2992. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +0 -903
  2993. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +0 -430
  2994. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +0 -547
  2995. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c +0 -483
  2996. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh.c +0 -137
  2997. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.c +0 -120
  2998. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c +0 -338
  2999. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +0 -274
  3000. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +0 -332
  3001. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c +0 -100
  3002. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c +0 -224
  3003. data/third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.c +0 -232
  3004. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c +0 -646
  3005. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c +0 -241
  3006. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c +0 -106
  3007. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.c +0 -236
  3008. data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.c +0 -146
  3009. data/third_party/boringssl-with-bazel/src/crypto/evp/print.c +0 -381
  3010. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +0 -209
  3011. data/third_party/boringssl-with-bazel/src/crypto/evp/sign.c +0 -156
  3012. data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +0 -236
  3013. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.c.inc +0 -127
  3014. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.c.inc +0 -1281
  3015. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.c.inc +0 -242
  3016. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c.inc +0 -124
  3017. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +0 -279
  3018. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/add.c.inc +0 -310
  3019. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/x86_64-gcc.c.inc +0 -541
  3020. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c.inc +0 -428
  3021. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.c.inc +0 -267
  3022. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.c.inc +0 -201
  3023. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.c.inc +0 -234
  3024. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c.inc +0 -876
  3025. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.c.inc +0 -87
  3026. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c.inc +0 -1320
  3027. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c.inc +0 -397
  3028. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c.inc +0 -331
  3029. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/generic.c.inc +0 -624
  3030. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/jacobi.c.inc +0 -146
  3031. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c.inc +0 -532
  3032. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c.inc +0 -222
  3033. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.c.inc +0 -744
  3034. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c.inc +0 -1077
  3035. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.c.inc +0 -354
  3036. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.c.inc +0 -137
  3037. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.c.inc +0 -363
  3038. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c.inc +0 -499
  3039. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.c.inc +0 -287
  3040. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c.inc +0 -717
  3041. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c.inc +0 -1464
  3042. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aesccm.c.inc +0 -446
  3043. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/cmac.c.inc +0 -322
  3044. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.c.inc +0 -245
  3045. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c.inc +0 -489
  3046. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c.inc +0 -288
  3047. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c.inc +0 -304
  3048. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/digestsign.c.inc +0 -267
  3049. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c.inc +0 -1043
  3050. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c.inc +0 -561
  3051. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c.inc +0 -491
  3052. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.c.inc +0 -104
  3053. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c.inc +0 -359
  3054. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c.inc +0 -1163
  3055. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.c.inc +0 -734
  3056. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c.inc +0 -749
  3057. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c.inc +0 -173
  3058. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c.inc +0 -336
  3059. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c.inc +0 -269
  3060. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.c.inc +0 -255
  3061. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c.inc +0 -264
  3062. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c.inc +0 -130
  3063. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c.inc +0 -317
  3064. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c +0 -29
  3065. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.c.inc +0 -112
  3066. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.c.inc +0 -256
  3067. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c.inc +0 -240
  3068. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/internal.h +0 -37
  3069. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c.inc +0 -284
  3070. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c.inc +0 -164
  3071. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c.inc +0 -200
  3072. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c.inc +0 -196
  3073. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c.inc +0 -743
  3074. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c.inc +0 -302
  3075. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +0 -428
  3076. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c.inc +0 -87
  3077. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.c.inc +0 -90
  3078. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.c.inc +0 -220
  3079. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c.inc +0 -479
  3080. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.c.inc +0 -241
  3081. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c.inc +0 -420
  3082. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c.inc +0 -1038
  3083. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c.inc +0 -1351
  3084. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c.inc +0 -121
  3085. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c.inc +0 -1038
  3086. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.c.inc +0 -328
  3087. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c.inc +0 -439
  3088. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c.inc +0 -359
  3089. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c.inc +0 -543
  3090. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c.inc +0 -218
  3091. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +0 -1092
  3092. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c +0 -2234
  3093. data/third_party/boringssl-with-bazel/src/crypto/keccak/internal.h +0 -70
  3094. data/third_party/boringssl-with-bazel/src/crypto/keccak/keccak.c +0 -279
  3095. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +0 -845
  3096. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c +0 -350
  3097. data/third_party/boringssl-with-bazel/src/crypto/mem.c +0 -613
  3098. data/third_party/boringssl-with-bazel/src/crypto/mldsa/internal.h +0 -73
  3099. data/third_party/boringssl-with-bazel/src/crypto/mldsa/mldsa.c +0 -1687
  3100. data/third_party/boringssl-with-bazel/src/crypto/mlkem/internal.h +0 -90
  3101. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +0 -564
  3102. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_xref.c +0 -122
  3103. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c +0 -243
  3104. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c +0 -294
  3105. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +0 -789
  3106. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.c +0 -87
  3107. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +0 -250
  3108. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +0 -183
  3109. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.c +0 -64
  3110. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.c +0 -64
  3111. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c +0 -193
  3112. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +0 -523
  3113. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.c +0 -316
  3114. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +0 -527
  3115. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +0 -1352
  3116. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +0 -314
  3117. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c +0 -308
  3118. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c +0 -847
  3119. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +0 -261
  3120. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +0 -65
  3121. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/fork_detect.c +0 -195
  3122. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c +0 -44
  3123. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.c +0 -60
  3124. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getrandom_fillin.h +0 -64
  3125. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/ios.c +0 -42
  3126. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +0 -174
  3127. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +0 -77
  3128. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/sysrand_internal.h +0 -37
  3129. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.c +0 -46
  3130. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/urandom.c +0 -328
  3131. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +0 -102
  3132. data/third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c +0 -98
  3133. data/third_party/boringssl-with-bazel/src/crypto/refcount.c +0 -59
  3134. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/internal.h +0 -79
  3135. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c +0 -324
  3136. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c +0 -570
  3137. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_print.c +0 -22
  3138. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +0 -79
  3139. data/third_party/boringssl-with-bazel/src/crypto/spx/address.c +0 -101
  3140. data/third_party/boringssl-with-bazel/src/crypto/spx/address.h +0 -50
  3141. data/third_party/boringssl-with-bazel/src/crypto/spx/fors.c +0 -133
  3142. data/third_party/boringssl-with-bazel/src/crypto/spx/fors.h +0 -54
  3143. data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.c +0 -150
  3144. data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.h +0 -61
  3145. data/third_party/boringssl-with-bazel/src/crypto/spx/params.h +0 -71
  3146. data/third_party/boringssl-with-bazel/src/crypto/spx/spx.c +0 -140
  3147. data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.c +0 -53
  3148. data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.h +0 -44
  3149. data/third_party/boringssl-with-bazel/src/crypto/spx/thash.c +0 -136
  3150. data/third_party/boringssl-with-bazel/src/crypto/spx/thash.h +0 -70
  3151. data/third_party/boringssl-with-bazel/src/crypto/spx/wots.c +0 -135
  3152. data/third_party/boringssl-with-bazel/src/crypto/spx/wots.h +0 -45
  3153. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +0 -534
  3154. data/third_party/boringssl-with-bazel/src/crypto/thread.c +0 -110
  3155. data/third_party/boringssl-with-bazel/src/crypto/thread_none.c +0 -51
  3156. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +0 -150
  3157. data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +0 -236
  3158. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +0 -1668
  3159. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +0 -687
  3160. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +0 -1267
  3161. data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.c +0 -94
  3162. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c +0 -136
  3163. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +0 -116
  3164. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +0 -178
  3165. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +0 -585
  3166. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +0 -400
  3167. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +0 -269
  3168. data/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.c +0 -79
  3169. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +0 -227
  3170. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.c +0 -786
  3171. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +0 -401
  3172. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +0 -145
  3173. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +0 -245
  3174. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +0 -329
  3175. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +0 -121
  3176. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akey.c +0 -221
  3177. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akeya.c +0 -73
  3178. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_alt.c +0 -634
  3179. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bcons.c +0 -135
  3180. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bitst.c +0 -141
  3181. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_conf.c +0 -416
  3182. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_cpols.c +0 -482
  3183. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_crld.c +0 -598
  3184. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_enum.c +0 -112
  3185. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_extku.c +0 -154
  3186. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_genn.c +0 -270
  3187. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ia5.c +0 -122
  3188. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_info.c +0 -211
  3189. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_int.c +0 -121
  3190. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_lib.c +0 -344
  3191. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ncons.c +0 -555
  3192. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ocsp.c +0 -81
  3193. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pcons.c +0 -142
  3194. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pmaps.c +0 -150
  3195. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_prn.c +0 -224
  3196. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_purp.c +0 -624
  3197. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_skey.c +0 -170
  3198. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.c +0 -1390
  3199. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.c +0 -89
  3200. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +0 -227
  3201. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +0 -280
  3202. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.c +0 -108
  3203. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.c +0 -86
  3204. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +0 -181
  3205. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +0 -599
  3206. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c +0 -206
  3207. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +0 -299
  3208. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +0 -240
  3209. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +0 -160
  3210. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.c +0 -189
  3211. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +0 -291
  3212. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +0 -1638
  3213. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +0 -440
  3214. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +0 -277
  3215. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +0 -407
  3216. data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c +0 -109
  3217. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c +0 -133
  3218. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +0 -149
  3219. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +0 -356
  3220. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +0 -97
  3221. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +0 -384
  3222. data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c +0 -78
  3223. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +0 -527
  3224. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +0 -210
  3225. data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.c +0 -116
  3226. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +0 -93
  3227. data/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.c +0 -79
  3228. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +0 -70
  3229. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +0 -544
  3230. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +0 -209
  3231. data/third_party/boringssl-with-bazel/src/gen/crypto/err_data.c +0 -1514
  3232. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +0 -129
  3233. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/spx.h +0 -90
  3234. data/third_party/upb/upb/message/internal/compare_unknown.c +0 -289
  3235. data/third_party/upb/upb/message/internal/compare_unknown.h +0 -49
  3236. /data/src/core/{lib/gprpp → util}/glob.cc +0 -0
@@ -1,115 +1,20 @@
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-2001 The OpenSSL Project. All rights reserved.
59
- *
60
- * Redistribution and use in source and binary forms, with or without
61
- * modification, are permitted provided that the following conditions
62
- * are met:
63
- *
64
- * 1. Redistributions of source code must retain the above copyright
65
- * notice, this list of conditions and the following disclaimer.
66
- *
67
- * 2. Redistributions in binary form must reproduce the above copyright
68
- * notice, this list of conditions and the following disclaimer in
69
- * the documentation and/or other materials provided with the
70
- * distribution.
71
- *
72
- * 3. All advertising materials mentioning features or use of this
73
- * software must display the following acknowledgment:
74
- * "This product includes software developed by the OpenSSL Project
75
- * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
76
- *
77
- * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
78
- * endorse or promote products derived from this software without
79
- * prior written permission. For written permission, please contact
80
- * openssl-core@openssl.org.
81
- *
82
- * 5. Products derived from this software may not be called "OpenSSL"
83
- * nor may "OpenSSL" appear in their names without prior written
84
- * permission of the OpenSSL Project.
85
- *
86
- * 6. Redistributions of any form whatsoever must retain the following
87
- * acknowledgment:
88
- * "This product includes software developed by the OpenSSL Project
89
- * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
90
- *
91
- * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
92
- * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
93
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
94
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
95
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
96
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
97
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
98
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
99
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
100
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
101
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
102
- * OF THE POSSIBILITY OF SUCH DAMAGE.
103
- * ====================================================================
104
- *
105
- * This product includes cryptographic software written by Eric Young
106
- * (eay@cryptsoft.com). This product includes software written by Tim
107
- * Hudson (tjh@cryptsoft.com). */
1
+ // Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // https://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
108
14
 
109
15
  #ifndef OPENSSL_HEADER_CRYPTO_INTERNAL_H
110
16
  #define OPENSSL_HEADER_CRYPTO_INTERNAL_H
111
17
 
112
- #include <openssl/arm_arch.h>
113
18
  #include <openssl/crypto.h>
114
19
  #include <openssl/ex_data.h>
115
20
  #include <openssl/stack.h>
@@ -126,16 +31,6 @@
126
31
  #include <stdlib.h>
127
32
  #endif
128
33
 
129
- #if !defined(__cplusplus)
130
- #if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 201112L
131
- // BoringSSL requires C11 to build the library. The most likely cause of
132
- // pre-C11 modes is stale -std=c99 or -std=gnu99 flags in build configuration.
133
- // Such flags can be removed. If building with MSVC, build with /std:c11.
134
- #error "BoringSSL must be built in C11 mode or higher."
135
- #endif
136
- #include <stdalign.h>
137
- #endif
138
-
139
34
  #if defined(OPENSSL_THREADS) && \
140
35
  (!defined(OPENSSL_WINDOWS) || defined(__MINGW32__))
141
36
  #include <pthread.h>
@@ -147,29 +42,11 @@
147
42
  #define OPENSSL_WINDOWS_THREADS
148
43
  #endif
149
44
 
150
- // Determine the atomics implementation to use with C.
151
- #if !defined(__cplusplus)
152
- #if !defined(OPENSSL_C11_ATOMIC) && defined(OPENSSL_THREADS) && \
153
- !defined(__STDC_NO_ATOMICS__)
154
- #define OPENSSL_C11_ATOMIC
155
- #endif
156
-
157
- #if defined(OPENSSL_C11_ATOMIC)
158
- #include <stdatomic.h>
45
+ #if defined(OPENSSL_THREADS)
46
+ #include <atomic>
159
47
  #endif
160
48
 
161
- // Older MSVC does not support C11 atomics, so we fallback to the Windows APIs.
162
- // When both are available (e.g. clang-cl), we prefer the C11 ones. The Windows
163
- // APIs don't allow some operations to be implemented as efficiently. This can
164
- // be removed once we can rely on
165
- // https://devblogs.microsoft.com/cppblog/c11-atomics-in-visual-studio-2022-version-17-5-preview-2/
166
- #if !defined(OPENSSL_C11_ATOMIC) && defined(OPENSSL_THREADS) && \
167
- defined(OPENSSL_WINDOWS)
168
- #define OPENSSL_WINDOWS_ATOMIC
169
- #endif
170
- #endif // !__cplusplus
171
-
172
- #if defined(OPENSSL_WINDOWS_THREADS) || defined(OPENSSL_WINDOWS_ATOMIC)
49
+ #if defined(OPENSSL_WINDOWS_THREADS)
173
50
  OPENSSL_MSVC_PRAGMA(warning(push, 3))
174
51
  #include <windows.h>
175
52
  OPENSSL_MSVC_PRAGMA(warning(pop))
@@ -195,7 +72,7 @@ void OPENSSL_cpuid_setup(void);
195
72
  // needed. This function is idempotent and may be called concurrently.
196
73
  void OPENSSL_init_cpuid(void);
197
74
  #else
198
- OPENSSL_INLINE void OPENSSL_init_cpuid(void) {}
75
+ inline void OPENSSL_init_cpuid(void) {}
199
76
  #endif
200
77
 
201
78
  #if (defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)) && \
@@ -219,34 +96,18 @@ typedef __uint128_t uint128_t;
219
96
  // These may be bugs in the toolchain definition, but just disable it for now.
220
97
  // EDK2's toolchain is missing __udivti3 (b/339380897) so cannot support
221
98
  // 128-bit division currently.
222
- #if !defined(_MSC_VER) && !defined(OPENSSL_NANOLIBC) && !defined(__EDK2_BORINGSSL__)
99
+ #if !defined(_MSC_VER) && !defined(OPENSSL_NANOLIBC) && \
100
+ !defined(__EDK2_BORINGSSL__)
223
101
  #define BORINGSSL_CAN_DIVIDE_UINT128
224
102
  #endif
225
103
  #endif
226
104
 
227
105
  #define OPENSSL_ARRAY_SIZE(array) (sizeof(array) / sizeof((array)[0]))
228
106
 
229
- // Have a generic fall-through for different versions of C/C++.
230
- #if defined(__cplusplus) && __cplusplus >= 201703L
231
- #define OPENSSL_FALLTHROUGH [[fallthrough]]
232
- #elif defined(__cplusplus) && __cplusplus >= 201103L && defined(__clang__)
233
- #define OPENSSL_FALLTHROUGH [[clang::fallthrough]]
234
- #elif defined(__cplusplus) && __cplusplus >= 201103L && defined(__GNUC__) && \
235
- __GNUC__ >= 7
236
- #define OPENSSL_FALLTHROUGH [[gnu::fallthrough]]
237
- #elif defined(__GNUC__) && __GNUC__ >= 7 // gcc 7
238
- #define OPENSSL_FALLTHROUGH __attribute__ ((fallthrough))
239
- #elif defined(__clang__)
240
- #if __has_attribute(fallthrough) && __clang_major__ >= 5
241
- // Clang 3.5, at least, complains about "error: declaration does not declare
242
- // anything", possibily because we put a semicolon after this macro in
243
- // practice. Thus limit it to >= Clang 5, which does work.
244
- #define OPENSSL_FALLTHROUGH __attribute__ ((fallthrough))
245
- #else // clang versions that do not support fallthrough.
246
- #define OPENSSL_FALLTHROUGH
247
- #endif
248
- #else // C++11 on gcc 6, and all other cases
249
- #define OPENSSL_FALLTHROUGH
107
+ #if defined(__clang__) && __clang_major__ >= 5
108
+ #if __has_attribute(fallthrough)
109
+ #define OPENSSL_CAN_USE_ATTR_FALLTHROUGH
110
+ #endif
250
111
  #endif
251
112
 
252
113
  // GCC-like compilers indicate SSE2 with |__SSE2__|. MSVC leaves the caller to
@@ -296,9 +157,9 @@ OPENSSL_EXPORT void OPENSSL_disable_malloc_failures_for_testing(void);
296
157
  // re-enables simulated malloc failures.
297
158
  OPENSSL_EXPORT void OPENSSL_enable_malloc_failures_for_testing(void);
298
159
  #else
299
- OPENSSL_INLINE void OPENSSL_reset_malloc_counter_for_testing(void) {}
300
- OPENSSL_INLINE void OPENSSL_disable_malloc_failures_for_testing(void) {}
301
- OPENSSL_INLINE void OPENSSL_enable_malloc_failures_for_testing(void) {}
160
+ inline void OPENSSL_reset_malloc_counter_for_testing(void) {}
161
+ inline void OPENSSL_disable_malloc_failures_for_testing(void) {}
162
+ inline void OPENSSL_enable_malloc_failures_for_testing(void) {}
302
163
  #endif
303
164
 
304
165
  #if defined(__has_builtin)
@@ -311,8 +172,8 @@ OPENSSL_INLINE void OPENSSL_enable_malloc_failures_for_testing(void) {}
311
172
  // Pointer utility functions.
312
173
 
313
174
  // buffers_alias returns one if |a| and |b| alias and zero otherwise.
314
- static inline int buffers_alias(const void *a, size_t a_bytes,
315
- const void *b, size_t b_bytes) {
175
+ static inline int buffers_alias(const void *a, size_t a_bytes, const void *b,
176
+ size_t b_bytes) {
316
177
  // Cast |a| and |b| to integers. In C, pointer comparisons between unrelated
317
178
  // objects are undefined whereas pointer to integer conversions are merely
318
179
  // implementation-defined. We assume the implementation defined it in a sane
@@ -448,7 +309,7 @@ static inline crypto_word_t constant_time_lt_w(crypto_word_t a,
448
309
  // (assert (not (= (= #x00000001 (bvlshr (lt a b) #x0000001f)) (bvult a b))))
449
310
  // (check-sat)
450
311
  // (get-model)
451
- return constant_time_msb_w(a^((a^b)|((a-b)^a)));
312
+ return constant_time_msb_w(a ^ ((a ^ b) | ((a - b) ^ a)));
452
313
  }
453
314
 
454
315
  // constant_time_lt_8 acts like |constant_time_lt_w| but returns an 8-bit
@@ -479,9 +340,8 @@ static inline crypto_word_t constant_time_is_zero_w(crypto_word_t a) {
479
340
  //
480
341
  // (declare-fun a () (_ BitVec 32))
481
342
  //
482
- // (assert (not (= (= #x00000001 (bvlshr (is_zero a) #x0000001f)) (= a #x00000000))))
483
- // (check-sat)
484
- // (get-model)
343
+ // (assert (not (= (= #x00000001 (bvlshr (is_zero a) #x0000001f)) (= a
344
+ // #x00000000)))) (check-sat) (get-model)
485
345
  return constant_time_msb_w(~a & (a - 1));
486
346
  }
487
347
 
@@ -577,10 +437,10 @@ static inline void constant_time_conditional_memxor(void *dst, const void *src,
577
437
  #if defined(__GNUC__) && !defined(__clang__)
578
438
  // gcc 13.2.0 doesn't automatically vectorize this loop regardless of barrier
579
439
  typedef uint8_t v32u8 __attribute__((vector_size(32), aligned(1), may_alias));
580
- size_t n_vec = n&~(size_t)31;
581
- v32u8 masks = ((uint8_t)mask-(v32u8){}); // broadcast
440
+ size_t n_vec = n & ~(size_t)31;
441
+ v32u8 masks = ((uint8_t)mask - (v32u8){}); // broadcast
582
442
  for (size_t i = 0; i < n_vec; i += 32) {
583
- *(v32u8*)&out[i] ^= masks & *(v32u8*)&in[i];
443
+ *(v32u8 *)&out[i] ^= masks & *(v32u8 *)&in[i];
584
444
  }
585
445
  out += n_vec;
586
446
  n -= n_vec;
@@ -671,82 +531,36 @@ OPENSSL_EXPORT void CRYPTO_once(CRYPTO_once_t *once, void (*init)(void));
671
531
  // The following functions provide an API analogous to <stdatomic.h> from C11
672
532
  // and abstract between a few variations on atomics we need to support.
673
533
 
674
- #if defined(__cplusplus)
534
+ #if defined(OPENSSL_THREADS)
675
535
 
676
- // In C++, we can't easily detect whether C will use |OPENSSL_C11_ATOMIC| or
677
- // |OPENSSL_WINDOWS_ATOMIC|. Instead, we define a layout-compatible type without
678
- // the corresponding functions. When we can rely on C11 atomics in MSVC, that
679
- // will no longer be a concern.
680
- typedef uint32_t CRYPTO_atomic_u32;
536
+ using CRYPTO_atomic_u32 = std::atomic<uint32_t>;
681
537
 
682
- #elif defined(OPENSSL_C11_ATOMIC)
538
+ static_assert(sizeof(CRYPTO_atomic_u32) == sizeof(uint32_t), "");
683
539
 
684
- typedef _Atomic uint32_t CRYPTO_atomic_u32;
685
-
686
- // This should be const, but the |OPENSSL_WINDOWS_ATOMIC| implementation is not
687
- // const due to Windows limitations. When we can rely on C11 atomics, make this
688
- // const-correct.
689
- OPENSSL_INLINE uint32_t CRYPTO_atomic_load_u32(CRYPTO_atomic_u32 *val) {
690
- return atomic_load(val);
691
- }
692
-
693
- OPENSSL_INLINE int CRYPTO_atomic_compare_exchange_weak_u32(
694
- CRYPTO_atomic_u32 *val, uint32_t *expected, uint32_t desired) {
695
- return atomic_compare_exchange_weak(val, expected, desired);
540
+ inline uint32_t CRYPTO_atomic_load_u32(const CRYPTO_atomic_u32 *val) {
541
+ return val->load(std::memory_order_seq_cst);
696
542
  }
697
543
 
698
- OPENSSL_INLINE void CRYPTO_atomic_store_u32(CRYPTO_atomic_u32 *val,
699
- uint32_t desired) {
700
- atomic_store(val, desired);
544
+ inline bool CRYPTO_atomic_compare_exchange_weak_u32(CRYPTO_atomic_u32 *val,
545
+ uint32_t *expected,
546
+ uint32_t desired) {
547
+ return val->compare_exchange_weak(
548
+ *expected, desired, std::memory_order_seq_cst, std::memory_order_seq_cst);
701
549
  }
702
550
 
703
- #elif defined(OPENSSL_WINDOWS_ATOMIC)
704
-
705
- typedef LONG CRYPTO_atomic_u32;
706
-
707
- OPENSSL_INLINE uint32_t CRYPTO_atomic_load_u32(volatile CRYPTO_atomic_u32 *val) {
708
- // This is not ideal because it still writes to a cacheline. MSVC is not able
709
- // to optimize this to a true atomic read, and Windows does not provide an
710
- // InterlockedLoad function.
711
- //
712
- // The Windows documentation [1] does say "Simple reads and writes to
713
- // properly-aligned 32-bit variables are atomic operations", but this is not
714
- // phrased in terms of the C11 and C++11 memory models, and indeed a read or
715
- // write seems to produce slightly different code on MSVC than a sequentially
716
- // consistent std::atomic::load in C++. Moreover, it is unclear if non-MSVC
717
- // compilers on Windows provide the same guarantees. Thus we avoid relying on
718
- // this and instead still use an interlocked function. This is still
719
- // preferable a global mutex, and eventually this code will be replaced by
720
- // [2]. Additionally, on clang-cl, we'll use the |OPENSSL_C11_ATOMIC| path.
721
- //
722
- // [1] https://learn.microsoft.com/en-us/windows/win32/sync/interlocked-variable-access
723
- // [2] https://devblogs.microsoft.com/cppblog/c11-atomics-in-visual-studio-2022-version-17-5-preview-2/
724
- return (uint32_t)InterlockedCompareExchange(val, 0, 0);
551
+ inline void CRYPTO_atomic_store_u32(CRYPTO_atomic_u32 *val, uint32_t desired) {
552
+ val->store(desired, std::memory_order_seq_cst);
725
553
  }
726
554
 
727
- OPENSSL_INLINE int CRYPTO_atomic_compare_exchange_weak_u32(
728
- volatile CRYPTO_atomic_u32 *val, uint32_t *expected32, uint32_t desired) {
729
- LONG expected = (LONG)*expected32;
730
- LONG actual = InterlockedCompareExchange(val, (LONG)desired, expected);
731
- *expected32 = (uint32_t)actual;
732
- return actual == expected;
733
- }
734
-
735
- OPENSSL_INLINE void CRYPTO_atomic_store_u32(volatile CRYPTO_atomic_u32 *val,
736
- uint32_t desired) {
737
- InterlockedExchange(val, (LONG)desired);
738
- }
739
-
740
- #elif !defined(OPENSSL_THREADS)
555
+ #else
741
556
 
742
557
  typedef uint32_t CRYPTO_atomic_u32;
743
558
 
744
- OPENSSL_INLINE uint32_t CRYPTO_atomic_load_u32(CRYPTO_atomic_u32 *val) {
745
- return *val;
746
- }
559
+ inline uint32_t CRYPTO_atomic_load_u32(CRYPTO_atomic_u32 *val) { return *val; }
747
560
 
748
- OPENSSL_INLINE int CRYPTO_atomic_compare_exchange_weak_u32(
749
- CRYPTO_atomic_u32 *val, uint32_t *expected, uint32_t desired) {
561
+ inline int CRYPTO_atomic_compare_exchange_weak_u32(CRYPTO_atomic_u32 *val,
562
+ uint32_t *expected,
563
+ uint32_t desired) {
750
564
  if (*val != *expected) {
751
565
  *expected = *val;
752
566
  return 0;
@@ -755,17 +569,10 @@ OPENSSL_INLINE int CRYPTO_atomic_compare_exchange_weak_u32(
755
569
  return 1;
756
570
  }
757
571
 
758
- OPENSSL_INLINE void CRYPTO_atomic_store_u32(CRYPTO_atomic_u32 *val,
759
- uint32_t desired) {
572
+ inline void CRYPTO_atomic_store_u32(CRYPTO_atomic_u32 *val, uint32_t desired) {
760
573
  *val = desired;
761
574
  }
762
575
 
763
- #else
764
-
765
- // Require some atomics implementation. Contact BoringSSL maintainers if you
766
- // have a platform with fails this check.
767
- #error "Thread-compatible configurations require atomics"
768
-
769
576
  #endif
770
577
 
771
578
  // See the comment in the |__cplusplus| section above.
@@ -803,7 +610,8 @@ OPENSSL_EXPORT int CRYPTO_refcount_dec_and_test_zero(CRYPTO_refcount_t *count);
803
610
  typedef struct crypto_mutex_st {
804
611
  char padding; // Empty structs have different sizes in C and C++.
805
612
  } CRYPTO_MUTEX;
806
- #define CRYPTO_MUTEX_INIT { 0 }
613
+ #define CRYPTO_MUTEX_INIT \
614
+ { 0 }
807
615
  #elif defined(OPENSSL_WINDOWS_THREADS)
808
616
  typedef SRWLOCK CRYPTO_MUTEX;
809
617
  #define CRYPTO_MUTEX_INIT SRWLOCK_INIT
@@ -868,7 +676,7 @@ using MutexReadLock =
868
676
 
869
677
  BSSL_NAMESPACE_END
870
678
 
871
- } // extern "C++"
679
+ } // extern "C++"
872
680
  #endif // defined(__cplusplus)
873
681
 
874
682
 
@@ -932,9 +740,10 @@ typedef struct {
932
740
  uint8_t num_reserved;
933
741
  } CRYPTO_EX_DATA_CLASS;
934
742
 
935
- #define CRYPTO_EX_DATA_CLASS_INIT {CRYPTO_MUTEX_INIT, NULL, NULL, 0, 0}
743
+ #define CRYPTO_EX_DATA_CLASS_INIT \
744
+ { CRYPTO_MUTEX_INIT, NULL, NULL, {}, 0 }
936
745
  #define CRYPTO_EX_DATA_CLASS_INIT_WITH_APP_DATA \
937
- {CRYPTO_MUTEX_INIT, NULL, NULL, 0, 1}
746
+ { CRYPTO_MUTEX_INIT, NULL, NULL, {}, 1 }
938
747
 
939
748
  // CRYPTO_get_ex_new_index_ex allocates a new index for |ex_data_class|. Each
940
749
  // class of object should provide a wrapper function that uses the correct
@@ -980,21 +789,13 @@ OPENSSL_MSVC_PRAGMA(warning(push, 3))
980
789
  #include <stdlib.h>
981
790
  OPENSSL_MSVC_PRAGMA(warning(pop))
982
791
  #pragma intrinsic(_byteswap_uint64, _byteswap_ulong, _byteswap_ushort)
983
- static inline uint16_t CRYPTO_bswap2(uint16_t x) {
984
- return _byteswap_ushort(x);
985
- }
792
+ static inline uint16_t CRYPTO_bswap2(uint16_t x) { return _byteswap_ushort(x); }
986
793
 
987
- static inline uint32_t CRYPTO_bswap4(uint32_t x) {
988
- return _byteswap_ulong(x);
989
- }
794
+ static inline uint32_t CRYPTO_bswap4(uint32_t x) { return _byteswap_ulong(x); }
990
795
 
991
- static inline uint64_t CRYPTO_bswap8(uint64_t x) {
992
- return _byteswap_uint64(x);
993
- }
796
+ static inline uint64_t CRYPTO_bswap8(uint64_t x) { return _byteswap_uint64(x); }
994
797
  #else
995
- static inline uint16_t CRYPTO_bswap2(uint16_t x) {
996
- return (x >> 8) | (x << 8);
997
- }
798
+ static inline uint16_t CRYPTO_bswap2(uint16_t x) { return (x >> 8) | (x << 8); }
998
799
 
999
800
  static inline uint32_t CRYPTO_bswap4(uint32_t x) {
1000
801
  x = (x >> 16) | (x << 16);
@@ -1041,7 +842,7 @@ static inline void *OPENSSL_memchr(void *s, int c, size_t n) {
1041
842
  return memchr(s, c, n);
1042
843
  }
1043
844
 
1044
- } // extern "C++"
845
+ } // extern "C++"
1045
846
  #else // __cplusplus
1046
847
 
1047
848
  static inline void *OPENSSL_memchr(const void *s, int c, size_t n) {
@@ -1093,6 +894,17 @@ static inline void *OPENSSL_memset(void *dst, int c, size_t n) {
1093
894
  // endianness. They use |memcpy|, and so avoid alignment or strict aliasing
1094
895
  // requirements on the input and output pointers.
1095
896
 
897
+ static inline uint16_t CRYPTO_load_u16_be(const void *in) {
898
+ uint16_t v;
899
+ OPENSSL_memcpy(&v, in, sizeof(v));
900
+ return CRYPTO_bswap2(v);
901
+ }
902
+
903
+ static inline void CRYPTO_store_u16_be(void *out, uint16_t v) {
904
+ v = CRYPTO_bswap2(v);
905
+ OPENSSL_memcpy(out, &v, sizeof(v));
906
+ }
907
+
1096
908
  static inline uint32_t CRYPTO_load_u32_le(const void *in) {
1097
909
  uint32_t v;
1098
910
  OPENSSL_memcpy(&v, in, sizeof(v));
@@ -1197,117 +1009,6 @@ static inline uint64_t CRYPTO_rotr_u64(uint64_t value, int shift) {
1197
1009
  }
1198
1010
 
1199
1011
 
1200
- // Arithmetic functions.
1201
-
1202
- // The most efficient versions of these functions on GCC and Clang depend on C11
1203
- // |_Generic|. If we ever need to call these from C++, we'll need to add a
1204
- // variant that uses C++ overloads instead.
1205
- #if !defined(__cplusplus)
1206
-
1207
- // CRYPTO_addc_* returns |x + y + carry|, and sets |*out_carry| to the carry
1208
- // bit. |carry| must be zero or one.
1209
- #if OPENSSL_HAS_BUILTIN(__builtin_addc)
1210
-
1211
- #define CRYPTO_GENERIC_ADDC(x, y, carry, out_carry) \
1212
- (_Generic((x), \
1213
- unsigned: __builtin_addc, \
1214
- unsigned long: __builtin_addcl, \
1215
- unsigned long long: __builtin_addcll))((x), (y), (carry), (out_carry))
1216
-
1217
- static inline uint32_t CRYPTO_addc_u32(uint32_t x, uint32_t y, uint32_t carry,
1218
- uint32_t *out_carry) {
1219
- declassify_assert(carry <= 1);
1220
- return CRYPTO_GENERIC_ADDC(x, y, carry, out_carry);
1221
- }
1222
-
1223
- static inline uint64_t CRYPTO_addc_u64(uint64_t x, uint64_t y, uint64_t carry,
1224
- uint64_t *out_carry) {
1225
- declassify_assert(carry <= 1);
1226
- return CRYPTO_GENERIC_ADDC(x, y, carry, out_carry);
1227
- }
1228
-
1229
- #else
1230
-
1231
- static inline uint32_t CRYPTO_addc_u32(uint32_t x, uint32_t y, uint32_t carry,
1232
- uint32_t *out_carry) {
1233
- declassify_assert(carry <= 1);
1234
- uint64_t ret = carry;
1235
- ret += (uint64_t)x + y;
1236
- *out_carry = (uint32_t)(ret >> 32);
1237
- return (uint32_t)ret;
1238
- }
1239
-
1240
- static inline uint64_t CRYPTO_addc_u64(uint64_t x, uint64_t y, uint64_t carry,
1241
- uint64_t *out_carry) {
1242
- declassify_assert(carry <= 1);
1243
- #if defined(BORINGSSL_HAS_UINT128)
1244
- uint128_t ret = carry;
1245
- ret += (uint128_t)x + y;
1246
- *out_carry = (uint64_t)(ret >> 64);
1247
- return (uint64_t)ret;
1248
- #else
1249
- x += carry;
1250
- carry = x < carry;
1251
- uint64_t ret = x + y;
1252
- carry += ret < x;
1253
- *out_carry = carry;
1254
- return ret;
1255
- #endif
1256
- }
1257
- #endif
1258
-
1259
- // CRYPTO_subc_* returns |x - y - borrow|, and sets |*out_borrow| to the borrow
1260
- // bit. |borrow| must be zero or one.
1261
- #if OPENSSL_HAS_BUILTIN(__builtin_subc)
1262
-
1263
- #define CRYPTO_GENERIC_SUBC(x, y, borrow, out_borrow) \
1264
- (_Generic((x), \
1265
- unsigned: __builtin_subc, \
1266
- unsigned long: __builtin_subcl, \
1267
- unsigned long long: __builtin_subcll))((x), (y), (borrow), (out_borrow))
1268
-
1269
- static inline uint32_t CRYPTO_subc_u32(uint32_t x, uint32_t y, uint32_t borrow,
1270
- uint32_t *out_borrow) {
1271
- declassify_assert(borrow <= 1);
1272
- return CRYPTO_GENERIC_SUBC(x, y, borrow, out_borrow);
1273
- }
1274
-
1275
- static inline uint64_t CRYPTO_subc_u64(uint64_t x, uint64_t y, uint64_t borrow,
1276
- uint64_t *out_borrow) {
1277
- declassify_assert(borrow <= 1);
1278
- return CRYPTO_GENERIC_SUBC(x, y, borrow, out_borrow);
1279
- }
1280
-
1281
- #else
1282
-
1283
- static inline uint32_t CRYPTO_subc_u32(uint32_t x, uint32_t y, uint32_t borrow,
1284
- uint32_t *out_borrow) {
1285
- declassify_assert(borrow <= 1);
1286
- uint32_t ret = x - y - borrow;
1287
- *out_borrow = (x < y) | ((x == y) & borrow);
1288
- return ret;
1289
- }
1290
-
1291
- static inline uint64_t CRYPTO_subc_u64(uint64_t x, uint64_t y, uint64_t borrow,
1292
- uint64_t *out_borrow) {
1293
- declassify_assert(borrow <= 1);
1294
- uint64_t ret = x - y - borrow;
1295
- *out_borrow = (x < y) | ((x == y) & borrow);
1296
- return ret;
1297
- }
1298
- #endif
1299
-
1300
- #if defined(OPENSSL_64_BIT)
1301
- #define CRYPTO_addc_w CRYPTO_addc_u64
1302
- #define CRYPTO_subc_w CRYPTO_subc_u64
1303
- #else
1304
- #define CRYPTO_addc_w CRYPTO_addc_u32
1305
- #define CRYPTO_subc_w CRYPTO_subc_u32
1306
- #endif
1307
-
1308
- #endif // !__cplusplus
1309
-
1310
-
1311
1012
  // FIPS functions.
1312
1013
 
1313
1014
  #if defined(BORINGSSL_FIPS)
@@ -1341,9 +1042,9 @@ void boringssl_ensure_ffdh_self_test(void);
1341
1042
 
1342
1043
  // Outside of FIPS mode, the lazy tests are no-ops.
1343
1044
 
1344
- OPENSSL_INLINE void boringssl_ensure_rsa_self_test(void) {}
1345
- OPENSSL_INLINE void boringssl_ensure_ecc_self_test(void) {}
1346
- OPENSSL_INLINE void boringssl_ensure_ffdh_self_test(void) {}
1045
+ inline void boringssl_ensure_rsa_self_test(void) {}
1046
+ inline void boringssl_ensure_ecc_self_test(void) {}
1047
+ inline void boringssl_ensure_ffdh_self_test(void) {}
1347
1048
 
1348
1049
  #endif // FIPS
1349
1050
 
@@ -1359,18 +1060,16 @@ int boringssl_self_test_hmac_sha256(void);
1359
1060
  #if defined(BORINGSSL_FIPS_COUNTERS)
1360
1061
  void boringssl_fips_inc_counter(enum fips_counter_t counter);
1361
1062
  #else
1362
- OPENSSL_INLINE void boringssl_fips_inc_counter(enum fips_counter_t counter) {}
1063
+ inline void boringssl_fips_inc_counter(enum fips_counter_t counter) {}
1363
1064
  #endif
1364
1065
 
1365
1066
  #if defined(BORINGSSL_FIPS_BREAK_TESTS)
1366
- OPENSSL_INLINE int boringssl_fips_break_test(const char *test) {
1067
+ inline int boringssl_fips_break_test(const char *test) {
1367
1068
  const char *const value = getenv("BORINGSSL_FIPS_BREAK_TEST");
1368
1069
  return value != NULL && strcmp(value, test) == 0;
1369
1070
  }
1370
1071
  #else
1371
- OPENSSL_INLINE int boringssl_fips_break_test(const char *test) {
1372
- return 0;
1373
- }
1072
+ inline int boringssl_fips_break_test(const char *test) { return 0; }
1374
1073
  #endif // BORINGSSL_FIPS_BREAK_TESTS
1375
1074
 
1376
1075
 
@@ -1382,13 +1081,9 @@ OPENSSL_INLINE int boringssl_fips_break_test(const char *test) {
1382
1081
  //
1383
1082
  // Index 0:
1384
1083
  // EDX for CPUID where EAX = 1
1385
- // Bit 20 is always zero
1386
- // Bit 28 is adjusted to reflect whether the data cache is shared between
1387
- // multiple logical cores
1388
1084
  // Bit 30 is used to indicate an Intel CPU
1389
1085
  // Index 1:
1390
1086
  // ECX for CPUID where EAX = 1
1391
- // Bit 11 is used to indicate AMD XOP support, not SDBG
1392
1087
  // Index 2:
1393
1088
  // EBX for CPUID where EAX = 7, ECX = 0
1394
1089
  // Bit 14 (for removed feature MPX) is used to indicate a preference for ymm
@@ -1400,7 +1095,7 @@ OPENSSL_INLINE int boringssl_fips_break_test(const char *test) {
1400
1095
  // and AVX512 bits in XCR0, so it is not necessary to check those. (WARNING: See
1401
1096
  // caveats in cpu_intel.c.)
1402
1097
  //
1403
- // From C, this symbol should only be accessed with |OPENSSL_get_ia32cap|.
1098
+ // This symbol should only be accessed with |OPENSSL_get_ia32cap|.
1404
1099
  extern uint32_t OPENSSL_ia32cap_P[4];
1405
1100
 
1406
1101
  // OPENSSL_get_ia32cap initializes the library if needed and returns the |idx|th
@@ -1410,7 +1105,7 @@ OPENSSL_ATTR_CONST uint32_t OPENSSL_get_ia32cap(int idx);
1410
1105
 
1411
1106
  // See Intel manual, volume 2A, table 3-11.
1412
1107
 
1413
- OPENSSL_INLINE int CRYPTO_is_FXSR_capable(void) {
1108
+ inline int CRYPTO_is_FXSR_capable(void) {
1414
1109
  #if defined(__FXSR__)
1415
1110
  return 1;
1416
1111
  #else
@@ -1418,14 +1113,14 @@ OPENSSL_INLINE int CRYPTO_is_FXSR_capable(void) {
1418
1113
  #endif
1419
1114
  }
1420
1115
 
1421
- OPENSSL_INLINE int CRYPTO_is_intel_cpu(void) {
1116
+ inline int CRYPTO_is_intel_cpu(void) {
1422
1117
  // The reserved bit 30 is used to indicate an Intel CPU.
1423
1118
  return (OPENSSL_get_ia32cap(0) & (1u << 30)) != 0;
1424
1119
  }
1425
1120
 
1426
1121
  // See Intel manual, volume 2A, table 3-10.
1427
1122
 
1428
- OPENSSL_INLINE int CRYPTO_is_PCLMUL_capable(void) {
1123
+ inline int CRYPTO_is_PCLMUL_capable(void) {
1429
1124
  #if defined(__PCLMUL__)
1430
1125
  return 1;
1431
1126
  #else
@@ -1433,7 +1128,7 @@ OPENSSL_INLINE int CRYPTO_is_PCLMUL_capable(void) {
1433
1128
  #endif
1434
1129
  }
1435
1130
 
1436
- OPENSSL_INLINE int CRYPTO_is_SSSE3_capable(void) {
1131
+ inline int CRYPTO_is_SSSE3_capable(void) {
1437
1132
  #if defined(__SSSE3__)
1438
1133
  return 1;
1439
1134
  #else
@@ -1441,7 +1136,7 @@ OPENSSL_INLINE int CRYPTO_is_SSSE3_capable(void) {
1441
1136
  #endif
1442
1137
  }
1443
1138
 
1444
- OPENSSL_INLINE int CRYPTO_is_SSE4_1_capable(void) {
1139
+ inline int CRYPTO_is_SSE4_1_capable(void) {
1445
1140
  #if defined(__SSE4_1__)
1446
1141
  return 1;
1447
1142
  #else
@@ -1449,7 +1144,7 @@ OPENSSL_INLINE int CRYPTO_is_SSE4_1_capable(void) {
1449
1144
  #endif
1450
1145
  }
1451
1146
 
1452
- OPENSSL_INLINE int CRYPTO_is_MOVBE_capable(void) {
1147
+ inline int CRYPTO_is_MOVBE_capable(void) {
1453
1148
  #if defined(__MOVBE__)
1454
1149
  return 1;
1455
1150
  #else
@@ -1457,7 +1152,7 @@ OPENSSL_INLINE int CRYPTO_is_MOVBE_capable(void) {
1457
1152
  #endif
1458
1153
  }
1459
1154
 
1460
- OPENSSL_INLINE int CRYPTO_is_AESNI_capable(void) {
1155
+ inline int CRYPTO_is_AESNI_capable(void) {
1461
1156
  #if defined(__AES__)
1462
1157
  return 1;
1463
1158
  #else
@@ -1468,7 +1163,7 @@ OPENSSL_INLINE int CRYPTO_is_AESNI_capable(void) {
1468
1163
  // We intentionally avoid defining a |CRYPTO_is_XSAVE_capable| function. See
1469
1164
  // |CRYPTO_cpu_perf_is_like_silvermont|.
1470
1165
 
1471
- OPENSSL_INLINE int CRYPTO_is_AVX_capable(void) {
1166
+ inline int CRYPTO_is_AVX_capable(void) {
1472
1167
  #if defined(__AVX__)
1473
1168
  return 1;
1474
1169
  #else
@@ -1476,7 +1171,7 @@ OPENSSL_INLINE int CRYPTO_is_AVX_capable(void) {
1476
1171
  #endif
1477
1172
  }
1478
1173
 
1479
- OPENSSL_INLINE int CRYPTO_is_RDRAND_capable(void) {
1174
+ inline int CRYPTO_is_RDRAND_capable(void) {
1480
1175
  // We intentionally do not check |__RDRND__| here. On some AMD processors, we
1481
1176
  // will act as if the hardware is RDRAND-incapable, even it actually supports
1482
1177
  // it. See cpu_intel.c.
@@ -1485,7 +1180,7 @@ OPENSSL_INLINE int CRYPTO_is_RDRAND_capable(void) {
1485
1180
 
1486
1181
  // See Intel manual, volume 2A, table 3-8.
1487
1182
 
1488
- OPENSSL_INLINE int CRYPTO_is_BMI1_capable(void) {
1183
+ inline int CRYPTO_is_BMI1_capable(void) {
1489
1184
  #if defined(__BMI__)
1490
1185
  return 1;
1491
1186
  #else
@@ -1493,7 +1188,7 @@ OPENSSL_INLINE int CRYPTO_is_BMI1_capable(void) {
1493
1188
  #endif
1494
1189
  }
1495
1190
 
1496
- OPENSSL_INLINE int CRYPTO_is_AVX2_capable(void) {
1191
+ inline int CRYPTO_is_AVX2_capable(void) {
1497
1192
  #if defined(__AVX2__)
1498
1193
  return 1;
1499
1194
  #else
@@ -1501,7 +1196,7 @@ OPENSSL_INLINE int CRYPTO_is_AVX2_capable(void) {
1501
1196
  #endif
1502
1197
  }
1503
1198
 
1504
- OPENSSL_INLINE int CRYPTO_is_BMI2_capable(void) {
1199
+ inline int CRYPTO_is_BMI2_capable(void) {
1505
1200
  #if defined(__BMI2__)
1506
1201
  return 1;
1507
1202
  #else
@@ -1509,7 +1204,7 @@ OPENSSL_INLINE int CRYPTO_is_BMI2_capable(void) {
1509
1204
  #endif
1510
1205
  }
1511
1206
 
1512
- OPENSSL_INLINE int CRYPTO_is_ADX_capable(void) {
1207
+ inline int CRYPTO_is_ADX_capable(void) {
1513
1208
  #if defined(__ADX__)
1514
1209
  return 1;
1515
1210
  #else
@@ -1518,28 +1213,12 @@ OPENSSL_INLINE int CRYPTO_is_ADX_capable(void) {
1518
1213
  }
1519
1214
 
1520
1215
  // SHA-1 and SHA-256 are defined as a single extension.
1521
- OPENSSL_INLINE int CRYPTO_is_x86_SHA_capable(void) {
1522
- // We should check __SHA__ here, but for now we ignore it. We've run into a
1523
- // few places where projects build with -march=goldmont, but need a build that
1524
- // does not require SHA extensions:
1525
- //
1526
- // - Some CrOS toolchain definitions are incorrect and build with
1527
- // -march=goldmont when targetting boards that are not Goldmont. b/320482539
1528
- // tracks fixing this.
1529
- //
1530
- // - Sometimes projects build with -march=goldmont as a rough optimized
1531
- // baseline. However, Intel CPU capabilities are not strictly linear, so
1532
- // this does not quite work. Some combination of -mtune and
1533
- // -march=x86-64-v{1,2,3,4} would be a better strategy here.
1534
- //
1535
- // - QEMU versions before 8.2 do not support SHA extensions and disable it
1536
- // with a warning. Projects that target Goldmont and test on QEMU will
1537
- // break. The long-term fix is to update to 8.2. A principled short-term fix
1538
- // would be -march=goldmont -mno-sha, to reflect that the binary needs to
1539
- // run on both QEMU-8.1-Goldmont and actual-Goldmont.
1540
- //
1541
- // TODO(b/320482539): Once the CrOS toolchain is fixed, try this again.
1216
+ inline int CRYPTO_is_x86_SHA_capable(void) {
1217
+ #if defined(__SHA__)
1218
+ return 1;
1219
+ #else
1542
1220
  return (OPENSSL_get_ia32cap(2) & (1u << 29)) != 0;
1221
+ #endif
1543
1222
  }
1544
1223
 
1545
1224
  // CRYPTO_cpu_perf_is_like_silvermont returns one if, based on a heuristic, the
@@ -1552,7 +1231,7 @@ OPENSSL_INLINE int CRYPTO_is_x86_SHA_capable(void) {
1552
1231
  // isn't matched by this. Various sources indicate AMD first implemented MOVBE
1553
1232
  // and XSAVE at the same time in Jaguar, so it seems like AMD chips will not be
1554
1233
  // matched by this. That seems to be the case for other x86(-64) CPUs.
1555
- OPENSSL_INLINE int CRYPTO_cpu_perf_is_like_silvermont(void) {
1234
+ inline int CRYPTO_cpu_perf_is_like_silvermont(void) {
1556
1235
  // WARNING: This MUST NOT be used to guard the execution of the XSAVE
1557
1236
  // instruction. This is the "hardware supports XSAVE" bit, not the OSXSAVE bit
1558
1237
  // that indicates whether we can safely execute XSAVE. This bit may be set
@@ -1566,7 +1245,7 @@ OPENSSL_INLINE int CRYPTO_cpu_perf_is_like_silvermont(void) {
1566
1245
  return !hardware_supports_xsave && CRYPTO_is_MOVBE_capable();
1567
1246
  }
1568
1247
 
1569
- OPENSSL_INLINE int CRYPTO_is_AVX512BW_capable(void) {
1248
+ inline int CRYPTO_is_AVX512BW_capable(void) {
1570
1249
  #if defined(__AVX512BW__)
1571
1250
  return 1;
1572
1251
  #else
@@ -1574,7 +1253,7 @@ OPENSSL_INLINE int CRYPTO_is_AVX512BW_capable(void) {
1574
1253
  #endif
1575
1254
  }
1576
1255
 
1577
- OPENSSL_INLINE int CRYPTO_is_AVX512VL_capable(void) {
1256
+ inline int CRYPTO_is_AVX512VL_capable(void) {
1578
1257
  #if defined(__AVX512VL__)
1579
1258
  return 1;
1580
1259
  #else
@@ -1586,11 +1265,11 @@ OPENSSL_INLINE int CRYPTO_is_AVX512VL_capable(void) {
1586
1265
  // should not be used even if the CPU supports them.
1587
1266
  //
1588
1267
  // Note that this reuses the bit for the removed MPX feature.
1589
- OPENSSL_INLINE int CRYPTO_cpu_avoid_zmm_registers(void) {
1268
+ inline int CRYPTO_cpu_avoid_zmm_registers(void) {
1590
1269
  return (OPENSSL_get_ia32cap(2) & (1u << 14)) != 0;
1591
1270
  }
1592
1271
 
1593
- OPENSSL_INLINE int CRYPTO_is_VAES_capable(void) {
1272
+ inline int CRYPTO_is_VAES_capable(void) {
1594
1273
  #if defined(__VAES__)
1595
1274
  return 1;
1596
1275
  #else
@@ -1598,7 +1277,7 @@ OPENSSL_INLINE int CRYPTO_is_VAES_capable(void) {
1598
1277
  #endif
1599
1278
  }
1600
1279
 
1601
- OPENSSL_INLINE int CRYPTO_is_VPCLMULQDQ_capable(void) {
1280
+ inline int CRYPTO_is_VPCLMULQDQ_capable(void) {
1602
1281
  #if defined(__VPCLMULQDQ__)
1603
1282
  return 1;
1604
1283
  #else
@@ -1610,8 +1289,26 @@ OPENSSL_INLINE int CRYPTO_is_VPCLMULQDQ_capable(void) {
1610
1289
 
1611
1290
  #if defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)
1612
1291
 
1613
- // OPENSSL_armcap_P contains ARM CPU capabilities. From C, this should only be
1614
- // accessed with |OPENSSL_get_armcap|.
1292
+ // ARMV7_NEON indicates support for NEON.
1293
+ #define ARMV7_NEON (1 << 0)
1294
+
1295
+ // ARMV8_AES indicates support for hardware AES instructions.
1296
+ #define ARMV8_AES (1 << 2)
1297
+
1298
+ // ARMV8_SHA1 indicates support for hardware SHA-1 instructions.
1299
+ #define ARMV8_SHA1 (1 << 3)
1300
+
1301
+ // ARMV8_SHA256 indicates support for hardware SHA-256 instructions.
1302
+ #define ARMV8_SHA256 (1 << 4)
1303
+
1304
+ // ARMV8_PMULL indicates support for carryless multiplication.
1305
+ #define ARMV8_PMULL (1 << 5)
1306
+
1307
+ // ARMV8_SHA512 indicates support for hardware SHA-512 instructions.
1308
+ #define ARMV8_SHA512 (1 << 6)
1309
+
1310
+ // OPENSSL_armcap_P contains ARM CPU capabilities as a bitmask of the above
1311
+ // constants. This should only be accessed with |OPENSSL_get_armcap|.
1615
1312
  extern uint32_t OPENSSL_armcap_P;
1616
1313
 
1617
1314
  // OPENSSL_get_armcap initializes the library if needed and returns ARM CPU
@@ -1619,16 +1316,6 @@ extern uint32_t OPENSSL_armcap_P;
1619
1316
  // merged by the compiler.
1620
1317
  OPENSSL_ATTR_CONST uint32_t OPENSSL_get_armcap(void);
1621
1318
 
1622
- // We do not detect any features at runtime on several 32-bit Arm platforms.
1623
- // Apple platforms and OpenBSD require NEON and moved to 64-bit to pick up Armv8
1624
- // extensions. Android baremetal does not aim to support 32-bit Arm at all, but
1625
- // it simplifies things to make it build.
1626
- #if defined(OPENSSL_ARM) && !defined(OPENSSL_STATIC_ARMCAP) && \
1627
- (defined(OPENSSL_APPLE) || defined(OPENSSL_OPENBSD) || \
1628
- defined(ANDROID_BAREMETAL))
1629
- #define OPENSSL_STATIC_ARMCAP
1630
- #endif
1631
-
1632
1319
  // Normalize some older feature flags to their modern ACLE values.
1633
1320
  // https://developer.arm.com/architectures/system-architectures/software-standards/acle
1634
1321
  #if defined(__ARM_NEON__) && !defined(__ARM_NEON)
@@ -1645,7 +1332,7 @@ OPENSSL_ATTR_CONST uint32_t OPENSSL_get_armcap(void);
1645
1332
 
1646
1333
  // CRYPTO_is_NEON_capable returns true if the current CPU has a NEON unit. If
1647
1334
  // this is known statically, it is a constant inline function.
1648
- OPENSSL_INLINE int CRYPTO_is_NEON_capable(void) {
1335
+ inline int CRYPTO_is_NEON_capable(void) {
1649
1336
  #if defined(OPENSSL_STATIC_ARMCAP_NEON) || defined(__ARM_NEON)
1650
1337
  return 1;
1651
1338
  #elif defined(OPENSSL_STATIC_ARMCAP)
@@ -1655,7 +1342,7 @@ OPENSSL_INLINE int CRYPTO_is_NEON_capable(void) {
1655
1342
  #endif
1656
1343
  }
1657
1344
 
1658
- OPENSSL_INLINE int CRYPTO_is_ARMv8_AES_capable(void) {
1345
+ inline int CRYPTO_is_ARMv8_AES_capable(void) {
1659
1346
  #if defined(OPENSSL_STATIC_ARMCAP_AES) || defined(__ARM_FEATURE_AES)
1660
1347
  return 1;
1661
1348
  #elif defined(OPENSSL_STATIC_ARMCAP)
@@ -1665,7 +1352,7 @@ OPENSSL_INLINE int CRYPTO_is_ARMv8_AES_capable(void) {
1665
1352
  #endif
1666
1353
  }
1667
1354
 
1668
- OPENSSL_INLINE int CRYPTO_is_ARMv8_PMULL_capable(void) {
1355
+ inline int CRYPTO_is_ARMv8_PMULL_capable(void) {
1669
1356
  #if defined(OPENSSL_STATIC_ARMCAP_PMULL) || defined(__ARM_FEATURE_AES)
1670
1357
  return 1;
1671
1358
  #elif defined(OPENSSL_STATIC_ARMCAP)
@@ -1675,7 +1362,7 @@ OPENSSL_INLINE int CRYPTO_is_ARMv8_PMULL_capable(void) {
1675
1362
  #endif
1676
1363
  }
1677
1364
 
1678
- OPENSSL_INLINE int CRYPTO_is_ARMv8_SHA1_capable(void) {
1365
+ inline int CRYPTO_is_ARMv8_SHA1_capable(void) {
1679
1366
  // SHA-1 and SHA-2 (only) share |__ARM_FEATURE_SHA2| but otherwise
1680
1367
  // are dealt with independently.
1681
1368
  #if defined(OPENSSL_STATIC_ARMCAP_SHA1) || defined(__ARM_FEATURE_SHA2)
@@ -1687,7 +1374,7 @@ OPENSSL_INLINE int CRYPTO_is_ARMv8_SHA1_capable(void) {
1687
1374
  #endif
1688
1375
  }
1689
1376
 
1690
- OPENSSL_INLINE int CRYPTO_is_ARMv8_SHA256_capable(void) {
1377
+ inline int CRYPTO_is_ARMv8_SHA256_capable(void) {
1691
1378
  // SHA-1 and SHA-2 (only) share |__ARM_FEATURE_SHA2| but otherwise
1692
1379
  // are dealt with independently.
1693
1380
  #if defined(OPENSSL_STATIC_ARMCAP_SHA256) || defined(__ARM_FEATURE_SHA2)
@@ -1699,7 +1386,7 @@ OPENSSL_INLINE int CRYPTO_is_ARMv8_SHA256_capable(void) {
1699
1386
  #endif
1700
1387
  }
1701
1388
 
1702
- OPENSSL_INLINE int CRYPTO_is_ARMv8_SHA512_capable(void) {
1389
+ inline int CRYPTO_is_ARMv8_SHA512_capable(void) {
1703
1390
  // There is no |OPENSSL_STATIC_ARMCAP_SHA512|.
1704
1391
  #if defined(__ARM_FEATURE_SHA512)
1705
1392
  return 1;
@@ -1723,7 +1410,10 @@ OPENSSL_INLINE int CRYPTO_is_ARMv8_SHA512_capable(void) {
1723
1410
  // 3: aes_hw_set_encrypt_key
1724
1411
  // 4: vpaes_encrypt
1725
1412
  // 5: vpaes_set_encrypt_key
1726
- extern uint8_t BORINGSSL_function_hit[7];
1413
+ // 6: aes_gcm_enc_update_vaes_avx10_256 [reserved]
1414
+ // 7: aes_gcm_enc_update_vaes_avx10_512
1415
+ // 8: aes_gcm_enc_update_vaes_avx2
1416
+ extern uint8_t BORINGSSL_function_hit[9];
1727
1417
  #endif // BORINGSSL_DISPATCH_TEST
1728
1418
 
1729
1419
  // OPENSSL_vasprintf_internal is just like |vasprintf(3)|. If |system_malloc| is
@@ -1738,4 +1428,131 @@ OPENSSL_EXPORT int OPENSSL_vasprintf_internal(char **str, const char *format,
1738
1428
  } // extern C
1739
1429
  #endif
1740
1430
 
1431
+ // Arithmetic functions.
1432
+
1433
+ // CRYPTO_addc_* returns |x + y + carry|, and sets |*out_carry| to the carry
1434
+ // bit. |carry| must be zero or one.
1435
+ #if OPENSSL_HAS_BUILTIN(__builtin_addc)
1436
+
1437
+ inline unsigned int CRYPTO_addc_impl(unsigned int x, unsigned int y,
1438
+ unsigned int carry,
1439
+ unsigned int *out_carry) {
1440
+ return __builtin_addc(x, y, carry, out_carry);
1441
+ }
1442
+
1443
+ inline unsigned long CRYPTO_addc_impl(unsigned long x, unsigned long y,
1444
+ unsigned long carry,
1445
+ unsigned long *out_carry) {
1446
+ return __builtin_addcl(x, y, carry, out_carry);
1447
+ }
1448
+
1449
+ inline unsigned long long CRYPTO_addc_impl(unsigned long long x,
1450
+ unsigned long long y,
1451
+ unsigned long long carry,
1452
+ unsigned long long *out_carry) {
1453
+ return __builtin_addcll(x, y, carry, out_carry);
1454
+ }
1455
+
1456
+ inline uint32_t CRYPTO_addc_u32(uint32_t x, uint32_t y, uint32_t carry,
1457
+ uint32_t *out_carry) {
1458
+ return CRYPTO_addc_impl(x, y, carry, out_carry);
1459
+ }
1460
+
1461
+ inline uint64_t CRYPTO_addc_u64(uint64_t x, uint64_t y, uint64_t carry,
1462
+ uint64_t *out_carry) {
1463
+ return CRYPTO_addc_impl(x, y, carry, out_carry);
1464
+ }
1465
+
1466
+ #else
1467
+
1468
+ static inline uint32_t CRYPTO_addc_u32(uint32_t x, uint32_t y, uint32_t carry,
1469
+ uint32_t *out_carry) {
1470
+ declassify_assert(carry <= 1);
1471
+ uint64_t ret = carry;
1472
+ ret += (uint64_t)x + y;
1473
+ *out_carry = (uint32_t)(ret >> 32);
1474
+ return (uint32_t)ret;
1475
+ }
1476
+
1477
+ static inline uint64_t CRYPTO_addc_u64(uint64_t x, uint64_t y, uint64_t carry,
1478
+ uint64_t *out_carry) {
1479
+ declassify_assert(carry <= 1);
1480
+ #if defined(BORINGSSL_HAS_UINT128)
1481
+ uint128_t ret = carry;
1482
+ ret += (uint128_t)x + y;
1483
+ *out_carry = (uint64_t)(ret >> 64);
1484
+ return (uint64_t)ret;
1485
+ #else
1486
+ x += carry;
1487
+ carry = x < carry;
1488
+ uint64_t ret = x + y;
1489
+ carry += ret < x;
1490
+ *out_carry = carry;
1491
+ return ret;
1492
+ #endif
1493
+ }
1494
+ #endif
1495
+
1496
+
1497
+ // CRYPTO_subc_* returns |x - y - borrow|, and sets |*out_borrow| to the borrow
1498
+ // bit. |borrow| must be zero or one.
1499
+ #if OPENSSL_HAS_BUILTIN(__builtin_subc)
1500
+
1501
+ inline unsigned int CRYPTO_subc_impl(unsigned int x, unsigned int y,
1502
+ unsigned int borrow,
1503
+ unsigned int *out_borrow) {
1504
+ return __builtin_subc(x, y, borrow, out_borrow);
1505
+ }
1506
+
1507
+ inline unsigned long CRYPTO_subc_impl(unsigned long x, unsigned long y,
1508
+ unsigned long borrow,
1509
+ unsigned long *out_borrow) {
1510
+ return __builtin_subcl(x, y, borrow, out_borrow);
1511
+ }
1512
+
1513
+ inline unsigned long long CRYPTO_subc_impl(unsigned long long x,
1514
+ unsigned long long y,
1515
+ unsigned long long borrow,
1516
+ unsigned long long *out_borrow) {
1517
+ return __builtin_subcll(x, y, borrow, out_borrow);
1518
+ }
1519
+
1520
+ inline uint32_t CRYPTO_subc_u32(uint32_t x, uint32_t y, uint32_t borrow,
1521
+ uint32_t *out_borrow) {
1522
+ return CRYPTO_subc_impl(x, y, borrow, out_borrow);
1523
+ }
1524
+
1525
+ inline uint64_t CRYPTO_subc_u64(uint64_t x, uint64_t y, uint64_t borrow,
1526
+ uint64_t *out_borrow) {
1527
+ return CRYPTO_subc_impl(x, y, borrow, out_borrow);
1528
+ }
1529
+
1530
+ #else
1531
+
1532
+ static inline uint32_t CRYPTO_subc_u32(uint32_t x, uint32_t y, uint32_t borrow,
1533
+ uint32_t *out_borrow) {
1534
+ declassify_assert(borrow <= 1);
1535
+ uint32_t ret = x - y - borrow;
1536
+ *out_borrow = (x < y) | ((x == y) & borrow);
1537
+ return ret;
1538
+ }
1539
+
1540
+ static inline uint64_t CRYPTO_subc_u64(uint64_t x, uint64_t y, uint64_t borrow,
1541
+ uint64_t *out_borrow) {
1542
+ declassify_assert(borrow <= 1);
1543
+ uint64_t ret = x - y - borrow;
1544
+ *out_borrow = (x < y) | ((x == y) & borrow);
1545
+ return ret;
1546
+ }
1547
+ #endif
1548
+
1549
+ #if defined(OPENSSL_64_BIT)
1550
+ #define CRYPTO_addc_w CRYPTO_addc_u64
1551
+ #define CRYPTO_subc_w CRYPTO_subc_u64
1552
+ #else
1553
+ #define CRYPTO_addc_w CRYPTO_addc_u32
1554
+ #define CRYPTO_subc_w CRYPTO_subc_u32
1555
+ #endif
1556
+
1557
+
1741
1558
  #endif // OPENSSL_HEADER_CRYPTO_INTERNAL_H