grpc 1.54.3 → 1.59.2

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 (1765) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +665 -324
  3. data/include/grpc/event_engine/event_engine.h +32 -46
  4. data/include/grpc/event_engine/memory_allocator.h +2 -2
  5. data/include/grpc/grpc_audit_logging.h +96 -0
  6. data/include/grpc/grpc_security.h +19 -0
  7. data/include/grpc/impl/channel_arg_names.h +375 -0
  8. data/include/grpc/impl/grpc_types.h +1 -348
  9. data/include/grpc/module.modulemap +3 -0
  10. data/include/grpc/support/json.h +218 -0
  11. data/include/grpc/support/port_platform.h +103 -24
  12. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +7 -2
  13. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +24 -10
  14. data/src/core/ext/filters/client_channel/backend_metric.cc +4 -1
  15. data/src/core/ext/filters/client_channel/channel_connectivity.cc +4 -4
  16. data/src/core/ext/filters/client_channel/client_channel.cc +564 -178
  17. data/src/core/ext/filters/client_channel/client_channel.h +75 -23
  18. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +20 -19
  19. data/src/core/ext/filters/client_channel/client_channel_internal.h +22 -59
  20. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +15 -1
  21. data/src/core/ext/filters/client_channel/client_channel_service_config.cc +2 -2
  22. data/src/core/ext/filters/client_channel/config_selector.h +9 -36
  23. data/src/core/ext/filters/client_channel/dynamic_filters.h +5 -3
  24. data/src/core/ext/filters/client_channel/{http_proxy.cc → http_proxy_mapper.cc} +41 -3
  25. data/src/core/ext/filters/client_channel/{http_proxy.h → http_proxy_mapper.h} +3 -3
  26. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +27 -53
  27. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +23 -9
  28. data/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h +3 -0
  29. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +25 -35
  30. data/src/core/ext/filters/client_channel/lb_policy/endpoint_list.cc +188 -0
  31. data/src/core/ext/filters/client_channel/lb_policy/endpoint_list.h +214 -0
  32. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +103 -142
  33. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +2 -1
  34. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +5 -4
  35. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +4 -2
  36. data/src/core/ext/filters/client_channel/lb_policy/health_check_client.cc +515 -0
  37. data/src/core/ext/filters/client_channel/lb_policy/health_check_client.h +52 -0
  38. data/src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h +204 -0
  39. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +6 -9
  40. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h +2 -0
  41. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +93 -106
  42. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +2 -2
  43. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +532 -191
  44. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.h +36 -0
  45. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +16 -45
  46. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +447 -464
  47. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +18 -1
  48. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +73 -129
  49. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +416 -30
  50. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +26 -23
  51. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc +76 -6
  52. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc +904 -101
  53. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +19 -54
  54. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +73 -126
  55. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +8 -0
  56. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +35 -86
  57. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +23 -69
  58. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +117 -173
  59. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +81 -68
  60. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +28 -96
  61. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +21 -123
  62. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.h +30 -0
  63. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +102 -11
  64. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +105 -175
  65. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +58 -44
  66. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +4 -1
  67. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_plugin.cc +66 -0
  68. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_plugin.h +27 -0
  69. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +586 -0
  70. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.h +35 -0
  71. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.cc +97 -0
  72. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.h +32 -0
  73. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +3 -14
  74. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.h +24 -0
  75. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +24 -6
  76. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +36 -2
  77. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +30 -28
  78. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +10 -4
  79. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +1 -0
  80. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +25 -13
  81. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +467 -312
  82. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +32 -1
  83. data/src/core/ext/filters/client_channel/retry_filter.cc +39 -2530
  84. data/src/core/ext/filters/client_channel/retry_filter.h +92 -1
  85. data/src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc +2052 -0
  86. data/src/core/ext/filters/client_channel/retry_filter_legacy_call_data.h +442 -0
  87. data/src/core/ext/filters/client_channel/retry_service_config.cc +10 -9
  88. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +40 -90
  89. data/src/core/ext/filters/client_channel/subchannel.cc +50 -199
  90. data/src/core/ext/filters/client_channel/subchannel.h +23 -48
  91. data/src/core/ext/filters/client_channel/subchannel_interface_internal.h +3 -0
  92. data/src/core/ext/filters/deadline/deadline_filter.cc +1 -1
  93. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +1 -1
  94. data/src/core/ext/filters/http/client/http_client_filter.cc +1 -0
  95. data/src/core/ext/filters/http/client_authority_filter.cc +1 -1
  96. data/src/core/ext/filters/http/message_compress/compression_filter.cc +8 -7
  97. data/src/core/ext/filters/http/server/http_server_filter.cc +22 -18
  98. data/src/core/ext/filters/message_size/message_size_filter.cc +1 -0
  99. data/src/core/ext/filters/rbac/rbac_filter.cc +40 -111
  100. data/src/core/ext/filters/rbac/rbac_filter.h +12 -30
  101. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +162 -72
  102. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +6 -8
  103. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +164 -88
  104. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +16 -7
  105. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +1 -0
  106. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +16 -17
  107. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +979 -832
  108. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +21 -0
  109. data/src/core/ext/transport/chttp2/transport/context_list_entry.h +70 -0
  110. data/src/core/ext/transport/chttp2/transport/decode_huff.cc +6569 -174
  111. data/src/core/ext/transport/chttp2/transport/decode_huff.h +2278 -441
  112. data/src/core/ext/transport/chttp2/transport/flow_control.cc +74 -117
  113. data/src/core/ext/transport/chttp2/transport/flow_control.h +27 -4
  114. data/src/core/ext/transport/chttp2/transport/frame_data.h +1 -1
  115. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -1
  116. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +24 -25
  117. data/src/core/ext/transport/chttp2/transport/frame_ping.h +1 -4
  118. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +10 -1
  119. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -1
  120. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +1 -1
  121. data/src/core/ext/transport/chttp2/transport/frame_settings.h +1 -1
  122. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +1 -1
  123. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +1 -1
  124. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +1 -0
  125. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +176 -0
  126. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +326 -0
  127. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +640 -547
  128. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +160 -12
  129. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +48 -33
  130. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +19 -5
  131. data/src/core/ext/transport/chttp2/transport/internal.h +194 -149
  132. data/src/core/ext/transport/chttp2/transport/{frame.h → legacy_frame.h} +3 -3
  133. data/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.cc +44 -0
  134. data/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.h +67 -0
  135. data/src/core/ext/transport/chttp2/transport/parsing.cc +143 -31
  136. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.cc +90 -0
  137. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.h +59 -0
  138. data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +108 -0
  139. data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +115 -0
  140. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +120 -0
  141. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +88 -0
  142. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +1 -1
  143. data/src/core/ext/transport/chttp2/transport/write_size_policy.cc +60 -0
  144. data/src/core/ext/transport/chttp2/transport/write_size_policy.h +66 -0
  145. data/src/core/ext/transport/chttp2/transport/writing.cc +220 -145
  146. data/src/core/ext/transport/inproc/inproc_transport.cc +10 -0
  147. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +85 -52
  148. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +407 -182
  149. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +119 -60
  150. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +474 -225
  151. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +88 -55
  152. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +408 -189
  153. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +355 -210
  154. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +1564 -729
  155. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +28 -17
  156. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +140 -51
  157. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +32 -21
  158. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +153 -63
  159. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +25 -14
  160. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +71 -39
  161. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +18 -11
  162. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +41 -27
  163. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +18 -11
  164. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +41 -27
  165. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +107 -62
  166. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +559 -245
  167. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +19 -12
  168. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +38 -31
  169. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +20 -19
  170. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +75 -30
  171. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +21 -16
  172. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +38 -31
  173. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +253 -147
  174. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +869 -405
  175. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +415 -264
  176. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1831 -899
  177. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +72 -41
  178. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +279 -149
  179. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +529 -334
  180. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +2009 -1131
  181. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +19 -12
  182. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +38 -31
  183. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +87 -52
  184. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +340 -233
  185. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +262 -165
  186. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +881 -477
  187. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +137 -80
  188. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +520 -275
  189. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +20 -13
  190. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +43 -37
  191. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +378 -221
  192. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +1160 -611
  193. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +155 -92
  194. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +620 -293
  195. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +16 -11
  196. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +30 -27
  197. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +19 -12
  198. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +38 -31
  199. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +28 -17
  200. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +140 -51
  201. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +277 -167
  202. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +811 -441
  203. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +230 -137
  204. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +1157 -501
  205. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +20 -13
  206. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +53 -38
  207. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +367 -211
  208. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +1107 -647
  209. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +31 -18
  210. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +109 -51
  211. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +32 -19
  212. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +110 -56
  213. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +36 -21
  214. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +141 -65
  215. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +29 -18
  216. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +136 -66
  217. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +20 -13
  218. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +44 -38
  219. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +76 -43
  220. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +258 -128
  221. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +143 -88
  222. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +431 -242
  223. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +113 -62
  224. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +552 -228
  225. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +16 -11
  226. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +28 -27
  227. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +173 -118
  228. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +850 -443
  229. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +170 -95
  230. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +857 -375
  231. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +46 -27
  232. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +152 -111
  233. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +37 -18
  234. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +66 -56
  235. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +27 -15
  236. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +85 -46
  237. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +129 -74
  238. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +481 -249
  239. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +161 -84
  240. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +673 -241
  241. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +246 -139
  242. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +926 -434
  243. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +78 -49
  244. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +609 -202
  245. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +1281 -776
  246. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +5414 -2519
  247. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +47 -28
  248. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +157 -85
  249. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +226 -141
  250. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +731 -400
  251. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +18 -11
  252. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +41 -27
  253. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +19 -12
  254. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +38 -31
  255. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +30 -19
  256. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +62 -49
  257. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +25 -14
  258. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +103 -44
  259. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +44 -25
  260. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +252 -101
  261. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +19 -12
  262. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +38 -31
  263. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +16 -11
  264. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +28 -27
  265. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +40 -23
  266. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +101 -71
  267. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +5 -4
  268. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +14 -17
  269. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +41 -24
  270. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +103 -76
  271. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +28 -17
  272. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +88 -51
  273. data/src/core/ext/upb-generated/envoy/data/accesslog/v3/accesslog.upb.c +556 -0
  274. data/src/core/ext/upb-generated/envoy/data/accesslog/v3/accesslog.upb.h +2702 -0
  275. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +14 -9
  276. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +66 -24
  277. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +58 -37
  278. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +143 -109
  279. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +91 -43
  280. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +379 -168
  281. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +42 -25
  282. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +107 -81
  283. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +66 -22
  284. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +348 -83
  285. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c +30 -19
  286. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +65 -51
  287. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +502 -300
  288. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +2235 -1075
  289. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c +16 -11
  290. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +28 -27
  291. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c +33 -21
  292. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +105 -79
  293. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.c +70 -45
  294. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +186 -139
  295. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.c +45 -0
  296. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +85 -0
  297. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c +32 -21
  298. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +112 -79
  299. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +16 -11
  300. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +28 -27
  301. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +5 -4
  302. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +8 -11
  303. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +182 -96
  304. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +900 -361
  305. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +54 -33
  306. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +143 -102
  307. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +186 -111
  308. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +809 -420
  309. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +30 -19
  310. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +101 -53
  311. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +8 -7
  312. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +11 -15
  313. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +298 -177
  314. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +1277 -523
  315. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +40 -23
  316. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +181 -76
  317. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +128 -83
  318. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +503 -239
  319. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +20 -13
  320. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +48 -35
  321. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +37 -26
  322. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +117 -69
  323. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.c +19 -12
  324. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.h +40 -31
  325. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +50 -29
  326. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +85 -63
  327. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +35 -20
  328. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +126 -64
  329. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +20 -13
  330. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +84 -41
  331. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +19 -12
  332. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +43 -33
  333. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +16 -11
  334. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +30 -27
  335. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +44 -27
  336. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +94 -71
  337. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.c +11 -10
  338. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.h +17 -22
  339. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +38 -23
  340. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +154 -76
  341. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +29 -18
  342. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +106 -56
  343. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +44 -29
  344. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +132 -92
  345. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +63 -42
  346. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +192 -121
  347. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +78 -45
  348. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +201 -132
  349. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +32 -21
  350. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +66 -53
  351. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +5 -4
  352. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +5 -8
  353. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +14 -9
  354. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +21 -19
  355. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +26 -15
  356. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +47 -34
  357. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +41 -22
  358. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +83 -53
  359. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +33 -20
  360. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +84 -57
  361. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +5 -4
  362. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +5 -8
  363. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +18 -11
  364. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +41 -27
  365. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +21 -14
  366. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +54 -42
  367. data/src/core/ext/upb-generated/google/api/annotations.upb.c +12 -11
  368. data/src/core/ext/upb-generated/google/api/annotations.upb.h +22 -20
  369. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +253 -154
  370. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +927 -451
  371. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +297 -180
  372. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +939 -484
  373. data/src/core/ext/upb-generated/google/api/http.upb.c +66 -35
  374. data/src/core/ext/upb-generated/google/api/http.upb.h +277 -121
  375. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +20 -13
  376. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +88 -38
  377. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +17 -10
  378. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +31 -23
  379. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +1168 -419
  380. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +4431 -1412
  381. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +17 -10
  382. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +31 -23
  383. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +8 -7
  384. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +11 -15
  385. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +60 -39
  386. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +200 -103
  387. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +17 -10
  388. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +31 -23
  389. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +88 -51
  390. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +149 -107
  391. data/src/core/ext/upb-generated/google/rpc/status.upb.c +20 -13
  392. data/src/core/ext/upb-generated/google/rpc/status.upb.h +88 -38
  393. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +57 -34
  394. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +147 -93
  395. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +41 -24
  396. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +110 -60
  397. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +248 -145
  398. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +912 -416
  399. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +32 -19
  400. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +68 -51
  401. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +23 -14
  402. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +37 -30
  403. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +142 -81
  404. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +397 -217
  405. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +49 -26
  406. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +146 -62
  407. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +171 -102
  408. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +848 -299
  409. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +66 -49
  410. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +148 -105
  411. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +24 -17
  412. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +48 -35
  413. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +10 -9
  414. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +23 -14
  415. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +24 -17
  416. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +48 -35
  417. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +21 -16
  418. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +38 -31
  419. data/src/core/ext/upb-generated/validate/validate.upb.c +843 -455
  420. data/src/core/ext/upb-generated/validate/validate.upb.h +4340 -1909
  421. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +66 -49
  422. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +148 -105
  423. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +24 -17
  424. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +48 -35
  425. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +10 -9
  426. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +23 -14
  427. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +63 -44
  428. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +130 -92
  429. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +21 -16
  430. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +38 -31
  431. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +14 -9
  432. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +21 -19
  433. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.c +19 -12
  434. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.h +38 -31
  435. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +35 -22
  436. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +88 -63
  437. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +24 -17
  438. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +44 -29
  439. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +19 -12
  440. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +38 -31
  441. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +21 -14
  442. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +55 -43
  443. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +42 -25
  444. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +162 -80
  445. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +25 -14
  446. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +58 -39
  447. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +76 -38
  448. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +175 -77
  449. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +19 -12
  450. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +82 -35
  451. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.c +16 -11
  452. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.h +28 -27
  453. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.c +30 -19
  454. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.h +143 -55
  455. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.c +8 -7
  456. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.h +11 -15
  457. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.c +32 -21
  458. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.h +154 -64
  459. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +160 -101
  460. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +494 -294
  461. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.c +83 -52
  462. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.h +423 -165
  463. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +22 -15
  464. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +45 -37
  465. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +38 -23
  466. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +154 -76
  467. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.c +35 -22
  468. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.h +84 -66
  469. data/src/core/ext/upb-generated/xds/type/v3/range.upb.c +41 -22
  470. data/src/core/ext/upb-generated/xds/type/v3/range.upb.h +83 -53
  471. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +19 -12
  472. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +38 -31
  473. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c +1 -1
  474. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h +6 -5
  475. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +1 -1
  476. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h +6 -5
  477. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +1 -1
  478. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +6 -5
  479. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c +1 -1
  480. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h +6 -5
  481. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c +1 -1
  482. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h +6 -5
  483. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +1 -1
  484. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h +6 -5
  485. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c +1 -1
  486. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h +6 -5
  487. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c +1 -1
  488. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h +6 -5
  489. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c +1 -1
  490. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h +6 -5
  491. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c +1 -1
  492. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h +6 -5
  493. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c +1 -1
  494. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h +6 -5
  495. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +1 -1
  496. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +6 -5
  497. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +1 -1
  498. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +6 -5
  499. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +89 -77
  500. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +11 -5
  501. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +252 -253
  502. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +6 -5
  503. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +1 -1
  504. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +6 -5
  505. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +1 -1
  506. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +6 -5
  507. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +1 -1
  508. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +6 -5
  509. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +1 -1
  510. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +6 -5
  511. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c +1 -1
  512. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h +6 -5
  513. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +1 -1
  514. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +6 -5
  515. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +1 -1
  516. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +6 -5
  517. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +1 -1
  518. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +6 -5
  519. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +1 -1
  520. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +6 -5
  521. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +1 -1
  522. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +6 -5
  523. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +1 -1
  524. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +6 -5
  525. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c +1 -1
  526. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h +6 -5
  527. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +163 -161
  528. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +6 -5
  529. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +130 -119
  530. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +6 -5
  531. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +1 -1
  532. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +6 -5
  533. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +142 -136
  534. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +6 -5
  535. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +1 -1
  536. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +6 -5
  537. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +1 -1
  538. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +6 -5
  539. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +1 -1
  540. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +6 -5
  541. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +1 -1
  542. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +6 -5
  543. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +1 -1
  544. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +6 -5
  545. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +1 -1
  546. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +6 -5
  547. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +1 -1
  548. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +6 -5
  549. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +1 -1
  550. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +6 -5
  551. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +1 -1
  552. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +6 -5
  553. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +1 -1
  554. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +6 -5
  555. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +1 -1
  556. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +6 -5
  557. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +1 -1
  558. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +6 -5
  559. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +1 -1
  560. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +6 -5
  561. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +20 -13
  562. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h +6 -5
  563. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +1 -1
  564. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +6 -5
  565. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +39 -31
  566. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +11 -5
  567. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +134 -128
  568. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +11 -5
  569. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +1 -1
  570. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +6 -5
  571. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +1 -1
  572. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +6 -5
  573. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +1 -1
  574. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +6 -5
  575. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +1 -1
  576. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +6 -5
  577. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +1 -1
  578. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h +6 -5
  579. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c +1 -1
  580. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h +6 -5
  581. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +1 -1
  582. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +6 -5
  583. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c +1 -1
  584. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h +6 -5
  585. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c +1 -1
  586. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h +6 -5
  587. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +1 -1
  588. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h +6 -5
  589. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c +1 -1
  590. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h +6 -5
  591. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c +1 -1
  592. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h +6 -5
  593. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +1 -1
  594. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h +6 -5
  595. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c +1 -1
  596. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h +6 -5
  597. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +1 -1
  598. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h +6 -5
  599. data/src/core/ext/upbdefs-generated/envoy/data/accesslog/v3/accesslog.upbdefs.c +402 -0
  600. data/src/core/ext/upbdefs-generated/envoy/data/accesslog/v3/accesslog.upbdefs.h +111 -0
  601. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +1 -1
  602. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +6 -5
  603. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +1 -1
  604. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +6 -5
  605. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +81 -75
  606. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +6 -5
  607. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +1 -1
  608. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +6 -5
  609. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +64 -48
  610. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +11 -5
  611. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +1 -1
  612. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +6 -5
  613. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +495 -470
  614. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +11 -5
  615. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +1 -1
  616. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +6 -5
  617. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +1 -1
  618. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +6 -5
  619. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +138 -136
  620. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +6 -5
  621. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +1 -1
  622. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +6 -5
  623. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +1 -1
  624. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +6 -5
  625. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +1 -1
  626. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +6 -5
  627. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +1 -1
  628. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +6 -5
  629. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +1 -1
  630. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +6 -5
  631. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +1 -1
  632. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +6 -5
  633. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +12 -13
  634. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +6 -5
  635. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c +1 -1
  636. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h +6 -5
  637. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +1 -1
  638. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +6 -5
  639. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.c +1 -1
  640. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.h +6 -5
  641. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +1 -1
  642. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +6 -5
  643. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +1 -1
  644. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +6 -5
  645. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +1 -1
  646. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +6 -5
  647. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +1 -1
  648. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +6 -5
  649. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +1 -1
  650. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +6 -5
  651. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +30 -30
  652. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +6 -5
  653. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.c +1 -1
  654. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.h +6 -5
  655. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +1 -1
  656. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +6 -5
  657. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +1 -1
  658. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +6 -5
  659. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +1 -1
  660. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +6 -5
  661. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +1 -1
  662. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +6 -5
  663. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +1 -1
  664. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +6 -5
  665. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c +1 -1
  666. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h +6 -5
  667. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +1 -1
  668. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +6 -5
  669. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c +1 -1
  670. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h +6 -5
  671. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +1 -1
  672. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +6 -5
  673. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +1 -1
  674. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +6 -5
  675. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c +1 -1
  676. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h +6 -5
  677. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +1 -1
  678. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h +6 -5
  679. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +1 -1
  680. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +6 -5
  681. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c +1 -1
  682. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h +6 -5
  683. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +1 -1
  684. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +6 -5
  685. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +1 -1
  686. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +6 -5
  687. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +1 -1
  688. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +6 -5
  689. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +1 -1
  690. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +6 -5
  691. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c +1 -1
  692. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h +6 -5
  693. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +1 -1
  694. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +6 -5
  695. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +406 -273
  696. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +21 -5
  697. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +1 -1
  698. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +6 -5
  699. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +1 -1
  700. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +6 -5
  701. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +1 -1
  702. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +6 -5
  703. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +1 -1
  704. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +6 -5
  705. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +1 -1
  706. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +6 -5
  707. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +1 -1
  708. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +6 -5
  709. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c +1 -1
  710. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h +6 -5
  711. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +1 -1
  712. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +6 -5
  713. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +1 -1
  714. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +6 -5
  715. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +1 -1
  716. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +6 -5
  717. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +1 -1
  718. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +6 -5
  719. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +1 -1
  720. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +6 -5
  721. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +1 -1
  722. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +6 -5
  723. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +1 -1
  724. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +6 -5
  725. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c +1 -1
  726. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h +6 -5
  727. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c +1 -1
  728. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h +6 -5
  729. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c +1 -1
  730. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h +6 -5
  731. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +1 -1
  732. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +6 -5
  733. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c +1 -1
  734. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h +6 -5
  735. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +1 -1
  736. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +6 -5
  737. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.c +1 -1
  738. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.h +6 -5
  739. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +1 -1
  740. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +6 -5
  741. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +1 -1
  742. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +6 -5
  743. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c +1 -1
  744. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h +6 -5
  745. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +1 -1
  746. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +6 -5
  747. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +1 -1
  748. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +6 -5
  749. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +1 -1
  750. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +6 -5
  751. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.c +1 -1
  752. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.h +6 -5
  753. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.c +1 -1
  754. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.h +6 -5
  755. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.c +1 -1
  756. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.h +6 -5
  757. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.c +1 -1
  758. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.h +6 -5
  759. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +1 -1
  760. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h +6 -5
  761. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.c +1 -1
  762. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.h +6 -5
  763. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c +1 -1
  764. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h +6 -5
  765. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c +1 -1
  766. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h +6 -5
  767. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.c +1 -1
  768. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.h +6 -5
  769. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.c +1 -1
  770. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.h +6 -5
  771. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +1 -1
  772. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +6 -5
  773. data/src/core/ext/xds/certificate_provider_store.cc +8 -13
  774. data/src/core/ext/xds/certificate_provider_store.h +1 -1
  775. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +30 -42
  776. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +14 -9
  777. data/src/core/ext/xds/upb_utils.h +1 -1
  778. data/src/core/ext/xds/xds_api.cc +41 -18
  779. data/src/core/ext/xds/xds_api.h +5 -4
  780. data/src/core/ext/xds/xds_audit_logger_registry.cc +122 -0
  781. data/src/core/ext/xds/xds_audit_logger_registry.h +68 -0
  782. data/src/core/ext/xds/xds_bootstrap.cc +3 -3
  783. data/src/core/ext/xds/xds_bootstrap_grpc.cc +65 -50
  784. data/src/core/ext/xds/xds_bootstrap_grpc.h +10 -13
  785. data/src/core/ext/xds/xds_client.cc +35 -16
  786. data/src/core/ext/xds/xds_client.h +3 -3
  787. data/src/core/ext/xds/xds_client_grpc.cc +12 -6
  788. data/src/core/ext/xds/xds_client_grpc.h +16 -2
  789. data/src/core/ext/xds/xds_client_stats.h +11 -1
  790. data/src/core/ext/xds/xds_cluster.cc +100 -109
  791. data/src/core/ext/xds/xds_cluster.h +1 -6
  792. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +15 -11
  793. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +2 -2
  794. data/src/core/ext/xds/xds_common_types.cc +8 -5
  795. data/src/core/ext/xds/xds_endpoint.cc +21 -28
  796. data/src/core/ext/xds/xds_endpoint.h +1 -2
  797. data/src/core/ext/xds/xds_health_status.cc +0 -17
  798. data/src/core/ext/xds/xds_health_status.h +5 -25
  799. data/src/core/ext/xds/xds_http_fault_filter.cc +16 -14
  800. data/src/core/ext/xds/xds_http_fault_filter.h +1 -1
  801. data/src/core/ext/xds/xds_http_filters.cc +1 -4
  802. data/src/core/ext/xds/xds_http_filters.h +3 -2
  803. data/src/core/ext/xds/xds_http_rbac_filter.cc +152 -72
  804. data/src/core/ext/xds/xds_http_rbac_filter.h +1 -1
  805. data/src/core/ext/xds/xds_http_stateful_session_filter.cc +16 -16
  806. data/src/core/ext/xds/xds_http_stateful_session_filter.h +1 -1
  807. data/src/core/ext/xds/xds_lb_policy_registry.cc +60 -36
  808. data/src/core/ext/xds/xds_listener.cc +25 -18
  809. data/src/core/ext/xds/xds_listener.h +14 -4
  810. data/src/core/ext/xds/xds_resource_type.h +3 -9
  811. data/src/core/ext/xds/xds_resource_type_impl.h +9 -11
  812. data/src/core/ext/xds/xds_route_config.cc +62 -19
  813. data/src/core/ext/xds/xds_route_config.h +2 -2
  814. data/src/core/ext/xds/xds_server_config_fetcher.cc +53 -28
  815. data/src/core/ext/xds/xds_transport_grpc.cc +13 -2
  816. data/src/core/lib/address_utils/parse_address.cc +63 -1
  817. data/src/core/lib/address_utils/parse_address.h +8 -0
  818. data/src/core/lib/address_utils/sockaddr_utils.cc +46 -1
  819. data/src/core/lib/address_utils/sockaddr_utils.h +2 -2
  820. data/src/core/lib/avl/avl.h +15 -173
  821. data/src/core/lib/backoff/random_early_detection.cc +4 -2
  822. data/src/core/lib/backoff/random_early_detection.h +7 -4
  823. data/src/core/lib/channel/call_tracer.cc +296 -1
  824. data/src/core/lib/channel/call_tracer.h +39 -1
  825. data/src/core/lib/channel/channel_args.cc +120 -46
  826. data/src/core/lib/channel/channel_args.h +52 -4
  827. data/src/core/lib/channel/channel_trace.cc +16 -12
  828. data/src/core/lib/channel/channelz.cc +163 -135
  829. data/src/core/lib/channel/channelz.h +42 -35
  830. data/src/core/lib/channel/channelz_registry.cc +24 -20
  831. data/src/core/lib/channel/channelz_registry.h +4 -2
  832. data/src/core/lib/channel/connected_channel.cc +103 -35
  833. data/src/core/lib/channel/promise_based_filter.cc +15 -17
  834. data/src/core/lib/channel/promise_based_filter.h +5 -1
  835. data/src/core/lib/compression/compression_internal.cc +8 -7
  836. data/src/core/lib/config/config_vars.cc +20 -18
  837. data/src/core/lib/config/config_vars.h +5 -5
  838. data/src/core/lib/config/core_configuration.cc +2 -1
  839. data/src/core/lib/config/core_configuration.h +5 -4
  840. data/src/core/lib/config/load_config.cc +13 -0
  841. data/src/core/lib/config/load_config.h +6 -0
  842. data/src/core/lib/debug/event_log.h +1 -1
  843. data/src/core/lib/debug/stats_data.cc +202 -35
  844. data/src/core/lib/debug/stats_data.h +103 -1
  845. data/src/core/lib/debug/trace.cc +31 -56
  846. data/src/core/lib/debug/trace.h +14 -4
  847. data/src/core/lib/event_engine/ares_resolver.cc +721 -0
  848. data/src/core/lib/event_engine/ares_resolver.h +150 -0
  849. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +221 -0
  850. data/src/core/lib/event_engine/cf_engine/cf_engine.h +89 -0
  851. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +357 -0
  852. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +149 -0
  853. data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +82 -0
  854. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +241 -0
  855. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +120 -0
  856. data/src/core/lib/event_engine/default_event_engine.cc +13 -1
  857. data/src/core/lib/event_engine/default_event_engine_factory.cc +14 -2
  858. data/src/core/lib/event_engine/event_engine.cc +0 -12
  859. data/src/core/lib/event_engine/forkable.cc +62 -43
  860. data/src/core/lib/event_engine/forkable.h +15 -0
  861. data/src/core/lib/event_engine/grpc_polled_fd.h +73 -0
  862. data/src/core/lib/event_engine/handle_containers.h +0 -4
  863. data/src/core/lib/event_engine/nameser.h +102 -0
  864. data/src/core/lib/event_engine/poller.h +2 -2
  865. data/src/core/lib/event_engine/posix.h +4 -0
  866. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +5 -7
  867. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +29 -9
  868. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +10 -1
  869. data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +197 -0
  870. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +7 -18
  871. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +28 -14
  872. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +12 -1
  873. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +90 -47
  874. data/src/core/lib/event_engine/posix_engine/posix_engine.h +21 -14
  875. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +41 -31
  876. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +9 -8
  877. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +4 -2
  878. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +50 -4
  879. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +9 -0
  880. data/src/core/lib/event_engine/posix_engine/timer.h +10 -37
  881. data/src/core/lib/event_engine/posix_engine/timer_manager.h +1 -1
  882. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +2 -0
  883. data/src/core/lib/event_engine/shim.cc +9 -1
  884. data/src/core/lib/event_engine/tcp_socket_utils.cc +67 -7
  885. data/src/core/lib/event_engine/tcp_socket_utils.h +3 -0
  886. data/src/core/lib/event_engine/thread_pool/thread_count.cc +58 -0
  887. data/src/core/lib/event_engine/thread_pool/thread_count.h +176 -0
  888. data/src/core/lib/event_engine/thread_pool/thread_pool.h +50 -0
  889. data/src/core/lib/event_engine/{executor/executor.h → thread_pool/thread_pool_factory.cc} +12 -15
  890. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +523 -0
  891. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +223 -0
  892. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +157 -0
  893. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +104 -0
  894. data/src/core/lib/event_engine/trace.cc +1 -0
  895. data/src/core/lib/event_engine/trace.h +6 -0
  896. data/src/core/lib/event_engine/windows/iocp.cc +4 -3
  897. data/src/core/lib/event_engine/windows/iocp.h +3 -3
  898. data/src/core/lib/event_engine/windows/win_socket.cc +6 -6
  899. data/src/core/lib/event_engine/windows/win_socket.h +4 -4
  900. data/src/core/lib/event_engine/windows/windows_endpoint.cc +60 -59
  901. data/src/core/lib/event_engine/windows/windows_endpoint.h +17 -13
  902. data/src/core/lib/event_engine/windows/windows_engine.cc +21 -18
  903. data/src/core/lib/event_engine/windows/windows_engine.h +14 -18
  904. data/src/core/lib/event_engine/windows/windows_listener.cc +3 -3
  905. data/src/core/lib/event_engine/windows/windows_listener.h +3 -2
  906. data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +63 -0
  907. data/src/core/lib/event_engine/work_queue/basic_work_queue.h +71 -0
  908. data/src/core/lib/event_engine/work_queue/work_queue.h +62 -0
  909. data/src/core/lib/experiments/config.cc +121 -30
  910. data/src/core/lib/experiments/config.h +33 -5
  911. data/src/core/lib/experiments/experiments.cc +675 -23
  912. data/src/core/lib/experiments/experiments.h +342 -27
  913. data/src/core/lib/gpr/log_internal.h +55 -0
  914. data/src/core/lib/gpr/posix/time.cc +5 -0
  915. data/src/core/lib/gprpp/crash.cc +10 -0
  916. data/src/core/lib/gprpp/crash.h +3 -0
  917. data/src/core/lib/gprpp/dual_ref_counted.h +9 -9
  918. data/src/core/lib/gprpp/fork.cc +8 -9
  919. data/src/core/lib/gprpp/fork.h +7 -6
  920. data/src/core/lib/gprpp/if_list.h +4530 -0
  921. data/src/core/lib/gprpp/manual_constructor.h +1 -2
  922. data/src/core/lib/gprpp/no_destruct.h +1 -1
  923. data/src/core/lib/gprpp/orphanable.h +3 -3
  924. data/src/core/lib/gprpp/per_cpu.cc +35 -0
  925. data/src/core/lib/gprpp/per_cpu.h +61 -9
  926. data/src/core/lib/gprpp/ref_counted.h +9 -7
  927. data/src/core/lib/gprpp/ref_counted_ptr.h +63 -0
  928. data/src/core/lib/gprpp/ref_counted_string.cc +44 -0
  929. data/src/core/lib/gprpp/ref_counted_string.h +146 -0
  930. data/src/core/lib/gprpp/sorted_pack.h +3 -12
  931. data/src/core/lib/gprpp/status_helper.cc +2 -2
  932. data/src/core/lib/gprpp/status_helper.h +16 -15
  933. data/src/core/lib/gprpp/time.cc +1 -0
  934. data/src/core/lib/gprpp/time.h +13 -1
  935. data/src/core/lib/gprpp/type_list.h +32 -0
  936. data/src/core/lib/gprpp/validation_errors.cc +8 -3
  937. data/src/core/lib/gprpp/validation_errors.h +16 -9
  938. data/src/core/lib/gprpp/work_serializer.cc +320 -12
  939. data/src/core/lib/gprpp/work_serializer.h +30 -9
  940. data/src/core/lib/http/httpcli.h +6 -9
  941. data/src/core/lib/http/httpcli_security_connector.cc +1 -0
  942. data/src/core/lib/iomgr/buffer_list.cc +2 -0
  943. data/src/core/lib/iomgr/buffer_list.h +0 -1
  944. data/src/core/lib/iomgr/cfstream_handle.cc +1 -1
  945. data/src/core/lib/iomgr/combiner.cc +57 -15
  946. data/src/core/lib/iomgr/combiner.h +8 -3
  947. data/src/core/lib/iomgr/endpoint_cfstream.cc +10 -8
  948. data/src/core/lib/iomgr/error.cc +32 -2
  949. data/src/core/lib/iomgr/error.h +9 -10
  950. data/src/core/lib/iomgr/ev_apple.cc +12 -12
  951. data/src/core/lib/iomgr/ev_epoll1_linux.cc +15 -10
  952. data/src/core/lib/iomgr/ev_poll_posix.cc +6 -5
  953. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +24 -27
  954. data/src/core/lib/iomgr/exec_ctx.cc +12 -0
  955. data/src/core/lib/iomgr/exec_ctx.h +66 -19
  956. data/src/core/lib/iomgr/iocp_windows.cc +24 -3
  957. data/src/core/lib/iomgr/iocp_windows.h +11 -0
  958. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +1 -1
  959. data/src/core/lib/iomgr/polling_entity.cc +10 -0
  960. data/src/core/lib/iomgr/polling_entity.h +2 -0
  961. data/src/core/lib/iomgr/pollset.h +4 -5
  962. data/src/core/lib/iomgr/port.h +24 -0
  963. data/src/core/lib/iomgr/resolve_address.cc +13 -1
  964. data/src/core/lib/iomgr/resolve_address.h +17 -3
  965. data/src/core/lib/iomgr/sockaddr_posix.h +7 -0
  966. data/src/core/lib/iomgr/socket_utils_common_posix.cc +33 -2
  967. data/src/core/lib/iomgr/socket_utils_posix.cc +5 -0
  968. data/src/core/lib/iomgr/socket_utils_posix.h +9 -0
  969. data/src/core/lib/iomgr/socket_windows.cc +61 -7
  970. data/src/core/lib/iomgr/socket_windows.h +9 -2
  971. data/src/core/lib/iomgr/tcp_client_cfstream.cc +14 -3
  972. data/src/core/lib/iomgr/tcp_client_posix.cc +8 -1
  973. data/src/core/lib/iomgr/tcp_posix.cc +41 -21
  974. data/src/core/lib/iomgr/tcp_server_posix.cc +145 -106
  975. data/src/core/lib/iomgr/tcp_server_utils_posix.h +1 -1
  976. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +5 -2
  977. data/src/core/lib/iomgr/tcp_server_windows.cc +1 -1
  978. data/src/core/lib/iomgr/tcp_windows.cc +1 -3
  979. data/src/core/lib/iomgr/timer_generic.cc +17 -16
  980. data/src/core/lib/iomgr/vsock.cc +59 -0
  981. data/src/core/lib/iomgr/vsock.h +38 -0
  982. data/src/core/lib/iomgr/wakeup_fd_posix.h +3 -6
  983. data/src/core/lib/json/json.h +2 -218
  984. data/src/core/lib/json/json_object_loader.cc +24 -25
  985. data/src/core/lib/json/json_object_loader.h +30 -18
  986. data/src/core/lib/json/json_reader.cc +69 -42
  987. data/src/core/lib/json/json_reader.h +34 -0
  988. data/src/core/lib/json/json_util.cc +10 -15
  989. data/src/core/lib/json/json_util.h +5 -4
  990. data/src/core/lib/json/json_writer.cc +24 -25
  991. data/src/core/lib/json/json_writer.h +33 -0
  992. data/src/core/lib/load_balancing/delegating_helper.h +115 -0
  993. data/src/core/lib/load_balancing/lb_policy.h +43 -9
  994. data/src/core/lib/load_balancing/lb_policy_registry.cc +9 -8
  995. data/src/core/lib/load_balancing/subchannel_interface.h +6 -0
  996. data/src/core/lib/matchers/matchers.cc +3 -4
  997. data/src/core/lib/matchers/matchers.h +2 -1
  998. data/src/core/lib/promise/activity.cc +5 -0
  999. data/src/core/lib/promise/activity.h +10 -0
  1000. data/src/core/lib/promise/arena_promise.h +5 -1
  1001. data/src/core/lib/promise/detail/basic_seq.h +1 -372
  1002. data/src/core/lib/promise/detail/promise_factory.h +1 -1
  1003. data/src/core/lib/promise/detail/seq_state.h +2494 -0
  1004. data/src/core/lib/promise/latch.h +1 -0
  1005. data/src/core/lib/promise/loop.h +8 -5
  1006. data/src/core/lib/promise/party.cc +31 -13
  1007. data/src/core/lib/promise/party.h +12 -3
  1008. data/src/core/lib/promise/pipe.h +40 -26
  1009. data/src/core/lib/promise/poll.h +4 -6
  1010. data/src/core/lib/promise/prioritized_race.h +95 -0
  1011. data/src/core/lib/promise/seq.h +19 -2
  1012. data/src/core/lib/promise/sleep.cc +2 -1
  1013. data/src/core/lib/promise/sleep.h +5 -10
  1014. data/src/core/lib/promise/try_seq.h +34 -2
  1015. data/src/core/lib/resolver/resolver_factory.h +3 -2
  1016. data/src/core/lib/resolver/server_address.cc +9 -102
  1017. data/src/core/lib/resolver/server_address.h +11 -70
  1018. data/src/core/lib/resource_quota/api.cc +1 -0
  1019. data/src/core/lib/resource_quota/arena.cc +2 -0
  1020. data/src/core/lib/resource_quota/arena.h +42 -8
  1021. data/src/core/lib/resource_quota/memory_quota.cc +65 -10
  1022. data/src/core/lib/resource_quota/memory_quota.h +6 -4
  1023. data/src/core/lib/resource_quota/resource_quota.h +1 -0
  1024. data/src/core/lib/security/authorization/audit_logging.cc +98 -0
  1025. data/src/core/lib/security/authorization/audit_logging.h +73 -0
  1026. data/src/core/lib/security/authorization/authorization_policy_provider.h +1 -1
  1027. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +47 -2
  1028. data/src/core/lib/security/authorization/grpc_authorization_engine.h +18 -1
  1029. data/src/core/lib/security/authorization/rbac_policy.cc +36 -4
  1030. data/src/core/lib/security/authorization/rbac_policy.h +19 -2
  1031. data/src/core/lib/security/authorization/stdout_logger.cc +75 -0
  1032. data/src/core/lib/security/authorization/stdout_logger.h +61 -0
  1033. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +8 -4
  1034. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +8 -18
  1035. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +14 -8
  1036. data/src/core/lib/security/credentials/channel_creds_registry.h +51 -27
  1037. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +169 -9
  1038. data/src/core/lib/security/credentials/composite/composite_credentials.cc +1 -1
  1039. data/src/core/lib/security/credentials/composite/composite_credentials.h +3 -1
  1040. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +54 -49
  1041. data/src/core/lib/security/credentials/external/aws_request_signer.cc +8 -0
  1042. data/src/core/lib/security/credentials/external/external_account_credentials.cc +104 -65
  1043. data/src/core/lib/security/credentials/external/external_account_credentials.h +6 -0
  1044. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +23 -21
  1045. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +29 -27
  1046. data/src/core/lib/security/credentials/fake/fake_credentials.cc +30 -38
  1047. data/src/core/lib/security/credentials/fake/fake_credentials.h +28 -0
  1048. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +6 -2
  1049. data/src/core/lib/security/credentials/jwt/json_token.cc +36 -16
  1050. data/src/core/lib/security/credentials/jwt/json_token.h +4 -0
  1051. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +10 -5
  1052. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +82 -38
  1053. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +18 -16
  1054. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +116 -9
  1055. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +14 -0
  1056. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_match.cc +86 -0
  1057. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +0 -55
  1058. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +2 -0
  1059. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +8 -0
  1060. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +5 -1
  1061. data/src/core/lib/security/credentials/tls/tls_credentials.cc +2 -1
  1062. data/src/core/lib/security/credentials/tls/tls_credentials.h +3 -1
  1063. data/src/core/lib/security/credentials/xds/xds_credentials.cc +1 -0
  1064. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +2 -5
  1065. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +1 -0
  1066. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +7 -57
  1067. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +1 -1
  1068. data/src/core/lib/security/security_connector/ssl_utils.cc +3 -1
  1069. data/src/core/lib/security/security_connector/ssl_utils.h +1 -1
  1070. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +3 -15
  1071. data/src/core/lib/security/transport/client_auth_filter.cc +8 -5
  1072. data/src/core/lib/security/transport/security_handshaker.cc +1 -0
  1073. data/src/core/lib/security/transport/server_auth_filter.cc +2 -0
  1074. data/src/core/lib/security/util/json_util.cc +6 -5
  1075. data/src/core/lib/service_config/service_config_call_data.h +54 -20
  1076. data/src/core/lib/service_config/service_config_impl.cc +13 -6
  1077. data/src/core/lib/slice/slice.h +24 -0
  1078. data/src/core/lib/slice/slice_buffer.cc +15 -0
  1079. data/src/core/lib/slice/slice_buffer.h +16 -4
  1080. data/src/core/lib/slice/slice_refcount.h +1 -1
  1081. data/src/core/lib/surface/call.cc +244 -100
  1082. data/src/core/lib/surface/call.h +5 -5
  1083. data/src/core/lib/surface/channel.cc +8 -4
  1084. data/src/core/lib/surface/channel_init.h +3 -2
  1085. data/src/core/lib/surface/completion_queue.cc +18 -3
  1086. data/src/core/lib/surface/init.cc +1 -0
  1087. data/src/core/lib/surface/server.cc +151 -80
  1088. data/src/core/lib/surface/server.h +19 -21
  1089. data/src/core/lib/surface/validate_metadata.cc +37 -22
  1090. data/src/core/lib/surface/validate_metadata.h +13 -3
  1091. data/src/core/lib/surface/version.cc +2 -2
  1092. data/src/core/lib/transport/batch_builder.cc +16 -15
  1093. data/src/core/lib/transport/batch_builder.h +48 -36
  1094. data/src/core/lib/transport/metadata_batch.cc +13 -7
  1095. data/src/core/lib/transport/metadata_batch.h +118 -108
  1096. data/src/core/lib/transport/metadata_compression_traits.h +67 -0
  1097. data/src/core/lib/transport/parsed_metadata.h +32 -20
  1098. data/src/core/lib/transport/simple_slice_based_metadata.h +54 -0
  1099. data/src/core/lib/transport/transport.h +30 -11
  1100. data/src/core/plugin_registry/grpc_plugin_registry.cc +2 -6
  1101. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +2 -0
  1102. data/src/core/tsi/alts/crypt/aes_gcm.cc +27 -2
  1103. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +4 -6
  1104. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +1 -2
  1105. data/src/core/tsi/ssl_transport_security.cc +51 -9
  1106. data/src/core/tsi/ssl_transport_security.h +17 -1
  1107. data/src/ruby/bin/math_pb.rb +24 -18
  1108. data/src/ruby/ext/grpc/extconf.rb +27 -27
  1109. data/src/ruby/ext/grpc/rb_call.c +62 -39
  1110. data/src/ruby/ext/grpc/rb_call_credentials.c +0 -1
  1111. data/src/ruby/ext/grpc/rb_channel.c +109 -84
  1112. data/src/ruby/ext/grpc/rb_channel.h +1 -0
  1113. data/src/ruby/ext/grpc/rb_channel_args.c +18 -2
  1114. data/src/ruby/ext/grpc/rb_channel_args.h +4 -0
  1115. data/src/ruby/ext/grpc/rb_channel_credentials.c +0 -1
  1116. data/src/ruby/ext/grpc/rb_compression_options.c +0 -1
  1117. data/src/ruby/ext/grpc/rb_event_thread.c +22 -6
  1118. data/src/ruby/ext/grpc/rb_event_thread.h +1 -0
  1119. data/src/ruby/ext/grpc/rb_grpc.c +192 -30
  1120. data/src/ruby/ext/grpc/rb_grpc.h +8 -2
  1121. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +2 -0
  1122. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +3 -0
  1123. data/src/ruby/ext/grpc/rb_server.c +62 -45
  1124. data/src/ruby/ext/grpc/rb_server_credentials.c +0 -1
  1125. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +0 -1
  1126. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +0 -1
  1127. data/src/ruby/lib/grpc/generic/active_call.rb +9 -14
  1128. data/src/ruby/lib/grpc/generic/bidi_call.rb +2 -0
  1129. data/src/ruby/lib/grpc/version.rb +1 -1
  1130. data/src/ruby/pb/grpc/health/v1/health_pb.rb +24 -13
  1131. data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +24 -3
  1132. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +28 -111
  1133. data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +25 -2
  1134. data/src/ruby/pb/test/client.rb +16 -0
  1135. data/src/ruby/spec/generic/rpc_server_spec.rb +3 -3
  1136. data/third_party/abseil-cpp/absl/algorithm/container.h +3 -2
  1137. data/third_party/abseil-cpp/absl/base/attributes.h +58 -5
  1138. data/third_party/abseil-cpp/absl/base/call_once.h +1 -1
  1139. data/third_party/abseil-cpp/absl/base/casts.h +8 -8
  1140. data/third_party/abseil-cpp/absl/base/config.h +89 -106
  1141. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +26 -1
  1142. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +2 -2
  1143. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +50 -39
  1144. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h +2 -1
  1145. data/third_party/abseil-cpp/absl/base/internal/prefetch.h +17 -18
  1146. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +32 -3
  1147. data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +24 -4
  1148. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +31 -73
  1149. data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +9 -8
  1150. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +11 -11
  1151. data/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc +23 -32
  1152. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +2 -3
  1153. data/third_party/abseil-cpp/absl/base/options.h +1 -1
  1154. data/third_party/abseil-cpp/absl/base/policy_checks.h +3 -3
  1155. data/third_party/abseil-cpp/absl/base/prefetch.h +198 -0
  1156. data/third_party/abseil-cpp/absl/container/fixed_array.h +54 -29
  1157. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +5 -1
  1158. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +6 -2
  1159. data/third_party/abseil-cpp/absl/container/inlined_vector.h +167 -79
  1160. data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +1 -1
  1161. data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +3 -21
  1162. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +1 -1
  1163. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +46 -0
  1164. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +2 -0
  1165. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +85 -26
  1166. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +35 -18
  1167. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +70 -29
  1168. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +437 -236
  1169. data/third_party/abseil-cpp/absl/crc/crc32c.h +8 -1
  1170. data/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc +14 -8
  1171. data/third_party/abseil-cpp/absl/crc/internal/crc.cc +4 -35
  1172. data/third_party/abseil-cpp/absl/crc/internal/crc.h +2 -10
  1173. data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +1 -1
  1174. data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc +1 -1
  1175. data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.h +4 -4
  1176. data/third_party/abseil-cpp/absl/crc/internal/crc_internal.h +8 -10
  1177. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_64.cc +17 -19
  1178. data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +8 -8
  1179. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +2 -1
  1180. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +59 -23
  1181. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +1 -1
  1182. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +1 -1
  1183. data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +1 -1
  1184. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +43 -19
  1185. data/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +3 -0
  1186. data/third_party/abseil-cpp/absl/flags/commandlineflag.h +1 -1
  1187. data/third_party/abseil-cpp/absl/flags/internal/commandlineflag.cc +1 -1
  1188. data/third_party/abseil-cpp/absl/flags/internal/flag.cc +2 -2
  1189. data/third_party/abseil-cpp/absl/flags/internal/flag.h +16 -15
  1190. data/third_party/abseil-cpp/absl/flags/internal/flag_msvc.inc +1 -1
  1191. data/third_party/abseil-cpp/absl/flags/marshalling.cc +43 -2
  1192. data/third_party/abseil-cpp/absl/flags/marshalling.h +5 -0
  1193. data/third_party/abseil-cpp/absl/functional/any_invocable.h +9 -1
  1194. data/third_party/abseil-cpp/absl/functional/bind_front.h +1 -1
  1195. data/third_party/abseil-cpp/absl/functional/function_ref.h +3 -3
  1196. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +37 -24
  1197. data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +19 -9
  1198. data/third_party/abseil-cpp/absl/hash/hash.h +7 -4
  1199. data/third_party/abseil-cpp/absl/hash/internal/hash.h +38 -15
  1200. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +6 -0
  1201. data/third_party/abseil-cpp/absl/meta/type_traits.h +48 -373
  1202. data/third_party/abseil-cpp/absl/numeric/bits.h +4 -4
  1203. data/third_party/abseil-cpp/absl/numeric/int128.cc +20 -8
  1204. data/third_party/abseil-cpp/absl/numeric/int128.h +36 -39
  1205. data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +0 -3
  1206. data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +47 -30
  1207. data/third_party/abseil-cpp/absl/random/bit_gen_ref.h +185 -0
  1208. data/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h +4 -3
  1209. data/third_party/abseil-cpp/absl/random/internal/generate_real.h +1 -1
  1210. data/third_party/abseil-cpp/absl/random/internal/platform.h +1 -1
  1211. data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +4 -0
  1212. data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +1 -1
  1213. data/third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc +1 -1
  1214. data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +1 -1
  1215. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +4 -0
  1216. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +12 -24
  1217. data/third_party/abseil-cpp/absl/status/status.cc +11 -7
  1218. data/third_party/abseil-cpp/absl/status/status.h +11 -2
  1219. data/third_party/abseil-cpp/absl/status/statusor.h +22 -8
  1220. data/third_party/abseil-cpp/absl/strings/ascii.cc +54 -6
  1221. data/third_party/abseil-cpp/absl/strings/charconv.cc +21 -4
  1222. data/third_party/abseil-cpp/absl/strings/charconv.h +2 -2
  1223. data/third_party/abseil-cpp/absl/strings/cord.cc +1 -2
  1224. data/third_party/abseil-cpp/absl/strings/cord.h +32 -5
  1225. data/third_party/abseil-cpp/absl/strings/cord_analysis.cc +23 -1
  1226. data/third_party/abseil-cpp/absl/strings/cord_analysis.h +18 -0
  1227. data/third_party/abseil-cpp/absl/strings/cord_buffer.h +2 -5
  1228. data/third_party/abseil-cpp/absl/strings/escaping.cc +10 -32
  1229. data/third_party/abseil-cpp/absl/strings/escaping.h +1 -1
  1230. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +2 -4
  1231. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +3 -3
  1232. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +0 -1
  1233. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +15 -13
  1234. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +13 -4
  1235. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +8 -0
  1236. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +5 -3
  1237. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.h +4 -7
  1238. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +8 -0
  1239. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +2 -2
  1240. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +46 -20
  1241. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h +1 -34
  1242. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +2 -1
  1243. data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +23 -0
  1244. data/third_party/abseil-cpp/absl/strings/internal/escaping.h +1 -0
  1245. data/third_party/abseil-cpp/absl/strings/internal/memutil.cc +2 -77
  1246. data/third_party/abseil-cpp/absl/strings/internal/memutil.h +4 -112
  1247. data/third_party/abseil-cpp/absl/strings/internal/stl_type_traits.h +1 -1
  1248. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +10 -31
  1249. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +8 -8
  1250. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +5 -20
  1251. data/third_party/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h +1 -0
  1252. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +1 -1
  1253. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +9 -9
  1254. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +56 -6
  1255. data/third_party/abseil-cpp/absl/strings/match.cc +87 -0
  1256. data/third_party/abseil-cpp/absl/strings/match.h +19 -0
  1257. data/third_party/abseil-cpp/absl/strings/numbers.cc +154 -122
  1258. data/third_party/abseil-cpp/absl/strings/numbers.h +1 -6
  1259. data/third_party/abseil-cpp/absl/strings/str_cat.cc +7 -50
  1260. data/third_party/abseil-cpp/absl/strings/str_cat.h +83 -15
  1261. data/third_party/abseil-cpp/absl/strings/str_format.h +6 -3
  1262. data/third_party/abseil-cpp/absl/strings/str_split.cc +9 -6
  1263. data/third_party/abseil-cpp/absl/strings/string_view.cc +26 -4
  1264. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +5 -0
  1265. data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +63 -43
  1266. data/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +111 -0
  1267. data/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.h +63 -0
  1268. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +11 -7
  1269. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +225 -0
  1270. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +122 -114
  1271. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +12 -8
  1272. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +10 -1
  1273. data/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +167 -0
  1274. data/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.h +60 -0
  1275. data/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +122 -0
  1276. data/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.h +65 -0
  1277. data/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +91 -0
  1278. data/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.h +56 -0
  1279. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +19 -113
  1280. data/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.cc +42 -0
  1281. data/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.h +90 -0
  1282. data/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +151 -0
  1283. data/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.h +70 -0
  1284. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +407 -411
  1285. data/third_party/abseil-cpp/absl/synchronization/mutex.h +152 -118
  1286. data/third_party/abseil-cpp/absl/time/clock.cc +6 -7
  1287. data/third_party/abseil-cpp/absl/time/duration.cc +24 -26
  1288. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +1 -0
  1289. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +1 -1
  1290. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +3 -3
  1291. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +8 -6
  1292. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +6 -3
  1293. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +4 -2
  1294. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +4 -0
  1295. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +322 -295
  1296. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +8 -17
  1297. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +51 -33
  1298. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +7 -2
  1299. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +128 -2
  1300. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h +1 -1
  1301. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +5 -1
  1302. data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +34 -34
  1303. data/third_party/abseil-cpp/absl/time/time.cc +9 -2
  1304. data/third_party/abseil-cpp/absl/time/time.h +115 -15
  1305. data/third_party/abseil-cpp/absl/types/internal/optional.h +0 -52
  1306. data/third_party/abseil-cpp/absl/types/internal/span.h +2 -2
  1307. data/third_party/abseil-cpp/absl/types/internal/variant.h +2 -2
  1308. data/third_party/abseil-cpp/absl/types/optional.h +15 -13
  1309. data/third_party/abseil-cpp/absl/types/span.h +1 -2
  1310. data/third_party/boringssl-with-bazel/err_data.c +554 -553
  1311. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +7 -3
  1312. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +9 -8
  1313. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c +7 -7
  1314. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +6 -6
  1315. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +34 -1
  1316. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +11 -4
  1317. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +3 -3
  1318. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +10 -6
  1319. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +7 -4
  1320. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +9 -7
  1321. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +40 -55
  1322. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +7 -7
  1323. data/third_party/boringssl-with-bazel/src/crypto/bio/errno.c +92 -0
  1324. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +14 -54
  1325. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +23 -22
  1326. data/third_party/boringssl-with-bazel/src/crypto/bio/internal.h +16 -6
  1327. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +4 -2
  1328. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +4 -4
  1329. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +11 -2
  1330. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +31 -22
  1331. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +1 -1
  1332. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +19 -1
  1333. data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +8 -1
  1334. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +29 -26
  1335. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +8 -0
  1336. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +189 -13
  1337. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +31 -192
  1338. data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +3 -7
  1339. data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +8 -0
  1340. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c +3 -2
  1341. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c +0 -1
  1342. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c +0 -2
  1343. data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_freebsd.c → cpu_aarch64_openbsd.c} +23 -24
  1344. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.c +93 -0
  1345. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c +1 -1
  1346. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c +0 -1
  1347. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c +0 -2
  1348. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +55 -50
  1349. data/third_party/boringssl-with-bazel/src/crypto/{cpu_arm.c → curve25519/curve25519_64_adx.c} +4 -24
  1350. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +2834 -7442
  1351. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +26 -8
  1352. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c +4 -0
  1353. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c +5 -0
  1354. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +4 -0
  1355. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +20 -0
  1356. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +110 -72
  1357. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.c +4 -3
  1358. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +42 -34
  1359. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +17 -11
  1360. data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c +1 -1
  1361. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +23 -21
  1362. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +35 -12
  1363. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +2 -4
  1364. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +3 -7
  1365. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c +1 -1
  1366. data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.c +3 -3
  1367. data/third_party/boringssl-with-bazel/src/crypto/evp/print.c +7 -6
  1368. data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +34 -72
  1369. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +2 -1
  1370. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +12 -5
  1371. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c +5 -6
  1372. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +12 -6
  1373. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c +17 -18
  1374. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c +51 -15
  1375. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.c +7 -7
  1376. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +5 -6
  1377. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.c +37 -8
  1378. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c +41 -19
  1379. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +9 -0
  1380. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/builtin_curves.h +277 -0
  1381. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +204 -428
  1382. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +4 -4
  1383. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c +31 -64
  1384. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.c +17 -13
  1385. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +105 -143
  1386. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +19 -19
  1387. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +16 -18
  1388. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.c +27 -30
  1389. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +23 -26
  1390. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +1 -1
  1391. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +24 -24
  1392. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c +21 -37
  1393. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +31 -31
  1394. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +16 -16
  1395. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c +1 -1
  1396. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +11 -5
  1397. data/third_party/boringssl-with-bazel/src/crypto/{hkdf → fipsmodule/hkdf}/hkdf.c +2 -2
  1398. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +2 -10
  1399. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +1 -4
  1400. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +115 -133
  1401. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c +12 -14
  1402. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +57 -47
  1403. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +1 -8
  1404. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.c +27 -28
  1405. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c +40 -26
  1406. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +21 -7
  1407. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +38 -19
  1408. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +2 -41
  1409. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +76 -16
  1410. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c +5 -288
  1411. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +143 -83
  1412. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +126 -233
  1413. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +113 -24
  1414. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.c +4 -7
  1415. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +8 -0
  1416. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c +33 -0
  1417. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +169 -6
  1418. data/third_party/boringssl-with-bazel/src/crypto/internal.h +216 -87
  1419. data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +32 -2
  1420. data/third_party/boringssl-with-bazel/src/crypto/kyber/keccak.c +11 -12
  1421. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +834 -0
  1422. data/third_party/boringssl-with-bazel/src/crypto/mem.c +7 -8
  1423. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +25 -46
  1424. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +6 -13
  1425. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +18 -14
  1426. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +3 -3
  1427. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.c +3 -3
  1428. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +7 -7
  1429. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +8 -5
  1430. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +1 -0
  1431. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +7 -6
  1432. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c +6 -12
  1433. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.c +52 -0
  1434. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{fuchsia.c → ios.c} +8 -8
  1435. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.c +38 -0
  1436. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +41 -19
  1437. data/third_party/boringssl-with-bazel/src/crypto/{refcount_c11.c → refcount.c} +11 -17
  1438. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/internal.h +77 -0
  1439. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c +568 -0
  1440. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +152 -72
  1441. data/third_party/boringssl-with-bazel/src/crypto/thread_none.c +0 -8
  1442. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +6 -35
  1443. data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +5 -26
  1444. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +62 -0
  1445. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +240 -72
  1446. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +35 -0
  1447. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +588 -130
  1448. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c +27 -18
  1449. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +1 -1
  1450. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +10 -20
  1451. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +0 -3
  1452. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +3 -2
  1453. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +17 -39
  1454. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.c +18 -14
  1455. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +39 -48
  1456. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +1 -141
  1457. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.c +1 -3
  1458. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +19 -25
  1459. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +72 -23
  1460. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +8 -4
  1461. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +8 -12
  1462. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +22 -24
  1463. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +1 -72
  1464. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +22 -29
  1465. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c +1 -1
  1466. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +9 -7
  1467. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +1 -1
  1468. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +7 -7
  1469. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +2 -2
  1470. data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +1 -1
  1471. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +2 -3
  1472. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +33 -46
  1473. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +1 -0
  1474. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_info.c +3 -5
  1475. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +20 -52
  1476. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +14 -26
  1477. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +11 -9
  1478. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +17 -10
  1479. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +5 -3
  1480. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +5 -7
  1481. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +4 -119
  1482. data/third_party/boringssl-with-bazel/src/include/openssl/asm_base.h +207 -0
  1483. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +11 -4
  1484. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +37 -112
  1485. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +19 -13
  1486. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +1 -4
  1487. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +0 -2
  1488. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +6 -0
  1489. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +5 -1
  1490. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +4 -1
  1491. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +0 -21
  1492. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +28 -11
  1493. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +19 -6
  1494. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +14 -10
  1495. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +34 -2
  1496. data/third_party/boringssl-with-bazel/src/include/openssl/kyber.h +128 -0
  1497. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +2 -11
  1498. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +8 -1
  1499. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +0 -3
  1500. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +13 -14
  1501. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +91 -62
  1502. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +26 -19
  1503. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +275 -96
  1504. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +242 -223
  1505. data/third_party/boringssl-with-bazel/src/include/openssl/target.h +201 -0
  1506. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +1 -25
  1507. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +4 -0
  1508. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +8 -0
  1509. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +760 -614
  1510. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +45 -12
  1511. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +11 -6
  1512. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +10 -68
  1513. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +20 -20
  1514. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +33 -18
  1515. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +1 -1
  1516. data/third_party/boringssl-with-bazel/src/ssl/internal.h +86 -46
  1517. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +37 -18
  1518. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +8 -4
  1519. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +209 -209
  1520. data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +6 -6
  1521. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +76 -118
  1522. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +209 -33
  1523. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +17 -4
  1524. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +19 -21
  1525. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +27 -19
  1526. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +2 -1
  1527. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +2 -3
  1528. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +5 -21
  1529. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +5 -2
  1530. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_adx.h +691 -0
  1531. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_msvc.h +1281 -0
  1532. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64_msvc.h +2002 -0
  1533. data/third_party/cares/cares/include/ares.h +23 -1
  1534. data/third_party/cares/cares/{src/lib → include}/ares_nameser.h +9 -7
  1535. data/third_party/cares/cares/include/ares_rules.h +2 -2
  1536. data/third_party/cares/cares/include/ares_version.h +3 -3
  1537. data/third_party/cares/cares/src/lib/ares__addrinfo2hostent.c +266 -0
  1538. data/third_party/cares/cares/src/lib/ares__addrinfo_localhost.c +240 -0
  1539. data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +49 -80
  1540. data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +37 -43
  1541. data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +12 -4
  1542. data/third_party/cares/cares/src/lib/ares_data.c +16 -0
  1543. data/third_party/cares/cares/src/lib/ares_data.h +7 -0
  1544. data/third_party/cares/cares/src/lib/ares_destroy.c +8 -0
  1545. data/third_party/cares/cares/src/lib/ares_expand_name.c +17 -6
  1546. data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +1 -0
  1547. data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +156 -78
  1548. data/third_party/cares/cares/src/lib/ares_gethostbyname.c +130 -326
  1549. data/third_party/cares/cares/src/lib/ares_init.c +97 -485
  1550. data/third_party/cares/cares/src/lib/ares_library_init.c +2 -89
  1551. data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +23 -142
  1552. data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +22 -142
  1553. data/third_party/cares/cares/src/lib/ares_parse_uri_reply.c +184 -0
  1554. data/third_party/cares/cares/src/lib/ares_private.h +30 -16
  1555. data/third_party/cares/cares/src/lib/ares_process.c +55 -16
  1556. data/third_party/cares/cares/src/lib/ares_query.c +1 -35
  1557. data/third_party/cares/cares/src/lib/ares_rand.c +279 -0
  1558. data/third_party/cares/cares/src/lib/ares_send.c +5 -7
  1559. data/third_party/cares/cares/src/lib/ares_strdup.c +12 -19
  1560. data/third_party/cares/cares/src/lib/ares_strsplit.c +44 -128
  1561. data/third_party/cares/cares/src/lib/ares_strsplit.h +9 -10
  1562. data/third_party/cares/cares/src/lib/inet_net_pton.c +78 -116
  1563. data/third_party/cares/cares/src/tools/ares_getopt.h +53 -0
  1564. data/third_party/upb/upb/{table_internal.h → alloc.h} +6 -6
  1565. data/third_party/upb/upb/arena.h +4 -193
  1566. data/third_party/upb/upb/array.h +4 -51
  1567. data/third_party/upb/upb/base/descriptor_constants.h +104 -0
  1568. data/third_party/upb/upb/base/log2.h +57 -0
  1569. data/third_party/upb/upb/{status.c → base/status.c} +2 -7
  1570. data/third_party/upb/upb/base/status.h +66 -0
  1571. data/third_party/upb/upb/base/string_view.h +75 -0
  1572. data/third_party/upb/upb/{array.c → collections/array.c} +73 -36
  1573. data/third_party/upb/upb/collections/array.h +91 -0
  1574. data/third_party/upb/upb/collections/array_internal.h +135 -0
  1575. data/third_party/upb/upb/{map.c → collections/map.c} +60 -26
  1576. data/third_party/upb/upb/collections/map.h +140 -0
  1577. data/third_party/upb/upb/collections/map_gencode_util.h +78 -0
  1578. data/third_party/upb/upb/collections/map_internal.h +170 -0
  1579. data/third_party/upb/upb/collections/map_sorter.c +166 -0
  1580. data/third_party/upb/upb/collections/map_sorter_internal.h +109 -0
  1581. data/third_party/upb/upb/{message_value.h → collections/message_value.h} +19 -13
  1582. data/third_party/upb/upb/decode.h +3 -62
  1583. data/third_party/upb/upb/def.h +4 -384
  1584. data/third_party/upb/upb/def.hpp +3 -411
  1585. data/third_party/upb/upb/encode.h +3 -48
  1586. data/third_party/upb/upb/extension_registry.h +3 -52
  1587. data/third_party/upb/upb/generated_code_support.h +54 -0
  1588. data/third_party/upb/upb/{table.c → hash/common.c} +55 -108
  1589. data/third_party/upb/upb/hash/common.h +200 -0
  1590. data/third_party/upb/upb/hash/int_table.h +102 -0
  1591. data/third_party/upb/upb/hash/str_table.h +162 -0
  1592. data/third_party/upb/upb/{json_decode.c → json/decode.c} +63 -98
  1593. data/third_party/upb/upb/{json_decode.h → json/decode.h} +8 -3
  1594. data/third_party/upb/upb/{json_encode.c → json/encode.c} +69 -45
  1595. data/third_party/upb/upb/{json_encode.h → json/encode.h} +8 -3
  1596. data/third_party/upb/upb/lex/atoi.c +68 -0
  1597. data/third_party/upb/upb/lex/atoi.h +53 -0
  1598. data/third_party/upb/upb/{upb.c → lex/round_trip.c} +2 -11
  1599. data/third_party/upb/upb/{internal/upb.h → lex/round_trip.h} +17 -30
  1600. data/third_party/upb/upb/lex/strtod.c +97 -0
  1601. data/third_party/upb/upb/lex/strtod.h +46 -0
  1602. data/third_party/upb/upb/lex/unicode.c +57 -0
  1603. data/third_party/upb/upb/lex/unicode.h +77 -0
  1604. data/third_party/upb/upb/map.h +4 -85
  1605. data/third_party/upb/upb/mem/alloc.c +47 -0
  1606. data/third_party/upb/upb/mem/alloc.h +98 -0
  1607. data/third_party/upb/upb/mem/arena.c +367 -0
  1608. data/third_party/upb/upb/mem/arena.h +160 -0
  1609. data/third_party/upb/upb/mem/arena_internal.h +114 -0
  1610. data/third_party/upb/upb/message/accessors.c +92 -0
  1611. data/third_party/upb/upb/message/accessors.h +400 -0
  1612. data/third_party/upb/upb/message/accessors_internal.h +391 -0
  1613. data/third_party/upb/upb/message/extension_internal.h +83 -0
  1614. data/third_party/upb/upb/message/internal/map_entry.h +64 -0
  1615. data/third_party/upb/upb/message/internal.h +131 -0
  1616. data/third_party/upb/upb/message/message.c +174 -0
  1617. data/third_party/upb/upb/message/message.h +69 -0
  1618. data/third_party/upb/upb/message/tagged_ptr.h +89 -0
  1619. data/third_party/upb/upb/mini_descriptor/build_enum.c +150 -0
  1620. data/third_party/upb/upb/mini_descriptor/build_enum.h +63 -0
  1621. data/third_party/upb/upb/mini_descriptor/decode.c +875 -0
  1622. data/third_party/upb/upb/mini_descriptor/decode.h +140 -0
  1623. data/third_party/upb/upb/mini_descriptor/internal/base92.c +46 -0
  1624. data/third_party/upb/upb/mini_descriptor/internal/base92.h +81 -0
  1625. data/third_party/upb/upb/mini_descriptor/internal/decoder.h +73 -0
  1626. data/third_party/upb/upb/mini_descriptor/internal/encode.c +326 -0
  1627. data/third_party/upb/upb/mini_descriptor/internal/encode.h +110 -0
  1628. data/third_party/upb/upb/{mini_table.hpp → mini_descriptor/internal/encode.hpp} +32 -8
  1629. data/third_party/upb/upb/mini_descriptor/internal/modifiers.h +50 -0
  1630. data/third_party/upb/upb/mini_descriptor/internal/wire_constants.h +91 -0
  1631. data/third_party/upb/upb/mini_descriptor/link.c +142 -0
  1632. data/third_party/upb/upb/mini_descriptor/link.h +104 -0
  1633. data/third_party/upb/upb/mini_table/enum.h +50 -0
  1634. data/third_party/upb/upb/mini_table/extension.h +40 -0
  1635. data/third_party/upb/upb/{extension_registry.c → mini_table/extension_registry.c} +27 -24
  1636. data/third_party/upb/upb/mini_table/extension_registry.h +105 -0
  1637. data/third_party/upb/upb/mini_table/field.h +118 -0
  1638. data/third_party/upb/upb/{collections.h → mini_table/file.h} +6 -7
  1639. data/third_party/upb/upb/mini_table/internal/enum.h +76 -0
  1640. data/third_party/upb/upb/mini_table/internal/extension.h +47 -0
  1641. data/third_party/upb/upb/mini_table/internal/field.h +136 -0
  1642. data/third_party/upb/upb/mini_table/internal/file.h +49 -0
  1643. data/third_party/upb/upb/mini_table/internal/message.c +39 -0
  1644. data/third_party/upb/upb/mini_table/internal/message.h +113 -0
  1645. data/third_party/upb/upb/mini_table/internal/sub.h +39 -0
  1646. data/third_party/upb/upb/mini_table/message.c +97 -0
  1647. data/third_party/upb/upb/mini_table/message.h +105 -0
  1648. data/third_party/upb/upb/mini_table/sub.h +35 -0
  1649. data/third_party/upb/upb/msg.h +3 -38
  1650. data/third_party/upb/upb/port/atomic.h +101 -0
  1651. data/third_party/upb/upb/{port_def.inc → port/def.inc} +94 -27
  1652. data/third_party/upb/upb/{port_undef.inc → port/undef.inc} +13 -3
  1653. data/third_party/upb/upb/{internal → port}/vsnprintf_compat.h +5 -7
  1654. data/third_party/upb/upb/reflection/common.h +67 -0
  1655. data/third_party/upb/upb/reflection/def.h +42 -0
  1656. data/third_party/upb/upb/reflection/def.hpp +622 -0
  1657. data/third_party/upb/upb/reflection/def_builder.c +357 -0
  1658. data/third_party/upb/upb/reflection/def_builder_internal.h +157 -0
  1659. data/third_party/upb/upb/reflection/def_pool.c +462 -0
  1660. data/third_party/upb/upb/reflection/def_pool.h +108 -0
  1661. data/third_party/upb/upb/reflection/def_pool_internal.h +77 -0
  1662. data/third_party/upb/upb/reflection/def_type.c +50 -0
  1663. data/third_party/upb/upb/reflection/def_type.h +81 -0
  1664. data/third_party/upb/upb/reflection/desc_state.c +53 -0
  1665. data/third_party/upb/upb/reflection/desc_state_internal.h +64 -0
  1666. data/third_party/upb/upb/reflection/enum_def.c +310 -0
  1667. data/third_party/upb/upb/reflection/enum_def.h +80 -0
  1668. data/third_party/upb/upb/reflection/enum_def_internal.h +56 -0
  1669. data/third_party/upb/upb/reflection/enum_reserved_range.c +84 -0
  1670. data/third_party/upb/upb/reflection/enum_reserved_range.h +51 -0
  1671. data/third_party/upb/upb/reflection/enum_reserved_range_internal.h +55 -0
  1672. data/third_party/upb/upb/reflection/enum_value_def.c +144 -0
  1673. data/third_party/upb/upb/reflection/enum_value_def.h +57 -0
  1674. data/third_party/upb/upb/reflection/enum_value_def_internal.h +57 -0
  1675. data/third_party/upb/upb/reflection/extension_range.c +93 -0
  1676. data/third_party/upb/upb/reflection/extension_range.h +55 -0
  1677. data/third_party/upb/upb/reflection/extension_range_internal.h +54 -0
  1678. data/third_party/upb/upb/reflection/field_def.c +931 -0
  1679. data/third_party/upb/upb/reflection/field_def.h +91 -0
  1680. data/third_party/upb/upb/reflection/field_def_internal.h +76 -0
  1681. data/third_party/upb/upb/reflection/file_def.c +370 -0
  1682. data/third_party/upb/upb/reflection/file_def.h +77 -0
  1683. data/third_party/upb/upb/reflection/file_def_internal.h +57 -0
  1684. data/third_party/upb/upb/reflection/message.c +233 -0
  1685. data/third_party/upb/upb/reflection/message.h +102 -0
  1686. data/third_party/upb/upb/reflection/message.hpp +37 -0
  1687. data/third_party/upb/upb/reflection/message_def.c +720 -0
  1688. data/third_party/upb/upb/reflection/message_def.h +174 -0
  1689. data/third_party/upb/upb/reflection/message_def_internal.h +63 -0
  1690. data/third_party/upb/upb/reflection/message_reserved_range.c +81 -0
  1691. data/third_party/upb/upb/reflection/message_reserved_range.h +51 -0
  1692. data/third_party/upb/upb/reflection/message_reserved_range_internal.h +55 -0
  1693. data/third_party/upb/upb/reflection/method_def.c +124 -0
  1694. data/third_party/upb/upb/reflection/method_def.h +59 -0
  1695. data/third_party/upb/upb/reflection/method_def_internal.h +53 -0
  1696. data/third_party/upb/upb/reflection/oneof_def.c +226 -0
  1697. data/third_party/upb/upb/reflection/oneof_def.h +66 -0
  1698. data/third_party/upb/upb/reflection/oneof_def_internal.h +57 -0
  1699. data/third_party/upb/upb/reflection/service_def.c +128 -0
  1700. data/third_party/upb/upb/reflection/service_def.h +60 -0
  1701. data/third_party/upb/upb/reflection/service_def_internal.h +53 -0
  1702. data/third_party/upb/upb/reflection.h +4 -78
  1703. data/third_party/upb/upb/reflection.hpp +3 -7
  1704. data/third_party/upb/upb/status.h +4 -34
  1705. data/third_party/upb/upb/string_view.h +36 -0
  1706. data/third_party/upb/upb/{text_encode.c → text/encode.c} +74 -70
  1707. data/third_party/upb/upb/text/encode.h +69 -0
  1708. data/third_party/upb/upb/text_encode.h +4 -32
  1709. data/third_party/upb/upb/upb.h +6 -151
  1710. data/third_party/upb/upb/upb.hpp +10 -18
  1711. data/third_party/upb/upb/wire/common.h +44 -0
  1712. data/third_party/upb/upb/wire/common_internal.h +50 -0
  1713. data/third_party/upb/upb/wire/decode.c +1382 -0
  1714. data/third_party/upb/upb/wire/decode.h +148 -0
  1715. data/third_party/upb/upb/{decode_fast.c → wire/decode_fast.c} +184 -225
  1716. data/third_party/upb/upb/{decode_fast.h → wire/decode_fast.h} +21 -7
  1717. data/third_party/upb/upb/{internal/decode.h → wire/decode_internal.h} +44 -92
  1718. data/third_party/upb/upb/{encode.c → wire/encode.c} +134 -105
  1719. data/third_party/upb/upb/wire/encode.h +92 -0
  1720. data/third_party/upb/upb/wire/eps_copy_input_stream.c +39 -0
  1721. data/third_party/upb/upb/wire/eps_copy_input_stream.h +425 -0
  1722. data/third_party/upb/upb/wire/reader.c +67 -0
  1723. data/third_party/upb/upb/wire/reader.h +227 -0
  1724. data/third_party/upb/upb/wire/swap_internal.h +63 -0
  1725. data/third_party/upb/upb/wire/types.h +41 -0
  1726. data/third_party/{upb/third_party/utf8_range → utf8_range}/range2-neon.c +1 -1
  1727. data/third_party/{upb/third_party/utf8_range → utf8_range}/utf8_range.h +12 -0
  1728. metadata +286 -87
  1729. data/src/core/ext/filters/client_channel/health/health_check_client.cc +0 -175
  1730. data/src/core/ext/filters/client_channel/health/health_check_client.h +0 -43
  1731. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc +0 -42
  1732. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.h +0 -64
  1733. data/src/core/ext/transport/chttp2/transport/context_list.cc +0 -71
  1734. data/src/core/ext/transport/chttp2/transport/context_list.h +0 -54
  1735. data/src/core/ext/transport/chttp2/transport/stream_map.cc +0 -177
  1736. data/src/core/ext/transport/chttp2/transport/stream_map.h +0 -68
  1737. data/src/core/lib/event_engine/thread_pool.cc +0 -253
  1738. data/src/core/lib/event_engine/thread_pool.h +0 -141
  1739. data/src/core/lib/promise/detail/basic_join.h +0 -197
  1740. data/src/core/lib/promise/detail/switch.h +0 -1455
  1741. data/src/core/lib/promise/try_join.h +0 -82
  1742. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +0 -403
  1743. data/third_party/boringssl-with-bazel/src/crypto/refcount_lock.c +0 -52
  1744. data/third_party/cares/cares/src/lib/ares_library_init.h +0 -43
  1745. data/third_party/re2/util/benchmark.h +0 -156
  1746. data/third_party/re2/util/flags.h +0 -26
  1747. data/third_party/re2/util/malloc_counter.h +0 -19
  1748. data/third_party/re2/util/pcre.cc +0 -1025
  1749. data/third_party/re2/util/pcre.h +0 -681
  1750. data/third_party/re2/util/test.h +0 -50
  1751. data/third_party/upb/upb/arena.c +0 -277
  1752. data/third_party/upb/upb/decode.c +0 -1221
  1753. data/third_party/upb/upb/def.c +0 -3269
  1754. data/third_party/upb/upb/internal/table.h +0 -385
  1755. data/third_party/upb/upb/mini_table.c +0 -1147
  1756. data/third_party/upb/upb/mini_table.h +0 -189
  1757. data/third_party/upb/upb/msg.c +0 -368
  1758. data/third_party/upb/upb/msg_internal.h +0 -837
  1759. data/third_party/upb/upb/reflection.c +0 -323
  1760. data/third_party/zlib/gzclose.c +0 -25
  1761. data/third_party/zlib/gzlib.c +0 -639
  1762. data/third_party/zlib/gzread.c +0 -650
  1763. data/third_party/zlib/gzwrite.c +0 -677
  1764. /data/third_party/{upb/third_party/utf8_range → utf8_range}/naive.c +0 -0
  1765. /data/third_party/{upb/third_party/utf8_range → utf8_range}/range2-sse.c +0 -0
