grpc 1.70.1 → 1.76.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 (2521) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +258 -198
  3. data/include/grpc/create_channel_from_endpoint.h +54 -0
  4. data/include/grpc/credentials.h +35 -7
  5. data/include/grpc/event_engine/endpoint_config.h +5 -5
  6. data/include/grpc/event_engine/event_engine.h +226 -13
  7. data/include/grpc/event_engine/internal/write_event.h +34 -0
  8. data/include/grpc/event_engine/memory_request.h +3 -3
  9. data/include/grpc/grpc_posix.h +20 -1
  10. data/include/grpc/impl/channel_arg_names.h +81 -55
  11. data/include/grpc/impl/compression_types.h +3 -2
  12. data/include/grpc/impl/slice_type.h +1 -1
  13. data/include/grpc/module.modulemap +1 -0
  14. data/include/grpc/status.h +1 -1
  15. data/include/grpc/support/json.h +43 -37
  16. data/include/grpc/support/port_platform.h +8 -5
  17. data/include/grpc/support/workaround_list.h +1 -4
  18. data/src/core/{lib/transport → call}/call_arena_allocator.cc +1 -1
  19. data/src/core/{lib/transport → call}/call_arena_allocator.h +3 -3
  20. data/src/core/{lib/transport → call}/call_destination.h +4 -4
  21. data/src/core/{lib/transport → call}/call_filters.cc +6 -6
  22. data/src/core/{lib/transport → call}/call_filters.h +177 -108
  23. data/src/core/{lib/channel → call}/call_finalization.h +3 -3
  24. data/src/core/{lib/transport → call}/call_spine.cc +33 -35
  25. data/src/core/{lib/transport → call}/call_spine.h +131 -44
  26. data/src/core/{lib/transport → call}/call_state.cc +1 -1
  27. data/src/core/{lib/transport → call}/call_state.h +11 -11
  28. data/src/core/{lib/surface → call}/client_call.cc +32 -22
  29. data/src/core/{lib/surface → call}/client_call.h +6 -6
  30. data/src/core/{lib/transport → call}/custom_metadata.h +3 -3
  31. data/src/core/call/filter_fusion.h +1230 -0
  32. data/src/core/{lib/transport → call}/interception_chain.cc +5 -5
  33. data/src/core/{lib/transport → call}/interception_chain.h +41 -25
  34. data/src/core/{lib/transport → call}/message.cc +1 -1
  35. data/src/core/{lib/transport → call}/message.h +7 -3
  36. data/src/core/{lib/transport → call}/metadata.cc +24 -2
  37. data/src/core/call/metadata.h +240 -0
  38. data/src/core/{lib/transport → call}/metadata_batch.cc +3 -3
  39. data/src/core/{lib/transport → call}/metadata_batch.h +89 -28
  40. data/src/core/{lib/transport → call}/metadata_compression_traits.h +3 -3
  41. data/src/core/{lib/transport → call}/metadata_info.cc +27 -9
  42. data/src/core/{lib/transport → call}/metadata_info.h +4 -4
  43. data/src/core/{lib/transport → call}/parsed_metadata.cc +1 -1
  44. data/src/core/{lib/transport → call}/parsed_metadata.h +3 -3
  45. data/src/core/call/request_buffer.cc +22 -22
  46. data/src/core/call/request_buffer.h +7 -7
  47. data/src/core/call/security_context.cc +125 -0
  48. data/src/core/call/security_context.h +114 -0
  49. data/src/core/{lib/surface → call}/server_call.cc +29 -12
  50. data/src/core/{lib/surface → call}/server_call.h +8 -6
  51. data/src/core/{lib/transport → call}/simple_slice_based_metadata.h +4 -4
  52. data/src/core/{lib/channel → call}/status_util.cc +1 -1
  53. data/src/core/{lib/channel → call}/status_util.h +3 -3
  54. data/src/core/channelz/channel_trace.cc +217 -111
  55. data/src/core/channelz/channel_trace.h +389 -64
  56. data/src/core/channelz/channelz.cc +476 -187
  57. data/src/core/channelz/channelz.h +489 -98
  58. data/src/core/channelz/channelz_registry.cc +237 -200
  59. data/src/core/channelz/channelz_registry.h +221 -21
  60. data/src/core/channelz/property_list.cc +371 -0
  61. data/src/core/channelz/property_list.h +213 -0
  62. data/src/core/channelz/text_encode.cc +66 -0
  63. data/src/core/channelz/text_encode.h +29 -0
  64. data/src/core/channelz/v2tov1/convert.cc +694 -0
  65. data/src/core/channelz/v2tov1/convert.h +58 -0
  66. data/src/core/channelz/v2tov1/legacy_api.cc +432 -0
  67. data/src/core/channelz/v2tov1/legacy_api.h +32 -0
  68. data/src/core/channelz/v2tov1/property_list.cc +118 -0
  69. data/src/core/channelz/v2tov1/property_list.h +52 -0
  70. data/src/core/channelz/ztrace_collector.h +477 -0
  71. data/src/core/client_channel/backup_poller.cc +17 -3
  72. data/src/core/client_channel/client_channel.cc +95 -100
  73. data/src/core/client_channel/client_channel.h +6 -5
  74. data/src/core/client_channel/client_channel_filter.cc +143 -230
  75. data/src/core/client_channel/client_channel_filter.h +12 -10
  76. data/src/core/client_channel/client_channel_internal.h +4 -4
  77. data/src/core/client_channel/client_channel_plugin.cc +2 -1
  78. data/src/core/client_channel/client_channel_service_config.cc +1 -1
  79. data/src/core/client_channel/client_channel_service_config.h +5 -5
  80. data/src/core/client_channel/config_selector.h +13 -7
  81. data/src/core/client_channel/connector.h +0 -3
  82. data/src/core/client_channel/direct_channel.cc +3 -3
  83. data/src/core/client_channel/direct_channel.h +1 -1
  84. data/src/core/client_channel/dynamic_filters.cc +8 -10
  85. data/src/core/client_channel/dynamic_filters.h +1 -2
  86. data/src/core/client_channel/global_subchannel_pool.cc +42 -15
  87. data/src/core/client_channel/global_subchannel_pool.h +18 -12
  88. data/src/core/client_channel/lb_metadata.cc +7 -8
  89. data/src/core/client_channel/lb_metadata.h +4 -4
  90. data/src/core/client_channel/load_balanced_call_destination.cc +11 -10
  91. data/src/core/client_channel/load_balanced_call_destination.h +1 -1
  92. data/src/core/client_channel/local_subchannel_pool.cc +4 -4
  93. data/src/core/client_channel/retry_filter.cc +22 -28
  94. data/src/core/client_channel/retry_filter.h +14 -11
  95. data/src/core/client_channel/retry_filter_legacy_call_data.cc +60 -60
  96. data/src/core/client_channel/retry_filter_legacy_call_data.h +12 -12
  97. data/src/core/client_channel/retry_interceptor.cc +46 -58
  98. data/src/core/client_channel/retry_interceptor.h +21 -20
  99. data/src/core/client_channel/retry_service_config.cc +2 -2
  100. data/src/core/client_channel/retry_service_config.h +4 -4
  101. data/src/core/client_channel/retry_throttle.cc +42 -61
  102. data/src/core/client_channel/retry_throttle.h +21 -35
  103. data/src/core/client_channel/subchannel.cc +113 -117
  104. data/src/core/client_channel/subchannel.h +17 -14
  105. data/src/core/client_channel/subchannel_pool_interface.cc +5 -6
  106. data/src/core/client_channel/subchannel_pool_interface.h +11 -1
  107. data/src/core/client_channel/subchannel_stream_client.cc +18 -16
  108. data/src/core/client_channel/subchannel_stream_client.h +5 -5
  109. data/src/core/config/config_vars.cc +43 -1
  110. data/src/core/config/config_vars.h +30 -0
  111. data/src/core/config/core_configuration.cc +56 -14
  112. data/src/core/config/core_configuration.h +117 -12
  113. data/src/core/config/load_config.cc +15 -2
  114. data/src/core/config/load_config.h +3 -1
  115. data/src/core/credentials/call/call_credentials.h +157 -0
  116. data/src/core/credentials/call/call_creds_registry.h +125 -0
  117. data/src/core/credentials/call/call_creds_registry_init.cc +91 -0
  118. data/src/core/{lib/security/credentials → credentials/call}/call_creds_util.cc +8 -7
  119. data/src/core/{lib/security/credentials → credentials/call}/call_creds_util.h +4 -4
  120. data/src/core/{lib/security/credentials/composite/composite_credentials.cc → credentials/call/composite/composite_call_credentials.cc} +8 -61
  121. data/src/core/credentials/call/composite/composite_call_credentials.h +82 -0
  122. data/src/core/{lib/security/credentials → credentials/call}/external/aws_external_account_credentials.cc +6 -7
  123. data/src/core/{lib/security/credentials → credentials/call}/external/aws_external_account_credentials.h +5 -5
  124. data/src/core/{lib/security/credentials → credentials/call}/external/aws_request_signer.cc +4 -3
  125. data/src/core/{lib/security/credentials → credentials/call}/external/aws_request_signer.h +3 -3
  126. data/src/core/{lib/security/credentials → credentials/call}/external/external_account_credentials.cc +8 -10
  127. data/src/core/{lib/security/credentials → credentials/call}/external/external_account_credentials.h +5 -5
  128. data/src/core/{lib/security/credentials → credentials/call}/external/file_external_account_credentials.cc +1 -2
  129. data/src/core/{lib/security/credentials → credentials/call}/external/file_external_account_credentials.h +4 -4
  130. data/src/core/{lib/security/credentials → credentials/call}/external/url_external_account_credentials.cc +6 -5
  131. data/src/core/{lib/security/credentials → credentials/call}/external/url_external_account_credentials.h +4 -4
  132. data/src/core/{lib/security/credentials → credentials/call}/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +10 -51
  133. data/src/core/{lib/security/credentials → credentials/call}/gcp_service_account_identity/gcp_service_account_identity_credentials.h +6 -6
  134. data/src/core/{lib/security/credentials → credentials/call}/iam/iam_credentials.cc +7 -7
  135. data/src/core/{lib/security/credentials → credentials/call}/iam/iam_credentials.h +6 -6
  136. data/src/core/{lib/security/util → credentials/call}/json_util.cc +1 -1
  137. data/src/core/{lib/security/util → credentials/call}/json_util.h +3 -3
  138. data/src/core/{lib/security/credentials → credentials/call}/jwt/json_token.cc +5 -5
  139. data/src/core/{lib/security/credentials → credentials/call}/jwt/json_token.h +3 -3
  140. data/src/core/{lib/security/credentials → credentials/call}/jwt/jwt_credentials.cc +6 -7
  141. data/src/core/{lib/security/credentials → credentials/call}/jwt/jwt_credentials.h +7 -7
  142. data/src/core/{lib/security/credentials → credentials/call}/jwt/jwt_verifier.cc +21 -20
  143. data/src/core/{lib/security/credentials → credentials/call}/jwt/jwt_verifier.h +3 -3
  144. data/src/core/credentials/call/jwt_token_file/jwt_token_file_call_credentials.cc +86 -0
  145. data/src/core/credentials/call/jwt_token_file/jwt_token_file_call_credentials.h +74 -0
  146. data/src/core/credentials/call/jwt_util.cc +70 -0
  147. data/src/core/credentials/call/jwt_util.h +32 -0
  148. data/src/core/{lib/security/credentials → credentials/call}/oauth2/oauth2_credentials.cc +32 -21
  149. data/src/core/{lib/security/credentials → credentials/call}/oauth2/oauth2_credentials.h +8 -8
  150. data/src/core/{lib/security/credentials → credentials/call}/plugin/plugin_credentials.cc +4 -5
  151. data/src/core/{lib/security/credentials → credentials/call}/plugin/plugin_credentials.h +5 -5
  152. data/src/core/{lib/security/credentials → credentials/call}/token_fetcher/token_fetcher_credentials.cc +5 -6
  153. data/src/core/{lib/security/credentials → credentials/call}/token_fetcher/token_fetcher_credentials.h +9 -9
  154. data/src/core/{lib/security/credentials → credentials/transport}/alts/alts_credentials.cc +9 -4
  155. data/src/core/{lib/security/credentials → credentials/transport}/alts/alts_credentials.h +5 -5
  156. data/src/core/{lib/security/security_connector → credentials/transport}/alts/alts_security_connector.cc +19 -16
  157. data/src/core/{lib/security/security_connector → credentials/transport}/alts/alts_security_connector.h +4 -4
  158. data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment.cc +1 -1
  159. data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment.h +3 -3
  160. data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment_linux.cc +1 -1
  161. data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment_no_op.cc +1 -1
  162. data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment_windows.cc +3 -1
  163. data/src/core/{lib/security/credentials → credentials/transport}/alts/grpc_alts_credentials_client_options.cc +23 -3
  164. data/src/core/{lib/security/credentials → credentials/transport}/alts/grpc_alts_credentials_options.cc +11 -2
  165. data/src/core/{lib/security/credentials → credentials/transport}/alts/grpc_alts_credentials_options.h +34 -3
  166. data/src/core/{lib/security/credentials → credentials/transport}/alts/grpc_alts_credentials_server_options.cc +9 -4
  167. data/src/core/{lib/security/credentials → credentials/transport}/channel_creds_registry.h +4 -4
  168. data/src/core/{lib/security/credentials → credentials/transport}/channel_creds_registry_init.cc +25 -19
  169. data/src/core/credentials/transport/composite/composite_channel_credentials.cc +68 -0
  170. data/src/core/{lib/security/credentials/composite/composite_credentials.h → credentials/transport/composite/composite_channel_credentials.h} +6 -51
  171. data/src/core/{lib/security/credentials → credentials/transport}/fake/fake_credentials.cc +4 -26
  172. data/src/core/{lib/security/credentials → credentials/transport}/fake/fake_credentials.h +5 -37
  173. data/src/core/{lib/security/security_connector → credentials/transport}/fake/fake_security_connector.cc +9 -9
  174. data/src/core/{lib/security/security_connector → credentials/transport}/fake/fake_security_connector.h +4 -4
  175. data/src/core/{lib/security/credentials → credentials/transport}/google_default/credentials_generic.cc +3 -3
  176. data/src/core/{lib/security/credentials → credentials/transport}/google_default/google_default_credentials.cc +179 -49
  177. data/src/core/{lib/security/credentials → credentials/transport}/google_default/google_default_credentials.h +5 -5
  178. data/src/core/{lib/security/credentials → credentials/transport}/insecure/insecure_credentials.cc +2 -2
  179. data/src/core/{lib/security/credentials → credentials/transport}/insecure/insecure_credentials.h +5 -5
  180. data/src/core/{lib/security/security_connector → credentials/transport}/insecure/insecure_security_connector.cc +5 -5
  181. data/src/core/{lib/security/security_connector → credentials/transport}/insecure/insecure_security_connector.h +5 -5
  182. data/src/core/{lib/security/credentials → credentials/transport}/local/local_credentials.cc +2 -2
  183. data/src/core/{lib/security/credentials → credentials/transport}/local/local_credentials.h +5 -5
  184. data/src/core/{lib/security/security_connector → credentials/transport}/local/local_security_connector.cc +13 -13
  185. data/src/core/{lib/security/security_connector → credentials/transport}/local/local_security_connector.h +4 -4
  186. data/src/core/{lib/security/security_connector → credentials/transport}/security_connector.cc +7 -7
  187. data/src/core/{lib/security/security_connector → credentials/transport}/security_connector.h +3 -3
  188. data/src/core/{lib/security/credentials → credentials/transport}/ssl/ssl_credentials.cc +19 -20
  189. data/src/core/{lib/security/credentials → credentials/transport}/ssl/ssl_credentials.h +8 -8
  190. data/src/core/{lib/security/security_connector → credentials/transport}/ssl/ssl_security_connector.cc +57 -22
  191. data/src/core/{lib/security/security_connector → credentials/transport}/ssl/ssl_security_connector.h +6 -5
  192. data/src/core/{lib/security/certificate_provider → credentials/transport/tls}/certificate_provider_factory.h +3 -3
  193. data/src/core/{lib/security/certificate_provider → credentials/transport/tls}/certificate_provider_registry.cc +3 -3
  194. data/src/core/{lib/security/certificate_provider → credentials/transport/tls}/certificate_provider_registry.h +4 -4
  195. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_distributor.cc +62 -58
  196. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_distributor.h +35 -24
  197. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_match.cc +1 -1
  198. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_provider.cc +117 -67
  199. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_provider.h +25 -12
  200. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_verifier.cc +4 -4
  201. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_verifier.h +5 -5
  202. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_credentials_options.cc +18 -18
  203. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_credentials_options.h +7 -7
  204. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_crl_provider.cc +1 -2
  205. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_crl_provider.h +4 -5
  206. data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots.h +3 -3
  207. data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots_fallback.cc +1 -1
  208. data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots_supported.cc +3 -2
  209. data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots_supported.h +3 -3
  210. data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots_windows.cc +1 -1
  211. data/src/core/credentials/transport/tls/spiffe_utils.cc +371 -0
  212. data/src/core/credentials/transport/tls/spiffe_utils.h +171 -0
  213. data/src/core/{lib/security/security_connector → credentials/transport/tls}/ssl_utils.cc +45 -21
  214. data/src/core/{lib/security/security_connector → credentials/transport/tls}/ssl_utils.h +13 -6
  215. data/src/core/{lib/security/credentials → credentials/transport}/tls/tls_credentials.cc +8 -6
  216. data/src/core/{lib/security/credentials → credentials/transport}/tls/tls_credentials.h +5 -5
  217. data/src/core/{lib/security/security_connector → credentials/transport}/tls/tls_security_connector.cc +36 -50
  218. data/src/core/{lib/security/security_connector → credentials/transport}/tls/tls_security_connector.h +23 -23
  219. data/src/core/{lib/security/credentials → credentials/transport}/tls/tls_utils.cc +1 -1
  220. data/src/core/{lib/security/credentials → credentials/transport}/tls/tls_utils.h +3 -3
  221. data/src/core/{lib/security/credentials/credentials.cc → credentials/transport/transport_credentials.cc} +3 -5
  222. data/src/core/{lib/security/credentials/credentials.h → credentials/transport/transport_credentials.h} +7 -123
  223. data/src/core/{lib/security/credentials → credentials/transport}/xds/xds_credentials.cc +12 -14
  224. data/src/core/{lib/security/credentials → credentials/transport}/xds/xds_credentials.h +6 -6
  225. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +6 -14
  226. data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +7 -7
  227. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +17 -9
  228. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +10 -17
  229. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +6 -6
  230. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +2 -2
  231. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +11 -18
  232. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +21 -21
  233. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.cc +1 -1
  234. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.h +1 -1
  235. data/src/core/ext/filters/http/client/http_client_filter.cc +4 -12
  236. data/src/core/ext/filters/http/client/http_client_filter.h +5 -5
  237. data/src/core/ext/filters/http/client_authority_filter.cc +5 -13
  238. data/src/core/ext/filters/http/client_authority_filter.h +6 -6
  239. data/src/core/ext/filters/http/message_compress/compression_filter.cc +30 -34
  240. data/src/core/ext/filters/http/message_compress/compression_filter.h +56 -18
  241. data/src/core/ext/filters/http/server/http_server_filter.cc +8 -16
  242. data/src/core/ext/filters/http/server/http_server_filter.h +22 -10
  243. data/src/core/ext/filters/message_size/message_size_filter.cc +18 -30
  244. data/src/core/ext/filters/message_size/message_size_filter.h +20 -21
  245. data/src/core/ext/filters/rbac/rbac_filter.cc +3 -10
  246. data/src/core/ext/filters/rbac/rbac_filter.h +6 -6
  247. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +3 -3
  248. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +12 -19
  249. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +4 -4
  250. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +1 -1
  251. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +2 -2
  252. data/src/core/ext/transport/chttp2/alpn/alpn.cc +2 -2
  253. data/src/core/ext/transport/chttp2/chttp2_plugin.cc +40 -0
  254. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +140 -156
  255. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +7 -3
  256. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +78 -990
  257. data/src/core/ext/transport/chttp2/server/chttp2_server.h +15 -7
  258. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +6 -6
  259. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +6 -6
  260. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.cc +2 -2
  261. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.h +5 -7
  262. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +413 -249
  263. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +7 -13
  264. data/src/core/ext/transport/chttp2/transport/decode_huff.cc +1239 -3514
  265. data/src/core/ext/transport/chttp2/transport/decode_huff.h +1008 -1486
  266. data/src/core/ext/transport/chttp2/transport/flow_control.cc +5 -4
  267. data/src/core/ext/transport/chttp2/transport/flow_control.h +39 -10
  268. data/src/core/ext/transport/chttp2/transport/flow_control_manager.h +60 -0
  269. data/src/core/ext/transport/chttp2/transport/frame.cc +427 -183
  270. data/src/core/ext/transport/chttp2/transport/frame.h +170 -10
  271. data/src/core/ext/transport/chttp2/transport/frame_data.cc +14 -2
  272. data/src/core/ext/transport/chttp2/transport/frame_data.h +2 -0
  273. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +27 -15
  274. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +5 -3
  275. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -2
  276. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +19 -9
  277. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +3 -1
  278. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +35 -16
  279. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +11 -8
  280. data/src/core/ext/transport/chttp2/transport/header_assembler.h +306 -0
  281. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +9 -2
  282. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +8 -4
  283. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +8 -8
  284. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +2 -2
  285. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +5 -5
  286. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +62 -61
  287. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +13 -12
  288. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +15 -9
  289. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +14 -3
  290. data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +1410 -0
  291. data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +633 -0
  292. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +21 -46
  293. data/src/core/ext/transport/chttp2/transport/http2_settings.h +70 -30
  294. data/src/core/ext/transport/chttp2/transport/http2_settings_manager.cc +64 -0
  295. data/src/core/ext/transport/chttp2/transport/http2_settings_manager.h +153 -0
  296. data/src/core/ext/transport/chttp2/transport/http2_settings_promises.h +179 -0
  297. data/src/core/ext/transport/chttp2/transport/http2_stats_collector.cc +30 -0
  298. data/src/core/ext/transport/chttp2/transport/http2_stats_collector.h +33 -0
  299. data/src/core/ext/transport/chttp2/transport/http2_status.h +414 -0
  300. data/src/core/ext/transport/chttp2/transport/http2_transport.cc +149 -0
  301. data/src/core/ext/transport/chttp2/transport/http2_transport.h +83 -0
  302. data/src/core/ext/transport/chttp2/transport/http2_ztrace_collector.h +267 -0
  303. data/src/core/ext/transport/chttp2/transport/internal.h +67 -33
  304. data/src/core/ext/transport/chttp2/transport/internal_channel_arg_names.h +24 -0
  305. data/src/core/ext/transport/chttp2/transport/keepalive.cc +105 -0
  306. data/src/core/ext/transport/chttp2/transport/keepalive.h +138 -0
  307. data/src/core/ext/transport/chttp2/transport/message_assembler.h +185 -0
  308. data/src/core/ext/transport/chttp2/transport/parsing.cc +87 -58
  309. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.cc +1 -1
  310. data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +4 -4
  311. data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +21 -2
  312. data/src/core/ext/transport/chttp2/transport/ping_promise.cc +188 -0
  313. data/src/core/ext/transport/chttp2/transport/ping_promise.h +233 -0
  314. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +17 -20
  315. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +19 -2
  316. data/src/core/ext/transport/chttp2/transport/stream.h +207 -0
  317. data/src/core/ext/transport/chttp2/transport/stream_data_queue.h +748 -0
  318. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +7 -7
  319. data/src/core/ext/transport/chttp2/transport/transport_common.cc +35 -0
  320. data/src/core/ext/transport/chttp2/transport/transport_common.h +79 -0
  321. data/src/core/ext/transport/chttp2/transport/varint.cc +4 -4
  322. data/src/core/ext/transport/chttp2/transport/varint.h +2 -2
  323. data/src/core/ext/transport/chttp2/transport/writable_streams.h +356 -0
  324. data/src/core/ext/transport/chttp2/transport/write_size_policy.cc +2 -2
  325. data/src/core/ext/transport/chttp2/transport/writing.cc +116 -82
  326. data/src/core/ext/transport/inproc/inproc_transport.cc +10 -7
  327. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +25 -16
  328. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb.h +4 -0
  329. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +65 -65
  330. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +28 -28
  331. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +14 -14
  332. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +6 -6
  333. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +6 -6
  334. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +4 -4
  335. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +146 -130
  336. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +72 -71
  337. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +38 -26
  338. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +7 -7
  339. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +228 -240
  340. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +66 -66
  341. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +27 -27
  342. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +9 -9
  343. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +338 -350
  344. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +103 -103
  345. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +58 -58
  346. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +14 -14
  347. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +50 -46
  348. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +3 -3
  349. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +41 -29
  350. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +16 -16
  351. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +210 -259
  352. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +54 -54
  353. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +58 -54
  354. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +21 -21
  355. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb.h +4 -0
  356. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +88 -92
  357. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +17 -17
  358. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +112 -100
  359. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +34 -34
  360. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +16 -12
  361. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +5 -5
  362. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +152 -114
  363. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +42 -40
  364. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +23 -19
  365. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +9 -9
  366. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +31 -27
  367. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +10 -10
  368. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +12 -37
  369. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +2 -2
  370. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +49 -41
  371. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +16 -16
  372. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +24 -24
  373. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +9 -9
  374. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +147 -139
  375. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +46 -46
  376. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +73 -61
  377. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +20 -20
  378. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +3 -3
  379. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +1 -1
  380. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +6 -6
  381. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +4 -4
  382. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +53 -33
  383. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +14 -14
  384. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +12 -0
  385. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +20 -36
  386. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +2 -2
  387. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +52 -77
  388. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +10 -10
  389. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +802 -692
  390. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +246 -221
  391. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.h +2 -0
  392. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +17 -13
  393. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +4 -4
  394. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +15 -3
  395. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +2 -2
  396. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb.h +4 -0
  397. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +7 -7
  398. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +3 -3
  399. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +19 -15
  400. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +7 -7
  401. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +7 -7
  402. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +3 -3
  403. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +16 -16
  404. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +10 -10
  405. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +310 -407
  406. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +96 -96
  407. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb.h +8 -0
  408. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +65 -61
  409. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +27 -27
  410. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb.h +19 -19
  411. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +6 -6
  412. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +25 -25
  413. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +9 -9
  414. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +34 -34
  415. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +9 -9
  416. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +7 -3
  417. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +2 -2
  418. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +322 -294
  419. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +105 -105
  420. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +7 -3
  421. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +1 -1
  422. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +23 -23
  423. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +8 -8
  424. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +88 -84
  425. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +28 -28
  426. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +4 -0
  427. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +99 -87
  428. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +31 -31
  429. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +37 -7
  430. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c +7 -5
  431. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +32 -24
  432. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +5 -5
  433. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +138 -168
  434. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +43 -43
  435. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +6 -6
  436. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +2 -2
  437. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +64 -60
  438. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +26 -26
  439. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +7 -7
  440. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +3 -3
  441. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb.h +4 -0
  442. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb.h +142 -0
  443. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.c +55 -0
  444. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.h +32 -0
  445. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +37 -0
  446. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c +7 -4
  447. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +10 -6
  448. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +2 -2
  449. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb.h +4 -0
  450. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb.h +4 -0
  451. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +11 -7
  452. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +3 -3
  453. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb.h +4 -0
  454. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb.h +4 -0
  455. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb.h +8 -0
  456. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb.h +8 -0
  457. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +15 -11
  458. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +4 -4
  459. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb.h +4 -0
  460. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb.h +4 -0
  461. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +93 -133
  462. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +20 -20
  463. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +92 -123
  464. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +27 -27
  465. data/src/core/ext/upb-gen/google/api/http.upb.h +55 -51
  466. data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +22 -22
  467. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +516 -317
  468. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +150 -100
  469. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +5 -0
  470. data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +13 -33
  471. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb.h +4959 -0
  472. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.c +1111 -0
  473. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.h +108 -0
  474. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb.h +571 -0
  475. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.c +120 -0
  476. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.h +36 -0
  477. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb.h +1272 -0
  478. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.c +312 -0
  479. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.h +50 -0
  480. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb.h +1072 -0
  481. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.c +230 -0
  482. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.h +44 -0
  483. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb.h +740 -0
  484. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.c +218 -0
  485. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.h +46 -0
  486. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +9 -28
  487. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +249 -160
  488. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +48 -40
  489. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h +154 -0
  490. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +40 -2
  491. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.h +4 -0
  492. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +14 -6
  493. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +4 -4
  494. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +21 -40
  495. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +3 -3
  496. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +70 -108
  497. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +17 -17
  498. data/src/core/ext/upb-gen/validate/validate.upb.h +380 -368
  499. data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +117 -117
  500. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb.h +4 -0
  501. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +9 -28
  502. data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +7 -7
  503. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +3 -3
  504. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +20 -12
  505. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +2 -2
  506. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +27 -84
  507. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +7 -7
  508. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +3 -3
  509. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +3 -3
  510. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +1 -1
  511. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +42 -46
  512. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +3 -3
  513. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb.h +4 -0
  514. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +4 -0
  515. data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +4 -0
  516. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.c +123 -62
  517. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.h +5 -1
  518. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.c +200 -101
  519. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.h +5 -1
  520. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.c +152 -77
  521. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.h +5 -1
  522. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.c +524 -255
  523. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.h +5 -1
  524. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.c +44 -23
  525. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.h +5 -1
  526. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.c +66 -34
  527. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.h +5 -1
  528. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.c +54 -28
  529. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.h +5 -1
  530. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.c +46 -25
  531. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.h +5 -1
  532. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.c +47 -25
  533. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.h +5 -1
  534. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.c +256 -124
  535. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.h +5 -1
  536. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.c +50 -28
  537. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.h +5 -1
  538. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.c +55 -28
  539. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.h +5 -1
  540. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.c +34 -18
  541. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.h +5 -1
  542. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.c +414 -206
  543. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.h +5 -1
  544. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +831 -413
  545. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +5 -1
  546. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +143 -73
  547. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +5 -1
  548. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.c +1132 -557
  549. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.h +5 -1
  550. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.c +63 -34
  551. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.h +5 -1
  552. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.c +255 -127
  553. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.h +5 -1
  554. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.c +363 -178
  555. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.h +5 -1
  556. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.c +227 -114
  557. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.h +5 -1
  558. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.c +57 -31
  559. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.h +5 -1
  560. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.c +596 -295
  561. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.h +5 -1
  562. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.c +271 -137
  563. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.h +5 -1
  564. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.c +56 -30
  565. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.h +5 -1
  566. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.c +45 -25
  567. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.h +5 -1
  568. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.c +59 -31
  569. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.h +5 -1
  570. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.c +438 -217
  571. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.h +5 -1
  572. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.c +441 -221
  573. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.h +5 -1
  574. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.c +55 -30
  575. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.h +5 -1
  576. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.c +57 -31
  577. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.h +5 -1
  578. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.c +619 -300
  579. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.h +5 -1
  580. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.c +70 -36
  581. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.h +5 -1
  582. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.c +62 -33
  583. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.h +5 -1
  584. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.c +47 -25
  585. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.h +5 -1
  586. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.c +97 -49
  587. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.h +5 -1
  588. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.c +97 -51
  589. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.h +5 -1
  590. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.c +51 -27
  591. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.h +5 -1
  592. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.c +147 -76
  593. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.h +5 -1
  594. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +230 -116
  595. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +5 -1
  596. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.c +277 -138
  597. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.h +5 -1
  598. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.c +48 -26
  599. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.h +5 -1
  600. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.c +388 -197
  601. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.h +5 -1
  602. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.c +304 -153
  603. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.h +5 -1
  604. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.c +173 -90
  605. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.h +5 -1
  606. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.c +90 -47
  607. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.h +5 -1
  608. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.c +98 -51
  609. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.h +5 -1
  610. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.c +196 -99
  611. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.h +5 -1
  612. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.c +237 -118
  613. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.h +5 -1
  614. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.c +418 -210
  615. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.h +5 -1
  616. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.c +194 -99
  617. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.h +5 -1
  618. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.c +2003 -962
  619. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.h +10 -1
  620. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.c +101 -53
  621. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.h +5 -1
  622. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.c +352 -176
  623. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.h +5 -1
  624. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.c +79 -42
  625. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.h +5 -1
  626. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.c +67 -37
  627. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.h +5 -1
  628. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.c +63 -34
  629. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.h +5 -1
  630. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.c +88 -47
  631. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.h +5 -1
  632. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.c +80 -43
  633. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.h +5 -1
  634. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.c +53 -29
  635. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.h +5 -1
  636. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.c +86 -46
  637. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.h +5 -1
  638. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.c +55 -32
  639. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.h +5 -1
  640. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.c +91 -49
  641. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.h +5 -1
  642. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.c +105 -55
  643. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.h +5 -1
  644. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.c +775 -379
  645. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.h +5 -1
  646. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +52 -28
  647. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +5 -1
  648. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +134 -68
  649. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +5 -1
  650. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +189 -96
  651. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +5 -1
  652. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.c +116 -61
  653. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.h +5 -1
  654. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +112 -58
  655. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +5 -1
  656. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.c +160 -82
  657. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.h +5 -1
  658. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +75 -39
  659. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +5 -1
  660. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +1161 -570
  661. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +5 -1
  662. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +52 -28
  663. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +5 -1
  664. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.c +55 -29
  665. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.h +5 -1
  666. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +48 -26
  667. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +5 -1
  668. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +390 -194
  669. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +5 -1
  670. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +126 -65
  671. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +5 -1
  672. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +498 -246
  673. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +5 -1
  674. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +74 -36
  675. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +5 -1
  676. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.c +221 -110
  677. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.h +5 -1
  678. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.c +68 -36
  679. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.h +5 -1
  680. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.c +378 -187
  681. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.h +5 -1
  682. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.c +100 -52
  683. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.h +5 -1
  684. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.c +257 -129
  685. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.h +5 -1
  686. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.c +44 -24
  687. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.h +5 -1
  688. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.c +68 -35
  689. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.h +5 -1
  690. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.c +59 -0
  691. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.h +37 -0
  692. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.c +61 -27
  693. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.h +5 -1
  694. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.c +65 -34
  695. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.h +5 -1
  696. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.c +72 -38
  697. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.h +5 -1
  698. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.c +57 -31
  699. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.h +5 -1
  700. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.c +52 -29
  701. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.h +5 -1
  702. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.c +51 -28
  703. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.h +5 -1
  704. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.c +89 -47
  705. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.h +5 -1
  706. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.c +37 -20
  707. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.h +5 -1
  708. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.c +89 -47
  709. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.h +5 -1
  710. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.c +67 -35
  711. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.h +5 -1
  712. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.c +112 -58
  713. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.h +5 -1
  714. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.c +110 -56
  715. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.h +5 -1
  716. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.c +123 -62
  717. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.h +5 -1
  718. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.c +59 -31
  719. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.h +5 -1
  720. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.c +30 -16
  721. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.h +5 -1
  722. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.c +143 -72
  723. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.h +5 -1
  724. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.c +61 -32
  725. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.h +5 -1
  726. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.c +51 -27
  727. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.h +5 -1
  728. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.c +85 -45
  729. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.h +5 -1
  730. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.c +35 -19
  731. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.h +5 -1
  732. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.c +44 -23
  733. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.h +5 -1
  734. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.c +61 -33
  735. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.h +5 -1
  736. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.c +35 -19
  737. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.h +5 -1
  738. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.c +272 -133
  739. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.h +5 -1
  740. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.c +315 -154
  741. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.h +5 -1
  742. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.c +64 -33
  743. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.h +5 -1
  744. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.c +35 -19
  745. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.h +5 -1
  746. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.c +26 -15
  747. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.h +5 -1
  748. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +1106 -497
  749. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.h +10 -1
  750. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.c +28 -16
  751. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.h +5 -1
  752. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.c +23 -13
  753. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.h +5 -1
  754. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.c +69 -35
  755. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.h +5 -1
  756. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.c +29 -16
  757. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.h +5 -1
  758. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.c +51 -26
  759. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.h +5 -1
  760. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.c +32 -17
  761. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.h +5 -1
  762. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/channelz.upbdefs.c +716 -0
  763. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/channelz.upbdefs.h +227 -0
  764. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/channelz.upbdefs.c +80 -0
  765. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/channelz.upbdefs.h +47 -0
  766. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/promise.upbdefs.c +175 -0
  767. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/promise.upbdefs.h +82 -0
  768. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/property_list.upbdefs.c +133 -0
  769. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/property_list.upbdefs.h +67 -0
  770. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/service.upbdefs.c +129 -0
  771. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/service.upbdefs.h +72 -0
  772. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +161 -79
  773. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +5 -1
  774. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.c +84 -42
  775. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.h +5 -1
  776. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.c +48 -26
  777. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.h +5 -1
  778. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.c +26 -14
  779. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.h +5 -1
  780. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.c +50 -26
  781. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.h +5 -1
  782. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.c +36 -19
  783. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.h +5 -1
  784. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.c +538 -261
  785. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.h +5 -1
  786. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.c +86 -43
  787. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.h +5 -1
  788. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.c +49 -26
  789. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.h +5 -1
  790. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.c +27 -15
  791. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.h +5 -1
  792. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.c +87 -44
  793. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.h +5 -1
  794. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.c +37 -20
  795. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.h +5 -1
  796. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.c +30 -17
  797. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.h +5 -1
  798. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.c +41 -23
  799. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.h +5 -1
  800. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.c +62 -33
  801. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.h +5 -1
  802. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.c +36 -19
  803. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.h +5 -1
  804. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.c +36 -20
  805. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.h +5 -1
  806. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.c +42 -23
  807. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.h +5 -1
  808. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.c +76 -39
  809. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.h +5 -1
  810. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.c +45 -24
  811. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.h +5 -1
  812. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.c +41 -23
  813. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.h +5 -1
  814. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.c +53 -29
  815. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.h +5 -1
  816. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.c +29 -16
  817. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.h +5 -1
  818. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.c +58 -32
  819. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.h +5 -1
  820. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.c +207 -103
  821. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.h +5 -1
  822. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.c +95 -49
  823. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.h +5 -1
  824. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.c +38 -20
  825. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.h +5 -1
  826. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.c +60 -31
  827. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.h +5 -1
  828. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.c +67 -36
  829. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.h +5 -1
  830. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.c +31 -17
  831. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h +5 -1
  832. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c +31 -17
  833. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h +5 -1
  834. data/src/core/{lib/security/transport → filter/auth}/auth_filters.h +83 -19
  835. data/src/core/{lib/security/transport → filter/auth}/client_auth_filter.cc +21 -48
  836. data/src/core/{lib/security/transport → filter/auth}/server_auth_filter.cc +7 -14
  837. data/src/core/filter/blackboard.cc +2 -2
  838. data/src/core/filter/filter_args.h +11 -25
  839. data/src/core/filter/fused_filters.cc +154 -0
  840. data/src/core/handshaker/handshaker.cc +26 -28
  841. data/src/core/handshaker/handshaker.h +3 -0
  842. data/src/core/handshaker/http_connect/http_connect_handshaker.cc +6 -6
  843. data/src/core/handshaker/http_connect/http_proxy_mapper.cc +38 -54
  844. data/src/core/handshaker/http_connect/http_proxy_mapper.h +4 -4
  845. data/src/core/handshaker/http_connect/xds_http_proxy_mapper.cc +5 -5
  846. data/src/core/handshaker/http_connect/xds_http_proxy_mapper.h +5 -5
  847. data/src/core/handshaker/proxy_mapper.h +4 -4
  848. data/src/core/handshaker/proxy_mapper_registry.cc +5 -6
  849. data/src/core/handshaker/proxy_mapper_registry.h +4 -4
  850. data/src/core/handshaker/security/legacy_secure_endpoint.cc +597 -0
  851. data/src/core/handshaker/security/pipelined_secure_endpoint.cc +988 -0
  852. data/src/core/handshaker/security/secure_endpoint.cc +838 -311
  853. data/src/core/handshaker/security/secure_endpoint.h +25 -0
  854. data/src/core/handshaker/security/security_handshaker.cc +14 -13
  855. data/src/core/handshaker/security/security_handshaker.h +1 -1
  856. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +15 -7
  857. data/src/core/lib/address_utils/sockaddr_utils.cc +5 -5
  858. data/src/core/lib/channel/channel_args.cc +28 -13
  859. data/src/core/lib/channel/channel_args.h +64 -38
  860. data/src/core/lib/channel/channel_stack.cc +40 -9
  861. data/src/core/lib/channel/channel_stack.h +19 -6
  862. data/src/core/lib/channel/channel_stack_builder_impl.cc +3 -2
  863. data/src/core/lib/channel/channel_stack_builder_impl.h +2 -7
  864. data/src/core/lib/channel/connected_channel.cc +5 -5
  865. data/src/core/lib/channel/promise_based_filter.cc +93 -98
  866. data/src/core/lib/channel/promise_based_filter.h +764 -355
  867. data/src/core/lib/compression/compression.cc +3 -2
  868. data/src/core/lib/compression/compression_internal.cc +11 -11
  869. data/src/core/lib/compression/compression_internal.h +3 -3
  870. data/src/core/lib/compression/message_compress.cc +7 -7
  871. data/src/core/lib/debug/trace_flags.cc +7 -8
  872. data/src/core/lib/debug/trace_flags.h +3 -4
  873. data/src/core/lib/debug/trace_impl.h +0 -1
  874. data/src/core/lib/event_engine/ares_resolver.cc +185 -66
  875. data/src/core/lib/event_engine/ares_resolver.h +57 -13
  876. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +21 -13
  877. data/src/core/lib/event_engine/cf_engine/cf_engine.h +4 -8
  878. data/src/core/lib/event_engine/cf_engine/cfsocket_listener.cc +263 -0
  879. data/src/core/lib/event_engine/cf_engine/cfsocket_listener.h +107 -0
  880. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +41 -14
  881. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +24 -10
  882. data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +2 -4
  883. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +5 -9
  884. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +4 -6
  885. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +5 -7
  886. data/src/core/lib/event_engine/channel_args_endpoint_config.h +6 -7
  887. data/src/core/lib/event_engine/common_closures.h +2 -4
  888. data/src/core/lib/event_engine/default_event_engine.cc +62 -33
  889. data/src/core/lib/event_engine/default_event_engine.h +24 -33
  890. data/src/core/lib/event_engine/default_event_engine_factory.cc +12 -18
  891. data/src/core/lib/event_engine/default_event_engine_factory.h +3 -5
  892. data/src/core/lib/event_engine/endpoint_channel_arg_wrapper.cc +40 -0
  893. data/src/core/lib/event_engine/endpoint_channel_arg_wrapper.h +60 -0
  894. data/src/core/lib/event_engine/event_engine.cc +9 -4
  895. data/src/core/lib/event_engine/extensions/blocking_dns.h +46 -0
  896. data/src/core/lib/event_engine/extensions/can_track_errors.h +2 -4
  897. data/src/core/lib/event_engine/extensions/channelz.h +66 -0
  898. data/src/core/lib/event_engine/extensions/chaotic_good_extension.h +2 -4
  899. data/src/core/lib/event_engine/extensions/iomgr_compatible.h +39 -0
  900. data/src/core/lib/event_engine/extensions/supports_fd.h +7 -9
  901. data/src/core/lib/event_engine/extensions/supports_win_sockets.h +48 -0
  902. data/src/core/lib/event_engine/extensions/tcp_trace.h +4 -6
  903. data/src/core/lib/event_engine/grpc_polled_fd.h +7 -4
  904. data/src/core/lib/event_engine/handle_containers.h +2 -4
  905. data/src/core/lib/event_engine/memory_allocator_factory.h +2 -4
  906. data/src/core/lib/event_engine/poller.h +2 -4
  907. data/src/core/lib/event_engine/posix.h +2 -4
  908. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +147 -223
  909. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +19 -23
  910. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +103 -191
  911. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +15 -17
  912. data/src/core/lib/event_engine/posix_engine/event_poller.h +20 -27
  913. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +13 -27
  914. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +5 -6
  915. data/src/core/lib/event_engine/posix_engine/file_descriptor_collection.cc +124 -0
  916. data/src/core/lib/event_engine/posix_engine/file_descriptor_collection.h +243 -0
  917. data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +32 -23
  918. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +8 -6
  919. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +8 -5
  920. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +8 -10
  921. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +5 -8
  922. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +6 -11
  923. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.h +5 -4
  924. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +180 -133
  925. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +42 -48
  926. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +511 -289
  927. data/src/core/lib/event_engine/posix_engine/posix_engine.h +75 -70
  928. data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +2 -4
  929. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +52 -45
  930. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +8 -8
  931. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +64 -150
  932. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +12 -9
  933. data/src/core/lib/event_engine/posix_engine/posix_interface.h +211 -0
  934. data/src/core/lib/event_engine/posix_engine/posix_interface_posix.cc +1083 -0
  935. data/src/core/lib/event_engine/posix_engine/posix_interface_windows.cc +281 -0
  936. data/src/core/lib/event_engine/posix_engine/posix_write_event_sink.cc +154 -0
  937. data/src/core/lib/event_engine/posix_engine/posix_write_event_sink.h +174 -0
  938. data/src/core/lib/event_engine/posix_engine/set_socket_dualstack.cc +64 -0
  939. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +9 -737
  940. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +13 -175
  941. data/src/core/lib/event_engine/posix_engine/timer.cc +4 -6
  942. data/src/core/lib/event_engine/posix_engine/timer.h +4 -6
  943. data/src/core/lib/event_engine/posix_engine/timer_heap.cc +2 -4
  944. data/src/core/lib/event_engine/posix_engine/timer_heap.h +2 -4
  945. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +40 -31
  946. data/src/core/lib/event_engine/posix_engine/timer_manager.h +17 -17
  947. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +119 -157
  948. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +30 -99
  949. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +28 -29
  950. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +8 -6
  951. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +38 -58
  952. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +8 -6
  953. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +9 -10
  954. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +14 -10
  955. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +5 -5
  956. data/src/core/lib/event_engine/query_extensions.h +12 -25
  957. data/src/core/lib/event_engine/ref_counted_dns_resolver_interface.h +2 -4
  958. data/src/core/lib/event_engine/resolved_address.cc +5 -7
  959. data/src/core/lib/event_engine/resolved_address_internal.h +2 -4
  960. data/src/core/lib/event_engine/shim.cc +18 -21
  961. data/src/core/lib/event_engine/shim.h +17 -4
  962. data/src/core/lib/event_engine/slice.cc +4 -6
  963. data/src/core/lib/event_engine/slice_buffer.cc +2 -4
  964. data/src/core/lib/event_engine/tcp_socket_utils.cc +27 -28
  965. data/src/core/lib/event_engine/tcp_socket_utils.h +5 -7
  966. data/src/core/lib/event_engine/thread_local.cc +2 -4
  967. data/src/core/lib/event_engine/thread_local.h +2 -4
  968. data/src/core/lib/event_engine/thread_pool/thread_count.cc +2 -4
  969. data/src/core/lib/event_engine/thread_pool/thread_count.h +4 -18
  970. data/src/core/lib/event_engine/thread_pool/thread_pool.h +9 -7
  971. data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +2 -21
  972. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +29 -21
  973. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +7 -7
  974. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +2 -4
  975. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +2 -4
  976. data/src/core/lib/event_engine/time_util.cc +2 -4
  977. data/src/core/lib/event_engine/time_util.h +2 -4
  978. data/src/core/lib/event_engine/utils.cc +36 -4
  979. data/src/core/lib/event_engine/utils.h +5 -4
  980. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +39 -36
  981. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.h +6 -4
  982. data/src/core/lib/event_engine/windows/iocp.cc +12 -14
  983. data/src/core/lib/event_engine/windows/iocp.h +2 -4
  984. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.cc +2 -4
  985. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.h +2 -4
  986. data/src/core/lib/event_engine/windows/win_socket.cc +19 -10
  987. data/src/core/lib/event_engine/windows/win_socket.h +5 -4
  988. data/src/core/lib/event_engine/windows/windows_endpoint.cc +19 -26
  989. data/src/core/lib/event_engine/windows/windows_endpoint.h +9 -8
  990. data/src/core/lib/event_engine/windows/windows_engine.cc +57 -16
  991. data/src/core/lib/event_engine/windows/windows_engine.h +9 -7
  992. data/src/core/lib/event_engine/windows/windows_listener.cc +28 -19
  993. data/src/core/lib/event_engine/windows/windows_listener.h +11 -8
  994. data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +2 -4
  995. data/src/core/lib/event_engine/work_queue/basic_work_queue.h +2 -4
  996. data/src/core/lib/event_engine/work_queue/work_queue.h +2 -4
  997. data/src/core/lib/experiments/experiments.cc +619 -277
  998. data/src/core/lib/experiments/experiments.h +229 -120
  999. data/src/core/lib/iomgr/buffer_list.h +22 -21
  1000. data/src/core/lib/iomgr/call_combiner.cc +3 -3
  1001. data/src/core/lib/iomgr/cfstream_handle.cc +0 -2
  1002. data/src/core/lib/iomgr/closure.h +1 -4
  1003. data/src/core/lib/iomgr/combiner.cc +3 -3
  1004. data/src/core/lib/iomgr/endpoint.cc +4 -3
  1005. data/src/core/lib/iomgr/endpoint.h +7 -4
  1006. data/src/core/lib/iomgr/endpoint_cfstream.cc +9 -8
  1007. data/src/core/lib/iomgr/endpoint_pair_posix.cc +48 -21
  1008. data/src/core/lib/iomgr/endpoint_pair_windows.cc +51 -15
  1009. data/src/core/lib/iomgr/error.cc +28 -44
  1010. data/src/core/lib/iomgr/ev_epoll1_linux.cc +31 -14
  1011. data/src/core/lib/iomgr/ev_poll_posix.cc +31 -9
  1012. data/src/core/lib/iomgr/event_engine_shims/closure.cc +0 -1
  1013. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +16 -16
  1014. data/src/core/lib/iomgr/event_engine_shims/endpoint.h +1 -1
  1015. data/src/core/lib/iomgr/event_engine_shims/tcp_client.cc +0 -1
  1016. data/src/core/lib/iomgr/exec_ctx.cc +1 -7
  1017. data/src/core/lib/iomgr/exec_ctx.h +4 -141
  1018. data/src/core/lib/iomgr/fork_posix.cc +0 -7
  1019. data/src/core/lib/iomgr/iocp_windows.cc +8 -8
  1020. data/src/core/lib/iomgr/iomgr.cc +0 -3
  1021. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +3 -0
  1022. data/src/core/lib/iomgr/iomgr_windows.cc +3 -3
  1023. data/src/core/lib/iomgr/lockfree_event.cc +2 -2
  1024. data/src/core/lib/iomgr/polling_entity.cc +5 -10
  1025. data/src/core/lib/iomgr/resolve_address_posix.cc +37 -49
  1026. data/src/core/lib/iomgr/resolve_address_posix.h +15 -0
  1027. data/src/core/lib/iomgr/resolve_address_windows.cc +22 -47
  1028. data/src/core/lib/iomgr/resolve_address_windows.h +15 -2
  1029. data/src/core/lib/iomgr/socket_mutator.cc +1 -1
  1030. data/src/core/lib/iomgr/socket_utils_common_posix.cc +3 -2
  1031. data/src/core/lib/iomgr/socket_utils_posix.cc +23 -11
  1032. data/src/core/lib/iomgr/socket_utils_posix.h +13 -3
  1033. data/src/core/lib/iomgr/socket_windows.cc +4 -4
  1034. data/src/core/lib/iomgr/tcp_client_cfstream.cc +8 -9
  1035. data/src/core/lib/iomgr/tcp_client_posix.cc +30 -26
  1036. data/src/core/lib/iomgr/tcp_client_posix.h +1 -1
  1037. data/src/core/lib/iomgr/tcp_client_windows.cc +4 -4
  1038. data/src/core/lib/iomgr/tcp_posix.cc +126 -90
  1039. data/src/core/lib/iomgr/tcp_posix.h +10 -2
  1040. data/src/core/lib/iomgr/tcp_server.cc +5 -0
  1041. data/src/core/lib/iomgr/tcp_server.h +7 -0
  1042. data/src/core/lib/iomgr/tcp_server_posix.cc +57 -31
  1043. data/src/core/lib/iomgr/tcp_server_utils_posix.h +3 -0
  1044. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +6 -9
  1045. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +2 -2
  1046. data/src/core/lib/iomgr/tcp_server_windows.cc +107 -46
  1047. data/src/core/lib/iomgr/tcp_windows.cc +10 -9
  1048. data/src/core/lib/iomgr/timer_generic.cc +2 -2
  1049. data/src/core/lib/iomgr/timer_manager.cc +3 -11
  1050. data/src/core/lib/iomgr/unix_sockets_posix.cc +2 -2
  1051. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +2 -2
  1052. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +10 -2
  1053. data/src/core/lib/promise/activity.cc +2 -2
  1054. data/src/core/lib/promise/activity.h +13 -12
  1055. data/src/core/lib/promise/all_ok.h +31 -0
  1056. data/src/core/lib/promise/arena_promise.h +23 -7
  1057. data/src/core/lib/promise/context.h +2 -2
  1058. data/src/core/lib/promise/detail/join_state.h +25 -77
  1059. data/src/core/lib/promise/detail/promise_factory.h +95 -25
  1060. data/src/core/lib/promise/detail/promise_like.h +148 -20
  1061. data/src/core/lib/promise/detail/promise_variant.h +50 -0
  1062. data/src/core/lib/promise/detail/seq_state.h +995 -328
  1063. data/src/core/lib/promise/detail/status.h +2 -2
  1064. data/src/core/lib/promise/for_each.h +19 -10
  1065. data/src/core/lib/promise/if.h +68 -20
  1066. data/src/core/lib/promise/inter_activity_latch.h +147 -0
  1067. data/src/core/lib/promise/inter_activity_mutex.h +547 -0
  1068. data/src/core/lib/promise/interceptor_list.h +11 -11
  1069. data/src/core/lib/promise/latch.h +21 -13
  1070. data/src/core/lib/promise/loop.h +122 -17
  1071. data/src/core/lib/promise/map.h +207 -49
  1072. data/src/core/lib/promise/match_promise.h +103 -0
  1073. data/src/core/lib/promise/mpsc.cc +425 -0
  1074. data/src/core/lib/promise/mpsc.h +490 -0
  1075. data/src/core/lib/promise/observable.h +4 -4
  1076. data/src/core/lib/promise/party.cc +125 -35
  1077. data/src/core/lib/promise/party.h +291 -36
  1078. data/src/core/lib/promise/pipe.h +26 -26
  1079. data/src/core/lib/promise/poll.h +44 -28
  1080. data/src/core/lib/promise/prioritized_race.h +16 -22
  1081. data/src/core/lib/promise/promise.h +4 -5
  1082. data/src/core/lib/promise/race.h +35 -12
  1083. data/src/core/lib/promise/seq.h +46 -6
  1084. data/src/core/lib/promise/sleep.cc +12 -7
  1085. data/src/core/lib/promise/sleep.h +14 -1
  1086. data/src/core/lib/promise/status_flag.h +44 -19
  1087. data/src/core/lib/promise/try_join.h +121 -7
  1088. data/src/core/lib/promise/try_seq.h +46 -14
  1089. data/src/core/lib/promise/wait_set.cc +28 -0
  1090. data/src/core/lib/promise/wait_set.h +86 -0
  1091. data/src/core/lib/resource_quota/arena.h +113 -2
  1092. data/src/core/lib/resource_quota/connection_quota.cc +9 -7
  1093. data/src/core/lib/resource_quota/memory_quota.cc +194 -73
  1094. data/src/core/lib/resource_quota/memory_quota.h +68 -27
  1095. data/src/core/lib/resource_quota/periodic_update.cc +14 -0
  1096. data/src/core/lib/resource_quota/periodic_update.h +8 -0
  1097. data/src/core/lib/resource_quota/resource_quota.cc +15 -4
  1098. data/src/core/lib/resource_quota/resource_quota.h +3 -0
  1099. data/src/core/lib/resource_quota/telemetry.h +54 -0
  1100. data/src/core/lib/resource_quota/thread_quota.cc +2 -2
  1101. data/src/core/lib/resource_tracker/resource_tracker.cc +33 -0
  1102. data/src/core/lib/resource_tracker/resource_tracker.h +46 -0
  1103. data/src/core/lib/security/authorization/audit_logging.cc +5 -5
  1104. data/src/core/lib/security/authorization/evaluate_args.cc +4 -4
  1105. data/src/core/lib/security/authorization/evaluate_args.h +4 -4
  1106. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +2 -2
  1107. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +2 -10
  1108. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +7 -7
  1109. data/src/core/lib/security/authorization/matchers.h +3 -3
  1110. data/src/core/lib/security/authorization/rbac_policy.cc +1 -1
  1111. data/src/core/lib/security/authorization/rbac_policy.h +3 -3
  1112. data/src/core/lib/security/authorization/stdout_logger.cc +3 -3
  1113. data/src/core/lib/slice/slice.h +11 -0
  1114. data/src/core/lib/slice/slice_buffer.cc +2 -2
  1115. data/src/core/lib/slice/slice_buffer.h +8 -2
  1116. data/src/core/lib/surface/byte_buffer_reader.cc +2 -2
  1117. data/src/core/lib/surface/call.cc +43 -39
  1118. data/src/core/lib/surface/call.h +11 -9
  1119. data/src/core/lib/surface/call_utils.cc +7 -7
  1120. data/src/core/lib/surface/call_utils.h +13 -9
  1121. data/src/core/lib/surface/channel.cc +10 -18
  1122. data/src/core/lib/surface/channel.h +5 -5
  1123. data/src/core/lib/surface/channel_create.cc +145 -6
  1124. data/src/core/lib/surface/channel_create.h +4 -0
  1125. data/src/core/lib/surface/channel_init.cc +236 -62
  1126. data/src/core/lib/surface/channel_init.h +88 -10
  1127. data/src/core/lib/surface/completion_queue.cc +106 -86
  1128. data/src/core/lib/surface/completion_queue_factory.cc +7 -7
  1129. data/src/core/lib/surface/connection_context.h +45 -2
  1130. data/src/core/lib/surface/filter_stack_call.cc +72 -63
  1131. data/src/core/lib/surface/filter_stack_call.h +5 -6
  1132. data/src/core/lib/surface/init.cc +8 -13
  1133. data/src/core/lib/surface/lame_client.cc +1 -1
  1134. data/src/core/lib/surface/legacy_channel.cc +47 -43
  1135. data/src/core/lib/surface/legacy_channel.h +6 -4
  1136. data/src/core/lib/surface/validate_metadata.h +2 -2
  1137. data/src/core/lib/surface/version.cc +2 -2
  1138. data/src/core/lib/transport/bdp_estimator.cc +2 -2
  1139. data/src/core/lib/transport/bdp_estimator.h +3 -3
  1140. data/src/core/lib/transport/connectivity_state.cc +8 -9
  1141. data/src/core/lib/transport/connectivity_state.h +2 -4
  1142. data/src/core/lib/transport/error_utils.cc +65 -11
  1143. data/src/core/lib/transport/error_utils.h +2 -2
  1144. data/src/core/lib/transport/promise_endpoint.cc +110 -0
  1145. data/src/core/lib/transport/promise_endpoint.h +307 -0
  1146. data/src/core/lib/transport/status_conversion.cc +11 -36
  1147. data/src/core/lib/transport/status_conversion.h +5 -4
  1148. data/src/core/lib/transport/timeout_encoding.cc +19 -19
  1149. data/src/core/lib/transport/timeout_encoding.h +3 -2
  1150. data/src/core/lib/transport/transport.cc +2 -3
  1151. data/src/core/lib/transport/transport.h +20 -12
  1152. data/src/core/lib/transport/transport_op_string.cc +1 -1
  1153. data/src/core/load_balancing/backend_metric_parser.cc +12 -25
  1154. data/src/core/load_balancing/child_policy_handler.cc +6 -8
  1155. data/src/core/load_balancing/delegating_helper.h +3 -4
  1156. data/src/core/load_balancing/endpoint_list.cc +32 -5
  1157. data/src/core/load_balancing/endpoint_list.h +7 -7
  1158. data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +5 -10
  1159. data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +5 -5
  1160. data/src/core/load_balancing/grpclb/grpclb.cc +48 -66
  1161. data/src/core/load_balancing/health_check_client.cc +23 -61
  1162. data/src/core/load_balancing/health_check_client_internal.h +9 -9
  1163. data/src/core/load_balancing/lb_policy.cc +4 -6
  1164. data/src/core/load_balancing/lb_policy.h +5 -7
  1165. data/src/core/load_balancing/lb_policy_registry.cc +12 -10
  1166. data/src/core/load_balancing/oob_backend_metric.cc +7 -13
  1167. data/src/core/load_balancing/oob_backend_metric_internal.h +2 -2
  1168. data/src/core/load_balancing/outlier_detection/outlier_detection.cc +63 -73
  1169. data/src/core/load_balancing/outlier_detection/outlier_detection.h +4 -3
  1170. data/src/core/load_balancing/pick_first/pick_first.cc +44 -989
  1171. data/src/core/load_balancing/priority/priority.cc +31 -37
  1172. data/src/core/load_balancing/ring_hash/ring_hash.cc +57 -93
  1173. data/src/core/load_balancing/rls/rls.cc +151 -245
  1174. data/src/core/load_balancing/rls/rls.h +97 -1
  1175. data/src/core/load_balancing/round_robin/round_robin.cc +16 -17
  1176. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc +7 -7
  1177. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h +2 -2
  1178. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +45 -44
  1179. data/src/core/load_balancing/weighted_target/weighted_target.cc +16 -30
  1180. data/src/core/load_balancing/xds/cds.cc +99 -57
  1181. data/src/core/load_balancing/xds/xds_cluster_impl.cc +24 -25
  1182. data/src/core/load_balancing/xds/xds_cluster_manager.cc +10 -18
  1183. data/src/core/load_balancing/xds/xds_override_host.cc +100 -126
  1184. data/src/core/load_balancing/xds/xds_wrr_locality.cc +10 -12
  1185. data/src/core/net/socket_mutator.cc +19 -0
  1186. data/src/core/net/socket_mutator.h +25 -0
  1187. data/src/core/plugin_registry/grpc_plugin_registry.cc +10 -0
  1188. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +2 -2
  1189. data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +8 -10
  1190. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver.h +6 -1
  1191. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -2
  1192. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +35 -34
  1193. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +18 -15
  1194. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +6 -1
  1195. data/src/core/resolver/dns/dns_resolver_plugin.cc +6 -3
  1196. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +12 -17
  1197. data/src/core/resolver/dns/native/dns_resolver.cc +1 -1
  1198. data/src/core/resolver/endpoint_addresses.cc +3 -3
  1199. data/src/core/resolver/endpoint_addresses.h +3 -0
  1200. data/src/core/resolver/fake/fake_resolver.cc +12 -13
  1201. data/src/core/resolver/fake/fake_resolver.h +2 -2
  1202. data/src/core/resolver/google_c2p/google_c2p_resolver.cc +48 -64
  1203. data/src/core/resolver/polling_resolver.cc +5 -8
  1204. data/src/core/resolver/polling_resolver.h +3 -3
  1205. data/src/core/resolver/resolver_registry.cc +7 -5
  1206. data/src/core/resolver/sockaddr/sockaddr_resolver.cc +2 -1
  1207. data/src/core/resolver/xds/xds_config.cc +12 -9
  1208. data/src/core/resolver/xds/xds_config.h +11 -6
  1209. data/src/core/resolver/xds/xds_dependency_manager.cc +111 -88
  1210. data/src/core/resolver/xds/xds_dependency_manager.h +6 -1
  1211. data/src/core/resolver/xds/xds_resolver.cc +94 -95
  1212. data/src/core/server/add_port.cc +87 -0
  1213. data/src/core/server/server.cc +244 -183
  1214. data/src/core/server/server.h +40 -12
  1215. data/src/core/server/server_call_tracer_filter.cc +0 -70
  1216. data/src/core/server/server_call_tracer_filter.h +64 -0
  1217. data/src/core/server/server_config_selector.h +1 -1
  1218. data/src/core/server/server_config_selector_filter.cc +12 -19
  1219. data/src/core/server/xds_server_config_fetcher.cc +90 -53
  1220. data/src/core/service_config/service_config.h +1 -1
  1221. data/src/core/service_config/service_config_channel_arg_filter.cc +4 -73
  1222. data/src/core/service_config/service_config_channel_arg_filter.h +82 -0
  1223. data/src/core/service_config/service_config_impl.cc +3 -3
  1224. data/src/core/service_config/service_config_impl.h +3 -3
  1225. data/src/core/telemetry/call_tracer.cc +65 -71
  1226. data/src/core/telemetry/call_tracer.h +217 -34
  1227. data/src/core/telemetry/context_list_entry.cc +38 -0
  1228. data/src/core/{ext/transport/chttp2/transport → telemetry}/context_list_entry.h +45 -15
  1229. data/src/core/telemetry/default_tcp_tracer.cc +26 -0
  1230. data/src/core/telemetry/default_tcp_tracer.h +44 -0
  1231. data/src/core/telemetry/histogram.h +205 -0
  1232. data/src/core/telemetry/instrument.cc +719 -0
  1233. data/src/core/telemetry/instrument.h +932 -0
  1234. data/src/core/telemetry/metrics.cc +46 -20
  1235. data/src/core/telemetry/metrics.h +28 -20
  1236. data/src/core/telemetry/stats.h +0 -5
  1237. data/src/core/telemetry/stats_data.cc +572 -450
  1238. data/src/core/telemetry/stats_data.h +478 -264
  1239. data/src/core/telemetry/tcp_tracer.cc +38 -0
  1240. data/src/core/telemetry/tcp_tracer.h +104 -100
  1241. data/src/core/{lib/security/context/security_context.cc → transport/auth_context.cc} +23 -99
  1242. data/src/core/{lib/security/context/security_context.h → transport/auth_context.h} +9 -76
  1243. data/src/core/transport/auth_context_comparator_registry.h +69 -0
  1244. data/src/core/transport/endpoint_transport.h +90 -0
  1245. data/src/core/transport/endpoint_transport_client_channel_factory.cc +61 -0
  1246. data/src/core/transport/endpoint_transport_client_channel_factory.h +57 -0
  1247. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +115 -51
  1248. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +4 -1
  1249. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +3 -3
  1250. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +109 -47
  1251. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +9 -3
  1252. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +3 -3
  1253. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +3 -3
  1254. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +7 -7
  1255. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +14 -6
  1256. data/src/core/tsi/fake_transport_security.cc +26 -4
  1257. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +4 -4
  1258. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +9 -9
  1259. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +3 -3
  1260. data/src/core/tsi/ssl_transport_security.cc +413 -122
  1261. data/src/core/tsi/ssl_transport_security.h +25 -11
  1262. data/src/core/tsi/ssl_transport_security_utils.cc +30 -9
  1263. data/src/core/tsi/ssl_transport_security_utils.h +4 -0
  1264. data/src/core/tsi/transport_security.h +3 -0
  1265. data/src/core/tsi/transport_security_grpc.cc +8 -0
  1266. data/src/core/tsi/transport_security_grpc.h +22 -3
  1267. data/src/core/tsi/transport_security_interface.h +30 -25
  1268. data/src/core/util/backoff.cc +5 -16
  1269. data/src/core/util/backoff.h +1 -1
  1270. data/src/core/util/check_class_size.h +48 -0
  1271. data/src/core/util/chunked_vector.h +4 -4
  1272. data/src/core/util/down_cast.h +1 -1
  1273. data/src/core/util/dual_ref_counted.h +48 -0
  1274. data/src/core/util/dump_args.h +1 -9
  1275. data/src/core/util/env.h +3 -4
  1276. data/src/core/util/event_log.cc +2 -2
  1277. data/src/core/util/examine_stack.cc +2 -2
  1278. data/src/core/util/examine_stack.h +3 -4
  1279. data/src/core/util/function_signature.h +80 -0
  1280. data/src/core/util/gcp_metadata_query.cc +6 -5
  1281. data/src/core/util/gpr_time.cc +0 -2
  1282. data/src/core/util/grpc_check.cc +22 -0
  1283. data/src/core/util/grpc_check.h +103 -0
  1284. data/src/core/util/http_client/httpcli.cc +21 -15
  1285. data/src/core/util/http_client/httpcli.h +8 -5
  1286. data/src/core/util/http_client/httpcli_security_connector.cc +10 -7
  1287. data/src/core/util/http_client/parser.cc +4 -4
  1288. data/src/core/util/json/json_channel_args.h +2 -1
  1289. data/src/core/util/json/json_object_loader.cc +4 -4
  1290. data/src/core/util/json/json_object_loader.h +15 -15
  1291. data/src/core/util/json/json_reader.cc +4 -4
  1292. data/src/core/util/json/json_writer.cc +3 -3
  1293. data/src/core/util/latent_see.cc +180 -122
  1294. data/src/core/util/latent_see.h +253 -202
  1295. data/src/core/util/linux/env.cc +6 -5
  1296. data/src/core/util/load_file.cc +26 -14
  1297. data/src/core/util/log.cc +4 -0
  1298. data/src/core/util/lru_cache.h +8 -8
  1299. data/src/core/util/match.h +7 -7
  1300. data/src/core/util/matchers.cc +1 -2
  1301. data/src/core/util/matchers.h +2 -2
  1302. data/src/core/util/memory_usage.h +284 -0
  1303. data/src/core/util/per_cpu.cc +2 -0
  1304. data/src/core/util/per_cpu.h +7 -0
  1305. data/src/core/util/posix/directory_reader.cc +3 -2
  1306. data/src/core/util/posix/env.cc +2 -2
  1307. data/src/core/util/posix/sync.cc +24 -25
  1308. data/src/core/util/posix/time.cc +0 -1
  1309. data/src/core/util/postmortem_emit.cc +52 -0
  1310. data/src/core/util/postmortem_emit.h +30 -0
  1311. data/src/core/util/ref_counted_ptr.h +31 -0
  1312. data/src/core/util/shared_bit_gen.cc +21 -0
  1313. data/src/core/util/shared_bit_gen.h +64 -0
  1314. data/src/core/util/single_set_ptr.h +38 -4
  1315. data/src/core/util/status_helper.cc +98 -79
  1316. data/src/core/util/status_helper.h +13 -30
  1317. data/src/core/util/sync_abseil.cc +0 -1
  1318. data/src/core/util/table.h +6 -21
  1319. data/src/core/util/time.cc +1 -1
  1320. data/src/core/util/time.h +3 -3
  1321. data/src/core/util/time_precise.cc +0 -1
  1322. data/src/core/util/trie_lookup.h +170 -0
  1323. data/src/core/util/type_list.h +56 -0
  1324. data/src/core/util/unique_ptr_with_bitset.h +5 -5
  1325. data/src/core/util/upb_utils.h +42 -0
  1326. data/src/core/util/uri.cc +81 -20
  1327. data/src/core/util/uri.h +18 -6
  1328. data/src/core/util/useful.h +148 -6
  1329. data/src/core/util/validation_errors.cc +5 -5
  1330. data/src/core/util/wait_for_single_owner.cc +31 -0
  1331. data/src/core/util/wait_for_single_owner.h +86 -0
  1332. data/src/core/util/windows/directory_reader.cc +1 -0
  1333. data/src/core/util/windows/env.cc +3 -3
  1334. data/src/core/util/windows/sync.cc +0 -1
  1335. data/src/core/util/windows/thd.cc +1 -3
  1336. data/src/core/util/windows/time.cc +0 -1
  1337. data/src/core/util/work_serializer.cc +28 -268
  1338. data/src/core/util/work_serializer.h +3 -27
  1339. data/src/core/xds/grpc/certificate_provider_store.cc +13 -18
  1340. data/src/core/xds/grpc/certificate_provider_store.h +3 -3
  1341. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +37 -10
  1342. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +6 -1
  1343. data/src/core/xds/grpc/xds_audit_logger_registry.cc +1 -1
  1344. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +22 -20
  1345. data/src/core/xds/grpc/xds_bootstrap_grpc.h +13 -3
  1346. data/src/core/xds/grpc/xds_certificate_provider.cc +20 -21
  1347. data/src/core/xds/grpc/xds_certificate_provider.h +2 -2
  1348. data/src/core/xds/grpc/xds_client_grpc.cc +52 -29
  1349. data/src/core/xds/grpc/xds_client_grpc.h +8 -3
  1350. data/src/core/xds/grpc/xds_cluster.h +7 -7
  1351. data/src/core/xds/grpc/xds_cluster_parser.cc +30 -29
  1352. data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +6 -6
  1353. data/src/core/xds/grpc/xds_common_types.cc +2 -2
  1354. data/src/core/xds/grpc/xds_common_types.h +4 -4
  1355. data/src/core/xds/grpc/xds_common_types_parser.cc +167 -89
  1356. data/src/core/xds/grpc/xds_common_types_parser.h +20 -7
  1357. data/src/core/xds/grpc/xds_endpoint.cc +3 -4
  1358. data/src/core/xds/grpc/xds_endpoint_parser.cc +16 -16
  1359. data/src/core/xds/grpc/xds_health_status.cc +4 -4
  1360. data/src/core/xds/grpc/xds_health_status.h +4 -3
  1361. data/src/core/xds/grpc/xds_http_fault_filter.cc +19 -21
  1362. data/src/core/xds/grpc/xds_http_fault_filter.h +4 -3
  1363. data/src/core/xds/grpc/xds_http_filter.h +11 -4
  1364. data/src/core/xds/grpc/xds_http_filter_registry.cc +12 -13
  1365. data/src/core/xds/grpc/xds_http_filter_registry.h +4 -4
  1366. data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +29 -7
  1367. data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +7 -3
  1368. data/src/core/xds/grpc/xds_http_rbac_filter.cc +21 -21
  1369. data/src/core/xds/grpc/xds_http_rbac_filter.h +4 -3
  1370. data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +10 -10
  1371. data/src/core/xds/grpc/xds_http_stateful_session_filter.h +4 -3
  1372. data/src/core/xds/grpc/xds_lb_policy_registry.cc +4 -4
  1373. data/src/core/xds/grpc/xds_listener.cc +4 -6
  1374. data/src/core/xds/grpc/xds_listener.h +10 -10
  1375. data/src/core/xds/grpc/xds_listener_parser.cc +61 -54
  1376. data/src/core/xds/grpc/xds_listener_parser.h +2 -1
  1377. data/src/core/xds/grpc/xds_matcher.cc +277 -0
  1378. data/src/core/xds/grpc/xds_matcher.h +432 -0
  1379. data/src/core/xds/grpc/xds_matcher_action.cc +47 -0
  1380. data/src/core/xds/grpc/xds_matcher_action.h +48 -0
  1381. data/src/core/xds/grpc/xds_matcher_context.cc +29 -0
  1382. data/src/core/xds/grpc/xds_matcher_context.h +46 -0
  1383. data/src/core/xds/grpc/xds_matcher_input.cc +79 -0
  1384. data/src/core/xds/grpc/xds_matcher_input.h +105 -0
  1385. data/src/core/xds/grpc/xds_matcher_parse.cc +356 -0
  1386. data/src/core/xds/grpc/xds_matcher_parse.h +39 -0
  1387. data/src/core/xds/grpc/xds_metadata.cc +9 -8
  1388. data/src/core/xds/grpc/xds_metadata_parser.cc +26 -37
  1389. data/src/core/xds/grpc/xds_metadata_parser.h +0 -2
  1390. data/src/core/xds/grpc/xds_route_config.cc +9 -15
  1391. data/src/core/xds/grpc/xds_route_config.h +10 -10
  1392. data/src/core/xds/grpc/xds_route_config_parser.cc +90 -137
  1393. data/src/core/xds/grpc/xds_route_config_parser.h +5 -5
  1394. data/src/core/xds/grpc/xds_routing.cc +9 -9
  1395. data/src/core/xds/grpc/xds_routing.h +6 -6
  1396. data/src/core/xds/grpc/xds_server_grpc.cc +132 -49
  1397. data/src/core/xds/grpc/xds_server_grpc.h +34 -13
  1398. data/src/core/xds/grpc/xds_server_grpc_interface.h +37 -0
  1399. data/src/core/xds/grpc/xds_transport_grpc.cc +38 -21
  1400. data/src/core/xds/grpc/xds_transport_grpc.h +5 -3
  1401. data/src/core/xds/xds_client/lrs_client.cc +83 -94
  1402. data/src/core/xds/xds_client/lrs_client.h +15 -15
  1403. data/src/core/xds/xds_client/xds_api.cc +5 -5
  1404. data/src/core/xds/xds_client/xds_bootstrap.cc +11 -1
  1405. data/src/core/xds/xds_client/xds_bootstrap.h +25 -1
  1406. data/src/core/xds/xds_client/xds_client.cc +609 -393
  1407. data/src/core/xds/xds_client/xds_client.h +42 -15
  1408. data/src/core/xds/xds_client/xds_resource_type.h +3 -5
  1409. data/src/core/xds/xds_client/xds_resource_type_impl.h +3 -3
  1410. data/src/core/xds/xds_client/xds_transport.h +1 -1
  1411. data/src/ruby/ext/grpc/extconf.rb +4 -2
  1412. data/src/ruby/ext/grpc/rb_call.c +1 -8
  1413. data/src/ruby/ext/grpc/rb_channel.c +70 -557
  1414. data/src/ruby/ext/grpc/rb_channel.h +0 -3
  1415. data/src/ruby/ext/grpc/rb_completion_queue.c +26 -14
  1416. data/src/ruby/ext/grpc/rb_completion_queue.h +1 -7
  1417. data/src/ruby/ext/grpc/rb_grpc.c +9 -5
  1418. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +3 -3
  1419. data/src/ruby/ext/grpc/rb_loader.c +0 -4
  1420. data/src/ruby/ext/grpc/rb_server.c +31 -50
  1421. data/src/ruby/lib/grpc/generic/client_stub.rb +4 -4
  1422. data/src/ruby/lib/grpc/version.rb +1 -1
  1423. data/src/ruby/spec/core_spec.rb +22 -0
  1424. data/src/ruby/spec/generic/active_call_spec.rb +1 -1
  1425. data/src/ruby/spec/generic/client_stub_spec.rb +2 -6
  1426. data/src/ruby/spec/generic/rpc_server_spec.rb +1 -1
  1427. data/third_party/abseil-cpp/absl/algorithm/algorithm.h +2 -2
  1428. data/third_party/abseil-cpp/absl/algorithm/container.h +81 -67
  1429. data/third_party/abseil-cpp/absl/base/attributes.h +142 -23
  1430. data/third_party/abseil-cpp/absl/base/call_once.h +18 -16
  1431. data/third_party/abseil-cpp/absl/base/config.h +23 -132
  1432. data/third_party/abseil-cpp/absl/base/{internal/fast_type_id.h → fast_type_id.h} +11 -16
  1433. data/third_party/abseil-cpp/absl/base/internal/cycleclock.cc +0 -5
  1434. data/third_party/abseil-cpp/absl/base/internal/cycleclock_config.h +7 -7
  1435. data/third_party/abseil-cpp/absl/base/internal/endian.h +34 -38
  1436. data/third_party/abseil-cpp/absl/base/internal/iterator_traits.h +71 -0
  1437. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +6 -5
  1438. data/third_party/abseil-cpp/absl/base/internal/nullability_deprecated.h +106 -0
  1439. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +1 -1
  1440. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +0 -9
  1441. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +3 -13
  1442. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +14 -0
  1443. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +5 -1
  1444. data/third_party/abseil-cpp/absl/base/internal/tracing.cc +39 -0
  1445. data/third_party/abseil-cpp/absl/base/internal/tracing.h +81 -0
  1446. data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +6 -6
  1447. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +0 -10
  1448. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +17 -0
  1449. data/third_party/abseil-cpp/absl/base/macros.h +35 -4
  1450. data/third_party/abseil-cpp/absl/base/no_destructor.h +11 -32
  1451. data/third_party/abseil-cpp/absl/base/nullability.h +124 -56
  1452. data/third_party/abseil-cpp/absl/base/optimization.h +8 -12
  1453. data/third_party/abseil-cpp/absl/base/options.h +7 -81
  1454. data/third_party/abseil-cpp/absl/base/policy_checks.h +9 -7
  1455. data/third_party/abseil-cpp/absl/cleanup/cleanup.h +1 -3
  1456. data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +3 -4
  1457. data/third_party/abseil-cpp/absl/container/btree_map.h +891 -0
  1458. data/third_party/abseil-cpp/absl/container/btree_set.h +826 -0
  1459. data/third_party/abseil-cpp/absl/container/fixed_array.h +9 -15
  1460. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +22 -3
  1461. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +23 -4
  1462. data/third_party/abseil-cpp/absl/container/inlined_vector.h +10 -6
  1463. data/third_party/abseil-cpp/absl/container/internal/btree.h +3149 -0
  1464. data/third_party/abseil-cpp/absl/container/internal/btree_container.h +867 -0
  1465. data/third_party/abseil-cpp/absl/container/internal/common.h +43 -0
  1466. data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +10 -2
  1467. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +10 -10
  1468. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +1 -8
  1469. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +0 -4
  1470. data/third_party/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +527 -0
  1471. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +20 -4
  1472. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +31 -12
  1473. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +6 -9
  1474. data/third_party/abseil-cpp/absl/container/internal/layout.h +27 -43
  1475. data/third_party/abseil-cpp/absl/container/internal/node_slot_policy.h +95 -0
  1476. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +199 -68
  1477. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +1462 -263
  1478. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1170 -1547
  1479. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl.h +80 -0
  1480. data/third_party/abseil-cpp/absl/container/node_hash_map.h +687 -0
  1481. data/third_party/abseil-cpp/absl/crc/crc32c.cc +0 -4
  1482. data/third_party/abseil-cpp/absl/crc/crc32c.h +7 -5
  1483. data/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc +56 -0
  1484. data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +0 -22
  1485. data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +45 -74
  1486. data/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +21 -7
  1487. data/third_party/abseil-cpp/absl/debugging/internal/addresses.h +57 -0
  1488. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +1 -1
  1489. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +5 -5
  1490. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +12 -37
  1491. data/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.cc +16 -16
  1492. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +1 -1
  1493. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +40 -21
  1494. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +16 -7
  1495. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +7 -0
  1496. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +14 -5
  1497. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +10 -4
  1498. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +27 -16
  1499. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +20 -8
  1500. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +4 -3
  1501. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +15 -28
  1502. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +19 -9
  1503. data/third_party/abseil-cpp/absl/debugging/leak_check.cc +73 -0
  1504. data/third_party/abseil-cpp/absl/debugging/leak_check.h +150 -0
  1505. data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +144 -27
  1506. data/third_party/abseil-cpp/absl/debugging/stacktrace.h +73 -5
  1507. data/third_party/abseil-cpp/absl/debugging/symbolize.cc +3 -2
  1508. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +67 -18
  1509. data/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +3 -2
  1510. data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +25 -6
  1511. data/third_party/abseil-cpp/absl/flags/commandlineflag.cc +1 -0
  1512. data/third_party/abseil-cpp/absl/flags/commandlineflag.h +9 -2
  1513. data/third_party/abseil-cpp/absl/flags/flag.h +18 -15
  1514. data/third_party/abseil-cpp/absl/flags/internal/commandlineflag.h +2 -2
  1515. data/third_party/abseil-cpp/absl/flags/internal/flag.cc +14 -5
  1516. data/third_party/abseil-cpp/absl/flags/internal/flag.h +23 -11
  1517. data/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.cc +4 -0
  1518. data/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.h +3 -0
  1519. data/third_party/abseil-cpp/absl/flags/internal/program_name.cc +13 -12
  1520. data/third_party/abseil-cpp/absl/flags/internal/registry.h +4 -3
  1521. data/third_party/abseil-cpp/absl/flags/reflection.cc +2 -3
  1522. data/third_party/abseil-cpp/absl/flags/usage_config.cc +9 -4
  1523. data/third_party/abseil-cpp/absl/functional/any_invocable.h +8 -10
  1524. data/third_party/abseil-cpp/absl/functional/function_ref.h +2 -9
  1525. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +110 -226
  1526. data/third_party/abseil-cpp/absl/functional/internal/front_binder.h +10 -12
  1527. data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +2 -5
  1528. data/third_party/abseil-cpp/absl/hash/hash.h +44 -2
  1529. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +14 -18
  1530. data/third_party/abseil-cpp/absl/hash/internal/hash.h +257 -127
  1531. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +27 -72
  1532. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h +2 -6
  1533. data/third_party/abseil-cpp/absl/hash/internal/weakly_mixed_integer.h +38 -0
  1534. data/third_party/abseil-cpp/absl/log/absl_vlog_is_on.h +2 -0
  1535. data/third_party/abseil-cpp/absl/log/check.h +2 -1
  1536. data/third_party/abseil-cpp/absl/log/globals.h +4 -5
  1537. data/third_party/abseil-cpp/absl/log/internal/append_truncated.h +28 -0
  1538. data/third_party/abseil-cpp/absl/log/internal/check_op.cc +43 -38
  1539. data/third_party/abseil-cpp/absl/log/internal/check_op.h +124 -99
  1540. data/third_party/abseil-cpp/absl/log/internal/conditions.cc +5 -3
  1541. data/third_party/abseil-cpp/absl/log/internal/conditions.h +7 -2
  1542. data/third_party/abseil-cpp/absl/log/internal/log_message.cc +158 -64
  1543. data/third_party/abseil-cpp/absl/log/internal/log_message.h +140 -83
  1544. data/third_party/abseil-cpp/absl/log/internal/nullstream.h +1 -0
  1545. data/third_party/abseil-cpp/absl/log/internal/proto.cc +3 -5
  1546. data/third_party/abseil-cpp/absl/log/internal/proto.h +28 -18
  1547. data/third_party/abseil-cpp/absl/log/internal/strip.h +4 -12
  1548. data/third_party/abseil-cpp/absl/log/internal/structured_proto.cc +115 -0
  1549. data/third_party/abseil-cpp/absl/log/internal/structured_proto.h +107 -0
  1550. data/third_party/abseil-cpp/absl/log/internal/vlog_config.cc +8 -1
  1551. data/third_party/abseil-cpp/absl/log/internal/vlog_config.h +8 -6
  1552. data/third_party/abseil-cpp/absl/log/internal/voidify.h +10 -4
  1553. data/third_party/abseil-cpp/absl/log/log.h +48 -35
  1554. data/third_party/abseil-cpp/absl/log/log_sink_registry.h +5 -2
  1555. data/third_party/abseil-cpp/absl/log/vlog_is_on.h +2 -0
  1556. data/third_party/abseil-cpp/absl/meta/type_traits.h +62 -181
  1557. data/third_party/abseil-cpp/absl/numeric/bits.h +68 -2
  1558. data/third_party/abseil-cpp/absl/numeric/int128.cc +0 -52
  1559. data/third_party/abseil-cpp/absl/numeric/int128.h +15 -3
  1560. data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +6 -4
  1561. data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +6 -3
  1562. data/third_party/abseil-cpp/absl/numeric/internal/bits.h +7 -3
  1563. data/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc +1 -1
  1564. data/third_party/abseil-cpp/absl/random/bernoulli_distribution.h +3 -1
  1565. data/third_party/abseil-cpp/absl/random/beta_distribution.h +3 -1
  1566. data/third_party/abseil-cpp/absl/random/bit_gen_ref.h +12 -12
  1567. data/third_party/abseil-cpp/absl/random/discrete_distribution.cc +10 -0
  1568. data/third_party/abseil-cpp/absl/random/discrete_distribution.h +4 -2
  1569. data/third_party/abseil-cpp/absl/random/distributions.h +6 -8
  1570. data/third_party/abseil-cpp/absl/random/exponential_distribution.h +1 -0
  1571. data/third_party/abseil-cpp/absl/random/gaussian_distribution.h +3 -2
  1572. data/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +8 -7
  1573. data/third_party/abseil-cpp/absl/random/internal/{pool_urbg.cc → entropy_pool.cc} +22 -90
  1574. data/third_party/abseil-cpp/absl/random/internal/entropy_pool.h +35 -0
  1575. data/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h +5 -2
  1576. data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +5 -6
  1577. data/third_party/abseil-cpp/absl/random/internal/platform.h +12 -12
  1578. data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +57 -6
  1579. data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +2 -1
  1580. data/third_party/abseil-cpp/absl/random/internal/seed_material.cc +20 -12
  1581. data/third_party/abseil-cpp/absl/random/internal/seed_material.h +5 -5
  1582. data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +2 -2
  1583. data/third_party/abseil-cpp/absl/random/internal/wide_multiply.h +0 -1
  1584. data/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h +1 -4
  1585. data/third_party/abseil-cpp/absl/random/poisson_distribution.h +4 -3
  1586. data/third_party/abseil-cpp/absl/random/random.h +88 -53
  1587. data/third_party/abseil-cpp/absl/random/seed_gen_exception.cc +2 -3
  1588. data/third_party/abseil-cpp/absl/random/seed_sequences.cc +6 -2
  1589. data/third_party/abseil-cpp/absl/random/seed_sequences.h +1 -2
  1590. data/third_party/abseil-cpp/absl/random/uniform_int_distribution.h +2 -1
  1591. data/third_party/abseil-cpp/absl/random/uniform_real_distribution.h +2 -0
  1592. data/third_party/abseil-cpp/absl/random/zipf_distribution.h +5 -4
  1593. data/third_party/abseil-cpp/absl/status/internal/status_internal.cc +10 -7
  1594. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +3 -4
  1595. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +4 -3
  1596. data/third_party/abseil-cpp/absl/status/status.cc +4 -8
  1597. data/third_party/abseil-cpp/absl/status/status.h +8 -8
  1598. data/third_party/abseil-cpp/absl/status/status_payload_printer.h +2 -2
  1599. data/third_party/abseil-cpp/absl/status/statusor.cc +2 -2
  1600. data/third_party/abseil-cpp/absl/status/statusor.h +6 -6
  1601. data/third_party/abseil-cpp/absl/strings/ascii.cc +44 -29
  1602. data/third_party/abseil-cpp/absl/strings/ascii.h +62 -22
  1603. data/third_party/abseil-cpp/absl/strings/charconv.cc +25 -29
  1604. data/third_party/abseil-cpp/absl/strings/charconv.h +5 -5
  1605. data/third_party/abseil-cpp/absl/strings/charset.h +3 -4
  1606. data/third_party/abseil-cpp/absl/strings/cord.cc +54 -58
  1607. data/third_party/abseil-cpp/absl/strings/cord.h +99 -102
  1608. data/third_party/abseil-cpp/absl/strings/cord_analysis.cc +11 -11
  1609. data/third_party/abseil-cpp/absl/strings/cord_analysis.h +3 -3
  1610. data/third_party/abseil-cpp/absl/strings/escaping.cc +186 -197
  1611. data/third_party/abseil-cpp/absl/strings/escaping.h +9 -10
  1612. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +1 -1
  1613. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +1 -1
  1614. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +53 -22
  1615. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +0 -4
  1616. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +0 -4
  1617. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +7 -63
  1618. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +1 -11
  1619. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +0 -22
  1620. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +3 -2
  1621. data/third_party/abseil-cpp/absl/strings/internal/str_format/output.cc +5 -3
  1622. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +4 -2
  1623. data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +3 -3
  1624. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +35 -0
  1625. data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +0 -5
  1626. data/third_party/abseil-cpp/absl/strings/internal/utf8.cc +96 -1
  1627. data/third_party/abseil-cpp/absl/strings/internal/utf8.h +15 -1
  1628. data/third_party/abseil-cpp/absl/strings/match.h +21 -11
  1629. data/third_party/abseil-cpp/absl/strings/numbers.cc +55 -33
  1630. data/third_party/abseil-cpp/absl/strings/numbers.h +87 -58
  1631. data/third_party/abseil-cpp/absl/strings/str_cat.cc +6 -7
  1632. data/third_party/abseil-cpp/absl/strings/str_cat.h +41 -30
  1633. data/third_party/abseil-cpp/absl/strings/str_format.h +18 -18
  1634. data/third_party/abseil-cpp/absl/strings/str_replace.cc +3 -3
  1635. data/third_party/abseil-cpp/absl/strings/str_replace.h +6 -6
  1636. data/third_party/abseil-cpp/absl/strings/str_split.h +18 -1
  1637. data/third_party/abseil-cpp/absl/strings/string_view.cc +4 -9
  1638. data/third_party/abseil-cpp/absl/strings/string_view.h +46 -50
  1639. data/third_party/abseil-cpp/absl/strings/strip.h +11 -8
  1640. data/third_party/abseil-cpp/absl/strings/substitute.cc +5 -4
  1641. data/third_party/abseil-cpp/absl/strings/substitute.h +66 -64
  1642. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +16 -10
  1643. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +6 -0
  1644. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +5 -1
  1645. data/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +0 -4
  1646. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +0 -5
  1647. data/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +0 -4
  1648. data/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +0 -4
  1649. data/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +0 -4
  1650. data/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.cc +0 -4
  1651. data/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +0 -4
  1652. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +39 -13
  1653. data/third_party/abseil-cpp/absl/synchronization/mutex.h +97 -69
  1654. data/third_party/abseil-cpp/absl/synchronization/notification.cc +10 -2
  1655. data/third_party/abseil-cpp/absl/synchronization/notification.h +12 -2
  1656. data/third_party/abseil-cpp/absl/time/civil_time.cc +1 -0
  1657. data/third_party/abseil-cpp/absl/time/duration.cc +18 -58
  1658. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +1 -1
  1659. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +1 -1
  1660. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +1 -1
  1661. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +3 -3
  1662. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +2 -2
  1663. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +2 -2
  1664. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +3 -3
  1665. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +2 -2
  1666. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +1 -1
  1667. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +1 -1
  1668. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +92 -112
  1669. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +1 -1
  1670. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +6 -4
  1671. data/third_party/abseil-cpp/absl/time/time.h +89 -23
  1672. data/third_party/abseil-cpp/absl/types/internal/span.h +3 -2
  1673. data/third_party/abseil-cpp/absl/types/optional.h +7 -745
  1674. data/third_party/abseil-cpp/absl/types/span.h +98 -54
  1675. data/third_party/abseil-cpp/absl/types/variant.h +5 -784
  1676. data/third_party/abseil-cpp/absl/utility/utility.h +10 -185
  1677. data/third_party/boringssl-with-bazel/src/crypto/aes/aes.cc +41 -0
  1678. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.cc +29 -55
  1679. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.cc +13 -55
  1680. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.cc +13 -55
  1681. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.cc +13 -55
  1682. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.cc +17 -59
  1683. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.cc +13 -55
  1684. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.cc +28 -55
  1685. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.cc +13 -55
  1686. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.cc +13 -55
  1687. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.cc +13 -55
  1688. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.cc +13 -55
  1689. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.cc +13 -55
  1690. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.cc +41 -76
  1691. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.cc +13 -55
  1692. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.cc +17 -91
  1693. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.cc +13 -55
  1694. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.cc +13 -55
  1695. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.cc +13 -55
  1696. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.cc +13 -55
  1697. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.cc +13 -55
  1698. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +33 -61
  1699. data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.cc +13 -13
  1700. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.cc +92 -103
  1701. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.cc +24 -74
  1702. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.cc +13 -55
  1703. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.cc +13 -55
  1704. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.cc +16 -62
  1705. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.cc +13 -55
  1706. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.cc +13 -55
  1707. data/third_party/boringssl-with-bazel/src/crypto/bcm_support.h +13 -48
  1708. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.cc +13 -55
  1709. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.cc +13 -55
  1710. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.cc +16 -59
  1711. data/third_party/boringssl-with-bazel/src/crypto/bio/errno.cc +13 -55
  1712. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.cc +14 -56
  1713. data/third_party/boringssl-with-bazel/src/crypto/bio/file.cc +14 -56
  1714. data/third_party/boringssl-with-bazel/src/crypto/bio/hexdump.cc +18 -58
  1715. data/third_party/boringssl-with-bazel/src/crypto/bio/internal.h +17 -61
  1716. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.cc +15 -51
  1717. data/third_party/boringssl-with-bazel/src/crypto/bio/printf.cc +17 -60
  1718. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.cc +13 -58
  1719. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.cc +13 -15
  1720. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.cc +13 -13
  1721. data/third_party/boringssl-with-bazel/src/crypto/{bn_extra → bn}/bn_asn1.cc +13 -13
  1722. data/third_party/boringssl-with-bazel/src/crypto/{bn_extra → bn}/convert.cc +44 -102
  1723. data/third_party/boringssl-with-bazel/src/crypto/bn/div.cc +100 -0
  1724. data/third_party/boringssl-with-bazel/src/crypto/bn/exponentiation.cc +166 -0
  1725. data/third_party/boringssl-with-bazel/src/crypto/bn/sqrt.cc +93 -0
  1726. data/third_party/boringssl-with-bazel/src/crypto/buf/buf.cc +14 -57
  1727. data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.cc +13 -13
  1728. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.cc +13 -13
  1729. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.cc +27 -21
  1730. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.cc +24 -16
  1731. data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +16 -16
  1732. data/third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.cc +13 -13
  1733. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.cc +13 -13
  1734. data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +23 -23
  1735. data/third_party/boringssl-with-bazel/src/crypto/cipher/derive_key.cc +108 -0
  1736. data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra → cipher}/e_aesctrhmac.cc +18 -23
  1737. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_aeseax.cc +289 -0
  1738. data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra → cipher}/e_aesgcmsiv.cc +193 -109
  1739. data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra → cipher}/e_chacha20poly1305.cc +13 -13
  1740. data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra → cipher}/e_des.cc +13 -55
  1741. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_null.cc +51 -0
  1742. data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra → cipher}/e_rc2.cc +27 -69
  1743. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_rc4.cc +54 -0
  1744. data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra → cipher}/e_tls.cc +13 -13
  1745. data/third_party/boringssl-with-bazel/src/crypto/cipher/get_cipher.cc +85 -0
  1746. data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra → cipher}/internal.h +32 -72
  1747. data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra → cipher}/tls_cbc.cc +13 -51
  1748. data/third_party/boringssl-with-bazel/src/crypto/cms/cms.cc +172 -0
  1749. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.cc +14 -58
  1750. data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +13 -13
  1751. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.cc +13 -15
  1752. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.cc +13 -15
  1753. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.cc +13 -15
  1754. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.cc +13 -15
  1755. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.cc +13 -15
  1756. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.cc +14 -16
  1757. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.cc +13 -14
  1758. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.cc +41 -19
  1759. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.h +24 -22
  1760. data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.cc +13 -73
  1761. data/third_party/boringssl-with-bazel/src/crypto/crypto.cc +13 -15
  1762. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.cc +13 -13
  1763. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.cc +13 -13
  1764. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +13 -13
  1765. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +17 -17
  1766. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.cc +15 -13
  1767. data/third_party/boringssl-with-bazel/src/crypto/des/des.cc +13 -55
  1768. data/third_party/boringssl-with-bazel/src/crypto/des/internal.h +31 -73
  1769. data/third_party/boringssl-with-bazel/src/crypto/dh/dh_asn1.cc +123 -0
  1770. data/third_party/boringssl-with-bazel/src/crypto/{dh_extra → dh}/params.cc +40 -112
  1771. data/third_party/boringssl-with-bazel/src/crypto/{digest_extra → digest}/digest_extra.cc +29 -63
  1772. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.cc +125 -180
  1773. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.cc +36 -88
  1774. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +17 -17
  1775. data/third_party/boringssl-with-bazel/src/crypto/{ec_extra → ec}/ec_asn1.cc +71 -124
  1776. data/third_party/boringssl-with-bazel/src/crypto/{ec_extra → ec}/ec_derive.cc +13 -13
  1777. data/third_party/boringssl-with-bazel/src/crypto/{ec_extra → ec}/hash_to_curve.cc +74 -82
  1778. data/third_party/boringssl-with-bazel/src/crypto/{ec_extra → ec}/internal.h +16 -16
  1779. data/third_party/boringssl-with-bazel/src/crypto/ecdh/ecdh.cc +73 -0
  1780. data/third_party/boringssl-with-bazel/src/crypto/{ecdsa_extra → ecdsa}/ecdsa_asn1.cc +28 -78
  1781. data/third_party/boringssl-with-bazel/src/crypto/engine/engine.cc +13 -13
  1782. data/third_party/boringssl-with-bazel/src/crypto/err/err.cc +17 -109
  1783. data/third_party/boringssl-with-bazel/src/crypto/err/internal.h +13 -13
  1784. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.cc +29 -79
  1785. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.cc +132 -209
  1786. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.cc +23 -66
  1787. data/third_party/boringssl-with-bazel/src/crypto/evp/internal.h +17 -59
  1788. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh.cc +15 -8
  1789. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.cc +13 -8
  1790. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.cc +62 -116
  1791. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.cc +13 -54
  1792. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.cc +26 -72
  1793. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.cc +13 -13
  1794. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.cc +19 -19
  1795. data/third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.cc +13 -13
  1796. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.cc +19 -57
  1797. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.cc +19 -60
  1798. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.cc +13 -13
  1799. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.cc +19 -19
  1800. data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.cc +29 -77
  1801. data/third_party/boringssl-with-bazel/src/crypto/evp/print.cc +13 -51
  1802. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.cc +13 -8
  1803. data/third_party/boringssl-with-bazel/src/crypto/evp/sign.cc +36 -97
  1804. data/third_party/boringssl-with-bazel/src/crypto/ex_data.cc +13 -107
  1805. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.cc.inc +141 -66
  1806. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.cc.inc +13 -13
  1807. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/{modes → aes}/cbc.cc.inc +13 -47
  1808. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/{modes → aes}/cfb.cc.inc +13 -47
  1809. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/ctr.cc.inc +100 -0
  1810. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/{modes → aes}/gcm.cc.inc +133 -320
  1811. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/{modes → aes}/gcm_nohw.cc.inc +13 -13
  1812. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +396 -72
  1813. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.cc.inc +18 -51
  1814. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.cc.inc +28 -59
  1815. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/ofb.cc.inc +53 -0
  1816. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.cc +30 -22
  1817. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm_interface.h +601 -18
  1818. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/add.cc.inc +13 -55
  1819. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +15 -2
  1820. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.cc.inc +13 -55
  1821. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.cc.inc +13 -55
  1822. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.cc.inc +13 -55
  1823. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.cc.inc +16 -57
  1824. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.cc.inc +109 -242
  1825. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.cc.inc +13 -13
  1826. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.cc.inc +37 -618
  1827. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.cc.inc +71 -187
  1828. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.cc.inc +42 -58
  1829. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/generic.cc.inc +13 -55
  1830. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +53 -160
  1831. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/jacobi.cc.inc +20 -67
  1832. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.cc.inc +41 -157
  1833. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.cc.inc +13 -13
  1834. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.cc.inc +47 -89
  1835. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.cc.inc +115 -261
  1836. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.cc.inc +13 -107
  1837. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.cc.inc +18 -13
  1838. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.h +24 -21
  1839. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.cc.inc +16 -63
  1840. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.cc.inc +14 -131
  1841. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.cc.inc +13 -13
  1842. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.cc.inc +14 -56
  1843. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.cc.inc +79 -300
  1844. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aesccm.cc.inc +21 -58
  1845. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h +18 -69
  1846. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/cmac.cc.inc +13 -47
  1847. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +28 -21
  1848. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.cc.inc +53 -108
  1849. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.cc.inc +70 -131
  1850. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +13 -13
  1851. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.cc.inc +17 -65
  1852. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.cc.inc +13 -55
  1853. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/internal.h +17 -59
  1854. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +17 -51
  1855. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/digestsign.cc.inc +13 -54
  1856. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/builtin_curves.h +91 -91
  1857. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.cc.inc +51 -118
  1858. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.cc.inc +27 -92
  1859. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.cc.inc +14 -66
  1860. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.cc.inc +13 -13
  1861. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +23 -70
  1862. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.cc.inc +42 -105
  1863. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.cc.inc +13 -13
  1864. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz-table.h +15 -10
  1865. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.cc.inc +22 -17
  1866. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.h +26 -21
  1867. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.cc.inc +13 -13
  1868. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +13 -13
  1869. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.cc.inc +21 -15
  1870. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.cc.inc +20 -77
  1871. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.cc.inc +13 -13
  1872. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.cc.inc +13 -13
  1873. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.cc.inc +14 -66
  1874. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.cc.inc +14 -65
  1875. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +13 -51
  1876. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +13 -13
  1877. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.cc +13 -13
  1878. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.cc.inc +13 -13
  1879. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.cc.inc +13 -55
  1880. data/third_party/boringssl-with-bazel/src/crypto/{keccak → fipsmodule/keccak}/internal.h +16 -16
  1881. data/third_party/boringssl-with-bazel/src/crypto/{keccak/keccak.cc → fipsmodule/keccak/keccak.cc.inc} +14 -14
  1882. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mldsa/fips_known_values.inc +1345 -0
  1883. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mldsa/mldsa.cc.inc +2300 -0
  1884. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mlkem/fips_known_values.inc +411 -0
  1885. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mlkem/mlkem.cc.inc +1397 -0
  1886. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.cc.inc +18 -25
  1887. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +22 -28
  1888. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.cc.inc +16 -14
  1889. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.cc.inc +14 -109
  1890. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +17 -60
  1891. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.cc.inc +32 -80
  1892. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.cc.inc +25 -84
  1893. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.cc.inc +152 -221
  1894. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.cc.inc +13 -13
  1895. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.cc.inc +109 -96
  1896. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h +38 -38
  1897. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +13 -13
  1898. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +53 -77
  1899. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.cc.inc +13 -55
  1900. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.cc.inc +13 -55
  1901. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.cc.inc +13 -55
  1902. data/third_party/boringssl-with-bazel/src/crypto/{slhdsa → fipsmodule/slhdsa}/address.h +28 -32
  1903. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/fips_known_values.inc +674 -0
  1904. data/third_party/boringssl-with-bazel/src/crypto/{slhdsa/fors.cc → fipsmodule/slhdsa/fors.cc.inc} +44 -44
  1905. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/fors.h +58 -0
  1906. data/third_party/boringssl-with-bazel/src/crypto/{slhdsa/merkle.cc → fipsmodule/slhdsa/merkle.cc.inc} +46 -46
  1907. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/merkle.h +70 -0
  1908. data/third_party/boringssl-with-bazel/src/crypto/{slhdsa → fipsmodule/slhdsa}/params.h +20 -25
  1909. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +504 -0
  1910. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/thash.cc.inc +173 -0
  1911. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/thash.h +85 -0
  1912. data/third_party/boringssl-with-bazel/src/crypto/{slhdsa/wots.cc → fipsmodule/slhdsa/wots.cc.inc} +46 -46
  1913. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/wots.h +50 -0
  1914. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +13 -13
  1915. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.cc.inc +13 -51
  1916. data/third_party/boringssl-with-bazel/src/crypto/fuzzer_mode.cc +30 -0
  1917. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.cc +13 -13
  1918. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.cc +21 -13
  1919. data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +16 -16
  1920. data/third_party/boringssl-with-bazel/src/crypto/internal.h +116 -233
  1921. data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +13 -13
  1922. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.cc +52 -28
  1923. data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +34 -78
  1924. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.cc +13 -55
  1925. data/third_party/boringssl-with-bazel/src/crypto/md4/md4.cc +13 -55
  1926. data/third_party/boringssl-with-bazel/src/crypto/md5/internal.h +17 -17
  1927. data/third_party/boringssl-with-bazel/src/crypto/md5/md5.cc +13 -55
  1928. data/third_party/boringssl-with-bazel/src/crypto/mem.cc +13 -57
  1929. data/third_party/boringssl-with-bazel/src/crypto/mldsa/mldsa.cc +47 -1747
  1930. data/third_party/boringssl-with-bazel/src/crypto/mlkem/mlkem.cc +97 -1042
  1931. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.cc +15 -63
  1932. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +14 -56
  1933. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_xref.cc +13 -55
  1934. data/third_party/boringssl-with-bazel/src/crypto/pem/internal.h +44 -0
  1935. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.cc +13 -107
  1936. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.cc +18 -58
  1937. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.cc +63 -115
  1938. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.cc +13 -55
  1939. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.cc +13 -55
  1940. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.cc +13 -55
  1941. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.cc +13 -55
  1942. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.cc +13 -55
  1943. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +36 -22
  1944. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.cc +32 -30
  1945. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.cc +149 -149
  1946. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +28 -63
  1947. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.cc +38 -75
  1948. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.cc +49 -106
  1949. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.cc +110 -133
  1950. data/third_party/boringssl-with-bazel/src/crypto/poly1305/internal.h +17 -17
  1951. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.cc +13 -13
  1952. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.cc +13 -13
  1953. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.cc +13 -13
  1954. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +17 -17
  1955. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.cc +13 -13
  1956. data/third_party/boringssl-with-bazel/src/crypto/{rand_extra → rand}/deterministic.cc +14 -14
  1957. data/third_party/boringssl-with-bazel/src/crypto/{rand_extra → rand}/fork_detect.cc +15 -15
  1958. data/third_party/boringssl-with-bazel/src/crypto/rand/forkunsafe.cc +44 -0
  1959. data/third_party/boringssl-with-bazel/src/crypto/{rand_extra → rand}/getentropy.cc +14 -14
  1960. data/third_party/boringssl-with-bazel/src/crypto/{rand_extra → rand}/getrandom_fillin.h +13 -13
  1961. data/third_party/boringssl-with-bazel/src/crypto/rand/internal.h +55 -0
  1962. data/third_party/boringssl-with-bazel/src/crypto/rand/ios.cc +42 -0
  1963. data/third_party/boringssl-with-bazel/src/crypto/{rand_extra → rand}/passive.cc +13 -13
  1964. data/third_party/boringssl-with-bazel/src/crypto/{rand_extra/rand_extra.cc → rand/rand.cc} +13 -13
  1965. data/third_party/boringssl-with-bazel/src/crypto/rand/trusty.cc +46 -0
  1966. data/third_party/boringssl-with-bazel/src/crypto/{rand_extra → rand}/urandom.cc +14 -14
  1967. data/third_party/boringssl-with-bazel/src/crypto/{rand_extra → rand}/windows.cc +14 -18
  1968. data/third_party/boringssl-with-bazel/src/crypto/rc4/rc4.cc +13 -55
  1969. data/third_party/boringssl-with-bazel/src/crypto/refcount.cc +13 -13
  1970. data/third_party/boringssl-with-bazel/src/crypto/rsa/internal.h +36 -0
  1971. data/third_party/boringssl-with-bazel/src/crypto/{rsa_extra → rsa}/rsa_asn1.cc +13 -54
  1972. data/third_party/boringssl-with-bazel/src/crypto/{rsa_extra → rsa}/rsa_crypt.cc +27 -77
  1973. data/third_party/{abseil-cpp/absl/strings/cord_buffer.cc → boringssl-with-bazel/src/crypto/rsa/rsa_extra.cc} +4 -15
  1974. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_print.cc +27 -0
  1975. data/third_party/boringssl-with-bazel/src/crypto/sha/sha1.cc +13 -13
  1976. data/third_party/boringssl-with-bazel/src/crypto/sha/sha256.cc +13 -13
  1977. data/third_party/boringssl-with-bazel/src/crypto/sha/sha512.cc +13 -13
  1978. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.cc +13 -13
  1979. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/slhdsa.cc +62 -256
  1980. data/third_party/boringssl-with-bazel/src/crypto/spake2plus/internal.h +204 -0
  1981. data/third_party/boringssl-with-bazel/src/crypto/spake2plus/spake2plus.cc +501 -0
  1982. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.cc +13 -55
  1983. data/third_party/boringssl-with-bazel/src/crypto/thread.cc +13 -55
  1984. data/third_party/boringssl-with-bazel/src/crypto/thread_none.cc +13 -13
  1985. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.cc +13 -13
  1986. data/third_party/boringssl-with-bazel/src/crypto/thread_win.cc +13 -15
  1987. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +17 -17
  1988. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.cc +14 -14
  1989. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.cc +14 -14
  1990. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.cc +14 -14
  1991. data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.cc +13 -55
  1992. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.cc +16 -60
  1993. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.cc +13 -55
  1994. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.cc +13 -55
  1995. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.cc +22 -68
  1996. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.cc +25 -71
  1997. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.cc +13 -55
  1998. data/third_party/boringssl-with-bazel/src/crypto/x509/ext_dat.h +13 -55
  1999. data/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.cc +13 -55
  2000. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +29 -61
  2001. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.cc +13 -55
  2002. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.cc +13 -13
  2003. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.cc +13 -54
  2004. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.cc +13 -55
  2005. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.cc +13 -55
  2006. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.cc +13 -55
  2007. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.cc +13 -55
  2008. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akey.cc +13 -55
  2009. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akeya.cc +13 -55
  2010. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_alt.cc +13 -54
  2011. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bcons.cc +13 -55
  2012. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bitst.cc +13 -55
  2013. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_conf.cc +29 -79
  2014. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_cpols.cc +13 -57
  2015. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_crld.cc +13 -55
  2016. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_enum.cc +13 -55
  2017. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_extku.cc +13 -55
  2018. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_genn.cc +13 -55
  2019. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ia5.cc +13 -57
  2020. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_info.cc +35 -87
  2021. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_int.cc +13 -55
  2022. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_lib.cc +14 -57
  2023. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ncons.cc +13 -54
  2024. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ocsp.cc +13 -8
  2025. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pcons.cc +13 -54
  2026. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pmaps.cc +13 -54
  2027. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_prn.cc +13 -55
  2028. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_purp.cc +13 -55
  2029. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_skey.cc +13 -55
  2030. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.cc +17 -70
  2031. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.cc +13 -55
  2032. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.cc +13 -55
  2033. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.cc +13 -55
  2034. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.cc +13 -55
  2035. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.cc +13 -55
  2036. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.cc +13 -55
  2037. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.cc +14 -60
  2038. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.cc +13 -55
  2039. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.cc +13 -55
  2040. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.cc +13 -55
  2041. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.cc +13 -55
  2042. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.cc +13 -55
  2043. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.cc +13 -55
  2044. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.cc +23 -58
  2045. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.cc +13 -55
  2046. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.cc +13 -55
  2047. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.cc +13 -55
  2048. data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.cc +13 -55
  2049. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.cc +13 -55
  2050. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.cc +22 -55
  2051. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.cc +13 -55
  2052. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.cc +13 -55
  2053. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.cc +13 -55
  2054. data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.cc +13 -55
  2055. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.cc +23 -56
  2056. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.cc +13 -55
  2057. data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.cc +13 -55
  2058. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.cc +13 -55
  2059. data/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.cc +13 -58
  2060. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.cc +13 -55
  2061. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.cc +77 -140
  2062. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.cc +29 -87
  2063. data/third_party/boringssl-with-bazel/src/gen/crypto/err_data.cc +597 -574
  2064. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +29 -21
  2065. data/third_party/boringssl-with-bazel/src/include/openssl/aes.h +14 -48
  2066. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +16 -76
  2067. data/third_party/boringssl-with-bazel/src/include/openssl/asm_base.h +14 -14
  2068. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +29 -116
  2069. data/third_party/boringssl-with-bazel/src/include/openssl/asn1_mac.h +13 -13
  2070. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +15 -57
  2071. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +22 -56
  2072. data/third_party/boringssl-with-bazel/src/include/openssl/base64.h +14 -56
  2073. data/third_party/boringssl-with-bazel/src/include/openssl/bcm_public.h +14 -14
  2074. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +14 -56
  2075. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +14 -14
  2076. data/third_party/boringssl-with-bazel/src/include/openssl/blowfish.h +14 -56
  2077. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +15 -122
  2078. data/third_party/boringssl-with-bazel/src/include/openssl/buf.h +14 -56
  2079. data/third_party/boringssl-with-bazel/src/include/openssl/buffer.h +13 -13
  2080. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +38 -17
  2081. data/third_party/boringssl-with-bazel/src/include/openssl/cast.h +14 -56
  2082. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +14 -14
  2083. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +32 -60
  2084. data/third_party/boringssl-with-bazel/src/include/openssl/cmac.h +14 -14
  2085. data/third_party/boringssl-with-bazel/src/include/openssl/cms.h +146 -0
  2086. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +14 -56
  2087. data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +13 -13
  2088. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +36 -16
  2089. data/third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h +14 -14
  2090. data/third_party/boringssl-with-bazel/src/include/openssl/curve25519.h +14 -14
  2091. data/third_party/boringssl-with-bazel/src/include/openssl/des.h +14 -56
  2092. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +14 -56
  2093. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +32 -62
  2094. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +14 -59
  2095. data/third_party/boringssl-with-bazel/src/include/openssl/dtls1.h +13 -13
  2096. data/third_party/boringssl-with-bazel/src/include/openssl/e_os2.h +14 -14
  2097. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +15 -67
  2098. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +15 -72
  2099. data/third_party/boringssl-with-bazel/src/include/openssl/ecdh.h +15 -66
  2100. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +14 -52
  2101. data/third_party/boringssl-with-bazel/src/include/openssl/engine.h +14 -14
  2102. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +15 -108
  2103. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +14 -56
  2104. data/third_party/boringssl-with-bazel/src/include/openssl/evp_errors.h +13 -55
  2105. data/third_party/boringssl-with-bazel/src/include/openssl/ex_data.h +14 -108
  2106. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/kyber.h +14 -14
  2107. data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +14 -14
  2108. data/third_party/boringssl-with-bazel/src/include/openssl/hmac.h +14 -56
  2109. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +18 -18
  2110. data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +14 -14
  2111. data/third_party/boringssl-with-bazel/src/include/openssl/is_boringssl.h +13 -13
  2112. data/third_party/boringssl-with-bazel/src/include/openssl/kdf.h +14 -14
  2113. data/third_party/boringssl-with-bazel/src/include/openssl/lhash.h +14 -56
  2114. data/third_party/boringssl-with-bazel/src/include/openssl/md4.h +14 -56
  2115. data/third_party/boringssl-with-bazel/src/include/openssl/md5.h +14 -56
  2116. data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +14 -56
  2117. data/third_party/boringssl-with-bazel/src/include/openssl/mldsa.h +14 -20
  2118. data/third_party/boringssl-with-bazel/src/include/openssl/mlkem.h +14 -38
  2119. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +28 -70
  2120. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +14 -56
  2121. data/third_party/boringssl-with-bazel/src/include/openssl/obj_mac.h +14 -14
  2122. data/third_party/boringssl-with-bazel/src/include/openssl/objects.h +13 -13
  2123. data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +23 -17
  2124. data/third_party/boringssl-with-bazel/src/include/openssl/opensslv.h +13 -13
  2125. data/third_party/boringssl-with-bazel/src/include/openssl/ossl_typ.h +13 -13
  2126. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +22 -60
  2127. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs12.h +13 -13
  2128. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +14 -14
  2129. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +32 -61
  2130. data/third_party/boringssl-with-bazel/src/include/openssl/poly1305.h +14 -14
  2131. data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +14 -14
  2132. data/third_party/boringssl-with-bazel/src/include/openssl/posix_time.h +14 -14
  2133. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +15 -15
  2134. data/third_party/boringssl-with-bazel/src/include/openssl/rc4.h +14 -56
  2135. data/third_party/boringssl-with-bazel/src/include/openssl/ripemd.h +14 -56
  2136. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +15 -60
  2137. data/third_party/boringssl-with-bazel/src/include/openssl/safestack.h +13 -13
  2138. data/third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h +14 -14
  2139. data/third_party/boringssl-with-bazel/src/include/openssl/sha.h +14 -56
  2140. data/third_party/boringssl-with-bazel/src/include/openssl/siphash.h +14 -14
  2141. data/third_party/boringssl-with-bazel/src/include/openssl/slhdsa.h +55 -14
  2142. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +20 -33
  2143. data/third_party/boringssl-with-bazel/src/include/openssl/srtp.h +13 -13
  2144. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +486 -211
  2145. data/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h +14 -114
  2146. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +14 -56
  2147. data/third_party/boringssl-with-bazel/src/include/openssl/target.h +23 -18
  2148. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +14 -56
  2149. data/third_party/boringssl-with-bazel/src/include/openssl/time.h +13 -13
  2150. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +36 -157
  2151. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +16 -16
  2152. data/third_party/boringssl-with-bazel/src/include/openssl/type_check.h +14 -56
  2153. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +21 -65
  2154. data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +13 -13
  2155. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +13 -13
  2156. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3_errors.h +13 -53
  2157. data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +13 -8
  2158. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +15 -114
  2159. data/third_party/boringssl-with-bazel/src/ssl/d1_lib.cc +13 -55
  2160. data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +13 -110
  2161. data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +17 -115
  2162. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +15 -55
  2163. data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +48 -141
  2164. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +81 -83
  2165. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +562 -181
  2166. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +31 -28
  2167. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +30 -128
  2168. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +58 -176
  2169. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +51 -190
  2170. data/third_party/boringssl-with-bazel/src/ssl/internal.h +210 -250
  2171. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +22 -120
  2172. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +16 -148
  2173. data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +16 -110
  2174. data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +22 -28
  2175. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +32 -85
  2176. data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +15 -20
  2177. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +14 -113
  2178. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +19 -145
  2179. data/third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc +248 -44
  2180. data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +13 -109
  2181. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +16 -18
  2182. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +223 -202
  2183. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +28 -85
  2184. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +53 -159
  2185. data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +14 -82
  2186. data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +20 -143
  2187. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +15 -15
  2188. data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +15 -139
  2189. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +29 -157
  2190. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +47 -23
  2191. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +105 -45
  2192. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +75 -91
  2193. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +168 -64
  2194. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +13 -55
  2195. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +17 -114
  2196. data/third_party/cares/cares/include/ares.h +925 -460
  2197. data/third_party/cares/cares/include/ares_dns.h +86 -71
  2198. data/third_party/cares/cares/include/ares_dns_record.h +1118 -0
  2199. data/third_party/cares/cares/include/ares_nameser.h +215 -189
  2200. data/third_party/cares/cares/include/ares_version.h +37 -14
  2201. data/third_party/cares/cares/src/lib/ares_addrinfo2hostent.c +305 -0
  2202. data/third_party/cares/cares/src/lib/ares_addrinfo_localhost.c +245 -0
  2203. data/third_party/cares/cares/src/lib/ares_android.c +216 -164
  2204. data/third_party/cares/cares/src/lib/ares_android.h +25 -14
  2205. data/third_party/cares/cares/src/lib/ares_cancel.c +68 -44
  2206. data/third_party/cares/cares/src/lib/ares_close_sockets.c +137 -0
  2207. data/third_party/cares/cares/src/lib/ares_conn.c +511 -0
  2208. data/third_party/cares/cares/src/lib/ares_conn.h +196 -0
  2209. data/third_party/cares/cares/src/lib/ares_cookie.c +461 -0
  2210. data/third_party/cares/cares/src/lib/ares_data.c +93 -181
  2211. data/third_party/cares/cares/src/lib/ares_data.h +50 -39
  2212. data/third_party/cares/cares/src/lib/ares_destroy.c +127 -89
  2213. data/third_party/cares/cares/src/lib/ares_free_hostent.c +35 -24
  2214. data/third_party/cares/cares/src/lib/ares_free_string.c +24 -16
  2215. data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +45 -38
  2216. data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +549 -663
  2217. data/third_party/cares/cares/src/lib/ares_getenv.c +25 -15
  2218. data/third_party/cares/cares/src/lib/ares_getenv.h +26 -18
  2219. data/third_party/cares/cares/src/lib/ares_gethostbyaddr.c +163 -221
  2220. data/third_party/cares/cares/src/lib/ares_gethostbyname.c +222 -223
  2221. data/third_party/cares/cares/src/lib/ares_getnameinfo.c +328 -338
  2222. data/third_party/cares/cares/src/lib/ares_hosts_file.c +952 -0
  2223. data/third_party/cares/cares/src/lib/ares_inet_net_pton.h +25 -19
  2224. data/third_party/cares/cares/src/lib/ares_init.c +425 -2091
  2225. data/third_party/cares/cares/src/lib/ares_ipv6.h +63 -33
  2226. data/third_party/cares/cares/src/lib/ares_library_init.c +110 -54
  2227. data/third_party/cares/cares/src/lib/ares_metrics.c +261 -0
  2228. data/third_party/cares/cares/src/lib/ares_options.c +418 -332
  2229. data/third_party/cares/cares/src/lib/ares_parse_into_addrinfo.c +179 -0
  2230. data/third_party/cares/cares/src/lib/ares_private.h +558 -356
  2231. data/third_party/cares/cares/src/lib/ares_process.c +1224 -1369
  2232. data/third_party/cares/cares/src/lib/ares_qcache.c +430 -0
  2233. data/third_party/cares/cares/src/lib/ares_query.c +126 -121
  2234. data/third_party/cares/cares/src/lib/ares_search.c +564 -262
  2235. data/third_party/cares/cares/src/lib/ares_send.c +264 -93
  2236. data/third_party/cares/cares/src/lib/ares_set_socket_functions.c +588 -0
  2237. data/third_party/cares/cares/src/lib/ares_setup.h +115 -111
  2238. data/third_party/cares/cares/src/lib/ares_socket.c +425 -0
  2239. data/third_party/cares/cares/src/lib/ares_socket.h +163 -0
  2240. data/third_party/cares/cares/src/lib/ares_sortaddrinfo.c +447 -0
  2241. data/third_party/cares/cares/src/lib/ares_strerror.c +83 -48
  2242. data/third_party/cares/cares/src/lib/ares_sysconfig.c +639 -0
  2243. data/third_party/cares/cares/src/lib/ares_sysconfig_files.c +839 -0
  2244. data/third_party/cares/cares/src/lib/ares_sysconfig_mac.c +373 -0
  2245. data/third_party/cares/cares/src/lib/ares_sysconfig_win.c +621 -0
  2246. data/third_party/cares/cares/src/lib/ares_timeout.c +136 -73
  2247. data/third_party/cares/cares/src/lib/ares_update_servers.c +1362 -0
  2248. data/third_party/cares/cares/src/lib/ares_version.c +29 -4
  2249. data/third_party/cares/cares/src/lib/config-dos.h +88 -89
  2250. data/third_party/cares/cares/src/lib/config-win32.h +122 -77
  2251. data/third_party/cares/cares/src/lib/dsa/ares_array.c +394 -0
  2252. data/third_party/cares/cares/src/lib/dsa/ares_htable.c +447 -0
  2253. data/third_party/cares/cares/src/lib/dsa/ares_htable.h +174 -0
  2254. data/third_party/cares/cares/src/lib/dsa/ares_htable_asvp.c +224 -0
  2255. data/third_party/cares/cares/src/lib/dsa/ares_htable_dict.c +228 -0
  2256. data/third_party/cares/cares/src/lib/dsa/ares_htable_strvp.c +210 -0
  2257. data/third_party/cares/cares/src/lib/dsa/ares_htable_szvp.c +188 -0
  2258. data/third_party/cares/cares/src/lib/dsa/ares_htable_vpstr.c +186 -0
  2259. data/third_party/cares/cares/src/lib/dsa/ares_htable_vpvp.c +194 -0
  2260. data/third_party/cares/cares/src/lib/dsa/ares_llist.c +382 -0
  2261. data/third_party/cares/cares/src/lib/dsa/ares_slist.c +479 -0
  2262. data/third_party/cares/cares/src/lib/dsa/ares_slist.h +207 -0
  2263. data/third_party/cares/cares/src/lib/event/ares_event.h +191 -0
  2264. data/third_party/cares/cares/src/lib/event/ares_event_configchg.c +743 -0
  2265. data/third_party/cares/cares/src/lib/event/ares_event_epoll.c +192 -0
  2266. data/third_party/cares/cares/src/lib/event/ares_event_kqueue.c +248 -0
  2267. data/third_party/cares/cares/src/lib/event/ares_event_poll.c +140 -0
  2268. data/third_party/cares/cares/src/lib/event/ares_event_select.c +159 -0
  2269. data/third_party/cares/cares/src/lib/event/ares_event_thread.c +567 -0
  2270. data/third_party/cares/cares/src/lib/event/ares_event_wake_pipe.c +166 -0
  2271. data/third_party/cares/cares/src/lib/event/ares_event_win32.c +978 -0
  2272. data/third_party/cares/cares/src/lib/event/ares_event_win32.h +161 -0
  2273. data/third_party/cares/cares/src/lib/include/ares_array.h +276 -0
  2274. data/third_party/cares/cares/src/lib/include/ares_buf.h +732 -0
  2275. data/third_party/cares/cares/src/lib/include/ares_htable_asvp.h +130 -0
  2276. data/third_party/cares/cares/src/lib/include/ares_htable_dict.h +123 -0
  2277. data/third_party/cares/cares/src/lib/include/ares_htable_strvp.h +130 -0
  2278. data/third_party/cares/cares/src/lib/include/ares_htable_szvp.h +118 -0
  2279. data/third_party/cares/cares/src/lib/include/ares_htable_vpstr.h +111 -0
  2280. data/third_party/cares/cares/src/lib/include/ares_htable_vpvp.h +128 -0
  2281. data/third_party/cares/cares/src/lib/include/ares_llist.h +239 -0
  2282. data/third_party/cares/cares/src/lib/include/ares_mem.h +38 -0
  2283. data/third_party/cares/cares/src/lib/include/ares_str.h +244 -0
  2284. data/third_party/cares/cares/src/lib/inet_net_pton.c +202 -157
  2285. data/third_party/cares/cares/src/lib/inet_ntop.c +87 -69
  2286. data/third_party/cares/cares/src/lib/legacy/ares_create_query.c +78 -0
  2287. data/third_party/cares/cares/src/lib/legacy/ares_expand_name.c +99 -0
  2288. data/third_party/cares/cares/src/lib/legacy/ares_expand_string.c +107 -0
  2289. data/third_party/cares/cares/src/lib/legacy/ares_fds.c +80 -0
  2290. data/third_party/cares/cares/src/lib/legacy/ares_getsock.c +85 -0
  2291. data/third_party/cares/cares/src/lib/legacy/ares_parse_a_reply.c +107 -0
  2292. data/third_party/cares/cares/src/lib/legacy/ares_parse_aaaa_reply.c +109 -0
  2293. data/third_party/cares/cares/src/lib/legacy/ares_parse_caa_reply.c +137 -0
  2294. data/third_party/cares/cares/src/lib/legacy/ares_parse_mx_reply.c +110 -0
  2295. data/third_party/cares/cares/src/lib/legacy/ares_parse_naptr_reply.c +132 -0
  2296. data/third_party/cares/cares/src/lib/legacy/ares_parse_ns_reply.c +154 -0
  2297. data/third_party/cares/cares/src/lib/legacy/ares_parse_ptr_reply.c +213 -0
  2298. data/third_party/cares/cares/src/lib/legacy/ares_parse_soa_reply.c +115 -0
  2299. data/third_party/cares/cares/src/lib/legacy/ares_parse_srv_reply.c +114 -0
  2300. data/third_party/cares/cares/src/lib/legacy/ares_parse_txt_reply.c +144 -0
  2301. data/third_party/cares/cares/src/lib/legacy/ares_parse_uri_reply.c +113 -0
  2302. data/third_party/cares/cares/src/lib/record/ares_dns_mapping.c +982 -0
  2303. data/third_party/cares/cares/src/lib/record/ares_dns_multistring.c +307 -0
  2304. data/third_party/cares/cares/src/lib/record/ares_dns_multistring.h +72 -0
  2305. data/third_party/cares/cares/src/lib/record/ares_dns_name.c +673 -0
  2306. data/third_party/cares/cares/src/lib/record/ares_dns_parse.c +1329 -0
  2307. data/third_party/cares/cares/src/lib/record/ares_dns_private.h +273 -0
  2308. data/third_party/cares/cares/src/lib/record/ares_dns_record.c +1661 -0
  2309. data/third_party/cares/cares/src/lib/record/ares_dns_write.c +1229 -0
  2310. data/third_party/cares/cares/src/lib/str/ares_buf.c +1498 -0
  2311. data/third_party/cares/cares/src/lib/str/ares_str.c +508 -0
  2312. data/third_party/cares/cares/src/lib/str/ares_strsplit.c +90 -0
  2313. data/third_party/cares/cares/src/lib/str/ares_strsplit.h +51 -0
  2314. data/third_party/cares/cares/src/lib/thirdparty/apple/dnsinfo.h +122 -0
  2315. data/third_party/cares/cares/src/lib/util/ares_iface_ips.c +628 -0
  2316. data/third_party/cares/cares/src/lib/util/ares_iface_ips.h +139 -0
  2317. data/third_party/cares/cares/src/lib/util/ares_math.c +158 -0
  2318. data/third_party/cares/cares/src/lib/util/ares_math.h +45 -0
  2319. data/third_party/cares/cares/src/lib/util/ares_rand.c +389 -0
  2320. data/third_party/cares/cares/src/lib/util/ares_rand.h +36 -0
  2321. data/third_party/cares/cares/src/lib/util/ares_threads.c +614 -0
  2322. data/third_party/cares/cares/src/lib/util/ares_threads.h +60 -0
  2323. data/third_party/cares/cares/src/lib/util/ares_time.h +48 -0
  2324. data/third_party/cares/cares/src/lib/util/ares_timeval.c +95 -0
  2325. data/third_party/cares/cares/src/lib/util/ares_uri.c +1626 -0
  2326. data/third_party/cares/cares/src/lib/util/ares_uri.h +252 -0
  2327. data/third_party/cares/cares/src/lib/windows_port.c +16 -9
  2328. data/third_party/upb/upb/base/internal/log2.h +3 -1
  2329. data/third_party/upb/upb/base/string_view.h +10 -0
  2330. data/third_party/upb/upb/hash/common.c +312 -187
  2331. data/third_party/upb/upb/hash/common.h +44 -43
  2332. data/third_party/upb/upb/hash/int_table.h +29 -5
  2333. data/third_party/upb/upb/hash/str_table.h +6 -0
  2334. data/third_party/upb/upb/json/decode.c +2 -2
  2335. data/third_party/upb/upb/json/decode.h +0 -1
  2336. data/third_party/upb/upb/mem/alloc.h +5 -0
  2337. data/third_party/upb/upb/mem/arena.c +437 -160
  2338. data/third_party/upb/upb/mem/arena.h +57 -11
  2339. data/third_party/upb/upb/mem/arena.hpp +4 -20
  2340. data/third_party/upb/upb/mem/internal/arena.h +65 -29
  2341. data/third_party/upb/upb/message/accessors.c +1 -5
  2342. data/third_party/upb/upb/message/accessors.h +41 -0
  2343. data/third_party/upb/upb/message/array.c +7 -6
  2344. data/third_party/upb/upb/message/array.h +4 -4
  2345. data/third_party/upb/upb/message/compat.c +11 -14
  2346. data/third_party/upb/upb/message/compat.h +4 -3
  2347. data/third_party/upb/upb/message/copy.c +35 -30
  2348. data/third_party/upb/upb/message/internal/accessors.h +142 -13
  2349. data/third_party/upb/upb/message/internal/extension.c +16 -25
  2350. data/third_party/upb/upb/message/internal/extension.h +17 -5
  2351. data/third_party/upb/upb/message/internal/iterator.c +58 -0
  2352. data/third_party/upb/upb/message/internal/iterator.h +29 -0
  2353. data/third_party/upb/upb/message/internal/map.h +76 -22
  2354. data/third_party/upb/upb/message/internal/map_sorter.h +13 -4
  2355. data/third_party/upb/upb/message/internal/message.c +48 -29
  2356. data/third_party/upb/upb/message/internal/message.h +203 -25
  2357. data/third_party/upb/upb/message/map.c +68 -20
  2358. data/third_party/upb/upb/message/map.h +8 -1
  2359. data/third_party/upb/upb/message/map_gencode_util.h +3 -45
  2360. data/third_party/upb/upb/message/map_sorter.c +52 -16
  2361. data/third_party/upb/upb/message/merge.h +3 -3
  2362. data/third_party/upb/upb/message/message.c +200 -42
  2363. data/third_party/upb/upb/message/message.h +69 -4
  2364. data/third_party/upb/upb/message/value.h +9 -0
  2365. data/third_party/upb/upb/mini_descriptor/build_enum.c +16 -6
  2366. data/third_party/upb/upb/mini_descriptor/decode.c +115 -138
  2367. data/third_party/upb/upb/mini_descriptor/decode.h +4 -3
  2368. data/third_party/upb/upb/mini_descriptor/internal/encode.hpp +1 -1
  2369. data/third_party/upb/upb/mini_descriptor/link.c +4 -0
  2370. data/third_party/upb/upb/mini_table/extension.h +8 -1
  2371. data/third_party/upb/upb/mini_table/extension_registry.c +25 -13
  2372. data/third_party/upb/upb/mini_table/extension_registry.h +13 -6
  2373. data/third_party/upb/upb/mini_table/internal/enum.h +1 -1
  2374. data/third_party/upb/upb/mini_table/internal/extension.h +24 -1
  2375. data/third_party/upb/upb/mini_table/internal/field.h +4 -4
  2376. data/third_party/upb/upb/mini_table/internal/message.h +1 -1
  2377. data/third_party/upb/upb/mini_table/message.c +21 -13
  2378. data/third_party/upb/upb/port/atomic.h +134 -7
  2379. data/third_party/upb/upb/port/def.inc +163 -45
  2380. data/third_party/upb/upb/port/undef.inc +12 -1
  2381. data/third_party/upb/upb/reflection/def.hpp +5 -1
  2382. data/third_party/upb/upb/reflection/def_pool.c +10 -3
  2383. data/third_party/upb/upb/reflection/def_pool.h +2 -2
  2384. data/third_party/upb/upb/reflection/descriptor_bootstrap.h +4 -4
  2385. data/third_party/upb/upb/reflection/enum_def.c +4 -4
  2386. data/third_party/upb/upb/reflection/enum_reserved_range.c +1 -1
  2387. data/third_party/upb/upb/reflection/enum_value_def.c +9 -8
  2388. data/third_party/upb/upb/reflection/extension_range.c +1 -2
  2389. data/third_party/upb/upb/reflection/field_def.c +3 -5
  2390. data/third_party/upb/upb/reflection/field_def.h +1 -1
  2391. data/third_party/upb/upb/reflection/file_def.c +16 -10
  2392. data/third_party/upb/upb/reflection/internal/def_builder.c +1 -1
  2393. data/third_party/upb/upb/reflection/internal/def_builder.h +35 -10
  2394. data/third_party/upb/upb/reflection/internal/enum_value_def.h +1 -1
  2395. data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +1 -1
  2396. data/third_party/upb/upb/reflection/message.c +19 -16
  2397. data/third_party/upb/upb/reflection/message.h +3 -1
  2398. data/third_party/upb/upb/reflection/message_def.c +4 -7
  2399. data/third_party/upb/upb/reflection/message_reserved_range.c +1 -1
  2400. data/third_party/upb/upb/reflection/method_def.c +1 -1
  2401. data/third_party/upb/upb/reflection/oneof_def.c +3 -3
  2402. data/third_party/upb/upb/reflection/service_def.c +2 -5
  2403. data/third_party/upb/upb/text/encode.c +17 -13
  2404. data/third_party/upb/upb/text/internal/encode.c +25 -6
  2405. data/third_party/upb/upb/text/internal/encode.h +6 -1
  2406. data/third_party/upb/upb/wire/decode.c +154 -107
  2407. data/third_party/upb/upb/wire/decode.h +4 -2
  2408. data/third_party/upb/upb/wire/encode.c +114 -55
  2409. data/third_party/upb/upb/wire/encode.h +2 -0
  2410. data/third_party/upb/upb/wire/eps_copy_input_stream.h +18 -20
  2411. data/third_party/upb/upb/wire/internal/decode_fast.c +2 -2
  2412. data/third_party/upb/upb/wire/internal/decode_fast.h +4 -0
  2413. data/third_party/upb/upb/wire/internal/decoder.h +4 -11
  2414. data/third_party/utf8_range/utf8_range.c +15 -275
  2415. data/third_party/utf8_range/utf8_range_neon.inc +117 -0
  2416. data/third_party/utf8_range/utf8_range_sse.inc +272 -0
  2417. data/third_party/zlib/deflate.c +40 -15
  2418. data/third_party/zlib/deflate.h +33 -2
  2419. data/third_party/zlib/gzguts.h +2 -6
  2420. data/third_party/zlib/inflate.c +1 -1
  2421. data/third_party/zlib/inftrees.c +3 -3
  2422. data/third_party/zlib/inftrees.h +2 -2
  2423. data/third_party/zlib/trees.c +18 -4
  2424. data/third_party/zlib/zconf.h +1 -9
  2425. data/third_party/zlib/zlib.h +12 -12
  2426. data/third_party/zlib/zutil.h +4 -25
  2427. metadata +491 -277
  2428. data/include/grpc/grpc_cronet.h +0 -37
  2429. data/src/core/lib/event_engine/forkable.cc +0 -107
  2430. data/src/core/lib/event_engine/forkable.h +0 -69
  2431. data/src/core/lib/iomgr/executor.cc +0 -452
  2432. data/src/core/lib/iomgr/executor.h +0 -119
  2433. data/src/core/lib/iomgr/python_util.h +0 -46
  2434. data/src/core/lib/transport/http2_errors.h +0 -41
  2435. data/src/core/lib/transport/metadata.h +0 -113
  2436. data/src/core/util/ring_buffer.h +0 -123
  2437. data/third_party/abseil-cpp/absl/base/internal/inline_variable.h +0 -108
  2438. data/third_party/abseil-cpp/absl/base/internal/invoke.h +0 -241
  2439. data/third_party/abseil-cpp/absl/base/internal/nullability_impl.h +0 -108
  2440. data/third_party/abseil-cpp/absl/log/log_entry.cc +0 -41
  2441. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.h +0 -131
  2442. data/third_party/abseil-cpp/absl/types/bad_optional_access.cc +0 -66
  2443. data/third_party/abseil-cpp/absl/types/bad_optional_access.h +0 -78
  2444. data/third_party/abseil-cpp/absl/types/bad_variant_access.cc +0 -82
  2445. data/third_party/abseil-cpp/absl/types/bad_variant_access.h +0 -82
  2446. data/third_party/abseil-cpp/absl/types/internal/optional.h +0 -352
  2447. data/third_party/abseil-cpp/absl/types/internal/variant.h +0 -1622
  2448. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.cc +0 -127
  2449. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.cc +0 -152
  2450. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.cc +0 -93
  2451. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.cc +0 -96
  2452. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.cc +0 -165
  2453. data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.cc +0 -124
  2454. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.cc.inc +0 -196
  2455. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +0 -448
  2456. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.cc.inc +0 -87
  2457. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.cc.inc +0 -89
  2458. data/third_party/boringssl-with-bazel/src/crypto/mldsa/internal.h +0 -76
  2459. data/third_party/boringssl-with-bazel/src/crypto/mlkem/internal.h +0 -90
  2460. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.cc +0 -44
  2461. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/ios.cc +0 -42
  2462. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/sysrand_internal.h +0 -37
  2463. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.cc +0 -46
  2464. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/internal.h +0 -79
  2465. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_extra.cc +0 -17
  2466. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_print.cc +0 -22
  2467. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/fors.h +0 -58
  2468. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/internal.h +0 -63
  2469. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/merkle.h +0 -70
  2470. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/thash.cc +0 -173
  2471. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/thash.h +0 -85
  2472. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/wots.h +0 -50
  2473. data/third_party/cares/cares/include/ares_rules.h +0 -125
  2474. data/third_party/cares/cares/src/lib/ares__addrinfo2hostent.c +0 -266
  2475. data/third_party/cares/cares/src/lib/ares__addrinfo_localhost.c +0 -240
  2476. data/third_party/cares/cares/src/lib/ares__close_sockets.c +0 -61
  2477. data/third_party/cares/cares/src/lib/ares__get_hostent.c +0 -260
  2478. data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +0 -229
  2479. data/third_party/cares/cares/src/lib/ares__read_line.c +0 -73
  2480. data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +0 -258
  2481. data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +0 -507
  2482. data/third_party/cares/cares/src/lib/ares__timeval.c +0 -111
  2483. data/third_party/cares/cares/src/lib/ares_create_query.c +0 -197
  2484. data/third_party/cares/cares/src/lib/ares_expand_name.c +0 -311
  2485. data/third_party/cares/cares/src/lib/ares_expand_string.c +0 -67
  2486. data/third_party/cares/cares/src/lib/ares_fds.c +0 -59
  2487. data/third_party/cares/cares/src/lib/ares_getsock.c +0 -66
  2488. data/third_party/cares/cares/src/lib/ares_iphlpapi.h +0 -221
  2489. data/third_party/cares/cares/src/lib/ares_llist.c +0 -63
  2490. data/third_party/cares/cares/src/lib/ares_llist.h +0 -39
  2491. data/third_party/cares/cares/src/lib/ares_mkquery.c +0 -24
  2492. data/third_party/cares/cares/src/lib/ares_nowarn.c +0 -260
  2493. data/third_party/cares/cares/src/lib/ares_nowarn.h +0 -61
  2494. data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +0 -90
  2495. data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +0 -92
  2496. data/third_party/cares/cares/src/lib/ares_parse_caa_reply.c +0 -199
  2497. data/third_party/cares/cares/src/lib/ares_parse_mx_reply.c +0 -164
  2498. data/third_party/cares/cares/src/lib/ares_parse_naptr_reply.c +0 -183
  2499. data/third_party/cares/cares/src/lib/ares_parse_ns_reply.c +0 -177
  2500. data/third_party/cares/cares/src/lib/ares_parse_ptr_reply.c +0 -228
  2501. data/third_party/cares/cares/src/lib/ares_parse_soa_reply.c +0 -179
  2502. data/third_party/cares/cares/src/lib/ares_parse_srv_reply.c +0 -168
  2503. data/third_party/cares/cares/src/lib/ares_parse_txt_reply.c +0 -214
  2504. data/third_party/cares/cares/src/lib/ares_parse_uri_reply.c +0 -184
  2505. data/third_party/cares/cares/src/lib/ares_platform.c +0 -11042
  2506. data/third_party/cares/cares/src/lib/ares_platform.h +0 -43
  2507. data/third_party/cares/cares/src/lib/ares_rand.c +0 -279
  2508. data/third_party/cares/cares/src/lib/ares_strcasecmp.c +0 -66
  2509. data/third_party/cares/cares/src/lib/ares_strcasecmp.h +0 -30
  2510. data/third_party/cares/cares/src/lib/ares_strdup.c +0 -42
  2511. data/third_party/cares/cares/src/lib/ares_strdup.h +0 -24
  2512. data/third_party/cares/cares/src/lib/ares_strsplit.c +0 -94
  2513. data/third_party/cares/cares/src/lib/ares_strsplit.h +0 -42
  2514. data/third_party/cares/cares/src/lib/ares_writev.c +0 -79
  2515. data/third_party/cares/cares/src/lib/ares_writev.h +0 -36
  2516. data/third_party/cares/cares/src/lib/bitncmp.c +0 -59
  2517. data/third_party/cares/cares/src/lib/bitncmp.h +0 -26
  2518. data/third_party/cares/cares/src/lib/setup_once.h +0 -554
  2519. data/third_party/cares/cares/src/tools/ares_getopt.h +0 -53
  2520. data/third_party/upb/upb/message/internal/compare_unknown.c +0 -289
  2521. data/third_party/upb/upb/message/internal/compare_unknown.h +0 -49
