grpc 1.54.2 → 1.56.0.pre3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of grpc might be problematic. Click here for more details.

Files changed (1230) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +152 -91
  3. data/include/grpc/event_engine/event_engine.h +4 -3
  4. data/include/grpc/grpc_audit_logging.h +96 -0
  5. data/include/grpc/impl/grpc_types.h +2 -0
  6. data/include/grpc/module.modulemap +2 -0
  7. data/include/grpc/support/json.h +218 -0
  8. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +6 -1
  9. data/src/core/ext/filters/client_channel/backend_metric.cc +4 -1
  10. data/src/core/ext/filters/client_channel/channel_connectivity.cc +4 -4
  11. data/src/core/ext/filters/client_channel/client_channel.cc +98 -120
  12. data/src/core/ext/filters/client_channel/client_channel.h +26 -16
  13. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +20 -19
  14. data/src/core/ext/filters/client_channel/client_channel_internal.h +22 -59
  15. data/src/core/ext/filters/client_channel/client_channel_service_config.cc +2 -2
  16. data/src/core/ext/filters/client_channel/config_selector.h +9 -36
  17. data/src/core/ext/filters/client_channel/http_proxy.cc +34 -1
  18. data/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h +3 -0
  19. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +7 -6
  20. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +1 -1
  21. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +1 -1
  22. data/src/core/ext/filters/client_channel/lb_policy/health_check_client.cc +455 -0
  23. data/src/core/ext/filters/client_channel/lb_policy/health_check_client.h +54 -0
  24. data/src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h +186 -0
  25. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +2 -7
  26. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +56 -24
  27. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +23 -2
  28. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +19 -6
  29. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +3 -11
  30. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +16 -7
  31. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +18 -1
  32. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +52 -50
  33. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +6 -4
  34. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +36 -13
  35. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc +76 -6
  36. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc +33 -41
  37. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +6 -12
  38. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +54 -49
  39. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +4 -12
  40. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +16 -18
  41. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +48 -51
  42. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +10 -15
  43. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +16 -22
  44. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +19 -118
  45. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.h +30 -0
  46. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +35 -33
  47. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_plugin.cc +60 -0
  48. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_plugin.h +27 -0
  49. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +549 -0
  50. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.h +35 -0
  51. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.cc +97 -0
  52. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.h +32 -0
  53. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +2 -13
  54. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.h +24 -0
  55. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +30 -28
  56. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +156 -66
  57. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +16 -1
  58. data/src/core/ext/filters/client_channel/retry_filter.cc +23 -55
  59. data/src/core/ext/filters/client_channel/retry_service_config.cc +9 -8
  60. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +10 -40
  61. data/src/core/ext/filters/client_channel/subchannel.cc +10 -196
  62. data/src/core/ext/filters/client_channel/subchannel.h +3 -43
  63. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +1 -1
  64. data/src/core/ext/filters/http/message_compress/compression_filter.cc +7 -7
  65. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +168 -75
  66. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +6 -8
  67. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +3 -3
  68. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +16 -1
  69. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +78 -23
  70. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +21 -0
  71. data/src/core/ext/transport/chttp2/transport/context_list_entry.h +70 -0
  72. data/src/core/ext/transport/chttp2/transport/flow_control.cc +46 -95
  73. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +1 -7
  74. data/src/core/ext/transport/chttp2/transport/frame_ping.h +0 -3
  75. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +1 -0
  76. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +1 -0
  77. data/src/core/ext/transport/chttp2/transport/internal.h +4 -19
  78. data/src/core/ext/transport/chttp2/transport/writing.cc +14 -3
  79. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +87 -52
  80. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +414 -181
  81. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +121 -60
  82. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +481 -224
  83. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +90 -55
  84. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +415 -188
  85. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +357 -210
  86. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +1572 -729
  87. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +30 -17
  88. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +144 -47
  89. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +34 -21
  90. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +160 -62
  91. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +27 -14
  92. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +78 -38
  93. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +20 -11
  94. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +48 -26
  95. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +20 -11
  96. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +48 -26
  97. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +109 -62
  98. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +566 -244
  99. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +21 -12
  100. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +45 -30
  101. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +22 -19
  102. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +82 -29
  103. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +23 -16
  104. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +45 -30
  105. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +230 -143
  106. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +733 -404
  107. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +417 -264
  108. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1839 -899
  109. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +74 -41
  110. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +286 -148
  111. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +531 -334
  112. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +2017 -1131
  113. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +21 -12
  114. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +45 -30
  115. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +89 -52
  116. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +347 -232
  117. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +264 -165
  118. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +888 -476
  119. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +139 -80
  120. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +527 -274
  121. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +22 -13
  122. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +50 -36
  123. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +380 -221
  124. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +1168 -611
  125. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +166 -94
  126. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +666 -292
  127. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +18 -11
  128. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +37 -26
  129. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +21 -12
  130. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +45 -30
  131. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +30 -17
  132. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +144 -47
  133. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +274 -167
  134. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +789 -440
  135. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +228 -137
  136. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +1100 -501
  137. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +22 -13
  138. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +60 -37
  139. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +350 -211
  140. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +1072 -646
  141. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +33 -18
  142. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +117 -51
  143. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +34 -19
  144. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +118 -56
  145. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +38 -21
  146. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +148 -64
  147. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +31 -18
  148. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +143 -65
  149. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +22 -13
  150. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +51 -37
  151. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +78 -43
  152. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +265 -127
  153. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +145 -88
  154. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +438 -241
  155. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +115 -62
  156. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +559 -227
  157. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +18 -11
  158. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +35 -26
  159. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +175 -118
  160. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +857 -442
  161. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +172 -95
  162. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +864 -374
  163. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +48 -27
  164. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +159 -110
  165. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +39 -18
  166. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +74 -56
  167. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +28 -15
  168. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +71 -45
  169. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +131 -74
  170. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +489 -249
  171. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +135 -80
  172. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +505 -245
  173. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +248 -139
  174. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +933 -433
  175. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +80 -49
  176. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +616 -201
  177. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +1283 -776
  178. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +5422 -2519
  179. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +49 -28
  180. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +164 -84
  181. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +228 -141
  182. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +738 -399
  183. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +20 -11
  184. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +48 -26
  185. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +21 -12
  186. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +45 -30
  187. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +32 -19
  188. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +70 -49
  189. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +27 -14
  190. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +110 -43
  191. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +46 -25
  192. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +259 -100
  193. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +21 -12
  194. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +45 -30
  195. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +18 -11
  196. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +35 -26
  197. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +42 -23
  198. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +108 -70
  199. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +7 -4
  200. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +21 -16
  201. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +43 -24
  202. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +110 -75
  203. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +30 -17
  204. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +95 -50
  205. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +16 -9
  206. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +73 -23
  207. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +60 -37
  208. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +150 -108
  209. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +74 -43
  210. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +357 -167
  211. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +44 -25
  212. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +114 -80
  213. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +41 -20
  214. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +245 -82
  215. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c +32 -19
  216. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +73 -51
  217. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +474 -296
  218. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +2121 -1076
  219. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c +18 -11
  220. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +35 -26
  221. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c +34 -21
  222. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +112 -78
  223. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.c +72 -45
  224. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +193 -138
  225. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c +34 -21
  226. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +119 -78
  227. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +18 -11
  228. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +35 -26
  229. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +7 -4
  230. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +15 -10
  231. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +184 -96
  232. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +907 -360
  233. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +56 -33
  234. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +150 -101
  235. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +188 -111
  236. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +816 -419
  237. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +32 -19
  238. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +109 -53
  239. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +10 -7
  240. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +18 -14
  241. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +300 -177
  242. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +1284 -522
  243. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +42 -23
  244. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +188 -75
  245. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +130 -83
  246. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +510 -238
  247. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +22 -13
  248. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +55 -34
  249. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +39 -26
  250. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +124 -68
  251. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.c +21 -12
  252. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.h +47 -30
  253. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +52 -29
  254. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +92 -62
  255. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +37 -20
  256. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +133 -63
  257. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +22 -13
  258. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +91 -40
  259. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +21 -12
  260. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +50 -32
  261. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +18 -11
  262. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +37 -26
  263. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +46 -27
  264. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +101 -70
  265. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.c +13 -10
  266. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.h +25 -22
  267. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +40 -23
  268. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +161 -75
  269. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +31 -18
  270. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +114 -56
  271. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +46 -29
  272. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +139 -91
  273. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +65 -42
  274. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +200 -121
  275. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +80 -45
  276. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +208 -131
  277. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +34 -21
  278. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +74 -53
  279. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +7 -4
  280. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +13 -8
  281. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +16 -9
  282. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +28 -18
  283. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +28 -15
  284. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +55 -34
  285. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +43 -22
  286. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +91 -53
  287. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +35 -20
  288. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +92 -57
  289. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +7 -4
  290. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +13 -8
  291. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +20 -11
  292. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +48 -26
  293. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +23 -14
  294. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +61 -41
  295. data/src/core/ext/upb-generated/google/api/annotations.upb.c +14 -11
  296. data/src/core/ext/upb-generated/google/api/annotations.upb.h +30 -20
  297. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +255 -154
  298. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +934 -450
  299. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +299 -180
  300. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +946 -483
  301. data/src/core/ext/upb-generated/google/api/http.upb.c +68 -35
  302. data/src/core/ext/upb-generated/google/api/http.upb.h +284 -120
  303. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +22 -13
  304. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +95 -37
  305. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +19 -10
  306. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +38 -22
  307. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +1018 -424
  308. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +3851 -1412
  309. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +19 -10
  310. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +38 -22
  311. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +10 -7
  312. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +18 -14
  313. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +62 -39
  314. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +207 -102
  315. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +19 -10
  316. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +38 -22
  317. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +90 -51
  318. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +157 -107
  319. data/src/core/ext/upb-generated/google/rpc/status.upb.c +22 -13
  320. data/src/core/ext/upb-generated/google/rpc/status.upb.h +95 -37
  321. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +59 -34
  322. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +154 -92
  323. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +43 -24
  324. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +118 -60
  325. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +250 -145
  326. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +919 -415
  327. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +34 -19
  328. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +76 -51
  329. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +25 -14
  330. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +45 -30
  331. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +144 -81
  332. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +405 -217
  333. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +51 -26
  334. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +153 -61
  335. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +173 -102
  336. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +855 -298
  337. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +68 -49
  338. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +155 -104
  339. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +26 -17
  340. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +55 -34
  341. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +12 -9
  342. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +31 -14
  343. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +26 -17
  344. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +55 -34
  345. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +23 -16
  346. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +45 -30
  347. data/src/core/ext/upb-generated/validate/validate.upb.c +845 -455
  348. data/src/core/ext/upb-generated/validate/validate.upb.h +4347 -1908
  349. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +68 -49
  350. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +155 -104
  351. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +26 -17
  352. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +55 -34
  353. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +12 -9
  354. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +31 -14
  355. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +65 -44
  356. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +137 -91
  357. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +23 -16
  358. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +45 -30
  359. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +16 -9
  360. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +28 -18
  361. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.c +21 -12
  362. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.h +45 -30
  363. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +37 -22
  364. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +96 -63
  365. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +26 -17
  366. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +52 -29
  367. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +21 -12
  368. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +45 -30
  369. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +23 -14
  370. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +62 -42
  371. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +44 -25
  372. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +169 -79
  373. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +27 -14
  374. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +65 -38
  375. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +78 -38
  376. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +182 -76
  377. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +21 -12
  378. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +89 -34
  379. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.c +18 -11
  380. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.h +35 -26
  381. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.c +32 -19
  382. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.h +150 -54
  383. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.c +10 -7
  384. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.h +18 -14
  385. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.c +34 -21
  386. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.h +161 -63
  387. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +162 -101
  388. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +501 -293
  389. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.c +85 -52
  390. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.h +430 -164
  391. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +24 -15
  392. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +53 -37
  393. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +40 -23
  394. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +161 -75
  395. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.c +37 -22
  396. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.h +92 -66
  397. data/src/core/ext/upb-generated/xds/type/v3/range.upb.c +43 -22
  398. data/src/core/ext/upb-generated/xds/type/v3/range.upb.h +91 -53
  399. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +21 -12
  400. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +45 -30
  401. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c +1 -1
  402. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h +6 -5
  403. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +1 -1
  404. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h +6 -5
  405. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +1 -1
  406. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +6 -5
  407. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c +1 -1
  408. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h +6 -5
  409. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c +1 -1
  410. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h +6 -5
  411. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +1 -1
  412. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h +6 -5
  413. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c +1 -1
  414. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h +6 -5
  415. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c +1 -1
  416. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h +6 -5
  417. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c +1 -1
  418. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h +6 -5
  419. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c +1 -1
  420. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h +6 -5
  421. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c +1 -1
  422. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h +6 -5
  423. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +1 -1
  424. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +6 -5
  425. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +1 -1
  426. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +6 -5
  427. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +1 -1
  428. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +6 -5
  429. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +252 -253
  430. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +6 -5
  431. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +1 -1
  432. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +6 -5
  433. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +1 -1
  434. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +6 -5
  435. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +1 -1
  436. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +6 -5
  437. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +1 -1
  438. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +6 -5
  439. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c +1 -1
  440. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h +6 -5
  441. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +1 -1
  442. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +6 -5
  443. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +1 -1
  444. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +6 -5
  445. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +1 -1
  446. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +6 -5
  447. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +13 -12
  448. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +11 -5
  449. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +1 -1
  450. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +6 -5
  451. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +1 -1
  452. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +6 -5
  453. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c +1 -1
  454. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h +6 -5
  455. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +1 -1
  456. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +6 -5
  457. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +1 -1
  458. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +6 -5
  459. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +1 -1
  460. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +6 -5
  461. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +44 -44
  462. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +6 -5
  463. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +1 -1
  464. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +6 -5
  465. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +1 -1
  466. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +6 -5
  467. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +1 -1
  468. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +6 -5
  469. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +1 -1
  470. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +6 -5
  471. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +1 -1
  472. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +6 -5
  473. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +1 -1
  474. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +6 -5
  475. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +1 -1
  476. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +6 -5
  477. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +1 -1
  478. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +6 -5
  479. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +1 -1
  480. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +6 -5
  481. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +1 -1
  482. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +6 -5
  483. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +1 -1
  484. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +6 -5
  485. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +1 -1
  486. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +6 -5
  487. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +1 -1
  488. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +6 -5
  489. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +1 -1
  490. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h +6 -5
  491. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +1 -1
  492. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +6 -5
  493. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +1 -1
  494. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +6 -5
  495. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +134 -128
  496. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +11 -5
  497. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +1 -1
  498. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +6 -5
  499. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +1 -1
  500. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +6 -5
  501. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +1 -1
  502. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +6 -5
  503. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +1 -1
  504. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +6 -5
  505. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +1 -1
  506. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h +6 -5
  507. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c +1 -1
  508. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h +6 -5
  509. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +1 -1
  510. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +6 -5
  511. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c +1 -1
  512. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h +6 -5
  513. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c +1 -1
  514. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h +6 -5
  515. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +1 -1
  516. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h +6 -5
  517. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c +1 -1
  518. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h +6 -5
  519. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c +1 -1
  520. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h +6 -5
  521. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +1 -1
  522. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h +6 -5
  523. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c +1 -1
  524. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h +6 -5
  525. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +1 -1
  526. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h +6 -5
  527. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +1 -1
  528. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +6 -5
  529. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +1 -1
  530. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +6 -5
  531. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +1 -1
  532. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +6 -5
  533. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +1 -1
  534. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +6 -5
  535. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +1 -1
  536. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +6 -5
  537. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +1 -1
  538. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +6 -5
  539. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +379 -376
  540. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +6 -5
  541. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +1 -1
  542. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +6 -5
  543. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +1 -1
  544. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +6 -5
  545. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +138 -136
  546. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +6 -5
  547. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +1 -1
  548. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +6 -5
  549. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +1 -1
  550. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +6 -5
  551. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +1 -1
  552. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +6 -5
  553. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +1 -1
  554. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +6 -5
  555. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +1 -1
  556. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +6 -5
  557. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +1 -1
  558. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +6 -5
  559. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +12 -13
  560. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +6 -5
  561. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c +1 -1
  562. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h +6 -5
  563. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +1 -1
  564. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +6 -5
  565. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.c +1 -1
  566. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.h +6 -5
  567. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +1 -1
  568. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +6 -5
  569. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +1 -1
  570. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +6 -5
  571. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +1 -1
  572. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +6 -5
  573. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +1 -1
  574. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +6 -5
  575. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +1 -1
  576. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +6 -5
  577. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +1 -1
  578. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +6 -5
  579. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.c +1 -1
  580. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.h +6 -5
  581. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +1 -1
  582. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +6 -5
  583. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +1 -1
  584. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +6 -5
  585. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +1 -1
  586. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +6 -5
  587. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +1 -1
  588. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +6 -5
  589. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +1 -1
  590. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +6 -5
  591. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c +1 -1
  592. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h +6 -5
  593. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +1 -1
  594. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +6 -5
  595. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c +1 -1
  596. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h +6 -5
  597. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +1 -1
  598. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +6 -5
  599. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +1 -1
  600. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +6 -5
  601. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c +1 -1
  602. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h +6 -5
  603. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +1 -1
  604. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h +6 -5
  605. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +1 -1
  606. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +6 -5
  607. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c +1 -1
  608. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h +6 -5
  609. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +1 -1
  610. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +6 -5
  611. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +1 -1
  612. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +6 -5
  613. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +1 -1
  614. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +6 -5
  615. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +1 -1
  616. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +6 -5
  617. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c +1 -1
  618. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h +6 -5
  619. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +1 -1
  620. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +6 -5
  621. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +329 -273
  622. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +11 -5
  623. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +1 -1
  624. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +6 -5
  625. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +1 -1
  626. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +6 -5
  627. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +1 -1
  628. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +6 -5
  629. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +1 -1
  630. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +6 -5
  631. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +1 -1
  632. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +6 -5
  633. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +1 -1
  634. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +6 -5
  635. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c +1 -1
  636. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h +6 -5
  637. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +1 -1
  638. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +6 -5
  639. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +1 -1
  640. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +6 -5
  641. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +1 -1
  642. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +6 -5
  643. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +1 -1
  644. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +6 -5
  645. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +1 -1
  646. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +6 -5
  647. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +1 -1
  648. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +6 -5
  649. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +1 -1
  650. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +6 -5
  651. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c +1 -1
  652. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h +6 -5
  653. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c +1 -1
  654. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h +6 -5
  655. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c +1 -1
  656. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h +6 -5
  657. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +1 -1
  658. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +6 -5
  659. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c +1 -1
  660. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h +6 -5
  661. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +1 -1
  662. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +6 -5
  663. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.c +1 -1
  664. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.h +6 -5
  665. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +1 -1
  666. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +6 -5
  667. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +1 -1
  668. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +6 -5
  669. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c +1 -1
  670. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h +6 -5
  671. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +1 -1
  672. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +6 -5
  673. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +1 -1
  674. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +6 -5
  675. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +1 -1
  676. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +6 -5
  677. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.c +1 -1
  678. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.h +6 -5
  679. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.c +1 -1
  680. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.h +6 -5
  681. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.c +1 -1
  682. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.h +6 -5
  683. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.c +1 -1
  684. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.h +6 -5
  685. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +1 -1
  686. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h +6 -5
  687. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.c +1 -1
  688. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.h +6 -5
  689. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c +1 -1
  690. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h +6 -5
  691. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c +1 -1
  692. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h +6 -5
  693. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.c +1 -1
  694. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.h +6 -5
  695. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.c +1 -1
  696. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.h +6 -5
  697. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +1 -1
  698. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +6 -5
  699. data/src/core/ext/xds/certificate_provider_store.cc +8 -13
  700. data/src/core/ext/xds/certificate_provider_store.h +1 -1
  701. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +30 -42
  702. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +14 -9
  703. data/src/core/ext/xds/upb_utils.h +1 -1
  704. data/src/core/ext/xds/xds_api.cc +41 -18
  705. data/src/core/ext/xds/xds_api.h +5 -4
  706. data/src/core/ext/xds/xds_audit_logger_registry.cc +122 -0
  707. data/src/core/ext/xds/xds_audit_logger_registry.h +68 -0
  708. data/src/core/ext/xds/xds_bootstrap.cc +3 -3
  709. data/src/core/ext/xds/xds_bootstrap_grpc.cc +35 -23
  710. data/src/core/ext/xds/xds_bootstrap_grpc.h +5 -0
  711. data/src/core/ext/xds/xds_client.cc +29 -7
  712. data/src/core/ext/xds/xds_client.h +1 -1
  713. data/src/core/ext/xds/xds_client_stats.h +1 -1
  714. data/src/core/ext/xds/xds_cluster.cc +44 -51
  715. data/src/core/ext/xds/xds_cluster.h +1 -2
  716. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +15 -11
  717. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +2 -2
  718. data/src/core/ext/xds/xds_common_types.cc +8 -5
  719. data/src/core/ext/xds/xds_endpoint.cc +5 -2
  720. data/src/core/ext/xds/xds_endpoint.h +1 -1
  721. data/src/core/ext/xds/xds_http_fault_filter.cc +18 -15
  722. data/src/core/ext/xds/xds_http_fault_filter.h +3 -2
  723. data/src/core/ext/xds/xds_http_filters.h +7 -4
  724. data/src/core/ext/xds/xds_http_rbac_filter.cc +158 -73
  725. data/src/core/ext/xds/xds_http_rbac_filter.h +3 -2
  726. data/src/core/ext/xds/xds_http_stateful_session_filter.cc +17 -13
  727. data/src/core/ext/xds/xds_http_stateful_session_filter.h +3 -2
  728. data/src/core/ext/xds/xds_lb_policy_registry.cc +24 -36
  729. data/src/core/ext/xds/xds_listener.cc +11 -4
  730. data/src/core/ext/xds/xds_listener.h +1 -1
  731. data/src/core/ext/xds/xds_resource_type.h +2 -2
  732. data/src/core/ext/xds/xds_route_config.cc +48 -8
  733. data/src/core/ext/xds/xds_route_config.h +1 -1
  734. data/src/core/ext/xds/xds_routing.cc +2 -2
  735. data/src/core/ext/xds/xds_transport_grpc.cc +3 -1
  736. data/src/core/lib/avl/avl.h +5 -0
  737. data/src/core/lib/channel/channel_args.cc +80 -22
  738. data/src/core/lib/channel/channel_args.h +34 -1
  739. data/src/core/lib/channel/channel_trace.cc +16 -12
  740. data/src/core/lib/channel/channelz.cc +163 -135
  741. data/src/core/lib/channel/channelz.h +42 -35
  742. data/src/core/lib/channel/channelz_registry.cc +24 -20
  743. data/src/core/lib/channel/connected_channel.cc +99 -33
  744. data/src/core/lib/channel/promise_based_filter.cc +2 -12
  745. data/src/core/lib/channel/promise_based_filter.h +2 -0
  746. data/src/core/lib/compression/compression_internal.cc +2 -5
  747. data/src/core/lib/config/config_vars.cc +20 -18
  748. data/src/core/lib/config/config_vars.h +4 -4
  749. data/src/core/lib/config/load_config.cc +13 -0
  750. data/src/core/lib/config/load_config.h +6 -0
  751. data/src/core/lib/debug/event_log.h +1 -1
  752. data/src/core/lib/debug/stats_data.h +1 -1
  753. data/src/core/lib/debug/trace.cc +34 -56
  754. data/src/core/lib/debug/trace.h +14 -4
  755. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +211 -0
  756. data/src/core/lib/event_engine/cf_engine/cf_engine.h +86 -0
  757. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +354 -0
  758. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +146 -0
  759. data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +79 -0
  760. data/src/core/lib/event_engine/default_event_engine.cc +13 -1
  761. data/src/core/lib/event_engine/default_event_engine_factory.cc +14 -2
  762. data/src/core/lib/event_engine/poller.h +2 -2
  763. data/src/core/lib/event_engine/posix.h +4 -0
  764. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +1 -1
  765. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +7 -18
  766. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +9 -0
  767. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +41 -45
  768. data/src/core/lib/event_engine/posix_engine/posix_engine.h +1 -1
  769. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +4 -4
  770. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +7 -8
  771. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +6 -1
  772. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +3 -0
  773. data/src/core/lib/event_engine/posix_engine/timer_manager.h +1 -1
  774. data/src/core/lib/event_engine/shim.cc +9 -1
  775. data/src/core/lib/event_engine/{thread_pool.cc → thread_pool/original_thread_pool.cc} +28 -25
  776. data/src/core/lib/event_engine/{thread_pool.h → thread_pool/original_thread_pool.h} +11 -15
  777. data/src/core/lib/event_engine/thread_pool/thread_pool.h +50 -0
  778. data/src/core/lib/event_engine/{executor/executor.h → thread_pool/thread_pool_factory.cc} +17 -15
  779. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +489 -0
  780. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +249 -0
  781. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +166 -0
  782. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +108 -0
  783. data/src/core/lib/event_engine/trace.cc +1 -0
  784. data/src/core/lib/event_engine/trace.h +6 -0
  785. data/src/core/lib/event_engine/windows/iocp.cc +4 -3
  786. data/src/core/lib/event_engine/windows/iocp.h +3 -3
  787. data/src/core/lib/event_engine/windows/win_socket.cc +6 -6
  788. data/src/core/lib/event_engine/windows/win_socket.h +4 -4
  789. data/src/core/lib/event_engine/windows/windows_endpoint.cc +11 -10
  790. data/src/core/lib/event_engine/windows/windows_endpoint.h +3 -2
  791. data/src/core/lib/event_engine/windows/windows_engine.cc +19 -17
  792. data/src/core/lib/event_engine/windows/windows_engine.h +6 -6
  793. data/src/core/lib/event_engine/windows/windows_listener.cc +3 -3
  794. data/src/core/lib/event_engine/windows/windows_listener.h +3 -2
  795. data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +63 -0
  796. data/src/core/lib/event_engine/work_queue/basic_work_queue.h +71 -0
  797. data/src/core/lib/event_engine/work_queue/work_queue.h +62 -0
  798. data/src/core/lib/experiments/config.cc +38 -7
  799. data/src/core/lib/experiments/config.h +16 -0
  800. data/src/core/lib/experiments/experiments.cc +69 -19
  801. data/src/core/lib/experiments/experiments.h +29 -20
  802. data/src/core/lib/gpr/log_internal.h +55 -0
  803. data/src/core/lib/gpr/posix/time.cc +5 -0
  804. data/src/core/lib/gprpp/crash.cc +10 -0
  805. data/src/core/lib/gprpp/crash.h +3 -0
  806. data/src/core/lib/gprpp/per_cpu.cc +33 -0
  807. data/src/core/lib/gprpp/per_cpu.h +29 -6
  808. data/src/core/lib/gprpp/status_helper.cc +2 -2
  809. data/src/core/lib/gprpp/time.cc +1 -0
  810. data/src/core/lib/gprpp/validation_errors.cc +8 -3
  811. data/src/core/lib/gprpp/validation_errors.h +16 -9
  812. data/src/core/lib/iomgr/buffer_list.h +0 -1
  813. data/src/core/lib/iomgr/cfstream_handle.cc +1 -1
  814. data/src/core/lib/iomgr/endpoint_cfstream.cc +10 -8
  815. data/src/core/lib/iomgr/ev_apple.cc +12 -12
  816. data/src/core/lib/iomgr/ev_epoll1_linux.cc +10 -3
  817. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +15 -1
  818. data/src/core/lib/iomgr/iocp_windows.cc +24 -3
  819. data/src/core/lib/iomgr/iocp_windows.h +11 -0
  820. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +1 -1
  821. data/src/core/lib/iomgr/socket_utils_common_posix.cc +4 -2
  822. data/src/core/lib/iomgr/socket_utils_posix.cc +3 -0
  823. data/src/core/lib/iomgr/socket_utils_posix.h +3 -0
  824. data/src/core/lib/iomgr/socket_windows.cc +61 -7
  825. data/src/core/lib/iomgr/socket_windows.h +9 -2
  826. data/src/core/lib/iomgr/tcp_client_cfstream.cc +14 -3
  827. data/src/core/lib/iomgr/tcp_client_posix.cc +4 -0
  828. data/src/core/lib/iomgr/tcp_server_posix.cc +148 -107
  829. data/src/core/lib/iomgr/tcp_server_utils_posix.h +1 -1
  830. data/src/core/lib/iomgr/tcp_server_windows.cc +1 -1
  831. data/src/core/lib/iomgr/timer_generic.cc +17 -16
  832. data/src/core/lib/json/json.h +2 -218
  833. data/src/core/lib/json/json_object_loader.cc +24 -25
  834. data/src/core/lib/json/json_object_loader.h +30 -18
  835. data/src/core/lib/json/json_reader.cc +69 -42
  836. data/src/core/lib/json/json_reader.h +34 -0
  837. data/src/core/lib/json/json_util.cc +10 -15
  838. data/src/core/lib/json/json_util.h +5 -4
  839. data/src/core/lib/json/json_writer.cc +24 -25
  840. data/src/core/lib/json/json_writer.h +33 -0
  841. data/src/core/lib/load_balancing/lb_policy.h +13 -0
  842. data/src/core/lib/load_balancing/lb_policy_registry.cc +9 -8
  843. data/src/core/lib/matchers/matchers.cc +3 -4
  844. data/src/core/lib/matchers/matchers.h +2 -1
  845. data/src/core/lib/promise/activity.cc +5 -0
  846. data/src/core/lib/promise/activity.h +10 -0
  847. data/src/core/lib/promise/detail/promise_factory.h +1 -1
  848. data/src/core/lib/promise/party.cc +31 -13
  849. data/src/core/lib/promise/party.h +11 -2
  850. data/src/core/lib/promise/pipe.h +16 -2
  851. data/src/core/lib/promise/prioritized_race.h +95 -0
  852. data/src/core/lib/promise/sleep.cc +2 -1
  853. data/src/core/lib/resolver/server_address.cc +0 -8
  854. data/src/core/lib/resolver/server_address.h +0 -6
  855. data/src/core/lib/resource_quota/memory_quota.cc +7 -7
  856. data/src/core/lib/resource_quota/memory_quota.h +1 -2
  857. data/src/core/lib/security/authorization/audit_logging.cc +98 -0
  858. data/src/core/lib/security/authorization/audit_logging.h +73 -0
  859. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +47 -2
  860. data/src/core/lib/security/authorization/grpc_authorization_engine.h +18 -1
  861. data/src/core/lib/security/authorization/rbac_policy.cc +36 -4
  862. data/src/core/lib/security/authorization/rbac_policy.h +19 -2
  863. data/src/core/lib/security/authorization/stdout_logger.cc +75 -0
  864. data/src/core/lib/security/authorization/stdout_logger.h +61 -0
  865. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +8 -4
  866. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +8 -18
  867. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +14 -8
  868. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +54 -49
  869. data/src/core/lib/security/credentials/external/external_account_credentials.cc +64 -64
  870. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +23 -21
  871. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +29 -27
  872. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +5 -2
  873. data/src/core/lib/security/credentials/jwt/json_token.cc +19 -16
  874. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +10 -5
  875. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +40 -38
  876. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +18 -16
  877. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +1 -5
  878. data/src/core/lib/security/util/json_util.cc +6 -5
  879. data/src/core/lib/service_config/service_config_call_data.h +49 -20
  880. data/src/core/lib/service_config/service_config_impl.cc +13 -6
  881. data/src/core/lib/slice/slice.h +2 -0
  882. data/src/core/lib/surface/call.cc +107 -47
  883. data/src/core/lib/surface/call.h +1 -5
  884. data/src/core/lib/surface/completion_queue.cc +8 -3
  885. data/src/core/lib/surface/server.cc +47 -19
  886. data/src/core/lib/surface/version.cc +2 -2
  887. data/src/core/lib/transport/batch_builder.cc +15 -12
  888. data/src/core/lib/transport/batch_builder.h +48 -36
  889. data/src/core/lib/transport/metadata_batch.h +2 -59
  890. data/src/core/lib/transport/metadata_compression_traits.h +67 -0
  891. data/src/core/lib/transport/simple_slice_based_metadata.h +48 -0
  892. data/src/core/lib/transport/transport.h +3 -0
  893. data/src/core/plugin_registry/grpc_plugin_registry.cc +2 -6
  894. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +2 -0
  895. data/src/ruby/ext/grpc/extconf.rb +8 -9
  896. data/src/ruby/lib/grpc/version.rb +1 -1
  897. data/third_party/abseil-cpp/absl/base/config.h +1 -1
  898. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +9 -8
  899. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +1 -1
  900. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +3 -3
  901. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +10 -6
  902. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +7 -4
  903. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +6 -4
  904. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +33 -47
  905. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +9 -5
  906. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +5 -9
  907. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +4 -2
  908. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +31 -22
  909. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +29 -26
  910. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +8 -0
  911. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +189 -13
  912. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c +62 -0
  913. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_openbsd.c +31 -0
  914. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +6 -4
  915. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +795 -795
  916. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +1 -5
  917. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +4 -0
  918. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +18 -6
  919. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +15 -7
  920. data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c +1 -1
  921. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c +1 -1
  922. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +1 -0
  923. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c +3 -0
  924. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +24 -24
  925. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +1 -1
  926. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c +7 -7
  927. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +74 -74
  928. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +1 -2
  929. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +11 -11
  930. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.c +12 -12
  931. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +14 -15
  932. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +1 -1
  933. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c +10 -10
  934. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +23 -23
  935. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +13 -13
  936. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c +1 -1
  937. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +2 -2
  938. data/third_party/boringssl-with-bazel/src/crypto/{hkdf → fipsmodule/hkdf}/hkdf.c +1 -1
  939. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +2 -10
  940. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +1 -4
  941. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +115 -133
  942. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c +12 -14
  943. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +57 -47
  944. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +1 -8
  945. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.c +27 -28
  946. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +11 -23
  947. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +21 -16
  948. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c +5 -288
  949. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +143 -83
  950. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +95 -183
  951. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +71 -0
  952. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +8 -0
  953. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c +33 -0
  954. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +162 -6
  955. data/third_party/boringssl-with-bazel/src/crypto/internal.h +18 -0
  956. data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +32 -2
  957. data/third_party/boringssl-with-bazel/src/crypto/kyber/keccak.c +11 -12
  958. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +833 -0
  959. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +6 -13
  960. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +18 -14
  961. data/third_party/boringssl-with-bazel/src/crypto/{refcount_lock.c → refcount_no_threads.c} +3 -13
  962. data/third_party/boringssl-with-bazel/src/crypto/refcount_win.c +89 -0
  963. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/internal.h +77 -0
  964. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c +568 -0
  965. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +62 -0
  966. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +228 -56
  967. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +35 -0
  968. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +596 -49
  969. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c +27 -18
  970. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +1 -1
  971. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +2 -1
  972. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +2 -1
  973. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +17 -39
  974. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.c +18 -14
  975. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +39 -48
  976. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +0 -140
  977. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +17 -21
  978. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +72 -23
  979. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +7 -3
  980. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +3 -4
  981. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +1 -72
  982. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +11 -14
  983. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c +1 -1
  984. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +4 -2
  985. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +2 -2
  986. data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +1 -1
  987. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +33 -46
  988. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +1 -0
  989. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_info.c +3 -5
  990. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +18 -49
  991. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +14 -26
  992. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +7 -3
  993. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +17 -10
  994. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +5 -3
  995. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +5 -7
  996. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +6 -4
  997. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +32 -1
  998. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +8 -12
  999. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +1 -4
  1000. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +3 -3
  1001. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +28 -0
  1002. data/third_party/boringssl-with-bazel/src/include/openssl/kyber.h +128 -0
  1003. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +2 -11
  1004. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +8 -1
  1005. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +0 -3
  1006. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +91 -1
  1007. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +5 -0
  1008. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +149 -20
  1009. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +8 -12
  1010. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +4 -0
  1011. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +4 -0
  1012. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +8 -0
  1013. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +758 -608
  1014. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +42 -10
  1015. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +11 -6
  1016. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +2 -4
  1017. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +33 -18
  1018. data/third_party/boringssl-with-bazel/src/ssl/internal.h +82 -35
  1019. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +37 -18
  1020. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +8 -4
  1021. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +187 -193
  1022. data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +2 -2
  1023. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +43 -92
  1024. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +85 -10
  1025. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +17 -4
  1026. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +19 -21
  1027. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +27 -19
  1028. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +2 -1
  1029. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +1 -1
  1030. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +5 -21
  1031. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +5 -2
  1032. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_msvc.h +1281 -0
  1033. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64_msvc.h +2002 -0
  1034. data/third_party/cares/cares/include/ares.h +23 -1
  1035. data/third_party/cares/cares/{src/lib → include}/ares_nameser.h +9 -7
  1036. data/third_party/cares/cares/include/ares_rules.h +2 -2
  1037. data/third_party/cares/cares/include/ares_version.h +3 -3
  1038. data/third_party/cares/cares/src/lib/ares__addrinfo2hostent.c +266 -0
  1039. data/third_party/cares/cares/src/lib/ares__addrinfo_localhost.c +240 -0
  1040. data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +49 -80
  1041. data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +37 -43
  1042. data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +12 -4
  1043. data/third_party/cares/cares/src/lib/ares_data.c +16 -0
  1044. data/third_party/cares/cares/src/lib/ares_data.h +7 -0
  1045. data/third_party/cares/cares/src/lib/ares_destroy.c +8 -0
  1046. data/third_party/cares/cares/src/lib/ares_expand_name.c +17 -6
  1047. data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +1 -0
  1048. data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +156 -78
  1049. data/third_party/cares/cares/src/lib/ares_gethostbyname.c +130 -326
  1050. data/third_party/cares/cares/src/lib/ares_init.c +97 -485
  1051. data/third_party/cares/cares/src/lib/ares_library_init.c +2 -89
  1052. data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +23 -142
  1053. data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +22 -142
  1054. data/third_party/cares/cares/src/lib/ares_parse_uri_reply.c +184 -0
  1055. data/third_party/cares/cares/src/lib/ares_private.h +30 -16
  1056. data/third_party/cares/cares/src/lib/ares_process.c +55 -16
  1057. data/third_party/cares/cares/src/lib/ares_query.c +1 -35
  1058. data/third_party/cares/cares/src/lib/ares_rand.c +279 -0
  1059. data/third_party/cares/cares/src/lib/ares_send.c +5 -7
  1060. data/third_party/cares/cares/src/lib/ares_strdup.c +12 -19
  1061. data/third_party/cares/cares/src/lib/ares_strsplit.c +44 -128
  1062. data/third_party/cares/cares/src/lib/ares_strsplit.h +9 -10
  1063. data/third_party/cares/cares/src/lib/inet_net_pton.c +78 -116
  1064. data/third_party/cares/cares/src/tools/ares_getopt.h +53 -0
  1065. data/third_party/upb/upb/{table_internal.h → alloc.h} +6 -6
  1066. data/third_party/upb/upb/arena.h +4 -193
  1067. data/third_party/upb/upb/array.h +4 -51
  1068. data/third_party/upb/upb/base/descriptor_constants.h +104 -0
  1069. data/third_party/upb/upb/base/log2.h +57 -0
  1070. data/third_party/upb/upb/{status.c → base/status.c} +2 -7
  1071. data/third_party/upb/upb/base/status.h +66 -0
  1072. data/third_party/upb/upb/base/string_view.h +75 -0
  1073. data/third_party/upb/upb/{array.c → collections/array.c} +67 -36
  1074. data/third_party/upb/upb/collections/array.h +85 -0
  1075. data/third_party/upb/upb/collections/array_internal.h +135 -0
  1076. data/third_party/upb/upb/{map.c → collections/map.c} +53 -26
  1077. data/third_party/upb/upb/collections/map.h +135 -0
  1078. data/third_party/upb/upb/collections/map_gencode_util.h +78 -0
  1079. data/third_party/upb/upb/collections/map_internal.h +170 -0
  1080. data/third_party/upb/upb/collections/map_sorter.c +166 -0
  1081. data/third_party/upb/upb/collections/map_sorter_internal.h +109 -0
  1082. data/third_party/upb/upb/{message_value.h → collections/message_value.h} +12 -13
  1083. data/third_party/upb/upb/decode.h +3 -62
  1084. data/third_party/upb/upb/def.h +4 -384
  1085. data/third_party/upb/upb/def.hpp +3 -411
  1086. data/third_party/upb/upb/encode.h +3 -48
  1087. data/third_party/upb/upb/extension_registry.h +3 -52
  1088. data/third_party/upb/upb/{table.c → hash/common.c} +52 -110
  1089. data/third_party/upb/upb/hash/common.h +199 -0
  1090. data/third_party/upb/upb/hash/int_table.h +102 -0
  1091. data/third_party/upb/upb/hash/str_table.h +161 -0
  1092. data/third_party/upb/upb/{json_decode.c → json/decode.c} +63 -98
  1093. data/third_party/upb/upb/json/decode.h +52 -0
  1094. data/third_party/upb/upb/{json_encode.c → json/encode.c} +69 -45
  1095. data/third_party/upb/upb/json/encode.h +70 -0
  1096. data/third_party/upb/upb/json_decode.h +4 -15
  1097. data/third_party/upb/upb/json_encode.h +4 -33
  1098. data/third_party/upb/upb/lex/atoi.c +68 -0
  1099. data/third_party/upb/upb/lex/atoi.h +53 -0
  1100. data/third_party/upb/upb/{upb.c → lex/round_trip.c} +2 -11
  1101. data/third_party/upb/upb/{internal/upb.h → lex/round_trip.h} +17 -30
  1102. data/third_party/upb/upb/lex/strtod.c +97 -0
  1103. data/third_party/upb/upb/lex/strtod.h +46 -0
  1104. data/third_party/upb/upb/lex/unicode.c +57 -0
  1105. data/third_party/upb/upb/lex/unicode.h +77 -0
  1106. data/third_party/upb/upb/map.h +4 -85
  1107. data/third_party/upb/upb/mem/alloc.c +47 -0
  1108. data/third_party/upb/upb/mem/alloc.h +98 -0
  1109. data/third_party/upb/upb/mem/arena.c +367 -0
  1110. data/third_party/upb/upb/mem/arena.h +160 -0
  1111. data/third_party/upb/upb/mem/arena_internal.h +114 -0
  1112. data/third_party/upb/upb/message/accessors.c +68 -0
  1113. data/third_party/upb/upb/message/accessors.h +379 -0
  1114. data/third_party/upb/upb/message/accessors_internal.h +325 -0
  1115. data/third_party/upb/upb/message/extension_internal.h +83 -0
  1116. data/third_party/upb/upb/message/internal.h +135 -0
  1117. data/third_party/upb/upb/message/message.c +180 -0
  1118. data/third_party/upb/upb/message/message.h +69 -0
  1119. data/third_party/upb/upb/mini_table/common.c +128 -0
  1120. data/third_party/upb/upb/mini_table/common.h +170 -0
  1121. data/third_party/upb/upb/mini_table/common_internal.h +111 -0
  1122. data/third_party/upb/upb/{mini_table.c → mini_table/decode.c} +513 -533
  1123. data/third_party/upb/upb/mini_table/decode.h +179 -0
  1124. data/third_party/upb/upb/mini_table/encode.c +300 -0
  1125. data/third_party/upb/upb/mini_table/encode_internal.h +111 -0
  1126. data/third_party/upb/upb/{mini_table.hpp → mini_table/encode_internal.hpp} +32 -8
  1127. data/third_party/upb/upb/mini_table/enum_internal.h +88 -0
  1128. data/third_party/upb/upb/mini_table/extension_internal.h +47 -0
  1129. data/third_party/upb/upb/{extension_registry.c → mini_table/extension_registry.c} +27 -24
  1130. data/third_party/upb/upb/mini_table/extension_registry.h +104 -0
  1131. data/third_party/upb/upb/mini_table/field_internal.h +192 -0
  1132. data/third_party/upb/upb/mini_table/file_internal.h +47 -0
  1133. data/third_party/upb/upb/mini_table/message_internal.h +136 -0
  1134. data/third_party/upb/upb/mini_table/sub_internal.h +38 -0
  1135. data/third_party/upb/upb/mini_table/types.h +40 -0
  1136. data/third_party/upb/upb/mini_table.h +4 -157
  1137. data/third_party/upb/upb/msg.h +3 -38
  1138. data/third_party/upb/upb/port/atomic.h +101 -0
  1139. data/third_party/upb/upb/{port_def.inc → port/def.inc} +94 -27
  1140. data/third_party/upb/upb/{port_undef.inc → port/undef.inc} +13 -3
  1141. data/third_party/upb/upb/{internal → port}/vsnprintf_compat.h +5 -7
  1142. data/third_party/upb/upb/reflection/common.h +67 -0
  1143. data/third_party/upb/upb/reflection/def.h +42 -0
  1144. data/third_party/upb/upb/reflection/def.hpp +610 -0
  1145. data/third_party/upb/upb/reflection/def_builder.c +357 -0
  1146. data/third_party/upb/upb/reflection/def_builder_internal.h +157 -0
  1147. data/third_party/upb/upb/reflection/def_pool.c +462 -0
  1148. data/third_party/upb/upb/reflection/def_pool.h +108 -0
  1149. data/third_party/upb/upb/reflection/def_pool_internal.h +77 -0
  1150. data/third_party/upb/upb/reflection/def_type.c +50 -0
  1151. data/third_party/upb/upb/reflection/def_type.h +81 -0
  1152. data/third_party/upb/upb/reflection/desc_state.c +53 -0
  1153. data/third_party/upb/upb/reflection/desc_state_internal.h +64 -0
  1154. data/third_party/upb/upb/reflection/enum_def.c +310 -0
  1155. data/third_party/upb/upb/reflection/enum_def.h +80 -0
  1156. data/third_party/upb/upb/reflection/enum_def_internal.h +56 -0
  1157. data/third_party/upb/upb/reflection/enum_reserved_range.c +84 -0
  1158. data/third_party/upb/upb/reflection/enum_reserved_range.h +51 -0
  1159. data/third_party/upb/upb/reflection/enum_reserved_range_internal.h +55 -0
  1160. data/third_party/upb/upb/reflection/enum_value_def.c +144 -0
  1161. data/third_party/upb/upb/reflection/enum_value_def.h +57 -0
  1162. data/third_party/upb/upb/reflection/enum_value_def_internal.h +57 -0
  1163. data/third_party/upb/upb/reflection/extension_range.c +93 -0
  1164. data/third_party/upb/upb/reflection/extension_range.h +55 -0
  1165. data/third_party/upb/upb/reflection/extension_range_internal.h +54 -0
  1166. data/third_party/upb/upb/reflection/field_def.c +930 -0
  1167. data/third_party/upb/upb/reflection/field_def.h +91 -0
  1168. data/third_party/upb/upb/reflection/field_def_internal.h +76 -0
  1169. data/third_party/upb/upb/reflection/file_def.c +370 -0
  1170. data/third_party/upb/upb/reflection/file_def.h +77 -0
  1171. data/third_party/upb/upb/reflection/file_def_internal.h +57 -0
  1172. data/third_party/upb/upb/reflection/message.c +233 -0
  1173. data/third_party/upb/upb/reflection/message.h +102 -0
  1174. data/third_party/upb/upb/reflection/message.hpp +37 -0
  1175. data/third_party/upb/upb/reflection/message_def.c +718 -0
  1176. data/third_party/upb/upb/reflection/message_def.h +174 -0
  1177. data/third_party/upb/upb/reflection/message_def_internal.h +63 -0
  1178. data/third_party/upb/upb/reflection/message_reserved_range.c +81 -0
  1179. data/third_party/upb/upb/reflection/message_reserved_range.h +51 -0
  1180. data/third_party/upb/upb/reflection/message_reserved_range_internal.h +55 -0
  1181. data/third_party/upb/upb/reflection/method_def.c +124 -0
  1182. data/third_party/upb/upb/reflection/method_def.h +59 -0
  1183. data/third_party/upb/upb/reflection/method_def_internal.h +53 -0
  1184. data/third_party/upb/upb/reflection/oneof_def.c +226 -0
  1185. data/third_party/upb/upb/reflection/oneof_def.h +66 -0
  1186. data/third_party/upb/upb/reflection/oneof_def_internal.h +57 -0
  1187. data/third_party/upb/upb/reflection/service_def.c +128 -0
  1188. data/third_party/upb/upb/reflection/service_def.h +60 -0
  1189. data/third_party/upb/upb/reflection/service_def_internal.h +53 -0
  1190. data/third_party/upb/upb/reflection.h +4 -78
  1191. data/third_party/upb/upb/reflection.hpp +3 -7
  1192. data/third_party/upb/upb/status.h +4 -34
  1193. data/third_party/upb/upb/{collections.h → string_view.h} +7 -7
  1194. data/third_party/upb/upb/{text_encode.c → text/encode.c} +74 -70
  1195. data/third_party/upb/upb/text/encode.h +69 -0
  1196. data/third_party/upb/upb/text_encode.h +4 -32
  1197. data/third_party/upb/upb/upb.h +6 -151
  1198. data/third_party/upb/upb/upb.hpp +10 -18
  1199. data/third_party/upb/upb/wire/common.h +44 -0
  1200. data/third_party/upb/upb/wire/common_internal.h +50 -0
  1201. data/third_party/upb/upb/wire/decode.c +1343 -0
  1202. data/third_party/upb/upb/wire/decode.h +108 -0
  1203. data/third_party/upb/upb/{decode_fast.c → wire/decode_fast.c} +184 -225
  1204. data/third_party/upb/upb/{decode_fast.h → wire/decode_fast.h} +21 -7
  1205. data/third_party/upb/upb/{internal/decode.h → wire/decode_internal.h} +44 -92
  1206. data/third_party/upb/upb/{encode.c → wire/encode.c} +114 -95
  1207. data/third_party/upb/upb/wire/encode.h +92 -0
  1208. data/third_party/upb/upb/wire/eps_copy_input_stream.c +39 -0
  1209. data/third_party/upb/upb/wire/eps_copy_input_stream.h +425 -0
  1210. data/third_party/upb/upb/wire/reader.c +67 -0
  1211. data/third_party/upb/upb/wire/reader.h +227 -0
  1212. data/third_party/upb/upb/wire/swap_internal.h +63 -0
  1213. data/third_party/upb/upb/wire/types.h +41 -0
  1214. data/third_party/{upb/third_party/utf8_range → utf8_range}/range2-neon.c +1 -1
  1215. data/third_party/{upb/third_party/utf8_range → utf8_range}/utf8_range.h +12 -0
  1216. metadata +202 -51
  1217. data/src/core/ext/filters/client_channel/health/health_check_client.cc +0 -175
  1218. data/src/core/ext/filters/client_channel/health/health_check_client.h +0 -43
  1219. data/src/core/ext/transport/chttp2/transport/context_list.cc +0 -71
  1220. data/src/core/ext/transport/chttp2/transport/context_list.h +0 -54
  1221. data/third_party/cares/cares/src/lib/ares_library_init.h +0 -43
  1222. data/third_party/upb/upb/arena.c +0 -277
  1223. data/third_party/upb/upb/decode.c +0 -1221
  1224. data/third_party/upb/upb/def.c +0 -3269
  1225. data/third_party/upb/upb/internal/table.h +0 -385
  1226. data/third_party/upb/upb/msg.c +0 -368
  1227. data/third_party/upb/upb/msg_internal.h +0 -837
  1228. data/third_party/upb/upb/reflection.c +0 -323
  1229. /data/third_party/{upb/third_party/utf8_range → utf8_range}/naive.c +0 -0
  1230. /data/third_party/{upb/third_party/utf8_range → utf8_range}/range2-sse.c +0 -0