@@ -303,6 +303,7 @@ OPENSSL_EXPORT int SSL_get_rfd(const SSL *ssl);
303
303
  // socket |BIO|.
304
304
  OPENSSL_EXPORT int SSL_get_wfd(const SSL *ssl);
305
305
 
306
+ #if !defined(OPENSSL_NO_SOCK)
306
307
  // SSL_set_fd configures |ssl| to read from and write to |fd|. It returns one
307
308
  // on success and zero on allocation error. The caller retains ownership of
308
309
  // |fd|.
@@ -321,6 +322,7 @@ OPENSSL_EXPORT int SSL_set_rfd(SSL *ssl, int fd);
321
322
  //
322
323
  // On Windows, |fd| is cast to a |SOCKET| and used with Winsock APIs.
323
324
  OPENSSL_EXPORT int SSL_set_wfd(SSL *ssl, int fd);
325
+ #endif // !OPENSSL_NO_SOCK
324
326
 
325
327
  // SSL_do_handshake continues the current handshake. If there is none or the
326
328
  // handshake has completed or False Started, it returns one. Otherwise, it
@@ -1081,6 +1083,21 @@ OPENSSL_EXPORT int SSL_set_ocsp_response(SSL *ssl,
1081
1083
  OPENSSL_EXPORT const char *SSL_get_signature_algorithm_name(uint16_t sigalg,
1082
1084
  int include_curve);
1083
1085
 
1086
+ // SSL_get_all_signature_algorithm_names outputs a list of possible strings
1087
+ // |SSL_get_signature_algorithm_name| may return in this version of BoringSSL.
1088
+ // It writes at most |max_out| entries to |out| and returns the total number it
1089
+ // would have written, if |max_out| had been large enough. |max_out| may be
1090
+ // initially set to zero to size the output.
1091
+ //
1092
+ // This function is only intended to help initialize tables in callers that want
1093
+ // possible strings pre-declared. This list would not be suitable to set a list
1094
+ // of supported features. It is in no particular order, and may contain
1095
+ // placeholder, experimental, or deprecated values that do not apply to every
1096
+ // caller. Future versions of BoringSSL may also return strings not in this
1097
+ // list, so this does not apply if, say, sending strings across services.
1098
+ OPENSSL_EXPORT size_t SSL_get_all_signature_algorithm_names(const char **out,
1099
+ size_t max_out);
1100
+
1084
1101
  // SSL_get_signature_algorithm_key_type returns the key type associated with
1085
1102
  // |sigalg| as an |EVP_PKEY_*| constant or |EVP_PKEY_NONE| if unknown.
1086
1103
  OPENSSL_EXPORT int SSL_get_signature_algorithm_key_type(uint16_t sigalg);
@@ -1360,10 +1377,15 @@ OPENSSL_EXPORT int SSL_CIPHER_get_kx_nid(const SSL_CIPHER *cipher);
1360
1377
  // function returns |NID_auth_any|.
1361
1378
  OPENSSL_EXPORT int SSL_CIPHER_get_auth_nid(const SSL_CIPHER *cipher);
1362
1379
 
1363
- // SSL_CIPHER_get_prf_nid retuns the NID for |cipher|'s PRF hash. If |cipher| is
1364
- // a pre-TLS-1.2 cipher, it returns |NID_md5_sha1| but note these ciphers use
1380
+ // SSL_CIPHER_get_handshake_digest returns |cipher|'s PRF hash. If |cipher|
1381
+ // is a pre-TLS-1.2 cipher, it returns |EVP_md5_sha1| but note these ciphers use
1365
1382
  // SHA-256 in TLS 1.2. Other return values may be treated uniformly in all
1366
1383
  // applicable versions.
1384
+ OPENSSL_EXPORT const EVP_MD *SSL_CIPHER_get_handshake_digest(
1385
+ const SSL_CIPHER *cipher);
1386
+
1387
+ // SSL_CIPHER_get_prf_nid behaves like |SSL_CIPHER_get_handshake_digest| but
1388
+ // returns the NID constant. Use |SSL_CIPHER_get_handshake_digest| instead.
1367
1389
  OPENSSL_EXPORT int SSL_CIPHER_get_prf_nid(const SSL_CIPHER *cipher);
1368
1390
 
1369
1391
  // SSL_CIPHER_get_min_version returns the minimum protocol version required
@@ -1394,6 +1416,37 @@ OPENSSL_EXPORT const char *SSL_CIPHER_get_kx_name(const SSL_CIPHER *cipher);
1394
1416
  OPENSSL_EXPORT int SSL_CIPHER_get_bits(const SSL_CIPHER *cipher,
1395
1417
  int *out_alg_bits);
1396
1418
 
1419
+ // SSL_get_all_cipher_names outputs a list of possible strings
1420
+ // |SSL_CIPHER_get_name| may return in this version of BoringSSL. It writes at
1421
+ // most |max_out| entries to |out| and returns the total number it would have
1422
+ // written, if |max_out| had been large enough. |max_out| may be initially set
1423
+ // to zero to size the output.
1424
+ //
1425
+ // This function is only intended to help initialize tables in callers that want
1426
+ // possible strings pre-declared. This list would not be suitable to set a list
1427
+ // of supported features. It is in no particular order, and may contain
1428
+ // placeholder, experimental, or deprecated values that do not apply to every
1429
+ // caller. Future versions of BoringSSL may also return strings not in this
1430
+ // list, so this does not apply if, say, sending strings across services.
1431
+ OPENSSL_EXPORT size_t SSL_get_all_cipher_names(const char **out,
1432
+ size_t max_out);
1433
+
1434
+
1435
+ // SSL_get_all_standard_cipher_names outputs a list of possible strings
1436
+ // |SSL_CIPHER_standard_name| may return in this version of BoringSSL. It writes
1437
+ // at most |max_out| entries to |out| and returns the total number it would have
1438
+ // written, if |max_out| had been large enough. |max_out| may be initially set
1439
+ // to zero to size the output.
1440
+ //
1441
+ // This function is only intended to help initialize tables in callers that want
1442
+ // possible strings pre-declared. This list would not be suitable to set a list
1443
+ // of supported features. It is in no particular order, and may contain
1444
+ // placeholder, experimental, or deprecated values that do not apply to every
1445
+ // caller. Future versions of BoringSSL may also return strings not in this
1446
+ // list, so this does not apply if, say, sending strings across services.
1447
+ OPENSSL_EXPORT size_t SSL_get_all_standard_cipher_names(const char **out,
1448
+ size_t max_out);
1449
+
1397
1450
 
1398
1451
  // Cipher suite configuration.
1399
1452
  //
@@ -1430,7 +1483,8 @@ OPENSSL_EXPORT int SSL_CIPHER_get_bits(const SSL_CIPHER *cipher,
1430
1483
  //
1431
1484
  // Available cipher rules are:
1432
1485
  //
1433
- // |ALL| matches all ciphers.
1486
+ // |ALL| matches all ciphers, except for deprecated ciphers which must be
1487
+ // named explicitly.
1434
1488
  //
1435
1489
  // |kRSA|, |kDHE|, |kECDHE|, and |kPSK| match ciphers using plain RSA, DHE,
1436
1490
  // ECDHE, and plain PSK key exchanges, respectively. Note that ECDHE_PSK is
@@ -1449,9 +1503,6 @@ OPENSSL_EXPORT int SSL_CIPHER_get_bits(const SSL_CIPHER *cipher,
1449
1503
  //
1450
1504
  // |SHA1|, and its alias |SHA|, match legacy cipher suites using HMAC-SHA1.
1451
1505
  //
1452
- // Although implemented, authentication-only ciphers match no rules and must be
1453
- // explicitly selected by name.
1454
- //
1455
1506
  // Deprecated cipher rules:
1456
1507
  //
1457
1508
  // |kEDH|, |EDH|, |kEECDH|, and |EECDH| are legacy aliases for |kDHE|, |DHE|,
@@ -1490,8 +1541,7 @@ OPENSSL_EXPORT int SSL_CIPHER_get_bits(const SSL_CIPHER *cipher,
1490
1541
  //
1491
1542
  // TLS 1.3 ciphers do not participate in this mechanism and instead have a
1492
1543
  // built-in preference order. Functions to set cipher lists do not affect TLS
1493
- // 1.3, and functions to query the cipher list do not include TLS 1.3
1494
- // ciphers.
1544
+ // 1.3, and functions to query the cipher list do not include TLS 1.3 ciphers.
1495
1545
 
1496
1546
  // SSL_DEFAULT_CIPHER_LIST is the default cipher suite configuration. It is
1497
1547
  // substituted when a cipher string starts with 'DEFAULT'.
@@ -2288,81 +2338,100 @@ OPENSSL_EXPORT int SSL_CTX_set_num_tickets(SSL_CTX *ctx, size_t num_tickets);
2288
2338
  OPENSSL_EXPORT size_t SSL_CTX_get_num_tickets(const SSL_CTX *ctx);
2289
2339
 
2290
2340
 
2291
- // Elliptic curve Diffie-Hellman.
2292
- //
2293
- // Cipher suites using an ECDHE key exchange perform Diffie-Hellman over an
2294
- // elliptic curve negotiated by both endpoints. See RFC 4492. Only named curves
2295
- // are supported. ECDHE is always enabled, but the curve preferences may be
2296
- // configured with these functions.
2297
- //
2298
- // Note that TLS 1.3 renames these from curves to groups. For consistency, we
2299
- // currently use the TLS 1.2 name in the API.
2300
-
2301
- // SSL_CTX_set1_curves sets the preferred curves for |ctx| to be |curves|. Each
2302
- // element of |curves| should be a curve nid. It returns one on success and
2303
- // zero on failure.
2304
- //
2305
- // Note that this API uses nid values from nid.h and not the |SSL_CURVE_*|
2306
- // values defined below.
2307
- OPENSSL_EXPORT int SSL_CTX_set1_curves(SSL_CTX *ctx, const int *curves,
2308
- size_t curves_len);
2309
-
2310
- // SSL_set1_curves sets the preferred curves for |ssl| to be |curves|. Each
2311
- // element of |curves| should be a curve nid. It returns one on success and
2312
- // zero on failure.
2313
- //
2314
- // Note that this API uses nid values from nid.h and not the |SSL_CURVE_*|
2315
- // values defined below.
2316
- OPENSSL_EXPORT int SSL_set1_curves(SSL *ssl, const int *curves,
2317
- size_t curves_len);
2318
-
2319
- // SSL_CTX_set1_curves_list sets the preferred curves for |ctx| to be the
2320
- // colon-separated list |curves|. Each element of |curves| should be a curve
2321
- // name (e.g. P-256, X25519, ...). It returns one on success and zero on
2322
- // failure.
2323
- OPENSSL_EXPORT int SSL_CTX_set1_curves_list(SSL_CTX *ctx, const char *curves);
2324
-
2325
- // SSL_set1_curves_list sets the preferred curves for |ssl| to be the
2326
- // colon-separated list |curves|. Each element of |curves| should be a curve
2327
- // name (e.g. P-256, X25519, ...). It returns one on success and zero on
2328
- // failure.
2329
- OPENSSL_EXPORT int SSL_set1_curves_list(SSL *ssl, const char *curves);
2330
-
2331
- // SSL_CURVE_* define TLS curve IDs.
2332
- #define SSL_CURVE_SECP224R1 21
2333
- #define SSL_CURVE_SECP256R1 23
2334
- #define SSL_CURVE_SECP384R1 24
2335
- #define SSL_CURVE_SECP521R1 25
2336
- #define SSL_CURVE_X25519 29
2337
- #define SSL_CURVE_CECPQ2 16696
2338
- #define SSL_CURVE_X25519KYBER768 0xfe31
2339
- #define SSL_CURVE_P256KYBER768 0xfe32
2340
-
2341
- // SSL_get_curve_id returns the ID of the curve used by |ssl|'s most recently
2342
- // completed handshake or 0 if not applicable.
2343
- //
2344
- // TODO(davidben): This API currently does not work correctly if there is a
2345
- // renegotiation in progress. Fix this.
2346
- OPENSSL_EXPORT uint16_t SSL_get_curve_id(const SSL *ssl);
2347
-
2348
- // SSL_get_curve_name returns a human-readable name for the curve specified by
2349
- // the given TLS curve id, or NULL if the curve is unknown.
2350
- OPENSSL_EXPORT const char *SSL_get_curve_name(uint16_t curve_id);
2341
+ // Diffie-Hellman groups and ephemeral key exchanges.
2342
+ //
2343
+ // Most TLS handshakes (ECDHE cipher suites in TLS 1.2, and all supported TLS
2344
+ // 1.3 modes) incorporate an ephemeral key exchange, most commonly using
2345
+ // Elliptic Curve Diffie-Hellman (ECDH), as described in RFC 8422. The key
2346
+ // exchange algorithm is negotiated separately from the cipher suite, using
2347
+ // NamedGroup values, which define Diffie-Hellman groups.
2348
+ //
2349
+ // Historically, these values were known as "curves", in reference to ECDH, and
2350
+ // some APIs refer to the original name. RFC 7919 renamed them to "groups" in
2351
+ // reference to Diffie-Hellman in general. These values are also used to select
2352
+ // experimental post-quantum KEMs. Though not Diffie-Hellman groups, KEMs can
2353
+ // fill a similar role in TLS, so they use the same codepoints.
2354
+ //
2355
+ // In TLS 1.2, the ECDH values also negotiate elliptic curves used in ECDSA. In
2356
+ // TLS 1.3 and later, ECDSA curves are part of the signature algorithm. See
2357
+ // |SSL_SIGN_*|.
2358
+
2359
+ // SSL_GROUP_* define TLS group IDs.
2360
+ #define SSL_GROUP_SECP224R1 21
2361
+ #define SSL_GROUP_SECP256R1 23
2362
+ #define SSL_GROUP_SECP384R1 24
2363
+ #define SSL_GROUP_SECP521R1 25
2364
+ #define SSL_GROUP_X25519 29
2365
+ #define SSL_GROUP_X25519_KYBER768_DRAFT00 0x6399
2366
+
2367
+ // SSL_CTX_set1_group_ids sets the preferred groups for |ctx| to |group_ids|.
2368
+ // Each element of |group_ids| should be one of the |SSL_GROUP_*| constants. It
2369
+ // returns one on success and zero on failure.
2370
+ OPENSSL_EXPORT int SSL_CTX_set1_group_ids(SSL_CTX *ctx,
2371
+ const uint16_t *group_ids,
2372
+ size_t num_group_ids);
2373
+
2374
+ // SSL_set1_group_ids sets the preferred groups for |ssl| to |group_ids|. Each
2375
+ // element of |group_ids| should be one of the |SSL_GROUP_*| constants. It
2376
+ // returns one on success and zero on failure.
2377
+ OPENSSL_EXPORT int SSL_set1_group_ids(SSL *ssl, const uint16_t *group_ids,
2378
+ size_t num_group_ids);
2379
+
2380
+ // SSL_get_group_id returns the ID of the group used by |ssl|'s most recently
2381
+ // completed handshake, or 0 if not applicable.
2382
+ OPENSSL_EXPORT uint16_t SSL_get_group_id(const SSL *ssl);
2383
+
2384
+ // SSL_get_group_name returns a human-readable name for the group specified by
2385
+ // the given TLS group ID, or NULL if the group is unknown.
2386
+ OPENSSL_EXPORT const char *SSL_get_group_name(uint16_t group_id);
2387
+
2388
+ // SSL_get_all_group_names outputs a list of possible strings
2389
+ // |SSL_get_group_name| may return in this version of BoringSSL. It writes at
2390
+ // most |max_out| entries to |out| and returns the total number it would have
2391
+ // written, if |max_out| had been large enough. |max_out| may be initially set
2392
+ // to zero to size the output.
2393
+ //
2394
+ // This function is only intended to help initialize tables in callers that want
2395
+ // possible strings pre-declared. This list would not be suitable to set a list
2396
+ // of supported features. It is in no particular order, and may contain
2397
+ // placeholder, experimental, or deprecated values that do not apply to every
2398
+ // caller. Future versions of BoringSSL may also return strings not in this
2399
+ // list, so this does not apply if, say, sending strings across services.
2400
+ OPENSSL_EXPORT size_t SSL_get_all_group_names(const char **out, size_t max_out);
2401
+
2402
+ // The following APIs also configure Diffie-Hellman groups, but use |NID_*|
2403
+ // constants instead of |SSL_GROUP_*| constants. These are provided for OpenSSL
2404
+ // compatibility. Where NIDs are unstable constants specific to OpenSSL and
2405
+ // BoringSSL, group IDs are defined by the TLS protocol. Prefer the group ID
2406
+ // representation if storing persistently, or exporting to another process or
2407
+ // library.
2351
2408
 
2352
- // SSL_CTX_set1_groups calls |SSL_CTX_set1_curves|.
2409
+ // SSL_CTX_set1_groups sets the preferred groups for |ctx| to be |groups|. Each
2410
+ // element of |groups| should be a |NID_*| constant from nid.h. It returns one
2411
+ // on success and zero on failure.
2353
2412
  OPENSSL_EXPORT int SSL_CTX_set1_groups(SSL_CTX *ctx, const int *groups,
2354
- size_t groups_len);
2413
+ size_t num_groups);
2355
2414
 
2356
- // SSL_set1_groups calls |SSL_set1_curves|.
2415
+ // SSL_set1_groups sets the preferred groups for |ssl| to be |groups|. Each
2416
+ // element of |groups| should be a |NID_*| constant from nid.h. It returns one
2417
+ // on success and zero on failure.
2357
2418
  OPENSSL_EXPORT int SSL_set1_groups(SSL *ssl, const int *groups,
2358
- size_t groups_len);
2419
+ size_t num_groups);
2359
2420
 
2360
- // SSL_CTX_set1_groups_list calls |SSL_CTX_set1_curves_list|.
2421
+ // SSL_CTX_set1_groups_list decodes |groups| as a colon-separated list of group
2422
+ // names (e.g. "X25519" or "P-256") and sets |ctx|'s preferred groups to the
2423
+ // result. It returns one on success and zero on failure.
2361
2424
  OPENSSL_EXPORT int SSL_CTX_set1_groups_list(SSL_CTX *ctx, const char *groups);
2362
2425
 
2363
- // SSL_set1_groups_list calls |SSL_set1_curves_list|.
2426
+ // SSL_set1_groups_list decodes |groups| as a colon-separated list of group
2427
+ // names (e.g. "X25519" or "P-256") and sets |ssl|'s preferred groups to the
2428
+ // result. It returns one on success and zero on failure.
2364
2429
  OPENSSL_EXPORT int SSL_set1_groups_list(SSL *ssl, const char *groups);
2365
2430
 
2431
+ // SSL_get_negotiated_group returns the NID of the group used by |ssl|'s most
2432
+ // recently completed handshake, or |NID_undef| if not applicable.
2433
+ OPENSSL_EXPORT int SSL_get_negotiated_group(const SSL *ssl);
2434
+
2366
2435
 
2367
2436
  // Certificate verification.
2368
2437
  //
@@ -2411,21 +2480,51 @@ OPENSSL_EXPORT int SSL_set1_groups_list(SSL *ssl, const char *groups);
2411
2480
 
2412
2481
  // SSL_CTX_set_verify configures certificate verification behavior. |mode| is
2413
2482
  // one of the |SSL_VERIFY_*| values defined above. |callback|, if not NULL, is
2414
- // used to customize certificate verification. See the behavior of
2415
- // |X509_STORE_CTX_set_verify_cb|.
2483
+ // used to customize certificate verification, but is deprecated. See
2484
+ // |X509_STORE_CTX_set_verify_cb| for details.
2416
2485
  //
2417
2486
  // The callback may use |SSL_get_ex_data_X509_STORE_CTX_idx| with
2418
2487
  // |X509_STORE_CTX_get_ex_data| to look up the |SSL| from |store_ctx|.
2488
+ //
2489
+ // WARNING: |callback| should be NULL. This callback does not replace the
2490
+ // default certificate verification process and is, instead, called multiple
2491
+ // times in the course of that process. It is very difficult to implement this
2492
+ // callback safely, without inadvertently relying on implementation details or
2493
+ // making incorrect assumptions about when the callback is called.
2494
+ //
2495
+ // Instead, use |SSL_CTX_set_custom_verify| or
2496
+ // |SSL_CTX_set_cert_verify_callback| to customize certificate verification.
2497
+ // Those callbacks can inspect the peer-sent chain, call |X509_verify_cert| and
2498
+ // inspect the result, or perform other operations more straightforwardly.
2499
+ //
2500
+ // TODO(crbug.com/boringssl/426): We cite |X509_STORE_CTX_set_verify_cb| but
2501
+ // haven't documented it yet. Later that will have a more detailed warning about
2502
+ // why one should not use this callback.
2419
2503
  OPENSSL_EXPORT void SSL_CTX_set_verify(
2420
2504
  SSL_CTX *ctx, int mode, int (*callback)(int ok, X509_STORE_CTX *store_ctx));
2421
2505
 
2422
2506
  // SSL_set_verify configures certificate verification behavior. |mode| is one of
2423
2507
  // the |SSL_VERIFY_*| values defined above. |callback|, if not NULL, is used to
2424
- // customize certificate verification. See the behavior of
2508
+ // customize certificate verification, but is deprecated. See the behavior of
2425
2509
  // |X509_STORE_CTX_set_verify_cb|.
2426
2510
  //
2427
2511
  // The callback may use |SSL_get_ex_data_X509_STORE_CTX_idx| with
2428
2512
  // |X509_STORE_CTX_get_ex_data| to look up the |SSL| from |store_ctx|.
2513
+ //
2514
+ // WARNING: |callback| should be NULL. This callback does not replace the
2515
+ // default certificate verification process and is, instead, called multiple
2516
+ // times in the course of that process. It is very difficult to implement this
2517
+ // callback safely, without inadvertently relying on implementation details or
2518
+ // making incorrect assumptions about when the callback is called.
2519
+ //
2520
+ // Instead, use |SSL_set_custom_verify| or |SSL_CTX_set_cert_verify_callback| to
2521
+ // customize certificate verification. Those callbacks can inspect the peer-sent
2522
+ // chain, call |X509_verify_cert| and inspect the result, or perform other
2523
+ // operations more straightforwardly.
2524
+ //
2525
+ // TODO(crbug.com/boringssl/426): We cite |X509_STORE_CTX_set_verify_cb| but
2526
+ // haven't documented it yet. Later that will have a more detailed warning about
2527
+ // why one should not use this callback.
2429
2528
  OPENSSL_EXPORT void SSL_set_verify(SSL *ssl, int mode,
2430
2529
  int (*callback)(int ok,
2431
2530
  X509_STORE_CTX *store_ctx));
@@ -4528,13 +4627,6 @@ OPENSSL_EXPORT const char *SSL_CIPHER_description(const SSL_CIPHER *cipher,
4528
4627
  // SSL_CIPHER_get_version returns the string "TLSv1/SSLv3".
4529
4628
  OPENSSL_EXPORT const char *SSL_CIPHER_get_version(const SSL_CIPHER *cipher);
4530
4629
 
4531
- // SSL_CIPHER_get_rfc_name returns a newly-allocated string containing the
4532
- // result of |SSL_CIPHER_standard_name| or NULL on error. The caller is
4533
- // responsible for calling |OPENSSL_free| on the result.
4534
- //
4535
- // Use |SSL_CIPHER_standard_name| instead.
4536
- OPENSSL_EXPORT char *SSL_CIPHER_get_rfc_name(const SSL_CIPHER *cipher);
4537
-
4538
4630
  typedef void COMP_METHOD;
4539
4631
  typedef struct ssl_comp_st SSL_COMP;
4540
4632
 
@@ -4873,6 +4965,21 @@ OPENSSL_EXPORT long SSL_get_default_timeout(const SSL *ssl);
4873
4965
  // For example, "TLSv1.2" or "DTLSv1".
4874
4966
  OPENSSL_EXPORT const char *SSL_get_version(const SSL *ssl);
4875
4967
 
4968
+ // SSL_get_all_version_names outputs a list of possible strings
4969
+ // |SSL_get_version| may return in this version of BoringSSL. It writes at most
4970
+ // |max_out| entries to |out| and returns the total number it would have
4971
+ // written, if |max_out| had been large enough. |max_out| may be initially set
4972
+ // to zero to size the output.
4973
+ //
4974
+ // This function is only intended to help initialize tables in callers that want
4975
+ // possible strings pre-declared. This list would not be suitable to set a list
4976
+ // of supported features. It is in no particular order, and may contain
4977
+ // placeholder, experimental, or deprecated values that do not apply to every
4978
+ // caller. Future versions of BoringSSL may also return strings not in this
4979
+ // list, so this does not apply if, say, sending strings across services.
4980
+ OPENSSL_EXPORT size_t SSL_get_all_version_names(const char **out,
4981
+ size_t max_out);
4982
+
4876
4983
  // SSL_get_cipher_list returns the name of the |n|th cipher in the output of
4877
4984
  // |SSL_get_ciphers| or NULL if out of range. Use |SSL_get_ciphers| instead.
4878
4985
  OPENSSL_EXPORT const char *SSL_get_cipher_list(const SSL *ssl, int n);
@@ -4997,20 +5104,22 @@ OPENSSL_EXPORT int SSL_state(const SSL *ssl);
4997
5104
  // Use |SSL_CTX_set_quiet_shutdown| instead.
4998
5105
  OPENSSL_EXPORT void SSL_set_shutdown(SSL *ssl, int mode);
4999
5106
 
5000
- // SSL_CTX_set_tmp_ecdh calls |SSL_CTX_set1_curves| with a one-element list
5001
- // containing |ec_key|'s curve.
5107
+ // SSL_CTX_set_tmp_ecdh calls |SSL_CTX_set1_groups| with a one-element list
5108
+ // containing |ec_key|'s curve. The remainder of |ec_key| is ignored.
5002
5109
  OPENSSL_EXPORT int SSL_CTX_set_tmp_ecdh(SSL_CTX *ctx, const EC_KEY *ec_key);
5003
5110
 
5004
- // SSL_set_tmp_ecdh calls |SSL_set1_curves| with a one-element list containing
5005
- // |ec_key|'s curve.
5111
+ // SSL_set_tmp_ecdh calls |SSL_set1_groups| with a one-element list containing
5112
+ // |ec_key|'s curve. The remainder of |ec_key| is ignored.
5006
5113
  OPENSSL_EXPORT int SSL_set_tmp_ecdh(SSL *ssl, const EC_KEY *ec_key);
5007
5114
 
5115
+ #if !defined(OPENSSL_NO_FILESYSTEM)
5008
5116
  // SSL_add_dir_cert_subjects_to_stack lists files in directory |dir|. It calls
5009
5117
  // |SSL_add_file_cert_subjects_to_stack| on each file and returns one on success
5010
5118
  // or zero on error. This function is only available from the libdecrepit
5011
5119
  // library.
5012
5120
  OPENSSL_EXPORT int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *out,
5013
5121
  const char *dir);
5122
+ #endif
5014
5123
 
5015
5124
  // SSL_CTX_enable_tls_channel_id calls |SSL_CTX_set_tls_channel_id_enabled|.
5016
5125
  OPENSSL_EXPORT int SSL_CTX_enable_tls_channel_id(SSL_CTX *ctx);
@@ -5151,12 +5260,41 @@ OPENSSL_EXPORT int SSL_CTX_set_tlsext_status_arg(SSL_CTX *ctx, void *arg);
5151
5260
  SSL_R_TLSV1_ALERT_BAD_CERTIFICATE_HASH_VALUE
5152
5261
  #define SSL_R_TLSV1_CERTIFICATE_REQUIRED SSL_R_TLSV1_ALERT_CERTIFICATE_REQUIRED
5153
5262
 
5154
- // SSL_CIPHER_get_value calls |SSL_CIPHER_get_protocol_id|.
5155
- //
5156
- // TODO(davidben): |SSL_CIPHER_get_value| was our name for this function, but
5157
- // upstream added it as |SSL_CIPHER_get_protocol_id|. Switch callers to the new
5158
- // name and remove this one.
5159
- OPENSSL_EXPORT uint16_t SSL_CIPHER_get_value(const SSL_CIPHER *cipher);
5263
+ // The following symbols are compatibility aliases for |SSL_GROUP_*|.
5264
+ #define SSL_CURVE_SECP224R1 SSL_GROUP_SECP224R1
5265
+ #define SSL_CURVE_SECP256R1 SSL_GROUP_SECP256R1
5266
+ #define SSL_CURVE_SECP384R1 SSL_GROUP_SECP384R1
5267
+ #define SSL_CURVE_SECP521R1 SSL_GROUP_SECP521R1
5268
+ #define SSL_CURVE_X25519 SSL_GROUP_X25519
5269
+ #define SSL_CURVE_X25519_KYBER768_DRAFT00 SSL_GROUP_X25519_KYBER768_DRAFT00
5270
+
5271
+ // SSL_get_curve_id calls |SSL_get_group_id|.
5272
+ OPENSSL_EXPORT uint16_t SSL_get_curve_id(const SSL *ssl);
5273
+
5274
+ // SSL_get_curve_name calls |SSL_get_group_name|.
5275
+ OPENSSL_EXPORT const char *SSL_get_curve_name(uint16_t curve_id);
5276
+
5277
+ // SSL_get_all_curve_names calls |SSL_get_all_group_names|.
5278
+ OPENSSL_EXPORT size_t SSL_get_all_curve_names(const char **out, size_t max_out);
5279
+
5280
+ // SSL_CTX_set1_curves calls |SSL_CTX_set1_groups|.
5281
+ OPENSSL_EXPORT int SSL_CTX_set1_curves(SSL_CTX *ctx, const int *curves,
5282
+ size_t num_curves);
5283
+
5284
+ // SSL_set1_curves calls |SSL_set1_groups|.
5285
+ OPENSSL_EXPORT int SSL_set1_curves(SSL *ssl, const int *curves,
5286
+ size_t num_curves);
5287
+
5288
+ // SSL_CTX_set1_curves_list calls |SSL_CTX_set1_groups_list|.
5289
+ OPENSSL_EXPORT int SSL_CTX_set1_curves_list(SSL_CTX *ctx, const char *curves);
5290
+
5291
+ // SSL_set1_curves_list calls |SSL_set1_groups_list|.
5292
+ OPENSSL_EXPORT int SSL_set1_curves_list(SSL *ssl, const char *curves);
5293
+
5294
+ // TLSEXT_nid_unknown is a constant used in OpenSSL for
5295
+ // |SSL_get_negotiated_group| to return an unrecognized group. BoringSSL never
5296
+ // returns this value, but we define this constant for compatibility.
5297
+ #define TLSEXT_nid_unknown 0x1000000
5160
5298
 
5161
5299
 
5162
5300
  // Compliance policy configurations
@@ -5168,6 +5306,10 @@ OPENSSL_EXPORT uint16_t SSL_CIPHER_get_value(const SSL_CIPHER *cipher);
5168
5306
  // parameters of a TLS connection.
5169
5307
 
5170
5308
  enum ssl_compliance_policy_t BORINGSSL_ENUM_INT {
5309
+ // ssl_compliance_policy_none does nothing. However, since setting this
5310
+ // doesn't undo other policies it's an error to try and set it.
5311
+ ssl_compliance_policy_none,
5312
+
5171
5313
  // ssl_policy_fips_202205 configures a TLS connection to use:
5172
5314
  // * TLS 1.2 or 1.3
5173
5315
  // * For TLS 1.2, only ECDHE_[RSA|ECDSA]_WITH_AES_*_GCM_SHA*.
@@ -5182,12 +5324,32 @@ enum ssl_compliance_policy_t BORINGSSL_ENUM_INT {
5182
5324
  // Note: this setting aids with compliance with NIST requirements but does not
5183
5325
  // guarantee it. Careful reading of SP 800-52r2 is recommended.
5184
5326
  ssl_compliance_policy_fips_202205,
5327
+
5328
+ // ssl_compliance_policy_wpa3_192_202304 configures a TLS connection to use:
5329
+ // * TLS 1.2 or 1.3.
5330
+ // * For TLS 1.2, only TLS_ECDHE_[ECDSA|RSA]_WITH_AES_256_GCM_SHA384.
5331
+ // * For TLS 1.3, only AES-256-GCM.
5332
+ // * P-384 for key agreement.
5333
+ // * For handshake signatures, only ECDSA with P-384 and SHA-384, or RSA
5334
+ // with SHA-384 or SHA-512.
5335
+ //
5336
+ // No limitations on the certificate chain nor leaf public key are imposed,
5337
+ // other than by the supported signature algorithms. But WPA3's "192-bit"
5338
+ // mode requires at least P-384 or 3072-bit along the chain. The caller must
5339
+ // enforce this themselves on the verified chain using functions such as
5340
+ // `X509_STORE_CTX_get0_chain`.
5341
+ //
5342
+ // Note that this setting is less secure than the default. The
5343
+ // implementation risks of using a more obscure primitive like P-384
5344
+ // dominate other considerations.
5345
+ ssl_compliance_policy_wpa3_192_202304,
5185
5346
  };
5186
5347
 
5187
5348
  // SSL_CTX_set_compliance_policy configures various aspects of |ctx| based on
5188
5349
  // the given policy requirements. Subsequently calling other functions that
5189
5350
  // configure |ctx| may override |policy|, or may not. This should be the final
5190
- // configuration function called in order to have defined behaviour.
5351
+ // configuration function called in order to have defined behaviour. It's a
5352
+ // fatal error if |policy| is |ssl_compliance_policy_none|.
5191
5353
  OPENSSL_EXPORT int SSL_CTX_set_compliance_policy(
5192
5354
  SSL_CTX *ctx, enum ssl_compliance_policy_t policy);
5193
5355
 
@@ -5234,6 +5396,7 @@ OPENSSL_EXPORT int SSL_set_compliance_policy(
5234
5396
  #define SSL_CTRL_GET_CLIENT_CERT_TYPES doesnt_exist
5235
5397
  #define SSL_CTRL_GET_EXTRA_CHAIN_CERTS doesnt_exist
5236
5398
  #define SSL_CTRL_GET_MAX_CERT_LIST doesnt_exist
5399
+ #define SSL_CTRL_GET_NEGOTIATED_GROUP doesnt_exist
5237
5400
  #define SSL_CTRL_GET_NUM_RENEGOTIATIONS doesnt_exist
5238
5401
  #define SSL_CTRL_GET_READ_AHEAD doesnt_exist
5239
5402
  #define SSL_CTRL_GET_RI_SUPPORT doesnt_exist
@@ -5249,6 +5412,8 @@ OPENSSL_EXPORT int SSL_set_compliance_policy(
5249
5412
  #define SSL_CTRL_SESS_NUMBER doesnt_exist
5250
5413
  #define SSL_CTRL_SET_CURVES doesnt_exist
5251
5414
  #define SSL_CTRL_SET_CURVES_LIST doesnt_exist
5415
+ #define SSL_CTRL_SET_GROUPS doesnt_exist
5416
+ #define SSL_CTRL_SET_GROUPS_LIST doesnt_exist
5252
5417
  #define SSL_CTRL_SET_ECDH_AUTO doesnt_exist
5253
5418
  #define SSL_CTRL_SET_MAX_CERT_LIST doesnt_exist
5254
5419
  #define SSL_CTRL_SET_MAX_SEND_FRAGMENT doesnt_exist
@@ -5298,6 +5463,7 @@ OPENSSL_EXPORT int SSL_set_compliance_policy(
5298
5463
  #define SSL_CTX_set0_chain SSL_CTX_set0_chain
5299
5464
  #define SSL_CTX_set1_chain SSL_CTX_set1_chain
5300
5465
  #define SSL_CTX_set1_curves SSL_CTX_set1_curves
5466
+ #define SSL_CTX_set1_groups SSL_CTX_set1_groups
5301
5467
  #define SSL_CTX_set_max_cert_list SSL_CTX_set_max_cert_list
5302
5468
  #define SSL_CTX_set_max_send_fragment SSL_CTX_set_max_send_fragment
5303
5469
  #define SSL_CTX_set_mode SSL_CTX_set_mode
@@ -5322,6 +5488,7 @@ OPENSSL_EXPORT int SSL_set_compliance_policy(
5322
5488
  #define SSL_get0_chain_certs SSL_get0_chain_certs
5323
5489
  #define SSL_get_max_cert_list SSL_get_max_cert_list
5324
5490
  #define SSL_get_mode SSL_get_mode
5491
+ #define SSL_get_negotiated_group SSL_get_negotiated_group
5325
5492
  #define SSL_get_options SSL_get_options
5326
5493
  #define SSL_get_secure_renegotiation_support \
5327
5494
  SSL_get_secure_renegotiation_support
@@ -5331,6 +5498,7 @@ OPENSSL_EXPORT int SSL_set_compliance_policy(
5331
5498
  #define SSL_set0_chain SSL_set0_chain
5332
5499
  #define SSL_set1_chain SSL_set1_chain
5333
5500
  #define SSL_set1_curves SSL_set1_curves
5501
+ #define SSL_set1_groups SSL_set1_groups
5334
5502
  #define SSL_set_max_cert_list SSL_set_max_cert_list
5335
5503
  #define SSL_set_max_send_fragment SSL_set_max_send_fragment
5336
5504
  #define SSL_set_mode SSL_set_mode
@@ -5420,6 +5588,18 @@ OPENSSL_EXPORT bool SSL_get_traffic_secrets(
5420
5588
  const SSL *ssl, Span<const uint8_t> *out_read_traffic_secret,
5421
5589
  Span<const uint8_t> *out_write_traffic_secret);
5422
5590
 
5591
+ // SSL_CTX_set_aes_hw_override_for_testing sets |override_value| to
5592
+ // override checking for aes hardware support for testing. If |override_value|
5593
+ // is set to true, the library will behave as if aes hardware support is
5594
+ // present. If it is set to false, the library will behave as if aes hardware
5595
+ // support is not present.
5596
+ OPENSSL_EXPORT void SSL_CTX_set_aes_hw_override_for_testing(
5597
+ SSL_CTX *ctx, bool override_value);
5598
+
5599
+ // SSL_set_aes_hw_override_for_testing acts the same as
5600
+ // |SSL_CTX_set_aes_override_for_testing| but only configures a single |SSL*|.
5601
+ OPENSSL_EXPORT void SSL_set_aes_hw_override_for_testing(SSL *ssl,
5602
+ bool override_value);
5423
5603
 
5424
5604
  BSSL_NAMESPACE_END
5425
5605
 
@@ -5508,7 +5688,6 @@ BSSL_NAMESPACE_END
5508
5688
  #define SSL_R_NO_CIPHER_MATCH 177
5509
5689
  #define SSL_R_NO_COMPRESSION_SPECIFIED 178
5510
5690
  #define SSL_R_NO_METHOD_SPECIFIED 179
5511
- #define SSL_R_NO_P256_SUPPORT 180
5512
5691
  #define SSL_R_NO_PRIVATE_KEY_ASSIGNED 181
5513
5692
  #define SSL_R_NO_RENEGOTIATION 182
5514
5693
  #define SSL_R_NO_REQUIRED_DIGEST 183