@@ -1,63 +1,21 @@
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.] */
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.
56
14
 
57
15
  #ifndef OPENSSL_HEADER_BUFFER_H
58
16
  #define OPENSSL_HEADER_BUFFER_H
59
17
 
60
- #include <openssl/base.h>
18
+ #include <openssl/base.h> // IWYU pragma: export
61
19
 
62
20
  #if defined(__cplusplus)
63
21
  extern "C" {
@@ -1,16 +1,16 @@
1
- /* Copyright 2015 The BoringSSL Authors
2
- *
3
- * Permission to use, copy, modify, and/or distribute this software for any
4
- * purpose with or without fee is hereby granted, provided that the above
5
- * copyright notice and this permission notice appear in all copies.
6
- *
7
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
10
- * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
12
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
13
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
1
+ // Copyright 2015 The BoringSSL Authors
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.
14
14
 
15
15
  /* This header is provided in order to make compiling against code that expects
16
16
  OpenSSL easier. */
@@ -1,21 +1,21 @@
1
- /* Copyright 2014 The BoringSSL Authors
2
- *
3
- * Permission to use, copy, modify, and/or distribute this software for any
4
- * purpose with or without fee is hereby granted, provided that the above
5
- * copyright notice and this permission notice appear in all copies.
6
- *
7
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
10
- * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
12
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
13
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
1
+ // Copyright 2014 The BoringSSL Authors
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.
14
14
 
15
15
  #ifndef OPENSSL_HEADER_BYTESTRING_H
16
16
  #define OPENSSL_HEADER_BYTESTRING_H
17
17
 
18
- #include <openssl/base.h>
18
+ #include <openssl/base.h> // IWYU pragma: export
19
19
 
20
20
  #include <openssl/span.h>
21
21
  #include <time.h>
@@ -45,9 +45,7 @@ struct cbs_st {
45
45
  // Allow implicit conversions to and from bssl::Span<const uint8_t>.
46
46
  cbs_st(bssl::Span<const uint8_t> span)
47
47
  : data(span.data()), len(span.size()) {}
48
- operator bssl::Span<const uint8_t>() const {
49
- return bssl::MakeConstSpan(data, len);
50
- }
48
+ operator bssl::Span<const uint8_t>() const { return bssl::Span(data, len); }
51
49
 
52
50
  // Defining any constructors requires we explicitly default the others.
53
51
  cbs_st() = default;
@@ -294,11 +292,28 @@ OPENSSL_EXPORT int CBS_get_any_ber_asn1_element(CBS *cbs, CBS *out,
294
292
  // in 64 bits.
295
293
  OPENSSL_EXPORT int CBS_get_asn1_uint64(CBS *cbs, uint64_t *out);
296
294
 
295
+ // CBS_get_asn1_uint64_with_tag gets an ASN.1 INTEGER from |cbs| using
296
+ // |CBS_get_asn1| and sets |*out| to its value. |tag| is used to handle to
297
+ // handle implicitly tagged INTEGER fields. It returns one on success and zero
298
+ // on error, where error includes the integer being negative, or too large to
299
+ // represent in 64 bits.
300
+ OPENSSL_EXPORT int CBS_get_asn1_uint64_with_tag(CBS *cbs, uint64_t *out,
301
+ CBS_ASN1_TAG tag);
302
+
303
+
297
304
  // CBS_get_asn1_int64 gets an ASN.1 INTEGER from |cbs| using |CBS_get_asn1|
298
305
  // and sets |*out| to its value. It returns one on success and zero on error,
299
306
  // where error includes the integer being too large to represent in 64 bits.
300
307
  OPENSSL_EXPORT int CBS_get_asn1_int64(CBS *cbs, int64_t *out);
301
308
 
309
+ // CBS_get_asn1_int64_with_tag gets an ASN.1 INTEGER from |cbs| using
310
+ // |CBS_get_asn1| and sets |*out| to its value. |tag| is used to handle to
311
+ // handle implicitly tagged INTEGER fields. It returns one on success and zero
312
+ // on error, where error includes the integer being too large to represent in 64
313
+ // bits.
314
+ OPENSSL_EXPORT int CBS_get_asn1_int64_with_tag(CBS *cbs, int64_t *out,
315
+ CBS_ASN1_TAG tag);
316
+
302
317
  // CBS_get_asn1_bool gets an ASN.1 BOOLEAN from |cbs| and sets |*out| to zero
303
318
  // or one based on its value. It returns one on success or zero on error.
304
319
  OPENSSL_EXPORT int CBS_get_asn1_bool(CBS *cbs, int *out);
@@ -586,6 +601,12 @@ OPENSSL_EXPORT int CBB_add_u64le(CBB *cbb, uint64_t value);
586
601
  // child's contents nor the length prefix will be included in the output.
587
602
  OPENSSL_EXPORT void CBB_discard_child(CBB *cbb);
588
603
 
604
+ // CBB_add_asn1_element adds an ASN.1 element with the specified tag and
605
+ // contents. It returns one on success and zero on error. This is a convenience
606
+ // function over |CBB_add_asn1| when the data is already available.
607
+ OPENSSL_EXPORT int CBB_add_asn1_element(CBB *cbb, CBS_ASN1_TAG tag,
608
+ const uint8_t *data, size_t data_len);
609
+
589
610
  // CBB_add_asn1_uint64 writes an ASN.1 INTEGER into |cbb| using |CBB_add_asn1|
590
611
  // and writes |value| in its contents. It returns one on success and zero on
591
612
  // error.
@@ -1,63 +1,21 @@
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.] */
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.
56
14
 
57
15
  #ifndef OPENSSL_HEADER_CAST_H
58
16
  #define OPENSSL_HEADER_CAST_H
59
17
 
60
- #include <openssl/base.h>
18
+ #include <openssl/base.h> // IWYU pragma: export
61
19
 
62
20
  #ifdef __cplusplus
63
21
  extern "C" {
@@ -1,21 +1,21 @@
1
- /* Copyright 2014 The BoringSSL Authors
2
- *
3
- * Permission to use, copy, modify, and/or distribute this software for any
4
- * purpose with or without fee is hereby granted, provided that the above
5
- * copyright notice and this permission notice appear in all copies.
6
- *
7
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
10
- * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
12
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
13
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
1
+ // Copyright 2014 The BoringSSL Authors
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.
14
14
 
15
15
  #ifndef OPENSSL_HEADER_CHACHA_H
16
16
  #define OPENSSL_HEADER_CHACHA_H
17
17
 
18
- #include <openssl/base.h>
18
+ #include <openssl/base.h> // IWYU pragma: export
19
19
 
20
20
  #if defined(__cplusplus)
21
21
  extern "C" {
@@ -1,63 +1,21 @@
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.] */
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.
56
14
 
57
15
  #ifndef OPENSSL_HEADER_CIPHER_H
58
16
  #define OPENSSL_HEADER_CIPHER_H
59
17
 
60
- #include <openssl/base.h>
18
+ #include <openssl/base.h> // IWYU pragma: export
61
19
 
62
20
  #if defined(__cplusplus)
63
21
  extern "C" {
@@ -321,11 +279,25 @@ OPENSSL_EXPORT uint32_t EVP_CIPHER_mode(const EVP_CIPHER *cipher);
321
279
  // Key derivation.
322
280
 
323
281
  // EVP_BytesToKey generates a key and IV for the cipher |type| by iterating
324
- // |md| |count| times using |data| and |salt|. On entry, the |key| and |iv|
325
- // buffers must have enough space to hold a key and IV for |type|. It returns
326
- // the length of the key on success or zero on error.
282
+ // |md| |count| times using |data| and an optional |salt|, writing the result to
283
+ // |key| and |iv|. If not NULL, the |key| and |iv| buffers must have enough
284
+ // space to hold a key and IV for |type|, as returned by |EVP_CIPHER_key_length|
285
+ // and |EVP_CIPHER_iv_length|. This function returns the length of the key
286
+ // (without the IV) on success or zero on error.
287
+ //
288
+ // If |salt| is NULL, the empty string is used as the salt. Salt lengths other
289
+ // than 0 and 8 are not supported by this function. Either of |key| or |iv| may
290
+ // be NULL to skip that output.
291
+ //
292
+ // When the total data derived is less than the size of |md|, this function
293
+ // implements PBKDF1 from RFC 8018. Otherwise, it generalizes PBKDF1 by
294
+ // computing prepending the previous output to |data| and re-running PBKDF1 for
295
+ // further output.
296
+ //
297
+ // This function is provided for compatibility with legacy uses of PBKDF1. New
298
+ // applications should use a more modern algorithm, such as |EVP_PBE_scrypt|.
327
299
  OPENSSL_EXPORT int EVP_BytesToKey(const EVP_CIPHER *type, const EVP_MD *md,
328
- const uint8_t *salt, const uint8_t *data,
300
+ const uint8_t salt[8], const uint8_t *data,
329
301
  size_t data_len, unsigned count, uint8_t *key,
330
302
  uint8_t *iv);
331
303
 
@@ -1,21 +1,21 @@
1
- /* Copyright 2015 The BoringSSL Authors
2
- *
3
- * Permission to use, copy, modify, and/or distribute this software for any
4
- * purpose with or without fee is hereby granted, provided that the above
5
- * copyright notice and this permission notice appear in all copies.
6
- *
7
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
10
- * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
12
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
13
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
1
+ // Copyright 2015 The BoringSSL Authors
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.
14
14
 
15
15
  #ifndef OPENSSL_HEADER_CMAC_H
16
16
  #define OPENSSL_HEADER_CMAC_H
17
17
 
18
- #include <openssl/base.h>
18
+ #include <openssl/base.h> // IWYU pragma: export
19
19
 
20
20
  #if defined(__cplusplus)
21
21
  extern "C" {
@@ -0,0 +1,146 @@
1
+ // Copyright 2025 The BoringSSL Authors
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.
14
+
15
+ #ifndef OPENSSL_HEADER_CMS_H
16
+ #define OPENSSL_HEADER_CMS_H
17
+
18
+ #include <openssl/base.h> // IWYU pragma: export
19
+
20
+ #include <openssl/stack.h>
21
+
22
+ #if defined(__cplusplus)
23
+ extern "C" {
24
+ #endif
25
+
26
+
27
+ // CMS.
28
+ //
29
+ // This library contains functions for implementing a small subset of OpenSSL's
30
+ // API for CMS (RFC 5652). A general CMS implementation, notably one suitable
31
+ // for S/MIME, is out of scope for BoringSSL.
32
+ //
33
+ // As this library is intentionally not a general CMS implementation, BoringSSL
34
+ // continues to define |OPENSSL_NO_CMS|, so that most callers turn off their
35
+ // general-purpose CMS code. In callers that are compatible with this subset,
36
+ // the |BORINGSSL_NO_NO_CMS| build option can be used to suppress
37
+ // |OPENSSL_NO_CMS|.
38
+
39
+ DECLARE_STACK_OF(X509)
40
+
41
+ // CMS_* are flags that can be passed to functions in this library. Their
42
+ // interpretation is specified in the corresponding functinos.
43
+ #define CMS_NOCERTS 0x2
44
+ #define CMS_DETACHED 0x40
45
+ #define CMS_BINARY 0x80
46
+ #define CMS_NOATTR 0x100
47
+ #define CMS_NOSMIMECAP 0x200
48
+ #define CMS_STREAM 0x1000
49
+ #define CMS_PARTIAL 0x4000
50
+ #define CMS_USE_KEYID 0x10000
51
+ #define CMS_NO_SIGNING_TIME 0x400000
52
+
53
+ // CMS_sign returns a newly-allocated |CMS_ContentInfo| structure for building a
54
+ // SignedData (RFC 5652), or NULL on error.
55
+ //
56
+ // |certs| must be NULL or zero length. BoringSSL does not support embedding
57
+ // certificates in SignedData.
58
+ //
59
+ // |flags| must contain |CMS_DETACHED|, which indicates an external signature.
60
+ // BoringSSL only supports generating external signatures and does not support
61
+ // embedding encapsulated content directly in a SignedData.
62
+ //
63
+ // If |pkey| is non-NULL, |CMS_add1_signer| is automatically called with
64
+ // |signcert|, |pkey|, a default hash of SHA-256, and |flags|. |flags| will then
65
+ // additionally be interpreted as in |CMS_add1_signer|.
66
+ //
67
+ // If |CMS_PARTIAL| or |CMS_STREAM| is set in |flags|, the object will be left
68
+ // incomplete. |data| will then be ignored and should be NULL. The caller can
69
+ // then continue configuring it and finalizing it with |CMS_final|. Otherwise,
70
+ // the object will be finalized with |data| and |flags| passed to |CMS_final|.
71
+ OPENSSL_EXPORT CMS_ContentInfo *CMS_sign(X509 *signcert, EVP_PKEY *pkey,
72
+ STACK_OF(X509) *certs, BIO *data,
73
+ uint32_t flags);
74
+
75
+ // CMS_ContentInfo_free releases memory associated with |cms|.
76
+ OPENSSL_EXPORT void CMS_ContentInfo_free(CMS_ContentInfo *cms);
77
+
78
+ // CMS_add1_signer adds a signer to |cms|, which must be a SignedData created by
79
+ // |CMS_sign|, with the |CMS_PARTIAL| flag set. The signer will use |signcert|,
80
+ // |pkey|, and |md| for the signing certificate, private key, and digest
81
+ // algorithm, respectively. It returns a non-NULL pointer to the signer on
82
+ // success, and NULL on error. The signer is owned by |cms| and should not be
83
+ // released by the caller.
84
+ //
85
+ // |flags| is interpreted as follows:
86
+ //
87
+ // - |CMS_PARTIAL| must not be set. BoringSSL does not support configuring a
88
+ // signer in multiple steps.
89
+ //
90
+ // - |CMS_NOCERTS| must be set. BoringSSL does not support embedding
91
+ // certificates in SignedData.
92
+ //
93
+ // - |CMS_NOATTR| must be set. BoringSSL does not support attributes in
94
+ // SignedData.
95
+ //
96
+ // - If |CMS_USE_KEYID| is set, SignerInfos will be identified by subject key
97
+ // identifier instead of issuer and serial number. |signcert| must then have
98
+ // the subject key identifier extension.
99
+ //
100
+ // BoringSSL currently only supports one signer per |CMS_ContentInfo|.
101
+ // Subsequent calls will fail. Additionally, only RSA keys are currently
102
+ // supported for |pkey|.
103
+ OPENSSL_EXPORT CMS_SignerInfo *CMS_add1_signer(CMS_ContentInfo *cms,
104
+ X509 *signcert, EVP_PKEY *pkey,
105
+ const EVP_MD *md,
106
+ uint32_t flags);
107
+
108
+ // CMS_final finalizes constructing |cms|, which must have been initialized with
109
+ // the |CMS_PARTIAL| flag. |data| is read, until EOF, as the data to be
110
+ // processed by CMS. It returns one on success and zero on error.
111
+ //
112
+ // |CMS_BINARY| must be set in |flags|. BoringSSL does not support translating
113
+ // inputs according to S/MIME.
114
+ //
115
+ // |dcont| must be NULL. What a non-NULL |dcont| does is not clearly documented
116
+ // by OpenSSL, and there are no tests to demonstrate its behavior.
117
+ OPENSSL_EXPORT int CMS_final(CMS_ContentInfo *cms, BIO *data, BIO *dcont,
118
+ uint32_t flags);
119
+
120
+ // i2d_CMS_bio encodes |cms| as a DER-encoded ContentInfo structure (RFC 5652).
121
+ // It returns one on success and zero on failure.
122
+ OPENSSL_EXPORT int i2d_CMS_bio(BIO *out, CMS_ContentInfo *cms);
123
+
124
+ // i2d_CMS_bio_stream calls |i2d_CMS_bio|. |in| must be NULL and |flags| must
125
+ // not contain |CMS_STREAM|. BoringSSL does not support any streaming modes for
126
+ // CMS.
127
+ OPENSSL_EXPORT int i2d_CMS_bio_stream(BIO *out, CMS_ContentInfo *cms, BIO *in,
128
+ int flags);
129
+
130
+
131
+ #if defined(__cplusplus)
132
+ } // extern C
133
+
134
+ extern "C++" {
135
+ BSSL_NAMESPACE_BEGIN
136
+
137
+ BORINGSSL_MAKE_DELETER(CMS_ContentInfo, CMS_ContentInfo_free)
138
+
139
+ BSSL_NAMESPACE_END
140
+ } // extern C++
141
+ #endif
142
+
143
+ #define CMS_R_CERTIFICATE_HAS_NO_KEYID 100
144
+ #define CMS_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 101
145
+
146
+ #endif // OPENSSL_HEADER_CMS_H