@@ -0,0 +1,128 @@
1
+ /* Copyright (c) 2023, Google Inc.
2
+ *
3
+ * Permission to use, copy, modify, and/or distribute this software for any
4
+ * purpose with or without fee is hereby granted, provided that the above
5
+ * copyright notice and this permission notice appear in all copies.
6
+ *
7
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
10
+ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
12
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
13
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
14
+
15
+ #ifndef OPENSSL_HEADER_KYBER_H
16
+ #define OPENSSL_HEADER_KYBER_H
17
+
18
+ #include <openssl/base.h>
19
+
20
+ #if defined(__cplusplus)
21
+ extern "C" {
22
+ #endif
23
+
24
+
25
+ // Kyber768.
26
+
27
+
28
+ // KYBER_public_key contains a Kyber768 public key. The contents of this
29
+ // object should never leave the address space since the format is unstable.
30
+ struct KYBER_public_key {
31
+ union {
32
+ uint8_t bytes[512 * (3 + 9) + 32 + 32];
33
+ uint16_t alignment;
34
+ } opaque;
35
+ };
36
+
37
+ // KYBER_private_key contains a Kyber768 private key. The contents of this
38
+ // object should never leave the address space since the format is unstable.
39
+ struct KYBER_private_key {
40
+ union {
41
+ uint8_t bytes[512 * (3 + 3 + 9) + 32 + 32 + 32];
42
+ uint16_t alignment;
43
+ } opaque;
44
+ };
45
+
46
+ // KYBER_PUBLIC_KEY_BYTES is the number of bytes in an encoded Kyber768 public
47
+ // key.
48
+ #define KYBER_PUBLIC_KEY_BYTES 1184
49
+
50
+ // KYBER_generate_key generates a random public/private key pair, writes the
51
+ // encoded public key to |out_encoded_public_key| and sets |out_private_key| to
52
+ // the private key.
53
+ OPENSSL_EXPORT void KYBER_generate_key(
54
+ uint8_t out_encoded_public_key[KYBER_PUBLIC_KEY_BYTES],
55
+ struct KYBER_private_key *out_private_key);
56
+
57
+ // KYBER_public_from_private sets |*out_public_key| to the public key that
58
+ // corresponds to |private_key|. (This is faster than parsing the output of
59
+ // |KYBER_generate_key| if, for some reason, you need to encapsulate to a key
60
+ // that was just generated.)
61
+ OPENSSL_EXPORT void KYBER_public_from_private(
62
+ struct KYBER_public_key *out_public_key,
63
+ const struct KYBER_private_key *private_key);
64
+
65
+ // KYBER_CIPHERTEXT_BYTES is number of bytes in the Kyber768 ciphertext.
66
+ #define KYBER_CIPHERTEXT_BYTES 1088
67
+
68
+ // KYBER_encap encrypts a random secret key of length |out_shared_secret_len| to
69
+ // |public_key|, writes the ciphertext to |ciphertext|, and writes the random
70
+ // key to |out_shared_secret|. The party calling |KYBER_decap| must already know
71
+ // the correct value of |out_shared_secret_len|.
72
+ OPENSSL_EXPORT void KYBER_encap(uint8_t out_ciphertext[KYBER_CIPHERTEXT_BYTES],
73
+ uint8_t *out_shared_secret,
74
+ size_t out_shared_secret_len,
75
+ const struct KYBER_public_key *public_key);
76
+
77
+ // KYBER_decap decrypts a key of length |out_shared_secret_len| from
78
+ // |ciphertext| using |private_key| and writes it to |out_shared_secret|. If
79
+ // |ciphertext| is invalid, |out_shared_secret| is filled with a key that
80
+ // will always be the same for the same |ciphertext| and |private_key|, but
81
+ // which appears to be random unless one has access to |private_key|. These
82
+ // alternatives occur in constant time. Any subsequent symmetric encryption
83
+ // using |out_shared_secret| must use an authenticated encryption scheme in
84
+ // order to discover the decapsulation failure.
85
+ OPENSSL_EXPORT void KYBER_decap(
86
+ uint8_t *out_shared_secret, size_t out_shared_secret_len,
87
+ const uint8_t ciphertext[KYBER_CIPHERTEXT_BYTES],
88
+ const struct KYBER_private_key *private_key);
89
+
90
+
91
+ // Serialisation of keys.
92
+
93
+ // KYBER_marshal_public_key serializes |public_key| to |out| in the standard
94
+ // format for Kyber public keys. It returns one on success or zero on allocation
95
+ // error.
96
+ OPENSSL_EXPORT int KYBER_marshal_public_key(
97
+ CBB *out, const struct KYBER_public_key *public_key);
98
+
99
+ // KYBER_parse_public_key parses a public key, in the format generated by
100
+ // |KYBER_marshal_public_key|, from |in| and writes the result to
101
+ // |out_public_key|. It returns one on success or zero on parse error or if
102
+ // there are trailing bytes in |in|.
103
+ OPENSSL_EXPORT int KYBER_parse_public_key(
104
+ struct KYBER_public_key *out_public_key, CBS *in);
105
+
106
+ // KYBER_marshal_private_key serializes |private_key| to |out| in the standard
107
+ // format for Kyber private keys. It returns one on success or zero on
108
+ // allocation error.
109
+ OPENSSL_EXPORT int KYBER_marshal_private_key(
110
+ CBB *out, const struct KYBER_private_key *private_key);
111
+
112
+ // KYBER_PRIVATE_KEY_BYTES is the length of the data produced by
113
+ // |KYBER_marshal_private_key|.
114
+ #define KYBER_PRIVATE_KEY_BYTES 2400
115
+
116
+ // KYBER_parse_private_key parses a private key, in the format generated by
117
+ // |KYBER_marshal_private_key|, from |in| and writes the result to
118
+ // |out_private_key|. It returns one on success or zero on parse error or if
119
+ // there are trailing bytes in |in|.
120
+ OPENSSL_EXPORT int KYBER_parse_private_key(
121
+ struct KYBER_private_key *out_private_key, CBS *in);
122
+
123
+
124
+ #if defined(__cplusplus)
125
+ } // extern C
126
+ #endif
127
+
128
+ #endif // OPENSSL_HEADER_KYBER_H
@@ -4235,9 +4235,6 @@ extern "C" {
4235
4235
  #define LN_auth_any "auth-any"
4236
4236
  #define NID_auth_any 958
4237
4237
 
4238
- #define SN_CECPQ2 "CECPQ2"
4239
- #define NID_CECPQ2 959
4240
-
4241
4238
  #define SN_ED448 "ED448"
4242
4239
  #define NID_ED448 960
4243
4240
  #define OBJ_ED448 1L, 3L, 101L, 113L
@@ -4255,14 +4252,8 @@ extern "C" {
4255
4252
  #define LN_hkdf "hkdf"
4256
4253
  #define NID_hkdf 963
4257
4254
 
4258
- #define SN_X25519Kyber768 "X25519Kyber768"
4259
- #define NID_X25519Kyber768 964
4260
-
4261
- #define SN_P256Kyber768 "P256Kyber768"
4262
- #define NID_P256Kyber768 965
4263
-
4264
- #define SN_P384Kyber768 "P384Kyber768"
4265
- #define NID_P384Kyber768 966
4255
+ #define SN_X25519Kyber768Draft00 "X25519Kyber768Draft00"
4256
+ #define NID_X25519Kyber768Draft00 964
4266
4257
 
4267
4258
 
4268
4259
  #if defined(__cplusplus)
@@ -183,8 +183,15 @@ OPENSSL_EXPORT int OBJ_obj2txt(char *out, int out_len, const ASN1_OBJECT *obj,
183
183
 
184
184
  // Adding objects at runtime.
185
185
 
186
- // OBJ_create adds a known object and returns the nid of the new object, or
186
+ // OBJ_create adds a known object and returns the NID of the new object, or
187
187
  // NID_undef on error.
188
+ //
189
+ // WARNING: This function modifies global state. The table cannot contain
190
+ // duplicate OIDs, short names, or long names. If two callers in the same
191
+ // address space add conflicting values, only one registration will take effect.
192
+ // Avoid this function if possible. Instead, callers can process OIDs unknown to
193
+ // BoringSSL by acting on the byte representation directly. See |OBJ_get0_data|
194
+ // and |OBJ_length|.
188
195
  OPENSSL_EXPORT int OBJ_create(const char *oid, const char *short_name,
189
196
  const char *long_name);
190
197
 
@@ -372,9 +372,6 @@ OPENSSL_EXPORT STACK_OF(X509_INFO) *PEM_X509_INFO_read(FILE *fp,
372
372
  // password.
373
373
  OPENSSL_EXPORT int PEM_def_callback(char *buf, int size, int rwflag,
374
374
  void *userdata);
375
- OPENSSL_EXPORT void PEM_proc_type(char *buf, int type);
376
- OPENSSL_EXPORT void PEM_dek_info(char *buf, const char *type, int len,
377
- char *str);
378
375
 
379
376
 
380
377
  DECLARE_PEM_rw(X509, X509)
@@ -79,7 +79,22 @@ extern "C" {
79
79
  // documented, functions which take a |const| pointer are non-mutating and
80
80
  // functions which take a non-|const| pointer are mutating.
81
81
 
82
- // RSA_new returns a new, empty |RSA| object or NULL on error.
82
+ // RSA_new_public_key returns a new |RSA| object containing a public key with
83
+ // the specified parameters, or NULL on error or invalid input.
84
+ OPENSSL_EXPORT RSA *RSA_new_public_key(const BIGNUM *n, const BIGNUM *e);
85
+
86
+ // RSA_new_private_key returns a new |RSA| object containing a private key with
87
+ // the specified parameters, or NULL on error or invalid input. All parameters
88
+ // are mandatory and may not be NULL.
89
+ //
90
+ // This function creates standard RSA private keys with CRT parameters.
91
+ OPENSSL_EXPORT RSA *RSA_new_private_key(const BIGNUM *n, const BIGNUM *e,
92
+ const BIGNUM *d, const BIGNUM *p,
93
+ const BIGNUM *q, const BIGNUM *dmp1,
94
+ const BIGNUM *dmq1, const BIGNUM *iqmp);
95
+
96
+ // RSA_new returns a new, empty |RSA| object or NULL on error. Prefer using
97
+ // |RSA_new_public_key| or |RSA_new_private_key| to import an RSA key.
83
98
  OPENSSL_EXPORT RSA *RSA_new(void);
84
99
 
85
100
  // RSA_new_method acts the same as |RSA_new| but takes an explicit |ENGINE|.
@@ -148,6 +163,20 @@ OPENSSL_EXPORT void RSA_get0_crt_params(const RSA *rsa, const BIGNUM **out_dmp1,
148
163
  const BIGNUM **out_dmq1,
149
164
  const BIGNUM **out_iqmp);
150
165
 
166
+
167
+ // Setting individual properties.
168
+ //
169
+ // These functions allow setting individual properties of an |RSA| object. This
170
+ // is typically used with |RSA_new| to construct an RSA key field by field.
171
+ // Prefer instead to use |RSA_new_public_key| and |RSA_new_private_key|. These
172
+ // functions defer some initialization to the first use of an |RSA| object. This
173
+ // means invalid inputs may be caught late.
174
+ //
175
+ // TODO(crbug.com/boringssl/316): This deferred initialization also causes
176
+ // performance problems in multi-threaded applications. The preferred APIs
177
+ // currently have the same issues, but they will initialize eagerly in the
178
+ // future.
179
+
151
180
  // RSA_set0_key sets |rsa|'s modulus, public exponent, and private exponent to
152
181
  // |n|, |e|, and |d| respectively, if non-NULL. On success, it takes ownership
153
182
  // of each argument and returns one. Otherwise, it returns zero.
@@ -570,6 +599,48 @@ OPENSSL_EXPORT int RSA_private_key_to_bytes(uint8_t **out_bytes,
570
599
  size_t *out_len, const RSA *rsa);
571
600
 
572
601
 
602
+ // Obscure RSA variants.
603
+ //
604
+ // These functions allow creating RSA keys with obscure combinations of
605
+ // parameters.
606
+
607
+ // RSA_new_private_key_no_crt behaves like |RSA_new_private_key| but constructs
608
+ // an RSA key without CRT coefficients.
609
+ //
610
+ // Keys created by this function will be less performant and cannot be
611
+ // serialized.
612
+ OPENSSL_EXPORT RSA *RSA_new_private_key_no_crt(const BIGNUM *n, const BIGNUM *e,
613
+ const BIGNUM *d);
614
+
615
+ // RSA_new_private_key_no_e behaves like |RSA_new_private_key| but constructs an
616
+ // RSA key without CRT parameters or public exponent.
617
+ //
618
+ // Keys created by this function will be less performant, cannot be serialized,
619
+ // and lack hardening measures that protect against side channels and fault
620
+ // attacks.
621
+ OPENSSL_EXPORT RSA *RSA_new_private_key_no_e(const BIGNUM *n, const BIGNUM *d);
622
+
623
+ // RSA_new_public_key_large_e behaves like |RSA_new_public_key| but allows any
624
+ // |e| up to |n|.
625
+ //
626
+ // BoringSSL typically bounds public exponents as a denial-of-service
627
+ // mitigation. Keys created by this function may perform worse than those
628
+ // created by |RSA_new_public_key|.
629
+ OPENSSL_EXPORT RSA *RSA_new_public_key_large_e(const BIGNUM *n,
630
+ const BIGNUM *e);
631
+
632
+ // RSA_new_private_key_large_e behaves like |RSA_new_private_key| but allows any
633
+ // |e| up to |n|.
634
+ //
635
+ // BoringSSL typically bounds public exponents as a denial-of-service
636
+ // mitigation. Keys created by this function may perform worse than those
637
+ // created by |RSA_new_private_key|.
638
+ OPENSSL_EXPORT RSA *RSA_new_private_key_large_e(
639
+ const BIGNUM *n, const BIGNUM *e, const BIGNUM *d, const BIGNUM *p,
640
+ const BIGNUM *q, const BIGNUM *dmp1, const BIGNUM *dmq1,
641
+ const BIGNUM *iqmp);
642
+
643
+
573
644
  // ex_data functions.
574
645
  //
575
646
  // See |ex_data.h| for details.
@@ -600,6 +671,17 @@ OPENSSL_EXPORT void *RSA_get_ex_data(const RSA *rsa, int idx);
600
671
  // RSA_FLAG_EXT_PKEY is deprecated and ignored.
601
672
  #define RSA_FLAG_EXT_PKEY 0x20
602
673
 
674
+ // RSA_FLAG_NO_PUBLIC_EXPONENT indicates that private keys without a public
675
+ // exponent are allowed. This is an internal constant. Use
676
+ // |RSA_new_private_key_no_e| to construct such keys.
677
+ #define RSA_FLAG_NO_PUBLIC_EXPONENT 0x40
678
+
679
+ // RSA_FLAG_LARGE_PUBLIC_EXPONENT indicates that keys with a large public
680
+ // exponent are allowed. This is an internal constant. Use
681
+ // |RSA_new_public_key_large_e| and |RSA_new_private_key_large_e| to construct
682
+ // such keys.
683
+ #define RSA_FLAG_LARGE_PUBLIC_EXPONENT 0x80
684
+
603
685
 
604
686
  // RSA public exponent values.
605
687
 
@@ -688,6 +770,14 @@ OPENSSL_EXPORT int RSA_print(BIO *bio, const RSA *rsa, int indent);
688
770
  // the id-RSASSA-PSS key encoding.
689
771
  OPENSSL_EXPORT const RSA_PSS_PARAMS *RSA_get0_pss_params(const RSA *rsa);
690
772
 
773
+ // RSA_new_method_no_e returns a newly-allocated |RSA| object backed by
774
+ // |engine|, with a public modulus of |n| and no known public exponent.
775
+ //
776
+ // Do not use this function. It exists only to support Conscrypt, whose use
777
+ // should be replaced with a more sound mechanism. See
778
+ // https://crbug.com/boringssl/602.
779
+ OPENSSL_EXPORT RSA *RSA_new_method_no_e(const ENGINE *engine, const BIGNUM *n);
780
+
691
781
 
692
782
  struct rsa_meth_st {
693
783
  struct openssl_method_common_st common;
@@ -205,6 +205,11 @@ auto MakeConstSpan(const C &c) -> decltype(MakeConstSpan(c.data(), c.size())) {
205
205
  return MakeConstSpan(c.data(), c.size());
206
206
  }
207
207
 
208
+ template <typename T, size_t size>
209
+ Span<const T> MakeConstSpan(T (&array)[size]) {
210
+ return array;
211
+ }
212
+
208
213
  BSSL_NAMESPACE_END
209
214
 
210
215
  } // extern C++
@@ -1081,6 +1081,21 @@ OPENSSL_EXPORT int SSL_set_ocsp_response(SSL *ssl,
1081
1081
  OPENSSL_EXPORT const char *SSL_get_signature_algorithm_name(uint16_t sigalg,
1082
1082
  int include_curve);
1083
1083
 
1084
+ // SSL_get_all_signature_algorithm_names outputs a list of possible strings
1085
+ // |SSL_get_signature_algorithm_name| may return in this version of BoringSSL.
1086
+ // It writes at most |max_out| entries to |out| and returns the total number it
1087
+ // would have written, if |max_out| had been large enough. |max_out| may be
1088
+ // initially set to zero to size the output.
1089
+ //
1090
+ // This function is only intended to help initialize tables in callers that want
1091
+ // possible strings pre-declared. This list would not be suitable to set a list
1092
+ // of supported features. It is in no particular order, and may contain
1093
+ // placeholder, experimental, or deprecated values that do not apply to every
1094
+ // caller. Future versions of BoringSSL may also return strings not in this
1095
+ // list, so this does not apply if, say, sending strings across services.
1096
+ OPENSSL_EXPORT size_t SSL_get_all_signature_algorithm_names(const char **out,
1097
+ size_t max_out);
1098
+
1084
1099
  // SSL_get_signature_algorithm_key_type returns the key type associated with
1085
1100
  // |sigalg| as an |EVP_PKEY_*| constant or |EVP_PKEY_NONE| if unknown.
1086
1101
  OPENSSL_EXPORT int SSL_get_signature_algorithm_key_type(uint16_t sigalg);
@@ -1394,6 +1409,37 @@ OPENSSL_EXPORT const char *SSL_CIPHER_get_kx_name(const SSL_CIPHER *cipher);
1394
1409
  OPENSSL_EXPORT int SSL_CIPHER_get_bits(const SSL_CIPHER *cipher,
1395
1410
  int *out_alg_bits);
1396
1411
 
1412
+ // SSL_get_all_cipher_names outputs a list of possible strings
1413
+ // |SSL_CIPHER_get_name| may return in this version of BoringSSL. It writes at
1414
+ // most |max_out| entries to |out| and returns the total number it would have
1415
+ // written, if |max_out| had been large enough. |max_out| may be initially set
1416
+ // to zero to size the output.
1417
+ //
1418
+ // This function is only intended to help initialize tables in callers that want
1419
+ // possible strings pre-declared. This list would not be suitable to set a list
1420
+ // of supported features. It is in no particular order, and may contain
1421
+ // placeholder, experimental, or deprecated values that do not apply to every
1422
+ // caller. Future versions of BoringSSL may also return strings not in this
1423
+ // list, so this does not apply if, say, sending strings across services.
1424
+ OPENSSL_EXPORT size_t SSL_get_all_cipher_names(const char **out,
1425
+ size_t max_out);
1426
+
1427
+
1428
+ // SSL_get_all_standard_cipher_names outputs a list of possible strings
1429
+ // |SSL_CIPHER_standard_name| may return in this version of BoringSSL. It writes
1430
+ // at most |max_out| entries to |out| and returns the total number it would have
1431
+ // written, if |max_out| had been large enough. |max_out| may be initially set
1432
+ // to zero to size the output.
1433
+ //
1434
+ // This function is only intended to help initialize tables in callers that want
1435
+ // possible strings pre-declared. This list would not be suitable to set a list
1436
+ // of supported features. It is in no particular order, and may contain
1437
+ // placeholder, experimental, or deprecated values that do not apply to every
1438
+ // caller. Future versions of BoringSSL may also return strings not in this
1439
+ // list, so this does not apply if, say, sending strings across services.
1440
+ OPENSSL_EXPORT size_t SSL_get_all_standard_cipher_names(const char **out,
1441
+ size_t max_out);
1442
+
1397
1443
 
1398
1444
  // Cipher suite configuration.
1399
1445
  //
@@ -1430,7 +1476,8 @@ OPENSSL_EXPORT int SSL_CIPHER_get_bits(const SSL_CIPHER *cipher,
1430
1476
  //
1431
1477
  // Available cipher rules are:
1432
1478
  //
1433
- // |ALL| matches all ciphers.
1479
+ // |ALL| matches all ciphers, except for deprecated ciphers which must be
1480
+ // named explicitly.
1434
1481
  //
1435
1482
  // |kRSA|, |kDHE|, |kECDHE|, and |kPSK| match ciphers using plain RSA, DHE,
1436
1483
  // ECDHE, and plain PSK key exchanges, respectively. Note that ECDHE_PSK is
@@ -1449,9 +1496,6 @@ OPENSSL_EXPORT int SSL_CIPHER_get_bits(const SSL_CIPHER *cipher,
1449
1496
  //
1450
1497
  // |SHA1|, and its alias |SHA|, match legacy cipher suites using HMAC-SHA1.
1451
1498
  //
1452
- // Although implemented, authentication-only ciphers match no rules and must be
1453
- // explicitly selected by name.
1454
- //
1455
1499
  // Deprecated cipher rules:
1456
1500
  //
1457
1501
  // |kEDH|, |EDH|, |kEECDH|, and |EECDH| are legacy aliases for |kDHE|, |DHE|,
@@ -1490,8 +1534,7 @@ OPENSSL_EXPORT int SSL_CIPHER_get_bits(const SSL_CIPHER *cipher,
1490
1534
  //
1491
1535
  // TLS 1.3 ciphers do not participate in this mechanism and instead have a
1492
1536
  // 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.
1537
+ // 1.3, and functions to query the cipher list do not include TLS 1.3 ciphers.
1495
1538
 
1496
1539
  // SSL_DEFAULT_CIPHER_LIST is the default cipher suite configuration. It is
1497
1540
  // substituted when a cipher string starts with 'DEFAULT'.
@@ -2334,9 +2377,7 @@ OPENSSL_EXPORT int SSL_set1_curves_list(SSL *ssl, const char *curves);
2334
2377
  #define SSL_CURVE_SECP384R1 24
2335
2378
  #define SSL_CURVE_SECP521R1 25
2336
2379
  #define SSL_CURVE_X25519 29
2337
- #define SSL_CURVE_CECPQ2 16696
2338
- #define SSL_CURVE_X25519KYBER768 0xfe31
2339
- #define SSL_CURVE_P256KYBER768 0xfe32
2380
+ #define SSL_CURVE_X25519_KYBER768_DRAFT00 0x6399
2340
2381
 
2341
2382
  // SSL_get_curve_id returns the ID of the curve used by |ssl|'s most recently
2342
2383
  // completed handshake or 0 if not applicable.
@@ -2349,6 +2390,20 @@ OPENSSL_EXPORT uint16_t SSL_get_curve_id(const SSL *ssl);
2349
2390
  // the given TLS curve id, or NULL if the curve is unknown.
2350
2391
  OPENSSL_EXPORT const char *SSL_get_curve_name(uint16_t curve_id);
2351
2392
 
2393
+ // SSL_get_all_curve_names outputs a list of possible strings
2394
+ // |SSL_get_curve_name| may return in this version of BoringSSL. It writes at
2395
+ // most |max_out| entries to |out| and returns the total number it would have
2396
+ // written, if |max_out| had been large enough. |max_out| may be initially set
2397
+ // to zero to size the output.
2398
+ //
2399
+ // This function is only intended to help initialize tables in callers that want
2400
+ // possible strings pre-declared. This list would not be suitable to set a list
2401
+ // of supported features. It is in no particular order, and may contain
2402
+ // placeholder, experimental, or deprecated values that do not apply to every
2403
+ // caller. Future versions of BoringSSL may also return strings not in this
2404
+ // list, so this does not apply if, say, sending strings across services.
2405
+ OPENSSL_EXPORT size_t SSL_get_all_curve_names(const char **out, size_t max_out);
2406
+
2352
2407
  // SSL_CTX_set1_groups calls |SSL_CTX_set1_curves|.
2353
2408
  OPENSSL_EXPORT int SSL_CTX_set1_groups(SSL_CTX *ctx, const int *groups,
2354
2409
  size_t groups_len);
@@ -2411,21 +2466,51 @@ OPENSSL_EXPORT int SSL_set1_groups_list(SSL *ssl, const char *groups);
2411
2466
 
2412
2467
  // SSL_CTX_set_verify configures certificate verification behavior. |mode| is
2413
2468
  // 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|.
2469
+ // used to customize certificate verification, but is deprecated. See
2470
+ // |X509_STORE_CTX_set_verify_cb| for details.
2416
2471
  //
2417
2472
  // The callback may use |SSL_get_ex_data_X509_STORE_CTX_idx| with
2418
2473
  // |X509_STORE_CTX_get_ex_data| to look up the |SSL| from |store_ctx|.
2474
+ //
2475
+ // WARNING: |callback| should be NULL. This callback does not replace the
2476
+ // default certificate verification process and is, instead, called multiple
2477
+ // times in the course of that process. It is very difficult to implement this
2478
+ // callback safely, without inadvertently relying on implementation details or
2479
+ // making incorrect assumptions about when the callback is called.
2480
+ //
2481
+ // Instead, use |SSL_CTX_set_custom_verify| or
2482
+ // |SSL_CTX_set_cert_verify_callback| to customize certificate verification.
2483
+ // Those callbacks can inspect the peer-sent chain, call |X509_verify_cert| and
2484
+ // inspect the result, or perform other operations more straightforwardly.
2485
+ //
2486
+ // TODO(crbug.com/boringssl/426): We cite |X509_STORE_CTX_set_verify_cb| but
2487
+ // haven't documented it yet. Later that will have a more detailed warning about
2488
+ // why one should not use this callback.
2419
2489
  OPENSSL_EXPORT void SSL_CTX_set_verify(
2420
2490
  SSL_CTX *ctx, int mode, int (*callback)(int ok, X509_STORE_CTX *store_ctx));
2421
2491
 
2422
2492
  // SSL_set_verify configures certificate verification behavior. |mode| is one of
2423
2493
  // the |SSL_VERIFY_*| values defined above. |callback|, if not NULL, is used to
2424
- // customize certificate verification. See the behavior of
2494
+ // customize certificate verification, but is deprecated. See the behavior of
2425
2495
  // |X509_STORE_CTX_set_verify_cb|.
2426
2496
  //
2427
2497
  // The callback may use |SSL_get_ex_data_X509_STORE_CTX_idx| with
2428
2498
  // |X509_STORE_CTX_get_ex_data| to look up the |SSL| from |store_ctx|.
2499
+ //
2500
+ // WARNING: |callback| should be NULL. This callback does not replace the
2501
+ // default certificate verification process and is, instead, called multiple
2502
+ // times in the course of that process. It is very difficult to implement this
2503
+ // callback safely, without inadvertently relying on implementation details or
2504
+ // making incorrect assumptions about when the callback is called.
2505
+ //
2506
+ // Instead, use |SSL_set_custom_verify| or |SSL_CTX_set_cert_verify_callback| to
2507
+ // customize certificate verification. Those callbacks can inspect the peer-sent
2508
+ // chain, call |X509_verify_cert| and inspect the result, or perform other
2509
+ // operations more straightforwardly.
2510
+ //
2511
+ // TODO(crbug.com/boringssl/426): We cite |X509_STORE_CTX_set_verify_cb| but
2512
+ // haven't documented it yet. Later that will have a more detailed warning about
2513
+ // why one should not use this callback.
2429
2514
  OPENSSL_EXPORT void SSL_set_verify(SSL *ssl, int mode,
2430
2515
  int (*callback)(int ok,
2431
2516
  X509_STORE_CTX *store_ctx));
@@ -4528,13 +4613,6 @@ OPENSSL_EXPORT const char *SSL_CIPHER_description(const SSL_CIPHER *cipher,
4528
4613
  // SSL_CIPHER_get_version returns the string "TLSv1/SSLv3".
4529
4614
  OPENSSL_EXPORT const char *SSL_CIPHER_get_version(const SSL_CIPHER *cipher);
4530
4615
 
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
4616
  typedef void COMP_METHOD;
4539
4617
  typedef struct ssl_comp_st SSL_COMP;
4540
4618
 
@@ -4873,6 +4951,21 @@ OPENSSL_EXPORT long SSL_get_default_timeout(const SSL *ssl);
4873
4951
  // For example, "TLSv1.2" or "DTLSv1".
4874
4952
  OPENSSL_EXPORT const char *SSL_get_version(const SSL *ssl);
4875
4953
 
4954
+ // SSL_get_all_version_names outputs a list of possible strings
4955
+ // |SSL_get_version| may return in this version of BoringSSL. It writes at most
4956
+ // |max_out| entries to |out| and returns the total number it would have
4957
+ // written, if |max_out| had been large enough. |max_out| may be initially set
4958
+ // to zero to size the output.
4959
+ //
4960
+ // This function is only intended to help initialize tables in callers that want
4961
+ // possible strings pre-declared. This list would not be suitable to set a list
4962
+ // of supported features. It is in no particular order, and may contain
4963
+ // placeholder, experimental, or deprecated values that do not apply to every
4964
+ // caller. Future versions of BoringSSL may also return strings not in this
4965
+ // list, so this does not apply if, say, sending strings across services.
4966
+ OPENSSL_EXPORT size_t SSL_get_all_version_names(const char **out,
4967
+ size_t max_out);
4968
+
4876
4969
  // SSL_get_cipher_list returns the name of the |n|th cipher in the output of
4877
4970
  // |SSL_get_ciphers| or NULL if out of range. Use |SSL_get_ciphers| instead.
4878
4971
  OPENSSL_EXPORT const char *SSL_get_cipher_list(const SSL *ssl, int n);
@@ -5168,6 +5261,10 @@ OPENSSL_EXPORT uint16_t SSL_CIPHER_get_value(const SSL_CIPHER *cipher);
5168
5261
  // parameters of a TLS connection.
5169
5262
 
5170
5263
  enum ssl_compliance_policy_t BORINGSSL_ENUM_INT {
5264
+ // ssl_compliance_policy_none does nothing. However, since setting this
5265
+ // doesn't undo other policies it's an error to try and set it.
5266
+ ssl_compliance_policy_none,
5267
+
5171
5268
  // ssl_policy_fips_202205 configures a TLS connection to use:
5172
5269
  // * TLS 1.2 or 1.3
5173
5270
  // * For TLS 1.2, only ECDHE_[RSA|ECDSA]_WITH_AES_*_GCM_SHA*.
@@ -5182,12 +5279,32 @@ enum ssl_compliance_policy_t BORINGSSL_ENUM_INT {
5182
5279
  // Note: this setting aids with compliance with NIST requirements but does not
5183
5280
  // guarantee it. Careful reading of SP 800-52r2 is recommended.
5184
5281
  ssl_compliance_policy_fips_202205,
5282
+
5283
+ // ssl_compliance_policy_wpa3_192_202304 configures a TLS connection to use:
5284
+ // * TLS 1.2 or 1.3.
5285
+ // * For TLS 1.2, only TLS_ECDHE_[ECDSA|RSA]_WITH_AES_256_GCM_SHA384.
5286
+ // * For TLS 1.3, only AES-256-GCM.
5287
+ // * P-384 for key agreement.
5288
+ // * For handshake signatures, only ECDSA with P-384 and SHA-384, or RSA
5289
+ // with SHA-384 or SHA-512.
5290
+ //
5291
+ // No limitations on the certificate chain nor leaf public key are imposed,
5292
+ // other than by the supported signature algorithms. But WPA3's "192-bit"
5293
+ // mode requires at least P-384 or 3072-bit along the chain. The caller must
5294
+ // enforce this themselves on the verified chain using functions such as
5295
+ // `X509_STORE_CTX_get0_chain`.
5296
+ //
5297
+ // Note that this setting is less secure than the default. The
5298
+ // implementation risks of using a more obscure primitive like P-384
5299
+ // dominate other considerations.
5300
+ ssl_compliance_policy_wpa3_192_202304,
5185
5301
  };
5186
5302
 
5187
5303
  // SSL_CTX_set_compliance_policy configures various aspects of |ctx| based on
5188
5304
  // the given policy requirements. Subsequently calling other functions that
5189
5305
  // configure |ctx| may override |policy|, or may not. This should be the final
5190
- // configuration function called in order to have defined behaviour.
5306
+ // configuration function called in order to have defined behaviour. It's a
5307
+ // fatal error if |policy| is |ssl_compliance_policy_none|.
5191
5308
  OPENSSL_EXPORT int SSL_CTX_set_compliance_policy(
5192
5309
  SSL_CTX *ctx, enum ssl_compliance_policy_t policy);
5193
5310
 
@@ -5420,6 +5537,18 @@ OPENSSL_EXPORT bool SSL_get_traffic_secrets(
5420
5537
  const SSL *ssl, Span<const uint8_t> *out_read_traffic_secret,
5421
5538
  Span<const uint8_t> *out_write_traffic_secret);
5422
5539
 
5540
+ // SSL_CTX_set_aes_hw_override_for_testing sets |override_value| to
5541
+ // override checking for aes hardware support for testing. If |override_value|
5542
+ // is set to true, the library will behave as if aes hardware support is
5543
+ // present. If it is set to false, the library will behave as if aes hardware
5544
+ // support is not present.
5545
+ OPENSSL_EXPORT void SSL_CTX_set_aes_hw_override_for_testing(
5546
+ SSL_CTX *ctx, bool override_value);
5547
+
5548
+ // SSL_set_aes_hw_override_for_testing acts the same as
5549
+ // |SSL_CTX_set_aes_override_for_testing| but only configures a single |SSL*|.
5550
+ OPENSSL_EXPORT void SSL_set_aes_hw_override_for_testing(SSL *ssl,
5551
+ bool override_value);
5423
5552
 
5424
5553
  BSSL_NAMESPACE_END
5425
5554
 
@@ -127,10 +127,8 @@ typedef SAMPLE *(*sk_SAMPLE_copy_func)(const SAMPLE *);
127
127
  // respectively. Note the extra indirection - the function is given a pointer
128
128
  // to a pointer to the element. This is the |qsort|/|bsearch| comparison
129
129
  // function applied to an array of |SAMPLE*|.
130
- //
131
- // TODO(https://crbug.com/boringssl/498): The parameters should be
132
- // |const SAMPLE *const *|.
133
- typedef int (*sk_SAMPLE_cmp_func)(const SAMPLE **a, const SAMPLE **b);
130
+ typedef int (*sk_SAMPLE_cmp_func)(const SAMPLE *const *a,
131
+ const SAMPLE *const *b);
134
132
 
135
133
  // sk_SAMPLE_new creates a new, empty stack with the given comparison function,
136
134
  // which may be NULL. It returns the new stack or NULL on allocation failure.
@@ -264,13 +262,10 @@ typedef void *(*OPENSSL_sk_copy_func)(const void *ptr);
264
262
  // the extra indirection - the function is given a pointer to a pointer to the
265
263
  // element. This differs from the usual qsort/bsearch comparison function.
266
264
  //
267
- // Note its actual type is |int (*)(const T **a, const T **b)|. Low-level |sk_*|
268
- // functions will be passed a type-specific wrapper to call it correctly.
269
- //
270
- // TODO(https://crbug.com/boringssl/498): This type should be
271
- // |const T *const *|. It is already fixed in OpenSSL 1.1.1, so hopefully we can
272
- // fix this compatibly.
273
- typedef int (*OPENSSL_sk_cmp_func)(const void **a, const void **b);
265
+ // Note its actual type is |int (*)(const T *const *a, const T *const *b)|.
266
+ // Low-level |sk_*| functions will be passed a type-specific wrapper to call it
267
+ // correctly.
268
+ typedef int (*OPENSSL_sk_cmp_func)(const void *const *a, const void *const *b);
274
269
 
275
270
  // OPENSSL_sk_delete_if_func is the generic version of
276
271
  // |sk_SAMPLE_delete_if_func|.
@@ -387,7 +382,8 @@ BSSL_NAMESPACE_END
387
382
  \
388
383
  typedef void (*sk_##name##_free_func)(ptrtype); \
389
384
  typedef ptrtype (*sk_##name##_copy_func)(constptrtype); \
390
- typedef int (*sk_##name##_cmp_func)(constptrtype *, constptrtype *); \
385
+ typedef int (*sk_##name##_cmp_func)(constptrtype const *, \
386
+ constptrtype const *); \
391
387
  typedef int (*sk_##name##_delete_if_func)(ptrtype, void *); \
392
388
  \
393
389
  OPENSSL_INLINE void sk_##name##_call_free_func( \
@@ -78,6 +78,10 @@ typedef union crypto_mutex_st {
78
78
  void *handle;
79
79
  } CRYPTO_MUTEX;
80
80
  #elif !defined(__GLIBC__)
81
+ #if defined(OPENSSL_OPENBSD)
82
+ // OpenBSD does not guarantee pthread_rwlock_t in sys/types.h yet.
83
+ #include <pthread.h>
84
+ #endif
81
85
  typedef pthread_rwlock_t CRYPTO_MUTEX;
82
86
  #else
83
87
  // On glibc, |pthread_rwlock_t| is hidden under feature flags, and we can't