grpc 1.53.0 → 1.55.0

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 (1521) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +132 -89
  3. data/include/grpc/event_engine/event_engine.h +30 -14
  4. data/include/grpc/grpc_security.h +4 -0
  5. data/include/grpc/impl/grpc_types.h +13 -2
  6. data/include/grpc/support/port_platform.h +4 -4
  7. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +12 -1
  8. data/src/core/ext/filters/client_channel/backend_metric.cc +8 -1
  9. data/src/core/ext/filters/client_channel/backup_poller.cc +2 -11
  10. data/src/core/ext/filters/client_channel/backup_poller.h +0 -3
  11. data/src/core/ext/filters/client_channel/client_channel.cc +853 -822
  12. data/src/core/ext/filters/client_channel/client_channel.h +140 -178
  13. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +1 -1
  14. data/src/core/ext/filters/client_channel/client_channel_internal.h +82 -0
  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 -20
  17. data/src/core/ext/filters/client_channel/health/health_check_client.cc +1 -1
  18. data/src/core/ext/filters/client_channel/http_proxy.cc +35 -2
  19. data/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h +6 -1
  20. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +19 -20
  21. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +1 -1
  22. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +1 -1
  23. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +5 -5
  24. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +3 -3
  25. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +134 -151
  26. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +46 -61
  27. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +14 -10
  28. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc +70 -33
  29. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +14 -6
  30. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +3 -3
  31. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +12 -5
  32. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +5 -8
  33. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +9 -9
  34. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +6 -6
  35. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +5 -4
  36. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +46 -153
  37. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.h +30 -0
  38. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +4 -4
  39. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_plugin.cc +60 -0
  40. data/src/core/ext/filters/client_channel/resolver/dns/{dns_resolver_selection.h → dns_resolver_plugin.h} +10 -12
  41. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +524 -0
  42. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.h +35 -0
  43. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.cc +97 -0
  44. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.h +32 -0
  45. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +19 -36
  46. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.h +24 -0
  47. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +34 -181
  48. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +1 -2
  49. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +1 -2
  50. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +11 -36
  51. data/src/core/ext/filters/client_channel/retry_filter.cc +117 -156
  52. data/src/core/ext/filters/client_channel/retry_service_config.cc +8 -8
  53. data/src/core/ext/filters/client_channel/subchannel.cc +2 -4
  54. data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +26 -27
  55. data/src/core/ext/filters/client_channel/subchannel_stream_client.h +8 -5
  56. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +1 -1
  57. data/src/core/ext/filters/http/client/http_client_filter.cc +3 -3
  58. data/src/core/ext/filters/http/http_filters_plugin.cc +1 -12
  59. data/src/core/ext/filters/http/message_compress/compression_filter.cc +29 -13
  60. data/src/core/ext/filters/message_size/message_size_filter.cc +141 -224
  61. data/src/core/ext/filters/message_size/message_size_filter.h +48 -3
  62. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +68 -69
  63. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +7 -6
  64. data/src/core/ext/gcp/metadata_query.cc +137 -0
  65. data/src/core/ext/gcp/metadata_query.h +87 -0
  66. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +70 -55
  67. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +12 -8
  68. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +5 -1
  69. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +226 -82
  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 +5 -2
  73. data/src/core/ext/transport/chttp2/transport/flow_control.h +2 -1
  74. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +1 -7
  75. data/src/core/ext/transport/chttp2/transport/frame_ping.h +0 -3
  76. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +4 -1
  77. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +118 -222
  78. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +296 -113
  79. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +2 -0
  80. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +2 -0
  81. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +466 -273
  82. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +7 -3
  83. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +15 -12
  84. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +9 -1
  85. data/src/core/ext/transport/chttp2/transport/internal.h +20 -6
  86. data/src/core/ext/transport/chttp2/transport/parsing.cc +9 -2
  87. data/src/core/ext/transport/chttp2/transport/writing.cc +24 -8
  88. data/src/core/ext/transport/inproc/inproc_transport.cc +20 -14
  89. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +87 -52
  90. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +414 -181
  91. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +121 -60
  92. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +481 -224
  93. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +90 -55
  94. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +415 -188
  95. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +357 -210
  96. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +1572 -729
  97. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +30 -17
  98. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +144 -47
  99. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +34 -21
  100. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +160 -62
  101. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +27 -14
  102. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +78 -38
  103. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +20 -11
  104. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +48 -26
  105. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +20 -11
  106. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +48 -26
  107. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +109 -62
  108. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +566 -244
  109. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +21 -12
  110. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +45 -30
  111. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +22 -19
  112. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +82 -29
  113. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +23 -16
  114. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +45 -30
  115. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +230 -143
  116. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +733 -404
  117. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +417 -262
  118. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1850 -888
  119. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +74 -41
  120. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +286 -148
  121. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +531 -334
  122. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +2017 -1131
  123. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +21 -12
  124. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +45 -30
  125. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +89 -52
  126. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +347 -232
  127. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +264 -165
  128. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +888 -476
  129. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +139 -80
  130. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +527 -274
  131. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +22 -13
  132. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +50 -36
  133. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +380 -221
  134. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +1168 -611
  135. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +166 -94
  136. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +666 -292
  137. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +18 -11
  138. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +37 -26
  139. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +21 -12
  140. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +45 -30
  141. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +30 -17
  142. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +144 -47
  143. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +274 -167
  144. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +789 -440
  145. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +228 -137
  146. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +1100 -501
  147. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +22 -13
  148. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +60 -37
  149. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +350 -209
  150. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +1083 -635
  151. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +44 -11
  152. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +175 -18
  153. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +34 -19
  154. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +118 -56
  155. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +38 -21
  156. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +148 -64
  157. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +31 -18
  158. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +143 -65
  159. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +22 -13
  160. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +51 -37
  161. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +78 -43
  162. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +265 -127
  163. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +145 -88
  164. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +438 -241
  165. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +115 -62
  166. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +559 -227
  167. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +18 -11
  168. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +35 -26
  169. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +187 -109
  170. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +956 -421
  171. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +172 -95
  172. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +864 -374
  173. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +49 -25
  174. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +171 -100
  175. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +39 -18
  176. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +74 -56
  177. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +28 -15
  178. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +71 -45
  179. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +131 -74
  180. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +489 -249
  181. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +135 -80
  182. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +505 -245
  183. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +256 -129
  184. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +996 -397
  185. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +80 -49
  186. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +616 -201
  187. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +1283 -774
  188. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +5430 -2509
  189. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +49 -28
  190. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +164 -84
  191. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +228 -141
  192. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +738 -399
  193. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +20 -11
  194. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +48 -26
  195. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +21 -12
  196. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +45 -30
  197. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +32 -19
  198. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +70 -49
  199. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +27 -14
  200. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +110 -43
  201. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +46 -25
  202. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +259 -100
  203. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +21 -13
  204. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +45 -30
  205. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +18 -11
  206. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +35 -26
  207. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +42 -23
  208. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +108 -70
  209. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +7 -4
  210. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +21 -16
  211. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +43 -24
  212. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +110 -75
  213. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +30 -17
  214. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +95 -50
  215. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +16 -9
  216. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +73 -23
  217. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +60 -37
  218. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +150 -108
  219. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +74 -43
  220. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +357 -167
  221. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +44 -25
  222. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +114 -80
  223. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +41 -20
  224. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +245 -82
  225. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c +32 -19
  226. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +73 -51
  227. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +474 -292
  228. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +2144 -1055
  229. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c +18 -11
  230. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +35 -26
  231. 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 -19
  232. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +125 -67
  233. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.c +72 -45
  234. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +193 -138
  235. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c +34 -19
  236. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +131 -66
  237. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +18 -11
  238. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +35 -26
  239. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +7 -4
  240. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +15 -10
  241. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +184 -96
  242. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +907 -360
  243. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +56 -33
  244. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +150 -101
  245. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +188 -111
  246. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +816 -419
  247. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +32 -19
  248. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +109 -53
  249. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +10 -7
  250. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +18 -14
  251. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +300 -177
  252. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +1284 -522
  253. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +42 -23
  254. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +188 -75
  255. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +130 -83
  256. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +510 -238
  257. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +22 -13
  258. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +55 -34
  259. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +39 -26
  260. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +124 -68
  261. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.c +21 -12
  262. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.h +47 -30
  263. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +60 -26
  264. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +130 -51
  265. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +37 -20
  266. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +133 -63
  267. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +22 -13
  268. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +91 -40
  269. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +21 -12
  270. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +50 -32
  271. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +18 -11
  272. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +37 -26
  273. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +46 -27
  274. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +101 -70
  275. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.c +13 -10
  276. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.h +25 -22
  277. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +40 -23
  278. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +161 -75
  279. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +31 -18
  280. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +114 -56
  281. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +46 -29
  282. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +139 -91
  283. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +65 -42
  284. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +200 -121
  285. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +80 -45
  286. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +208 -131
  287. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +34 -21
  288. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +74 -53
  289. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +7 -4
  290. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +13 -8
  291. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +16 -9
  292. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +28 -18
  293. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +28 -15
  294. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +55 -34
  295. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +43 -22
  296. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +91 -53
  297. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +35 -20
  298. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +92 -57
  299. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +7 -4
  300. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +13 -8
  301. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +20 -11
  302. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +48 -26
  303. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +23 -14
  304. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +61 -41
  305. data/src/core/ext/upb-generated/google/api/annotations.upb.c +14 -11
  306. data/src/core/ext/upb-generated/google/api/annotations.upb.h +30 -20
  307. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +255 -154
  308. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +934 -450
  309. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +299 -180
  310. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +946 -483
  311. data/src/core/ext/upb-generated/google/api/http.upb.c +68 -35
  312. data/src/core/ext/upb-generated/google/api/http.upb.h +284 -120
  313. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +22 -13
  314. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +95 -37
  315. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +19 -10
  316. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +38 -22
  317. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +1018 -424
  318. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +3851 -1412
  319. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +19 -10
  320. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +38 -22
  321. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +10 -7
  322. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +18 -14
  323. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +62 -39
  324. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +207 -102
  325. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +19 -10
  326. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +38 -22
  327. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +90 -51
  328. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +157 -107
  329. data/src/core/ext/upb-generated/google/rpc/status.upb.c +22 -13
  330. data/src/core/ext/upb-generated/google/rpc/status.upb.h +95 -37
  331. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +59 -34
  332. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +154 -92
  333. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +43 -24
  334. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +118 -60
  335. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +250 -145
  336. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +919 -415
  337. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +34 -19
  338. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +76 -51
  339. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +25 -14
  340. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +45 -30
  341. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +144 -81
  342. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +405 -217
  343. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +51 -26
  344. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +153 -61
  345. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +173 -102
  346. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +855 -298
  347. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +68 -49
  348. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +155 -104
  349. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +26 -17
  350. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +55 -34
  351. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +12 -9
  352. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +31 -14
  353. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +26 -17
  354. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +55 -34
  355. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +23 -16
  356. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +45 -30
  357. data/src/core/ext/upb-generated/validate/validate.upb.c +845 -455
  358. data/src/core/ext/upb-generated/validate/validate.upb.h +4347 -1908
  359. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +68 -49
  360. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +155 -104
  361. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +26 -17
  362. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +55 -34
  363. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +12 -9
  364. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +31 -14
  365. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +65 -44
  366. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +137 -91
  367. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +23 -16
  368. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +45 -30
  369. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +16 -9
  370. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +28 -18
  371. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.c +21 -12
  372. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.h +45 -30
  373. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +37 -22
  374. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +96 -63
  375. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +26 -17
  376. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +52 -29
  377. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +21 -12
  378. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +45 -30
  379. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +23 -14
  380. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +62 -42
  381. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +44 -25
  382. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +169 -79
  383. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +27 -14
  384. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +65 -38
  385. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +77 -31
  386. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +203 -58
  387. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +21 -12
  388. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +89 -34
  389. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.c +18 -11
  390. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.h +35 -26
  391. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.c +32 -19
  392. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.h +150 -54
  393. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.c +10 -7
  394. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.h +18 -14
  395. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.c +34 -21
  396. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.h +161 -63
  397. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +162 -101
  398. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +501 -293
  399. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.c +85 -52
  400. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.h +430 -164
  401. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +24 -15
  402. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +53 -37
  403. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +40 -23
  404. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +161 -75
  405. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.c +37 -22
  406. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.h +92 -66
  407. data/src/core/ext/upb-generated/xds/type/v3/range.upb.c +43 -22
  408. data/src/core/ext/upb-generated/xds/type/v3/range.upb.h +91 -53
  409. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +21 -12
  410. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +45 -30
  411. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c +1 -1
  412. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h +6 -5
  413. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +1 -1
  414. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h +6 -5
  415. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +1 -1
  416. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +6 -5
  417. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c +1 -1
  418. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h +6 -5
  419. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c +1 -1
  420. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h +6 -5
  421. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +1 -1
  422. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h +6 -5
  423. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c +1 -1
  424. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h +6 -5
  425. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c +1 -1
  426. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h +6 -5
  427. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c +1 -1
  428. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h +6 -5
  429. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c +1 -1
  430. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h +6 -5
  431. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c +1 -1
  432. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h +6 -5
  433. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +1 -1
  434. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +6 -5
  435. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +1 -1
  436. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +6 -5
  437. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +1 -1
  438. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +6 -5
  439. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +251 -248
  440. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +6 -5
  441. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +1 -1
  442. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +6 -5
  443. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +1 -1
  444. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +6 -5
  445. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +1 -1
  446. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +6 -5
  447. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +1 -1
  448. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +6 -5
  449. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c +1 -1
  450. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h +6 -5
  451. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +1 -1
  452. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +6 -5
  453. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +1 -1
  454. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +6 -5
  455. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +1 -1
  456. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +6 -5
  457. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +13 -12
  458. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +11 -5
  459. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +1 -1
  460. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +6 -5
  461. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +1 -1
  462. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +6 -5
  463. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c +1 -1
  464. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h +6 -5
  465. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +1 -1
  466. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +6 -5
  467. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +1 -1
  468. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +6 -5
  469. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +1 -1
  470. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +6 -5
  471. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +140 -137
  472. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +6 -5
  473. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +32 -16
  474. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +11 -5
  475. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +1 -1
  476. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +6 -5
  477. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +1 -1
  478. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +6 -5
  479. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +1 -1
  480. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +6 -5
  481. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +1 -1
  482. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +6 -5
  483. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +1 -1
  484. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +6 -5
  485. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +1 -1
  486. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +6 -5
  487. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +1 -1
  488. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +6 -5
  489. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +1 -1
  490. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +6 -5
  491. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +13 -10
  492. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +21 -5
  493. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +1 -1
  494. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +6 -5
  495. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +55 -46
  496. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +6 -5
  497. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +1 -1
  498. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +6 -5
  499. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +1 -1
  500. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h +6 -5
  501. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +1 -1
  502. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +6 -5
  503. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +1 -1
  504. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +6 -5
  505. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +142 -120
  506. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +16 -5
  507. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +1 -1
  508. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +6 -5
  509. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +101 -98
  510. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +6 -5
  511. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +1 -1
  512. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +6 -5
  513. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +1 -1
  514. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +6 -5
  515. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +1 -1
  516. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h +6 -5
  517. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c +1 -1
  518. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h +6 -5
  519. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +1 -1
  520. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +6 -5
  521. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c +1 -1
  522. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h +6 -5
  523. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c +1 -1
  524. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h +6 -5
  525. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +16 -19
  526. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h +6 -5
  527. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c +1 -1
  528. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h +6 -5
  529. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c +1 -1
  530. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h +6 -5
  531. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +1 -1
  532. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h +6 -5
  533. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c +1 -1
  534. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h +6 -5
  535. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +1 -1
  536. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h +6 -5
  537. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +1 -1
  538. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +6 -5
  539. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +1 -1
  540. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +6 -5
  541. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +1 -1
  542. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +6 -5
  543. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +1 -1
  544. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +6 -5
  545. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +1 -1
  546. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +6 -5
  547. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +1 -1
  548. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +6 -5
  549. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +126 -115
  550. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +6 -5
  551. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +1 -1
  552. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +6 -5
  553. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +1 -1
  554. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +6 -5
  555. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +138 -136
  556. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +6 -5
  557. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +1 -1
  558. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +6 -5
  559. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +118 -118
  560. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +6 -5
  561. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +1 -1
  562. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +6 -5
  563. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +6 -6
  564. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +6 -5
  565. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +1 -1
  566. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +6 -5
  567. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +6 -6
  568. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +6 -5
  569. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +12 -13
  570. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +6 -5
  571. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c +1 -1
  572. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h +6 -5
  573. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +1 -1
  574. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +6 -5
  575. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.c +1 -1
  576. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.h +6 -5
  577. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +13 -10
  578. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +11 -5
  579. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +1 -1
  580. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +6 -5
  581. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +1 -1
  582. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +6 -5
  583. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +1 -1
  584. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +6 -5
  585. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +1 -1
  586. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +6 -5
  587. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +1 -1
  588. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +6 -5
  589. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.c +1 -1
  590. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.h +6 -5
  591. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +1 -1
  592. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +6 -5
  593. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +1 -1
  594. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +6 -5
  595. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +1 -1
  596. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +6 -5
  597. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +1 -1
  598. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +6 -5
  599. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +1 -1
  600. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +6 -5
  601. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c +1 -1
  602. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h +6 -5
  603. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +1 -1
  604. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +6 -5
  605. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c +1 -1
  606. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h +6 -5
  607. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +1 -1
  608. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +6 -5
  609. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +1 -1
  610. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +6 -5
  611. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c +1 -1
  612. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h +6 -5
  613. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +1 -1
  614. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h +6 -5
  615. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +1 -1
  616. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +6 -5
  617. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c +1 -1
  618. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h +6 -5
  619. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +1 -1
  620. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +6 -5
  621. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +1 -1
  622. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +6 -5
  623. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +1 -1
  624. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +6 -5
  625. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +1 -1
  626. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +6 -5
  627. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c +1 -1
  628. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h +6 -5
  629. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +1 -1
  630. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +6 -5
  631. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +329 -273
  632. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +11 -5
  633. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +1 -1
  634. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +6 -5
  635. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +1 -1
  636. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +6 -5
  637. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +1 -1
  638. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +6 -5
  639. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +1 -1
  640. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +6 -5
  641. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +1 -1
  642. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +6 -5
  643. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +1 -1
  644. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +6 -5
  645. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c +1 -1
  646. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h +6 -5
  647. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +1 -1
  648. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +6 -5
  649. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +1 -1
  650. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +6 -5
  651. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +1 -1
  652. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +6 -5
  653. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +1 -1
  654. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +6 -5
  655. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +1 -1
  656. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +6 -5
  657. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +1 -1
  658. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +6 -5
  659. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +1 -1
  660. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +6 -5
  661. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c +1 -1
  662. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h +6 -5
  663. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c +1 -1
  664. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h +6 -5
  665. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c +1 -1
  666. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h +6 -5
  667. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +1 -1
  668. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +6 -5
  669. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c +1 -1
  670. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h +6 -5
  671. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +1 -1
  672. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +6 -5
  673. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.c +1 -1
  674. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.h +6 -5
  675. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +1 -1
  676. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +6 -5
  677. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +1 -1
  678. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +6 -5
  679. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c +1 -1
  680. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h +6 -5
  681. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +1 -1
  682. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +6 -5
  683. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +1 -1
  684. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +6 -5
  685. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +1 -1
  686. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +6 -5
  687. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.c +1 -1
  688. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.h +6 -5
  689. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.c +1 -1
  690. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.h +6 -5
  691. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.c +1 -1
  692. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.h +6 -5
  693. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.c +1 -1
  694. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.h +6 -5
  695. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +1 -1
  696. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h +6 -5
  697. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.c +1 -1
  698. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.h +6 -5
  699. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c +1 -1
  700. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h +6 -5
  701. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c +1 -1
  702. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h +6 -5
  703. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.c +1 -1
  704. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.h +6 -5
  705. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.c +1 -1
  706. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.h +6 -5
  707. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +1 -1
  708. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +6 -5
  709. data/src/core/ext/xds/certificate_provider_store.cc +4 -4
  710. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +7 -7
  711. data/src/core/ext/xds/upb_utils.h +1 -1
  712. data/src/core/ext/xds/xds_api.cc +34 -14
  713. data/src/core/ext/xds/xds_api.h +2 -2
  714. data/src/core/ext/xds/xds_bootstrap.cc +3 -3
  715. data/src/core/ext/xds/xds_bootstrap_grpc.cc +15 -15
  716. data/src/core/ext/xds/xds_channel_stack_modifier.cc +1 -2
  717. data/src/core/ext/xds/xds_client.cc +24 -3
  718. data/src/core/ext/xds/xds_client.h +1 -1
  719. data/src/core/ext/xds/xds_client_stats.cc +29 -15
  720. data/src/core/ext/xds/xds_client_stats.h +24 -20
  721. data/src/core/ext/xds/xds_cluster.cc +26 -34
  722. data/src/core/ext/xds/xds_cluster.h +1 -2
  723. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +4 -3
  724. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +2 -2
  725. data/src/core/ext/xds/xds_common_types.cc +5 -4
  726. data/src/core/ext/xds/xds_endpoint.cc +10 -4
  727. data/src/core/ext/xds/xds_endpoint.h +10 -2
  728. data/src/core/ext/xds/xds_http_fault_filter.cc +2 -2
  729. data/src/core/ext/xds/xds_http_fault_filter.h +1 -1
  730. data/src/core/ext/xds/xds_http_filters.h +3 -2
  731. data/src/core/ext/xds/xds_http_rbac_filter.cc +7 -9
  732. data/src/core/ext/xds/xds_http_rbac_filter.h +1 -1
  733. data/src/core/ext/xds/xds_http_stateful_session_filter.cc +2 -2
  734. data/src/core/ext/xds/xds_http_stateful_session_filter.h +1 -1
  735. data/src/core/ext/xds/xds_lb_policy_registry.cc +17 -22
  736. data/src/core/ext/xds/xds_listener.cc +10 -4
  737. data/src/core/ext/xds/xds_listener.h +1 -1
  738. data/src/core/ext/xds/xds_resource_type.h +2 -2
  739. data/src/core/ext/xds/xds_route_config.cc +8 -5
  740. data/src/core/ext/xds/xds_route_config.h +1 -1
  741. data/src/core/ext/xds/xds_transport_grpc.cc +1 -1
  742. data/src/core/lib/backoff/random_early_detection.cc +31 -0
  743. data/src/core/lib/backoff/random_early_detection.h +59 -0
  744. data/src/core/lib/channel/call_finalization.h +1 -1
  745. data/src/core/lib/channel/call_tracer.cc +51 -0
  746. data/src/core/lib/channel/call_tracer.h +101 -38
  747. data/src/core/lib/channel/channelz.cc +5 -4
  748. data/src/core/lib/channel/channelz_registry.cc +7 -6
  749. data/src/core/lib/channel/connected_channel.cc +533 -1045
  750. data/src/core/lib/channel/context.h +8 -1
  751. data/src/core/lib/channel/promise_based_filter.cc +100 -42
  752. data/src/core/lib/channel/promise_based_filter.h +27 -13
  753. data/src/core/lib/channel/server_call_tracer_filter.cc +110 -0
  754. data/src/core/lib/config/config_vars.cc +151 -0
  755. data/src/core/lib/config/config_vars.h +127 -0
  756. data/src/core/lib/config/config_vars_non_generated.cc +51 -0
  757. data/src/core/lib/config/load_config.cc +66 -0
  758. data/src/core/lib/config/load_config.h +49 -0
  759. data/src/core/lib/debug/trace.cc +21 -13
  760. data/src/core/lib/debug/trace.h +12 -9
  761. data/src/core/lib/event_engine/event_engine.cc +37 -2
  762. data/src/core/lib/event_engine/handle_containers.h +7 -22
  763. data/src/core/lib/event_engine/memory_allocator_factory.h +47 -0
  764. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +0 -4
  765. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +3 -9
  766. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +48 -15
  767. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +8 -8
  768. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +14 -31
  769. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +6 -3
  770. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +33 -19
  771. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +3 -3
  772. data/src/core/lib/event_engine/resolved_address.cc +2 -1
  773. data/src/core/lib/event_engine/shim.cc +2 -0
  774. data/src/core/lib/event_engine/trace.cc +1 -0
  775. data/src/core/lib/event_engine/trace.h +6 -0
  776. data/src/core/lib/event_engine/windows/win_socket.cc +0 -1
  777. data/src/core/lib/event_engine/windows/windows_endpoint.cc +129 -82
  778. data/src/core/lib/event_engine/windows/windows_endpoint.h +21 -5
  779. data/src/core/lib/event_engine/windows/windows_engine.cc +39 -18
  780. data/src/core/lib/event_engine/windows/windows_engine.h +2 -1
  781. data/src/core/lib/event_engine/windows/windows_listener.cc +370 -0
  782. data/src/core/lib/event_engine/windows/windows_listener.h +155 -0
  783. data/src/core/lib/experiments/config.cc +3 -10
  784. data/src/core/lib/experiments/experiments.cc +10 -0
  785. data/src/core/lib/experiments/experiments.h +12 -1
  786. data/src/core/lib/gpr/log.cc +15 -28
  787. data/src/core/lib/gpr/{time_posix.cc → posix/time.cc} +5 -0
  788. data/src/core/lib/gprpp/fork.cc +8 -14
  789. data/src/core/lib/gprpp/orphanable.h +4 -3
  790. data/src/core/lib/gprpp/per_cpu.h +9 -3
  791. data/src/core/lib/gprpp/{thd_posix.cc → posix/thd.cc} +49 -37
  792. data/src/core/lib/gprpp/ref_counted.h +33 -34
  793. data/src/core/lib/gprpp/status_helper.cc +2 -2
  794. data/src/core/lib/gprpp/thd.h +16 -0
  795. data/src/core/lib/gprpp/time.cc +1 -0
  796. data/src/core/lib/gprpp/time.h +4 -4
  797. data/src/core/lib/gprpp/validation_errors.cc +8 -3
  798. data/src/core/lib/gprpp/validation_errors.h +16 -9
  799. data/src/core/lib/gprpp/{thd_windows.cc → windows/thd.cc} +2 -2
  800. data/src/core/lib/iomgr/buffer_list.h +0 -1
  801. data/src/core/lib/iomgr/call_combiner.h +2 -2
  802. data/src/core/lib/iomgr/endpoint_cfstream.cc +4 -2
  803. data/src/core/lib/iomgr/endpoint_pair.h +2 -2
  804. data/src/core/lib/iomgr/endpoint_pair_posix.cc +2 -2
  805. data/src/core/lib/iomgr/endpoint_pair_windows.cc +1 -1
  806. data/src/core/lib/iomgr/ev_posix.cc +13 -53
  807. data/src/core/lib/iomgr/ev_posix.h +0 -3
  808. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +103 -76
  809. data/src/core/lib/iomgr/iomgr.cc +4 -8
  810. data/src/core/lib/iomgr/iomgr_windows.cc +8 -2
  811. data/src/core/lib/iomgr/pollset_set_windows.cc +9 -9
  812. data/src/core/lib/iomgr/pollset_windows.cc +1 -1
  813. data/src/core/lib/iomgr/socket_utils_common_posix.cc +16 -3
  814. data/src/core/lib/iomgr/socket_utils_posix.cc +3 -0
  815. data/src/core/lib/iomgr/socket_utils_posix.h +3 -0
  816. data/src/core/lib/iomgr/tcp_client_posix.cc +4 -0
  817. data/src/core/lib/iomgr/tcp_client_windows.cc +2 -2
  818. data/src/core/lib/iomgr/tcp_posix.cc +0 -1
  819. data/src/core/lib/iomgr/tcp_server_posix.cc +5 -16
  820. data/src/core/lib/iomgr/tcp_server_windows.cc +176 -9
  821. data/src/core/lib/iomgr/tcp_windows.cc +12 -8
  822. data/src/core/lib/iomgr/timer_generic.cc +17 -16
  823. data/src/core/lib/json/json.h +61 -113
  824. data/src/core/lib/json/json_object_loader.cc +20 -20
  825. data/src/core/lib/json/json_object_loader.h +8 -3
  826. data/src/core/lib/json/json_reader.cc +58 -38
  827. data/src/core/{ext/filters/client_channel/lb_call_state_internal.h → lib/json/json_reader.h} +7 -12
  828. data/src/core/lib/json/json_util.cc +6 -6
  829. data/src/core/lib/json/json_util.h +5 -4
  830. data/src/core/lib/json/json_writer.cc +19 -19
  831. data/src/core/lib/{security/security_connector/ssl_utils_config.h → json/json_writer.h} +14 -10
  832. data/src/core/lib/load_balancing/lb_policy.cc +9 -13
  833. data/src/core/lib/load_balancing/lb_policy.h +4 -2
  834. data/src/core/lib/load_balancing/lb_policy_registry.cc +7 -7
  835. data/src/core/lib/promise/activity.cc +22 -6
  836. data/src/core/lib/promise/activity.h +61 -24
  837. data/src/core/lib/promise/cancel_callback.h +77 -0
  838. data/src/core/lib/promise/detail/basic_seq.h +1 -1
  839. data/src/core/lib/promise/detail/promise_factory.h +4 -0
  840. data/src/core/lib/promise/for_each.h +176 -0
  841. data/src/core/lib/promise/if.h +9 -0
  842. data/src/core/lib/promise/interceptor_list.h +23 -2
  843. data/src/core/lib/promise/latch.h +89 -3
  844. data/src/core/lib/promise/loop.h +13 -9
  845. data/src/core/lib/promise/map.h +7 -0
  846. data/src/core/lib/promise/party.cc +286 -0
  847. data/src/core/lib/promise/party.h +499 -0
  848. data/src/core/lib/promise/pipe.h +204 -57
  849. data/src/core/lib/promise/poll.h +48 -0
  850. data/src/core/lib/promise/promise.h +2 -2
  851. data/src/core/lib/resource_quota/arena.cc +19 -3
  852. data/src/core/lib/resource_quota/arena.h +119 -5
  853. data/src/core/lib/resource_quota/memory_quota.cc +1 -1
  854. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +47 -72
  855. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +1 -0
  856. data/src/core/lib/security/credentials/external/external_account_credentials.cc +60 -62
  857. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +22 -21
  858. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +28 -27
  859. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +4 -61
  860. data/src/core/lib/security/credentials/jwt/json_token.cc +6 -4
  861. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +8 -5
  862. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +39 -38
  863. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +27 -21
  864. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +1 -1
  865. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +13 -0
  866. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +2 -0
  867. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +5 -9
  868. data/src/core/lib/security/security_connector/ssl_utils.cc +11 -25
  869. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +12 -0
  870. data/src/core/lib/security/transport/secure_endpoint.cc +4 -2
  871. data/src/core/lib/security/transport/server_auth_filter.cc +20 -2
  872. data/src/core/lib/security/util/json_util.cc +5 -5
  873. data/src/core/lib/service_config/service_config_impl.cc +11 -5
  874. data/src/core/lib/slice/slice.cc +1 -1
  875. data/src/core/lib/slice/slice.h +2 -0
  876. data/src/core/lib/surface/builtins.cc +2 -0
  877. data/src/core/lib/surface/call.cc +985 -1038
  878. data/src/core/lib/surface/call.h +11 -5
  879. data/src/core/lib/surface/completion_queue.cc +2 -1
  880. data/src/core/lib/surface/lame_client.cc +1 -0
  881. data/src/core/lib/surface/server.cc +47 -19
  882. data/src/core/lib/surface/validate_metadata.cc +43 -42
  883. data/src/core/lib/surface/validate_metadata.h +9 -0
  884. data/src/core/lib/surface/version.cc +2 -2
  885. data/src/core/lib/transport/batch_builder.cc +179 -0
  886. data/src/core/lib/transport/batch_builder.h +476 -0
  887. data/src/core/lib/transport/bdp_estimator.cc +7 -7
  888. data/src/core/lib/transport/bdp_estimator.h +10 -6
  889. data/src/core/lib/transport/custom_metadata.h +30 -0
  890. data/src/core/lib/transport/metadata_batch.cc +9 -6
  891. data/src/core/lib/transport/metadata_batch.h +124 -31
  892. data/src/core/lib/transport/metadata_compression_traits.h +67 -0
  893. data/src/core/lib/transport/parsed_metadata.h +19 -9
  894. data/src/core/lib/transport/simple_slice_based_metadata.h +48 -0
  895. data/src/core/lib/transport/timeout_encoding.cc +6 -1
  896. data/src/core/lib/transport/transport.cc +30 -2
  897. data/src/core/lib/transport/transport.h +73 -14
  898. data/src/core/lib/transport/transport_impl.h +7 -0
  899. data/src/core/lib/transport/transport_op_string.cc +52 -42
  900. data/src/core/plugin_registry/grpc_plugin_registry.cc +4 -6
  901. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +1 -0
  902. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +21 -4
  903. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +5 -0
  904. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +1 -1
  905. data/src/core/tsi/ssl_transport_security.cc +4 -2
  906. data/src/ruby/lib/grpc/version.rb +1 -1
  907. data/third_party/abseil-cpp/absl/base/config.h +1 -1
  908. data/third_party/abseil-cpp/absl/flags/commandlineflag.cc +34 -0
  909. data/third_party/abseil-cpp/absl/flags/commandlineflag.h +200 -0
  910. data/third_party/abseil-cpp/absl/flags/config.h +68 -0
  911. data/third_party/abseil-cpp/absl/flags/declare.h +73 -0
  912. data/third_party/abseil-cpp/absl/flags/flag.cc +38 -0
  913. data/third_party/abseil-cpp/absl/flags/flag.h +310 -0
  914. data/{src/core/lib/gprpp/global_config_custom.h → third_party/abseil-cpp/absl/flags/internal/commandlineflag.cc} +11 -14
  915. data/third_party/abseil-cpp/absl/flags/internal/commandlineflag.h +68 -0
  916. data/third_party/abseil-cpp/absl/flags/internal/flag.cc +615 -0
  917. data/third_party/abseil-cpp/absl/flags/internal/flag.h +800 -0
  918. data/third_party/abseil-cpp/absl/flags/internal/flag_msvc.inc +116 -0
  919. data/third_party/abseil-cpp/absl/flags/internal/path_util.h +62 -0
  920. data/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.cc +65 -0
  921. data/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.h +61 -0
  922. data/third_party/abseil-cpp/absl/flags/internal/program_name.cc +60 -0
  923. data/third_party/abseil-cpp/absl/flags/internal/program_name.h +50 -0
  924. data/third_party/abseil-cpp/absl/flags/internal/registry.h +97 -0
  925. data/third_party/abseil-cpp/absl/flags/internal/sequence_lock.h +187 -0
  926. data/third_party/abseil-cpp/absl/flags/marshalling.cc +241 -0
  927. data/third_party/abseil-cpp/absl/flags/marshalling.h +356 -0
  928. data/third_party/abseil-cpp/absl/flags/reflection.cc +354 -0
  929. data/third_party/abseil-cpp/absl/flags/reflection.h +90 -0
  930. data/third_party/abseil-cpp/absl/flags/usage_config.cc +165 -0
  931. data/third_party/abseil-cpp/absl/flags/usage_config.h +135 -0
  932. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +12 -8
  933. data/third_party/boringssl-with-bazel/err_data.c +728 -712
  934. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +177 -177
  935. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +28 -55
  936. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c +21 -23
  937. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c +20 -23
  938. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +66 -185
  939. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c +18 -21
  940. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +356 -311
  941. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +174 -194
  942. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +146 -210
  943. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c +6 -9
  944. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c +346 -526
  945. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +110 -131
  946. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +130 -116
  947. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +93 -60
  948. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +93 -181
  949. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +242 -305
  950. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c +41 -18
  951. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +30 -33
  952. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +36 -33
  953. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c +29 -26
  954. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +133 -88
  955. data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.c +230 -0
  956. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +791 -791
  957. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +526 -526
  958. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +114 -135
  959. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +201 -207
  960. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +21 -26
  961. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +55 -68
  962. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +2 -4
  963. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +11 -7
  964. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +37 -51
  965. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +15 -9
  966. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +11 -8
  967. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +17 -10
  968. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +1 -3
  969. data/third_party/boringssl-with-bazel/src/crypto/bio/printf.c +0 -13
  970. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +3 -6
  971. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +2 -0
  972. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +9 -5
  973. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c +10 -23
  974. data/third_party/boringssl-with-bazel/src/crypto/buf/buf.c +2 -6
  975. data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.c +2 -1
  976. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +29 -28
  977. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c +161 -201
  978. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +254 -39
  979. data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +2 -2
  980. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +0 -2
  981. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c +4 -4
  982. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c +9 -8
  983. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c +37 -75
  984. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +8 -10
  985. data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/cipher → cipher_extra}/e_des.c +100 -78
  986. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c +1 -0
  987. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c +1 -0
  988. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c +2 -0
  989. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +6 -12
  990. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +14 -11
  991. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +6 -10
  992. data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +0 -1
  993. data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +12 -0
  994. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c +74 -0
  995. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_freebsd.c +62 -0
  996. data/third_party/boringssl-with-bazel/src/crypto/{cpu-aarch64-fuchsia.c → cpu_aarch64_fuchsia.c} +8 -7
  997. data/third_party/boringssl-with-bazel/src/crypto/{cpu-aarch64-linux.c → cpu_aarch64_linux.c} +6 -4
  998. data/third_party/boringssl-with-bazel/src/crypto/{cpu-aarch64-win.c → cpu_aarch64_win.c} +4 -4
  999. data/third_party/boringssl-with-bazel/src/crypto/{cpu-arm.c → cpu_arm.c} +1 -1
  1000. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c +55 -0
  1001. data/third_party/boringssl-with-bazel/src/crypto/{cpu-arm-linux.c → cpu_arm_linux.c} +11 -90
  1002. data/third_party/boringssl-with-bazel/src/crypto/{cpu-arm-linux.h → cpu_arm_linux.h} +0 -38
  1003. data/third_party/boringssl-with-bazel/src/crypto/{cpu-intel.c → cpu_intel.c} +1 -2
  1004. data/third_party/boringssl-with-bazel/src/crypto/crypto.c +25 -20
  1005. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +16 -27
  1006. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c +17 -32
  1007. data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/des → des}/des.c +232 -232
  1008. data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/des → des}/internal.h +1 -1
  1009. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c +1 -0
  1010. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c +232 -29
  1011. data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +0 -3
  1012. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +39 -16
  1013. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +37 -7
  1014. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +3 -3
  1015. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +11 -36
  1016. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +214 -99
  1017. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +21 -5
  1018. data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c +2 -4
  1019. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +83 -60
  1020. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +46 -12
  1021. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +3 -3
  1022. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c +25 -23
  1023. data/third_party/boringssl-with-bazel/src/crypto/evp/internal.h +43 -9
  1024. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c +75 -44
  1025. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +19 -25
  1026. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +96 -45
  1027. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c +7 -8
  1028. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c +26 -23
  1029. data/third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.c +233 -0
  1030. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c +5 -5
  1031. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c +42 -25
  1032. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c +4 -5
  1033. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.c +35 -47
  1034. data/third_party/boringssl-with-bazel/src/crypto/evp/print.c +135 -244
  1035. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +2 -4
  1036. data/third_party/boringssl-with-bazel/src/crypto/evp/sign.c +15 -10
  1037. data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +29 -15
  1038. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.c +0 -2
  1039. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.c +13 -14
  1040. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +3 -13
  1041. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.c +13 -7
  1042. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c +9 -7
  1043. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +35 -27
  1044. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c +16 -26
  1045. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.c +88 -60
  1046. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.c +4 -3
  1047. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.c +0 -2
  1048. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +1 -1
  1049. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.c +1 -1
  1050. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +99 -113
  1051. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c +0 -1
  1052. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c +5 -3
  1053. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/generic.c +112 -168
  1054. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +86 -31
  1055. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c +11 -6
  1056. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c +4 -5
  1057. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.c +4 -5
  1058. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c +13 -0
  1059. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.c +13 -5
  1060. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.c +19 -108
  1061. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.h +19 -15
  1062. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.c +15 -16
  1063. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c +22 -21
  1064. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.c +3 -0
  1065. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +79 -19
  1066. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +102 -99
  1067. data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra → fipsmodule/cipher}/e_aesccm.c +52 -46
  1068. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h +39 -0
  1069. data/third_party/boringssl-with-bazel/src/crypto/{cmac → fipsmodule/cmac}/cmac.c +55 -11
  1070. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.c +2 -3
  1071. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c +21 -6
  1072. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +56 -0
  1073. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +5 -3
  1074. data/third_party/boringssl-with-bazel/src/crypto/{evp → fipsmodule/digestsign}/digestsign.c +51 -15
  1075. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +25 -25
  1076. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +91 -17
  1077. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c +5 -5
  1078. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +34 -12
  1079. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +54 -23
  1080. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +44 -60
  1081. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-x86_64-table.h → p256-nistz-table.h} +1 -1
  1082. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-x86_64.c → p256-nistz.c} +60 -53
  1083. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-x86_64.h → p256-nistz.h} +5 -13
  1084. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +48 -36
  1085. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +2 -8
  1086. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c +2 -7
  1087. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +2 -3
  1088. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +0 -1
  1089. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c +8 -0
  1090. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +42 -14
  1091. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +6 -0
  1092. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.c +52 -24
  1093. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +9 -15
  1094. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +1 -4
  1095. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +2 -4
  1096. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +71 -43
  1097. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +14 -16
  1098. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +1 -4
  1099. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.c +31 -13
  1100. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c +16 -8
  1101. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.h +3 -2
  1102. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/getrandom_fillin.h +2 -2
  1103. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +9 -38
  1104. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +73 -59
  1105. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +11 -45
  1106. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.c +0 -1
  1107. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +22 -0
  1108. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c +63 -52
  1109. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +107 -62
  1110. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +58 -31
  1111. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +41 -0
  1112. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +523 -422
  1113. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h +89 -0
  1114. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.c +334 -0
  1115. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +3 -12
  1116. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +2 -0
  1117. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +12 -8
  1118. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +14 -12
  1119. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c +19 -6
  1120. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +32 -14
  1121. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c +65 -29
  1122. data/third_party/boringssl-with-bazel/src/crypto/internal.h +373 -18
  1123. data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +91 -0
  1124. data/third_party/boringssl-with-bazel/src/crypto/kyber/keccak.c +204 -0
  1125. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +826 -0
  1126. data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +13 -1
  1127. data/third_party/boringssl-with-bazel/src/crypto/mem.c +220 -13
  1128. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +19 -7
  1129. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +13 -1
  1130. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c +81 -90
  1131. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c +150 -245
  1132. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +629 -613
  1133. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.c +17 -17
  1134. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +142 -149
  1135. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +99 -131
  1136. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.c +0 -1
  1137. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.c +0 -1
  1138. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +0 -1
  1139. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +0 -3
  1140. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +36 -66
  1141. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +31 -38
  1142. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c +2 -1
  1143. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c +18 -31
  1144. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +1 -0
  1145. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +8 -1
  1146. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +129 -5
  1147. data/third_party/boringssl-with-bazel/src/crypto/refcount_c11.c +0 -2
  1148. data/third_party/boringssl-with-bazel/src/crypto/refcount_lock.c +3 -4
  1149. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +8 -11
  1150. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +61 -27
  1151. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +10 -13
  1152. data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +10 -13
  1153. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +66 -34
  1154. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +200 -89
  1155. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +81 -284
  1156. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +117 -52
  1157. data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.c +22 -24
  1158. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c +54 -55
  1159. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +32 -34
  1160. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +32 -16
  1161. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +465 -704
  1162. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +285 -331
  1163. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +183 -178
  1164. data/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.c +11 -15
  1165. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +68 -50
  1166. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +153 -150
  1167. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.c +790 -0
  1168. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +95 -102
  1169. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +72 -57
  1170. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +12 -10
  1171. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +227 -252
  1172. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +52 -47
  1173. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.c +3 -4
  1174. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +230 -224
  1175. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +161 -327
  1176. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.c +37 -33
  1177. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.c +14 -31
  1178. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +55 -85
  1179. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +528 -616
  1180. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c +129 -122
  1181. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +116 -182
  1182. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +132 -132
  1183. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +186 -203
  1184. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.c +64 -79
  1185. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +175 -160
  1186. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +1864 -2050
  1187. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +380 -480
  1188. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +156 -163
  1189. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +267 -263
  1190. data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c +40 -15
  1191. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c +59 -63
  1192. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +63 -67
  1193. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +114 -144
  1194. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +25 -26
  1195. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +329 -416
  1196. data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c +8 -7
  1197. data/third_party/boringssl-with-bazel/src/crypto/x509/x_info.c +30 -28
  1198. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +354 -370
  1199. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pkey.c +37 -32
  1200. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +116 -119
  1201. data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.c +36 -26
  1202. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +3 -4
  1203. data/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.c +10 -13
  1204. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +3 -4
  1205. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +419 -261
  1206. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +113 -105
  1207. data/third_party/boringssl-with-bazel/src/crypto/x509v3/ext_dat.h +11 -15
  1208. data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +78 -170
  1209. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c +126 -131
  1210. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akeya.c +3 -4
  1211. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +465 -469
  1212. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bcons.c +56 -54
  1213. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bitst.c +46 -49
  1214. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +309 -346
  1215. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +341 -365
  1216. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_crld.c +429 -393
  1217. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_enum.c +29 -24
  1218. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_extku.c +65 -59
  1219. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_genn.c +125 -121
  1220. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ia5.c +43 -42
  1221. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_info.c +122 -125
  1222. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_int.c +50 -20
  1223. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +249 -254
  1224. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ncons.c +386 -389
  1225. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ocsp.c +45 -32
  1226. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcons.c +57 -54
  1227. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pmaps.c +63 -67
  1228. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +143 -136
  1229. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +652 -691
  1230. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +83 -75
  1231. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +1063 -1145
  1232. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +8 -4
  1233. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +28 -48
  1234. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +211 -187
  1235. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +26 -78
  1236. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +19 -14
  1237. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +29 -10
  1238. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +49 -17
  1239. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +99 -29
  1240. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +49 -60
  1241. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +2 -15
  1242. data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +16 -200
  1243. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +34 -0
  1244. data/third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h +82 -0
  1245. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +32 -30
  1246. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +7 -0
  1247. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +4 -0
  1248. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +48 -5
  1249. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +37 -8
  1250. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +1 -0
  1251. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +33 -5
  1252. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +22 -30
  1253. data/third_party/boringssl-with-bazel/src/include/openssl/ex_data.h +1 -1
  1254. data/third_party/boringssl-with-bazel/src/include/openssl/hmac.h +7 -0
  1255. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +41 -16
  1256. data/third_party/boringssl-with-bazel/src/include/openssl/kdf.h +91 -0
  1257. data/third_party/boringssl-with-bazel/src/include/openssl/kyber.h +128 -0
  1258. data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +74 -8
  1259. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +13 -0
  1260. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +8 -1
  1261. data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +1 -0
  1262. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +11 -15
  1263. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +8 -0
  1264. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +12 -1
  1265. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +7 -4
  1266. data/third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h +96 -0
  1267. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +13 -21
  1268. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +139 -75
  1269. data/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h +1 -6
  1270. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +381 -287
  1271. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +5 -6
  1272. data/third_party/boringssl-with-bazel/src/include/openssl/time.h +41 -0
  1273. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +18 -7
  1274. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +49 -23
  1275. data/third_party/boringssl-with-bazel/src/include/openssl/type_check.h +0 -11
  1276. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +1635 -1126
  1277. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +202 -205
  1278. data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +2 -2
  1279. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +6 -13
  1280. data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +17 -18
  1281. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +4 -5
  1282. data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +25 -33
  1283. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +34 -20
  1284. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +65 -34
  1285. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +198 -54
  1286. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +5 -5
  1287. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +41 -30
  1288. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +76 -44
  1289. data/third_party/boringssl-with-bazel/src/ssl/internal.h +147 -115
  1290. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +27 -11
  1291. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +2 -2
  1292. data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +91 -75
  1293. data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +8 -10
  1294. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +47 -69
  1295. data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +1 -0
  1296. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +5 -9
  1297. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +30 -33
  1298. data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +78 -101
  1299. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +187 -107
  1300. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +164 -30
  1301. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +150 -60
  1302. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +41 -32
  1303. data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +22 -6
  1304. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +15 -13
  1305. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +7 -44
  1306. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +7 -4
  1307. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +2 -2
  1308. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +22 -34
  1309. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +2 -2
  1310. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +16 -98
  1311. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h +1241 -657
  1312. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h +751 -398
  1313. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +3551 -1938
  1314. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h +1272 -487
  1315. data/third_party/upb/upb/{table_internal.h → alloc.h} +6 -6
  1316. data/third_party/upb/upb/arena.h +4 -193
  1317. data/third_party/upb/upb/array.h +4 -51
  1318. data/third_party/upb/upb/base/descriptor_constants.h +104 -0
  1319. data/third_party/upb/upb/base/log2.h +57 -0
  1320. data/third_party/upb/upb/{status.c → base/status.c} +2 -7
  1321. data/third_party/upb/upb/base/status.h +66 -0
  1322. data/third_party/upb/upb/base/string_view.h +75 -0
  1323. data/third_party/upb/upb/{array.c → collections/array.c} +67 -36
  1324. data/third_party/upb/upb/collections/array.h +85 -0
  1325. data/third_party/upb/upb/collections/array_internal.h +135 -0
  1326. data/third_party/upb/upb/{map.c → collections/map.c} +53 -26
  1327. data/third_party/upb/upb/collections/map.h +135 -0
  1328. data/third_party/upb/upb/collections/map_gencode_util.h +78 -0
  1329. data/third_party/upb/upb/collections/map_internal.h +170 -0
  1330. data/third_party/upb/upb/collections/map_sorter.c +166 -0
  1331. data/third_party/upb/upb/collections/map_sorter_internal.h +109 -0
  1332. data/third_party/upb/upb/{message_value.h → collections/message_value.h} +12 -13
  1333. data/third_party/upb/upb/decode.h +3 -62
  1334. data/third_party/upb/upb/def.h +4 -384
  1335. data/third_party/upb/upb/def.hpp +3 -411
  1336. data/third_party/upb/upb/encode.h +3 -48
  1337. data/third_party/upb/upb/extension_registry.h +3 -52
  1338. data/third_party/upb/upb/{table.c → hash/common.c} +52 -110
  1339. data/third_party/upb/upb/hash/common.h +199 -0
  1340. data/third_party/upb/upb/hash/int_table.h +102 -0
  1341. data/third_party/upb/upb/hash/str_table.h +161 -0
  1342. data/third_party/upb/upb/{json_decode.c → json/decode.c} +63 -98
  1343. data/third_party/upb/upb/json/decode.h +52 -0
  1344. data/third_party/upb/upb/{json_encode.c → json/encode.c} +69 -45
  1345. data/third_party/upb/upb/json/encode.h +70 -0
  1346. data/third_party/upb/upb/json_decode.h +4 -15
  1347. data/third_party/upb/upb/json_encode.h +4 -33
  1348. data/third_party/upb/upb/lex/atoi.c +68 -0
  1349. data/third_party/upb/upb/lex/atoi.h +53 -0
  1350. data/third_party/upb/upb/{upb.c → lex/round_trip.c} +2 -11
  1351. data/third_party/upb/upb/{internal/upb.h → lex/round_trip.h} +17 -30
  1352. data/third_party/upb/upb/lex/strtod.c +97 -0
  1353. data/third_party/upb/upb/lex/strtod.h +46 -0
  1354. data/third_party/upb/upb/lex/unicode.c +57 -0
  1355. data/third_party/upb/upb/lex/unicode.h +77 -0
  1356. data/third_party/upb/upb/map.h +4 -85
  1357. data/third_party/upb/upb/mem/alloc.c +47 -0
  1358. data/third_party/upb/upb/mem/alloc.h +98 -0
  1359. data/third_party/upb/upb/mem/arena.c +367 -0
  1360. data/third_party/upb/upb/mem/arena.h +160 -0
  1361. data/third_party/upb/upb/mem/arena_internal.h +114 -0
  1362. data/third_party/upb/upb/message/accessors.c +68 -0
  1363. data/third_party/upb/upb/message/accessors.h +379 -0
  1364. data/third_party/upb/upb/message/accessors_internal.h +325 -0
  1365. data/third_party/upb/upb/message/extension_internal.h +83 -0
  1366. data/third_party/upb/upb/message/internal.h +135 -0
  1367. data/third_party/upb/upb/message/message.c +180 -0
  1368. data/third_party/upb/upb/message/message.h +69 -0
  1369. data/third_party/upb/upb/mini_table/common.c +128 -0
  1370. data/third_party/upb/upb/mini_table/common.h +170 -0
  1371. data/third_party/upb/upb/mini_table/common_internal.h +111 -0
  1372. data/third_party/upb/upb/{mini_table.c → mini_table/decode.c} +513 -533
  1373. data/third_party/upb/upb/mini_table/decode.h +179 -0
  1374. data/third_party/upb/upb/mini_table/encode.c +300 -0
  1375. data/third_party/upb/upb/mini_table/encode_internal.h +111 -0
  1376. data/third_party/upb/upb/{mini_table.hpp → mini_table/encode_internal.hpp} +32 -8
  1377. data/third_party/upb/upb/mini_table/enum_internal.h +88 -0
  1378. data/third_party/upb/upb/mini_table/extension_internal.h +47 -0
  1379. data/third_party/upb/upb/{extension_registry.c → mini_table/extension_registry.c} +27 -24
  1380. data/third_party/upb/upb/mini_table/extension_registry.h +104 -0
  1381. data/third_party/upb/upb/mini_table/field_internal.h +192 -0
  1382. data/third_party/upb/upb/mini_table/file_internal.h +47 -0
  1383. data/third_party/upb/upb/mini_table/message_internal.h +136 -0
  1384. data/third_party/upb/upb/mini_table/sub_internal.h +38 -0
  1385. data/third_party/upb/upb/mini_table/types.h +40 -0
  1386. data/third_party/upb/upb/mini_table.h +4 -157
  1387. data/third_party/upb/upb/msg.h +3 -38
  1388. data/third_party/upb/upb/port/atomic.h +101 -0
  1389. data/third_party/upb/upb/{port_def.inc → port/def.inc} +94 -27
  1390. data/third_party/upb/upb/{port_undef.inc → port/undef.inc} +13 -3
  1391. data/third_party/upb/upb/{internal → port}/vsnprintf_compat.h +5 -7
  1392. data/third_party/upb/upb/reflection/common.h +67 -0
  1393. data/third_party/upb/upb/reflection/def.h +42 -0
  1394. data/third_party/upb/upb/reflection/def.hpp +610 -0
  1395. data/third_party/upb/upb/reflection/def_builder.c +357 -0
  1396. data/third_party/upb/upb/reflection/def_builder_internal.h +157 -0
  1397. data/third_party/upb/upb/reflection/def_pool.c +462 -0
  1398. data/third_party/upb/upb/reflection/def_pool.h +108 -0
  1399. data/third_party/upb/upb/reflection/def_pool_internal.h +77 -0
  1400. data/third_party/upb/upb/reflection/def_type.c +50 -0
  1401. data/third_party/upb/upb/reflection/def_type.h +81 -0
  1402. data/third_party/upb/upb/reflection/desc_state.c +53 -0
  1403. data/third_party/upb/upb/reflection/desc_state_internal.h +64 -0
  1404. data/third_party/upb/upb/reflection/enum_def.c +310 -0
  1405. data/third_party/upb/upb/reflection/enum_def.h +80 -0
  1406. data/third_party/upb/upb/reflection/enum_def_internal.h +56 -0
  1407. data/third_party/upb/upb/reflection/enum_reserved_range.c +84 -0
  1408. data/third_party/upb/upb/reflection/enum_reserved_range.h +51 -0
  1409. data/third_party/upb/upb/reflection/enum_reserved_range_internal.h +55 -0
  1410. data/third_party/upb/upb/reflection/enum_value_def.c +144 -0
  1411. data/third_party/upb/upb/reflection/enum_value_def.h +57 -0
  1412. data/third_party/upb/upb/reflection/enum_value_def_internal.h +57 -0
  1413. data/third_party/upb/upb/reflection/extension_range.c +93 -0
  1414. data/third_party/upb/upb/reflection/extension_range.h +55 -0
  1415. data/third_party/upb/upb/reflection/extension_range_internal.h +54 -0
  1416. data/third_party/upb/upb/reflection/field_def.c +930 -0
  1417. data/third_party/upb/upb/reflection/field_def.h +91 -0
  1418. data/third_party/upb/upb/reflection/field_def_internal.h +76 -0
  1419. data/third_party/upb/upb/reflection/file_def.c +370 -0
  1420. data/third_party/upb/upb/reflection/file_def.h +77 -0
  1421. data/third_party/upb/upb/reflection/file_def_internal.h +57 -0
  1422. data/third_party/upb/upb/reflection/message.c +233 -0
  1423. data/third_party/upb/upb/reflection/message.h +102 -0
  1424. data/third_party/upb/upb/reflection/message.hpp +37 -0
  1425. data/third_party/upb/upb/reflection/message_def.c +718 -0
  1426. data/third_party/upb/upb/reflection/message_def.h +174 -0
  1427. data/third_party/upb/upb/reflection/message_def_internal.h +63 -0
  1428. data/third_party/upb/upb/reflection/message_reserved_range.c +81 -0
  1429. data/third_party/upb/upb/reflection/message_reserved_range.h +51 -0
  1430. data/third_party/upb/upb/reflection/message_reserved_range_internal.h +55 -0
  1431. data/third_party/upb/upb/reflection/method_def.c +124 -0
  1432. data/third_party/upb/upb/reflection/method_def.h +59 -0
  1433. data/third_party/upb/upb/reflection/method_def_internal.h +53 -0
  1434. data/third_party/upb/upb/reflection/oneof_def.c +226 -0
  1435. data/third_party/upb/upb/reflection/oneof_def.h +66 -0
  1436. data/third_party/upb/upb/reflection/oneof_def_internal.h +57 -0
  1437. data/third_party/upb/upb/reflection/service_def.c +128 -0
  1438. data/third_party/upb/upb/reflection/service_def.h +60 -0
  1439. data/third_party/upb/upb/reflection/service_def_internal.h +53 -0
  1440. data/third_party/upb/upb/reflection.h +4 -78
  1441. data/third_party/upb/upb/reflection.hpp +3 -7
  1442. data/third_party/upb/upb/status.h +4 -34
  1443. data/third_party/upb/upb/{collections.h → string_view.h} +7 -7
  1444. data/third_party/upb/upb/{text_encode.c → text/encode.c} +74 -70
  1445. data/third_party/upb/upb/text/encode.h +69 -0
  1446. data/third_party/upb/upb/text_encode.h +4 -32
  1447. data/third_party/upb/upb/upb.h +6 -151
  1448. data/third_party/upb/upb/upb.hpp +10 -18
  1449. data/third_party/upb/upb/wire/common.h +44 -0
  1450. data/third_party/upb/upb/wire/common_internal.h +50 -0
  1451. data/third_party/upb/upb/wire/decode.c +1343 -0
  1452. data/third_party/upb/upb/wire/decode.h +108 -0
  1453. data/third_party/upb/upb/{decode_fast.c → wire/decode_fast.c} +184 -225
  1454. data/third_party/upb/upb/{decode_fast.h → wire/decode_fast.h} +21 -7
  1455. data/third_party/upb/upb/{internal/decode.h → wire/decode_internal.h} +44 -92
  1456. data/third_party/upb/upb/{encode.c → wire/encode.c} +114 -95
  1457. data/third_party/upb/upb/wire/encode.h +92 -0
  1458. data/third_party/upb/upb/wire/eps_copy_input_stream.c +39 -0
  1459. data/third_party/upb/upb/wire/eps_copy_input_stream.h +425 -0
  1460. data/third_party/upb/upb/wire/reader.c +67 -0
  1461. data/third_party/upb/upb/wire/reader.h +227 -0
  1462. data/third_party/upb/upb/wire/swap_internal.h +63 -0
  1463. data/third_party/upb/upb/wire/types.h +41 -0
  1464. data/third_party/{upb/third_party/utf8_range → utf8_range}/range2-neon.c +1 -1
  1465. data/third_party/{upb/third_party/utf8_range → utf8_range}/utf8_range.h +12 -0
  1466. metadata +257 -107
  1467. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc +0 -30
  1468. data/src/core/ext/transport/chttp2/transport/context_list.cc +0 -71
  1469. data/src/core/ext/transport/chttp2/transport/context_list.h +0 -54
  1470. data/src/core/lib/gprpp/global_config.h +0 -93
  1471. data/src/core/lib/gprpp/global_config_env.cc +0 -140
  1472. data/src/core/lib/gprpp/global_config_env.h +0 -133
  1473. data/src/core/lib/gprpp/global_config_generic.h +0 -40
  1474. data/src/core/lib/promise/intra_activity_waiter.h +0 -55
  1475. data/src/core/lib/security/security_connector/ssl_utils_config.cc +0 -32
  1476. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c +0 -195
  1477. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_print.c +0 -83
  1478. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utf8.c +0 -236
  1479. data/third_party/boringssl-with-bazel/src/crypto/asn1/charmap.h +0 -15
  1480. data/third_party/boringssl-with-bazel/src/crypto/asn1/time_support.c +0 -206
  1481. data/third_party/boringssl-with-bazel/src/crypto/cpu-ppc64le.c +0 -38
  1482. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1-altivec.c +0 -361
  1483. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c +0 -287
  1484. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c +0 -132
  1485. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_lib.c +0 -155
  1486. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c +0 -131
  1487. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_node.c +0 -189
  1488. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c +0 -843
  1489. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pci.c +0 -289
  1490. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcia.c +0 -57
  1491. data/third_party/upb/upb/arena.c +0 -277
  1492. data/third_party/upb/upb/decode.c +0 -1221
  1493. data/third_party/upb/upb/def.c +0 -3269
  1494. data/third_party/upb/upb/internal/table.h +0 -385
  1495. data/third_party/upb/upb/msg.c +0 -368
  1496. data/third_party/upb/upb/msg_internal.h +0 -837
  1497. data/third_party/upb/upb/reflection.c +0 -323
  1498. /data/src/core/lib/gpr/{log_android.cc → android/log.cc} +0 -0
  1499. /data/src/core/lib/gpr/{cpu_iphone.cc → iphone/cpu.cc} +0 -0
  1500. /data/src/core/lib/gpr/{cpu_linux.cc → linux/cpu.cc} +0 -0
  1501. /data/src/core/lib/gpr/{log_linux.cc → linux/log.cc} +0 -0
  1502. /data/src/core/lib/gpr/{tmpfile_msys.cc → msys/tmpfile.cc} +0 -0
  1503. /data/src/core/lib/gpr/{cpu_posix.cc → posix/cpu.cc} +0 -0
  1504. /data/src/core/lib/gpr/{log_posix.cc → posix/log.cc} +0 -0
  1505. /data/src/core/lib/gpr/{string_posix.cc → posix/string.cc} +0 -0
  1506. /data/src/core/lib/gpr/{sync_posix.cc → posix/sync.cc} +0 -0
  1507. /data/src/core/lib/gpr/{tmpfile_posix.cc → posix/tmpfile.cc} +0 -0
  1508. /data/src/core/lib/gpr/{cpu_windows.cc → windows/cpu.cc} +0 -0
  1509. /data/src/core/lib/gpr/{log_windows.cc → windows/log.cc} +0 -0
  1510. /data/src/core/lib/gpr/{string_windows.cc → windows/string.cc} +0 -0
  1511. /data/src/core/lib/gpr/{string_util_windows.cc → windows/string_util.cc} +0 -0
  1512. /data/src/core/lib/gpr/{sync_windows.cc → windows/sync.cc} +0 -0
  1513. /data/src/core/lib/gpr/{time_windows.cc → windows/time.cc} +0 -0
  1514. /data/src/core/lib/gpr/{tmpfile_windows.cc → windows/tmpfile.cc} +0 -0
  1515. /data/src/core/lib/gprpp/{env_linux.cc → linux/env.cc} +0 -0
  1516. /data/src/core/lib/gprpp/{env_posix.cc → posix/env.cc} +0 -0
  1517. /data/src/core/lib/gprpp/{stat_posix.cc → posix/stat.cc} +0 -0
  1518. /data/src/core/lib/gprpp/{env_windows.cc → windows/env.cc} +0 -0
  1519. /data/src/core/lib/gprpp/{stat_windows.cc → windows/stat.cc} +0 -0
  1520. /data/third_party/{upb/third_party/utf8_range → utf8_range}/naive.c +0 -0
  1521. /data/third_party/{upb/third_party/utf8_range → utf8_range}/range2-sse.c +0 -0
@@ -195,7 +195,6 @@ template <typename T, typename... Args>
195
195
  T *New(Args &&... args) {
196
196
  void *t = OPENSSL_malloc(sizeof(T));
197
197
  if (t == nullptr) {
198
- OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
199
198
  return nullptr;
200
199
  }
201
200
  return new (t) T(std::forward<Args>(args)...);
@@ -216,7 +215,7 @@ void Delete(T *t) {
216
215
  // may be C structs which require a |BORINGSSL_MAKE_DELETER| registration.
217
216
  namespace internal {
218
217
  template <typename T>
219
- struct DeleterImpl<T, typename std::enable_if<T::kAllowUniquePtr>::type> {
218
+ struct DeleterImpl<T, std::enable_if_t<T::kAllowUniquePtr>> {
220
219
  static void Free(T *t) { Delete(t); }
221
220
  };
222
221
  } // namespace internal
@@ -245,14 +244,6 @@ UniquePtr<T> MakeUnique(Args &&... args) {
245
244
  { abort(); }
246
245
  #endif
247
246
 
248
- // CONSTEXPR_ARRAY works around a VS 2015 bug where ranged for loops don't work
249
- // on constexpr arrays.
250
- #if defined(_MSC_VER) && !defined(__clang__) && _MSC_VER < 1910
251
- #define CONSTEXPR_ARRAY const
252
- #else
253
- #define CONSTEXPR_ARRAY constexpr
254
- #endif
255
-
256
247
  // Array<T> is an owning array of elements of |T|.
257
248
  template <typename T>
258
249
  class Array {
@@ -323,7 +314,6 @@ class Array {
323
314
  }
324
315
  data_ = reinterpret_cast<T *>(OPENSSL_malloc(new_size * sizeof(T)));
325
316
  if (data_ == nullptr) {
326
- OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
327
317
  return false;
328
318
  }
329
319
  size_ = new_size;
@@ -668,10 +658,15 @@ bool ssl_cipher_requires_server_key_exchange(const SSL_CIPHER *cipher);
668
658
  size_t ssl_cipher_get_record_split_len(const SSL_CIPHER *cipher);
669
659
 
670
660
  // ssl_choose_tls13_cipher returns an |SSL_CIPHER| corresponding with the best
671
- // available from |cipher_suites| compatible with |version| and |group_id|. It
672
- // returns NULL if there isn't a compatible cipher.
661
+ // available from |cipher_suites| compatible with |version|, |group_id|, and
662
+ // |only_fips|. It returns NULL if there isn't a compatible cipher.
673
663
  const SSL_CIPHER *ssl_choose_tls13_cipher(CBS cipher_suites, uint16_t version,
674
- uint16_t group_id);
664
+ uint16_t group_id, bool only_fips);
665
+
666
+ // ssl_tls13_cipher_meets_policy returns true if |cipher_id| is acceptable given
667
+ // |only_fips|. (For now there's only a single policy and so the policy argument
668
+ // is just a bool.)
669
+ bool ssl_tls13_cipher_meets_policy(uint16_t cipher_id, bool only_fips);
675
670
 
676
671
 
677
672
  // Transcript layer.
@@ -832,15 +827,14 @@ class SSLAEADContext {
832
827
  // to the plaintext in |in| and returns true. Otherwise, it returns
833
828
  // false. The output will always be |ExplicitNonceLen| bytes ahead of |in|.
834
829
  bool Open(Span<uint8_t> *out, uint8_t type, uint16_t record_version,
835
- const uint8_t seqnum[8], Span<const uint8_t> header,
836
- Span<uint8_t> in);
830
+ uint64_t seqnum, Span<const uint8_t> header, Span<uint8_t> in);
837
831
 
838
832
  // Seal encrypts and authenticates |in_len| bytes from |in| and writes the
839
833
  // result to |out|. It returns true on success and false on error.
840
834
  //
841
835
  // If |in| and |out| alias then |out| + |ExplicitNonceLen| must be == |in|.
842
836
  bool Seal(uint8_t *out, size_t *out_len, size_t max_out, uint8_t type,
843
- uint16_t record_version, const uint8_t seqnum[8],
837
+ uint16_t record_version, uint64_t seqnum,
844
838
  Span<const uint8_t> header, const uint8_t *in, size_t in_len);
845
839
 
846
840
  // SealScatter encrypts and authenticates |in_len| bytes from |in| and splits
@@ -859,10 +853,9 @@ class SSLAEADContext {
859
853
  // If |in| and |out| alias then |out| must be == |in|. Other arguments may not
860
854
  // alias anything.
861
855
  bool SealScatter(uint8_t *out_prefix, uint8_t *out, uint8_t *out_suffix,
862
- uint8_t type, uint16_t record_version,
863
- const uint8_t seqnum[8], Span<const uint8_t> header,
864
- const uint8_t *in, size_t in_len, const uint8_t *extra_in,
865
- size_t extra_in_len);
856
+ uint8_t type, uint16_t record_version, uint64_t seqnum,
857
+ Span<const uint8_t> header, const uint8_t *in, size_t in_len,
858
+ const uint8_t *extra_in, size_t extra_in_len);
866
859
 
867
860
  bool GetIV(const uint8_t **out_iv, size_t *out_iv_len) const;
868
861
 
@@ -871,8 +864,7 @@ class SSLAEADContext {
871
864
  // necessary.
872
865
  Span<const uint8_t> GetAdditionalData(uint8_t storage[13], uint8_t type,
873
866
  uint16_t record_version,
874
- const uint8_t seqnum[8],
875
- size_t plaintext_len,
867
+ uint64_t seqnum, size_t plaintext_len,
876
868
  Span<const uint8_t> header);
877
869
 
878
870
  const SSL_CIPHER *cipher_;
@@ -919,10 +911,6 @@ struct DTLS1_BITMAP {
919
911
 
920
912
  // Record layer.
921
913
 
922
- // ssl_record_sequence_update increments the sequence number in |seq|. It
923
- // returns true on success and false on wraparound.
924
- bool ssl_record_sequence_update(uint8_t *seq, size_t seq_len);
925
-
926
914
  // ssl_record_prefix_len returns the length of the prefix before the ciphertext
927
915
  // of a record for |ssl|.
928
916
  //
@@ -1063,7 +1051,15 @@ bool ssl_public_key_verify(SSL *ssl, Span<const uint8_t> signature,
1063
1051
 
1064
1052
  // Key shares.
1065
1053
 
1066
- // SSLKeyShare abstracts over Diffie-Hellman-like key exchanges.
1054
+ // SSLKeyShare abstracts over KEM-like constructions, for use with TLS 1.2 ECDHE
1055
+ // cipher suites and the TLS 1.3 key_share extension.
1056
+ //
1057
+ // TODO(davidben): This class is named SSLKeyShare after the TLS 1.3 key_share
1058
+ // extension, but it really implements a KEM abstraction. Additionally, we use
1059
+ // the same type for Encap, which is a one-off, stateless operation, as Generate
1060
+ // and Decap. Slightly tidier would be for Generate to return a new SSLKEMKey
1061
+ // (or we introduce EVP_KEM and EVP_KEM_KEY), with a Decap method, and for Encap
1062
+ // to be static function.
1067
1063
  class SSLKeyShare {
1068
1064
  public:
1069
1065
  virtual ~SSLKeyShare() {}
@@ -1074,40 +1070,29 @@ class SSLKeyShare {
1074
1070
  // nullptr on error.
1075
1071
  static UniquePtr<SSLKeyShare> Create(uint16_t group_id);
1076
1072
 
1077
- // Create deserializes an SSLKeyShare instance previously serialized by
1078
- // |Serialize|.
1079
- static UniquePtr<SSLKeyShare> Create(CBS *in);
1080
-
1081
- // Serializes writes the group ID and private key, in a format that can be
1082
- // read by |Create|.
1083
- bool Serialize(CBB *out);
1084
-
1085
1073
  // GroupID returns the group ID.
1086
1074
  virtual uint16_t GroupID() const PURE_VIRTUAL;
1087
1075
 
1088
- // Offer generates a keypair and writes the public value to
1089
- // |out_public_key|. It returns true on success and false on error.
1090
- virtual bool Offer(CBB *out_public_key) PURE_VIRTUAL;
1091
-
1092
- // Accept performs a key exchange against the |peer_key| generated by |Offer|.
1093
- // On success, it returns true, writes the public value to |out_public_key|,
1094
- // and sets |*out_secret| to the shared secret. On failure, it returns false
1095
- // and sets |*out_alert| to an alert to send to the peer.
1096
- //
1097
- // The default implementation calls |Offer| and then |Finish|, assuming a key
1098
- // exchange protocol where the peers are symmetric.
1099
- virtual bool Accept(CBB *out_public_key, Array<uint8_t> *out_secret,
1100
- uint8_t *out_alert, Span<const uint8_t> peer_key);
1101
-
1102
- // Finish performs a key exchange against the |peer_key| generated by
1103
- // |Accept|. On success, it returns true and sets |*out_secret| to the shared
1104
- // secret. On failure, it returns false and sets |*out_alert| to an alert to
1105
- // send to the peer.
1106
- virtual bool Finish(Array<uint8_t> *out_secret, uint8_t *out_alert,
1107
- Span<const uint8_t> peer_key) PURE_VIRTUAL;
1076
+ // Generate generates a keypair and writes the public key to |out_public_key|.
1077
+ // It returns true on success and false on error.
1078
+ virtual bool Generate(CBB *out_public_key) PURE_VIRTUAL;
1079
+
1080
+ // Encap generates an ephemeral, symmetric secret and encapsulates it with
1081
+ // |peer_key|. On success, it returns true, writes the encapsulated secret to
1082
+ // |out_ciphertext|, and sets |*out_secret| to the shared secret. On failure,
1083
+ // it returns false and sets |*out_alert| to an alert to send to the peer.
1084
+ virtual bool Encap(CBB *out_ciphertext, Array<uint8_t> *out_secret,
1085
+ uint8_t *out_alert,
1086
+ Span<const uint8_t> peer_key) PURE_VIRTUAL;
1087
+
1088
+ // Decap decapsulates the symmetric secret in |ciphertext|. On success, it
1089
+ // returns true and sets |*out_secret| to the shared secret. On failure, it
1090
+ // returns false and sets |*out_alert| to an alert to send to the peer.
1091
+ virtual bool Decap(Array<uint8_t> *out_secret, uint8_t *out_alert,
1092
+ Span<const uint8_t> ciphertext) PURE_VIRTUAL;
1108
1093
 
1109
1094
  // SerializePrivateKey writes the private key to |out|, returning true if
1110
- // successful and false otherwise. It should be called after |Offer|.
1095
+ // successful and false otherwise. It should be called after |Generate|.
1111
1096
  virtual bool SerializePrivateKey(CBB *out) { return false; }
1112
1097
 
1113
1098
  // DeserializePrivateKey initializes the state of the key exchange from |in|,
@@ -1118,7 +1103,7 @@ class SSLKeyShare {
1118
1103
  struct NamedGroup {
1119
1104
  int nid;
1120
1105
  uint16_t group_id;
1121
- const char name[8], alias[11];
1106
+ const char name[12], alias[12];
1122
1107
  };
1123
1108
 
1124
1109
  // NamedGroups returns all supported groups.
@@ -1184,12 +1169,10 @@ struct DTLS_OUTGOING_MESSAGE {
1184
1169
  DTLS_OUTGOING_MESSAGE() {}
1185
1170
  DTLS_OUTGOING_MESSAGE(const DTLS_OUTGOING_MESSAGE &) = delete;
1186
1171
  DTLS_OUTGOING_MESSAGE &operator=(const DTLS_OUTGOING_MESSAGE &) = delete;
1187
- ~DTLS_OUTGOING_MESSAGE() { Clear(); }
1188
1172
 
1189
1173
  void Clear();
1190
1174
 
1191
- uint8_t *data = nullptr;
1192
- uint32_t len = 0;
1175
+ Array<uint8_t> data;
1193
1176
  uint16_t epoch = 0;
1194
1177
  bool is_ccs = false;
1195
1178
  };
@@ -1325,7 +1308,8 @@ enum ssl_key_usage_t {
1325
1308
  // ssl_cert_check_key_usage parses the DER-encoded, X.509 certificate in |in|
1326
1309
  // and returns true if doesn't specify a key usage or, if it does, if it
1327
1310
  // includes |bit|. Otherwise it pushes to the error queue and returns false.
1328
- bool ssl_cert_check_key_usage(const CBS *in, enum ssl_key_usage_t bit);
1311
+ OPENSSL_EXPORT bool ssl_cert_check_key_usage(const CBS *in,
1312
+ enum ssl_key_usage_t bit);
1329
1313
 
1330
1314
  // ssl_cert_parse_pubkey extracts the public key from the DER-encoded, X.509
1331
1315
  // certificate in |in|. It returns an allocated |EVP_PKEY| or else returns
@@ -1498,17 +1482,19 @@ enum ssl_client_hello_type_t {
1498
1482
  // ClientHelloOuter |client_hello_outer|. If successful, it writes the recovered
1499
1483
  // ClientHelloInner to |out_client_hello_inner|. It returns true on success and
1500
1484
  // false on failure.
1485
+ //
1486
+ // This function is exported for fuzzing.
1501
1487
  OPENSSL_EXPORT bool ssl_decode_client_hello_inner(
1502
1488
  SSL *ssl, uint8_t *out_alert, Array<uint8_t> *out_client_hello_inner,
1503
1489
  Span<const uint8_t> encoded_client_hello_inner,
1504
1490
  const SSL_CLIENT_HELLO *client_hello_outer);
1505
1491
 
1506
- // ssl_client_hello_decrypt attempts to decrypt the |payload| and writes the
1507
- // result to |*out|. |payload| must point into |client_hello_outer|. It returns
1508
- // true on success and false on error. On error, it sets |*out_is_decrypt_error|
1509
- // to whether the failure was due to a bad ciphertext.
1510
- bool ssl_client_hello_decrypt(EVP_HPKE_CTX *hpke_ctx, Array<uint8_t> *out,
1511
- bool *out_is_decrypt_error,
1492
+ // ssl_client_hello_decrypt attempts to decrypt and decode the |payload|. It
1493
+ // writes the result to |*out|. |payload| must point into |client_hello_outer|.
1494
+ // It returns true on success and false on error. On error, it sets
1495
+ // |*out_is_decrypt_error| to whether the failure was due to a bad ciphertext.
1496
+ bool ssl_client_hello_decrypt(SSL_HANDSHAKE *hs, uint8_t *out_alert,
1497
+ bool *out_is_decrypt_error, Array<uint8_t> *out,
1512
1498
  const SSL_CLIENT_HELLO *client_hello_outer,
1513
1499
  Span<const uint8_t> payload);
1514
1500
 
@@ -1698,10 +1684,11 @@ enum handback_t {
1698
1684
  struct SSL_HANDSHAKE_HINTS {
1699
1685
  static constexpr bool kAllowUniquePtr = true;
1700
1686
 
1701
- Array<uint8_t> server_random;
1687
+ Array<uint8_t> server_random_tls12;
1688
+ Array<uint8_t> server_random_tls13;
1702
1689
 
1703
1690
  uint16_t key_share_group_id = 0;
1704
- Array<uint8_t> key_share_public_key;
1691
+ Array<uint8_t> key_share_ciphertext;
1705
1692
  Array<uint8_t> key_share_secret;
1706
1693
 
1707
1694
  uint16_t signature_algorithm = 0;
@@ -1715,6 +1702,14 @@ struct SSL_HANDSHAKE_HINTS {
1715
1702
  uint16_t cert_compression_alg_id = 0;
1716
1703
  Array<uint8_t> cert_compression_input;
1717
1704
  Array<uint8_t> cert_compression_output;
1705
+
1706
+ uint16_t ecdhe_group_id = 0;
1707
+ Array<uint8_t> ecdhe_public_key;
1708
+ Array<uint8_t> ecdhe_private_key;
1709
+
1710
+ Array<uint8_t> decrypted_ticket;
1711
+ bool renew_ticket = false;
1712
+ bool ignore_ticket = false;
1718
1713
  };
1719
1714
 
1720
1715
  struct SSL_HANDSHAKE {
@@ -1829,9 +1824,15 @@ struct SSL_HANDSHAKE {
1829
1824
  // ClientHelloInner.
1830
1825
  uint8_t inner_client_random[SSL3_RANDOM_SIZE] = {0};
1831
1826
 
1832
- // cookie is the value of the cookie received from the server, if any.
1827
+ // cookie is the value of the cookie in HelloRetryRequest, or empty if none
1828
+ // was received.
1833
1829
  Array<uint8_t> cookie;
1834
1830
 
1831
+ // dtls_cookie is the value of the cookie in DTLS HelloVerifyRequest. If
1832
+ // empty, either none was received or HelloVerifyRequest contained an empty
1833
+ // cookie.
1834
+ Array<uint8_t> dtls_cookie;
1835
+
1835
1836
  // ech_client_outer contains the outer ECH extension to send in the
1836
1837
  // ClientHello, excluding the header and type byte.
1837
1838
  Array<uint8_t> ech_client_outer;
@@ -1847,9 +1848,9 @@ struct SSL_HANDSHAKE {
1847
1848
  // key_share_bytes is the key_share extension that the client should send.
1848
1849
  Array<uint8_t> key_share_bytes;
1849
1850
 
1850
- // ecdh_public_key, for servers, is the key share to be sent to the client in
1851
- // TLS 1.3.
1852
- Array<uint8_t> ecdh_public_key;
1851
+ // key_share_ciphertext, for servers, is encapsulated shared secret to be sent
1852
+ // to the client in the TLS 1.3 key_share extension.
1853
+ Array<uint8_t> key_share_ciphertext;
1853
1854
 
1854
1855
  // peer_sigalgs are the signature algorithms that the peer supports. These are
1855
1856
  // taken from the contents of the signature algorithms extension for a server
@@ -2062,6 +2063,11 @@ struct SSL_HANDSHAKE {
2062
2063
  uint8_t grease_seed[ssl_grease_last_index + 1] = {0};
2063
2064
  };
2064
2065
 
2066
+ // kMaxTickets is the maximum number of tickets to send immediately after the
2067
+ // handshake. We use a one-byte ticket nonce, and there is no point in sending
2068
+ // so many tickets.
2069
+ constexpr size_t kMaxTickets = 16;
2070
+
2065
2071
  UniquePtr<SSL_HANDSHAKE> ssl_handshake_new(SSL *ssl);
2066
2072
 
2067
2073
  // ssl_check_message_type checks if |msg| has type |type|. If so it returns
@@ -2447,8 +2453,13 @@ struct SSL_PROTOCOL_METHOD {
2447
2453
  ssl_open_record_t (*open_app_data)(SSL *ssl, Span<uint8_t> *out,
2448
2454
  size_t *out_consumed, uint8_t *out_alert,
2449
2455
  Span<uint8_t> in);
2450
- int (*write_app_data)(SSL *ssl, bool *out_needs_handshake, const uint8_t *buf,
2451
- int len);
2456
+ // write_app_data encrypts and writes |in| as application data. On success, it
2457
+ // returns one and sets |*out_bytes_written| to the number of bytes of |in|
2458
+ // written. Otherwise, it returns <= 0 and sets |*out_needs_handshake| to
2459
+ // whether the operation failed because the caller needs to drive the
2460
+ // handshake.
2461
+ int (*write_app_data)(SSL *ssl, bool *out_needs_handshake,
2462
+ size_t *out_bytes_written, Span<const uint8_t> in);
2452
2463
  int (*dispatch_alert)(SSL *ssl);
2453
2464
  // init_message begins a new handshake message of type |type|. |cbb| is the
2454
2465
  // root CBB to be passed into |finish_message|. |*body| is set to a child CBB
@@ -2622,8 +2633,8 @@ struct SSL3_STATE {
2622
2633
  SSL3_STATE();
2623
2634
  ~SSL3_STATE();
2624
2635
 
2625
- uint8_t read_sequence[8] = {0};
2626
- uint8_t write_sequence[8] = {0};
2636
+ uint64_t read_sequence = 0;
2637
+ uint64_t write_sequence = 0;
2627
2638
 
2628
2639
  uint8_t server_random[SSL3_RANDOM_SIZE] = {0};
2629
2640
  uint8_t client_random[SSL3_RANDOM_SIZE] = {0};
@@ -2637,12 +2648,23 @@ struct SSL3_STATE {
2637
2648
  // |read_buffer|.
2638
2649
  Span<uint8_t> pending_app_data;
2639
2650
 
2640
- // partial write - check the numbers match
2641
- unsigned int wnum = 0; // number of bytes sent so far
2642
- int wpend_tot = 0; // number bytes written
2643
- int wpend_type = 0;
2644
- int wpend_ret = 0; // number of bytes submitted
2645
- const uint8_t *wpend_buf = nullptr;
2651
+ // unreported_bytes_written is the number of bytes successfully written to the
2652
+ // transport, but not yet reported to the caller. The next |SSL_write| will
2653
+ // skip this many bytes from the input. This is used if
2654
+ // |SSL_MODE_ENABLE_PARTIAL_WRITE| is disabled, in which case |SSL_write| only
2655
+ // reports bytes written when the full caller input is written.
2656
+ size_t unreported_bytes_written = 0;
2657
+
2658
+ // pending_write, if |has_pending_write| is true, is the caller-supplied data
2659
+ // corresponding to the current pending write. This is used to check the
2660
+ // caller retried with a compatible buffer.
2661
+ Span<const uint8_t> pending_write;
2662
+
2663
+ // pending_write_type, if |has_pending_write| is true, is the record type
2664
+ // for the current pending write.
2665
+ //
2666
+ // TODO(davidben): Remove this when alerts are moved out of this write path.
2667
+ uint8_t pending_write_type = 0;
2646
2668
 
2647
2669
  // read_shutdown is the shutdown state for the read half of the connection.
2648
2670
  enum ssl_shutdown_t read_shutdown = ssl_shutdown_none;
@@ -2722,9 +2744,6 @@ struct SSL3_STATE {
2722
2744
  // outstanding.
2723
2745
  bool key_update_pending : 1;
2724
2746
 
2725
- // wpend_pending is true if we have a pending write outstanding.
2726
- bool wpend_pending : 1;
2727
-
2728
2747
  // early_data_accepted is true if early data was accepted by the server.
2729
2748
  bool early_data_accepted : 1;
2730
2749
 
@@ -2739,6 +2758,11 @@ struct SSL3_STATE {
2739
2758
  // HelloRetryRequest message.
2740
2759
  bool used_hello_retry_request : 1;
2741
2760
 
2761
+ // was_key_usage_invalid is whether the handshake succeeded despite using a
2762
+ // TLS mode which was incompatible with the leaf certificate's keyUsage
2763
+ // extension.
2764
+ bool was_key_usage_invalid : 1;
2765
+
2742
2766
  // hs_buf is the buffer of handshake data to process.
2743
2767
  UniquePtr<BUF_MEM> hs_buf;
2744
2768
 
@@ -2828,8 +2852,6 @@ struct SSL3_STATE {
2828
2852
  };
2829
2853
 
2830
2854
  // lengths of messages
2831
- #define DTLS1_COOKIE_LENGTH 256
2832
-
2833
2855
  #define DTLS1_RT_HEADER_LENGTH 13
2834
2856
 
2835
2857
  #define DTLS1_HM_HEADER_LENGTH 12
@@ -2895,9 +2917,6 @@ struct DTLS1_STATE {
2895
2917
  // peer sent the final flight.
2896
2918
  bool flight_has_reply : 1;
2897
2919
 
2898
- uint8_t cookie[DTLS1_COOKIE_LENGTH] = {0};
2899
- size_t cookie_len = 0;
2900
-
2901
2920
  // The current data and handshake epoch. This is initially undefined, and
2902
2921
  // starts at zero once the initial handshake is completed.
2903
2922
  uint16_t r_epoch = 0;
@@ -2910,7 +2929,7 @@ struct DTLS1_STATE {
2910
2929
  uint16_t handshake_read_seq = 0;
2911
2930
 
2912
2931
  // save last sequence number for retransmissions
2913
- uint8_t last_write_sequence[8] = {0};
2932
+ uint64_t last_write_sequence = 0;
2914
2933
  UniquePtr<SSLAEADContext> last_aead_write_ctx;
2915
2934
 
2916
2935
  // incoming_messages is a ring buffer of incoming handshake messages that have
@@ -3088,6 +3107,10 @@ struct SSL_CONFIG {
3088
3107
 
3089
3108
  // permute_extensions is whether to permute extensions when sending messages.
3090
3109
  bool permute_extensions : 1;
3110
+
3111
+ // only_fips_cipher_suites_in_tls13 constrains the selection of cipher suites
3112
+ // in TLS 1.3 such that only FIPS approved ones will be selected.
3113
+ bool only_fips_cipher_suites_in_tls13 : 1;
3091
3114
  };
3092
3115
 
3093
3116
  // From RFC 8446, used in determining PSK modes.
@@ -3109,8 +3132,9 @@ bool ssl_compare_public_and_private_key(const EVP_PKEY *pubkey,
3109
3132
  const EVP_PKEY *privkey);
3110
3133
  bool ssl_cert_check_private_key(const CERT *cert, const EVP_PKEY *privkey);
3111
3134
  bool ssl_get_new_session(SSL_HANDSHAKE *hs);
3112
- int ssl_encrypt_ticket(SSL_HANDSHAKE *hs, CBB *out, const SSL_SESSION *session);
3113
- int ssl_ctx_rotate_ticket_encryption_key(SSL_CTX *ctx);
3135
+ bool ssl_encrypt_ticket(SSL_HANDSHAKE *hs, CBB *out,
3136
+ const SSL_SESSION *session);
3137
+ bool ssl_ctx_rotate_ticket_encryption_key(SSL_CTX *ctx);
3114
3138
 
3115
3139
  // ssl_session_new returns a newly-allocated blank |SSL_SESSION| or nullptr on
3116
3140
  // error.
@@ -3126,23 +3150,22 @@ OPENSSL_EXPORT UniquePtr<SSL_SESSION> SSL_SESSION_parse(
3126
3150
  CBS *cbs, const SSL_X509_METHOD *x509_method, CRYPTO_BUFFER_POOL *pool);
3127
3151
 
3128
3152
  // ssl_session_serialize writes |in| to |cbb| as if it were serialising a
3129
- // session for Session-ID resumption. It returns one on success and zero on
3153
+ // session for Session-ID resumption. It returns true on success and false on
3130
3154
  // error.
3131
- OPENSSL_EXPORT int ssl_session_serialize(const SSL_SESSION *in, CBB *cbb);
3155
+ OPENSSL_EXPORT bool ssl_session_serialize(const SSL_SESSION *in, CBB *cbb);
3132
3156
 
3133
- // ssl_session_is_context_valid returns one if |session|'s session ID context
3134
- // matches the one set on |hs| and zero otherwise.
3135
- int ssl_session_is_context_valid(const SSL_HANDSHAKE *hs,
3136
- const SSL_SESSION *session);
3157
+ // ssl_session_is_context_valid returns whether |session|'s session ID context
3158
+ // matches the one set on |hs|.
3159
+ bool ssl_session_is_context_valid(const SSL_HANDSHAKE *hs,
3160
+ const SSL_SESSION *session);
3137
3161
 
3138
- // ssl_session_is_time_valid returns one if |session| is still valid and zero if
3139
- // it has expired.
3140
- int ssl_session_is_time_valid(const SSL *ssl, const SSL_SESSION *session);
3162
+ // ssl_session_is_time_valid returns true if |session| is still valid and false
3163
+ // if it has expired.
3164
+ bool ssl_session_is_time_valid(const SSL *ssl, const SSL_SESSION *session);
3141
3165
 
3142
- // ssl_session_is_resumable returns one if |session| is resumable for |hs| and
3143
- // zero otherwise.
3144
- int ssl_session_is_resumable(const SSL_HANDSHAKE *hs,
3145
- const SSL_SESSION *session);
3166
+ // ssl_session_is_resumable returns whether |session| is resumable for |hs|.
3167
+ bool ssl_session_is_resumable(const SSL_HANDSHAKE *hs,
3168
+ const SSL_SESSION *session);
3146
3169
 
3147
3170
  // ssl_session_protocol_version returns the protocol version associated with
3148
3171
  // |session|. Note that despite the name, this is not the same as
@@ -3205,8 +3228,8 @@ ssl_open_record_t tls_open_app_data(SSL *ssl, Span<uint8_t> *out,
3205
3228
  ssl_open_record_t tls_open_change_cipher_spec(SSL *ssl, size_t *out_consumed,
3206
3229
  uint8_t *out_alert,
3207
3230
  Span<uint8_t> in);
3208
- int tls_write_app_data(SSL *ssl, bool *out_needs_handshake, const uint8_t *buf,
3209
- int len);
3231
+ int tls_write_app_data(SSL *ssl, bool *out_needs_handshake,
3232
+ size_t *out_bytes_written, Span<const uint8_t> in);
3210
3233
 
3211
3234
  bool tls_new(SSL *ssl);
3212
3235
  void tls_free(SSL *ssl);
@@ -3239,11 +3262,11 @@ ssl_open_record_t dtls1_open_change_cipher_spec(SSL *ssl, size_t *out_consumed,
3239
3262
  Span<uint8_t> in);
3240
3263
 
3241
3264
  int dtls1_write_app_data(SSL *ssl, bool *out_needs_handshake,
3242
- const uint8_t *buf, int len);
3265
+ size_t *out_bytes_written, Span<const uint8_t> in);
3243
3266
 
3244
3267
  // dtls1_write_record sends a record. It returns one on success and <= 0 on
3245
3268
  // error.
3246
- int dtls1_write_record(SSL *ssl, int type, const uint8_t *buf, size_t len,
3269
+ int dtls1_write_record(SSL *ssl, int type, Span<const uint8_t> in,
3247
3270
  enum dtls1_use_epoch_t use_epoch);
3248
3271
 
3249
3272
  int dtls1_retransmit_outgoing_messages(SSL *ssl);
@@ -3422,6 +3445,11 @@ struct ssl_ctx_st {
3422
3445
  // and is further constrainted by |SSL_OP_NO_*|.
3423
3446
  uint16_t conf_min_version = 0;
3424
3447
 
3448
+ // num_tickets is the number of tickets to send immediately after the TLS 1.3
3449
+ // handshake. TLS 1.3 recommends single-use tickets so, by default, issue two
3450
+ /// in case the client makes several connections before getting a renewal.
3451
+ uint8_t num_tickets = 2;
3452
+
3425
3453
  // quic_method is the method table corresponding to the QUIC hooks.
3426
3454
  const SSL_QUIC_METHOD *quic_method = nullptr;
3427
3455
 
@@ -3511,7 +3539,7 @@ struct ssl_ctx_st {
3511
3539
  bssl::UniquePtr<bssl::CERT> cert;
3512
3540
 
3513
3541
  // callback that allows applications to peek at protocol messages
3514
- void (*msg_callback)(int write_p, int version, int content_type,
3542
+ void (*msg_callback)(int is_write, int version, int content_type,
3515
3543
  const void *buf, size_t len, SSL *ssl,
3516
3544
  void *arg) = nullptr;
3517
3545
  void *msg_callback_arg = nullptr;
@@ -3690,6 +3718,10 @@ struct ssl_ctx_st {
3690
3718
  // If enable_early_data is true, early data can be sent and accepted.
3691
3719
  bool enable_early_data : 1;
3692
3720
 
3721
+ // only_fips_cipher_suites_in_tls13 constrains the selection of cipher suites
3722
+ // in TLS 1.3 such that only FIPS approved ones will be selected.
3723
+ bool only_fips_cipher_suites_in_tls13 : 1;
3724
+
3693
3725
  private:
3694
3726
  ~ssl_ctx_st();
3695
3727
  friend OPENSSL_EXPORT void SSL_CTX_free(SSL_CTX *);
@@ -3806,11 +3838,11 @@ struct ssl_session_st {
3806
3838
  // session. In TLS 1.3 and up, it is the resumption PSK for sessions handed to
3807
3839
  // the caller, but it stores the resumption secret when stored on |SSL|
3808
3840
  // objects.
3809
- int secret_length = 0;
3841
+ uint8_t secret_length = 0;
3810
3842
  uint8_t secret[SSL_MAX_MASTER_KEY_LENGTH] = {0};
3811
3843
 
3812
3844
  // session_id - valid?
3813
- unsigned session_id_length = 0;
3845
+ uint8_t session_id_length = 0;
3814
3846
  uint8_t session_id[SSL_MAX_SSL_SESSION_ID_LENGTH] = {0};
3815
3847
  // this is used to determine whether the session is being reused in
3816
3848
  // the appropriate context. It is up to the application to set this,
@@ -439,7 +439,6 @@ static ssl_open_record_t read_v2_client_hello(SSL *ssl, size_t *out_consumed,
439
439
  // No session id.
440
440
  !CBB_add_u8(&hello_body, 0) ||
441
441
  !CBB_add_u16_length_prefixed(&hello_body, &cipher_suites)) {
442
- OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
443
442
  return ssl_open_record_error;
444
443
  }
445
444
 
@@ -664,41 +663,53 @@ void tls_next_message(SSL *ssl) {
664
663
  // the client.
665
664
  class CipherScorer {
666
665
  public:
667
- CipherScorer(uint16_t group_id)
668
- : aes_is_fine_(EVP_has_aes_hardware()),
669
- security_128_is_fine_(group_id != SSL_CURVE_CECPQ2) {}
666
+ CipherScorer() : aes_is_fine_(EVP_has_aes_hardware()) {}
670
667
 
671
- typedef std::tuple<bool, bool, bool> Score;
668
+ typedef std::tuple<bool, bool> Score;
672
669
 
673
670
  // MinScore returns a |Score| that will compare less than the score of all
674
671
  // cipher suites.
675
672
  Score MinScore() const {
676
- return Score(false, false, false);
673
+ return Score(false, false);
677
674
  }
678
675
 
679
676
  Score Evaluate(const SSL_CIPHER *a) const {
680
677
  return Score(
681
678
  // Something is always preferable to nothing.
682
679
  true,
683
- // Either 128-bit is fine, or 256-bit is preferred.
684
- security_128_is_fine_ || a->algorithm_enc != SSL_AES128GCM,
685
680
  // Either AES is fine, or else ChaCha20 is preferred.
686
681
  aes_is_fine_ || a->algorithm_enc == SSL_CHACHA20POLY1305);
687
682
  }
688
683
 
689
684
  private:
690
685
  const bool aes_is_fine_;
691
- const bool security_128_is_fine_;
692
686
  };
693
687
 
688
+ bool ssl_tls13_cipher_meets_policy(uint16_t cipher_id, bool only_fips) {
689
+ if (!only_fips) {
690
+ return true;
691
+ }
692
+
693
+ switch (cipher_id) {
694
+ case TLS1_3_CK_AES_128_GCM_SHA256 & 0xffff:
695
+ case TLS1_3_CK_AES_256_GCM_SHA384 & 0xffff:
696
+ return true;
697
+ case TLS1_3_CK_CHACHA20_POLY1305_SHA256 & 0xffff:
698
+ return false;
699
+ default:
700
+ assert(false);
701
+ return false;
702
+ }
703
+ }
704
+
694
705
  const SSL_CIPHER *ssl_choose_tls13_cipher(CBS cipher_suites, uint16_t version,
695
- uint16_t group_id) {
706
+ uint16_t group_id, bool only_fips) {
696
707
  if (CBS_len(&cipher_suites) % 2 != 0) {
697
708
  return nullptr;
698
709
  }
699
710
 
700
711
  const SSL_CIPHER *best = nullptr;
701
- CipherScorer scorer(group_id);
712
+ CipherScorer scorer;
702
713
  CipherScorer::Score best_score = scorer.MinScore();
703
714
 
704
715
  while (CBS_len(&cipher_suites) > 0) {
@@ -715,6 +726,11 @@ const SSL_CIPHER *ssl_choose_tls13_cipher(CBS cipher_suites, uint16_t version,
715
726
  continue;
716
727
  }
717
728
 
729
+ if (!ssl_tls13_cipher_meets_policy(SSL_CIPHER_get_protocol_id(candidate),
730
+ only_fips)) {
731
+ continue;
732
+ }
733
+
718
734
  const CipherScorer::Score candidate_score = scorer.Evaluate(candidate);
719
735
  // |candidate_score| must be larger to displace the current choice. That way
720
736
  // the client's order controls between ciphers with an equal score.
@@ -175,11 +175,11 @@ SSL3_STATE::SSL3_STATE()
175
175
  send_connection_binding(false),
176
176
  channel_id_valid(false),
177
177
  key_update_pending(false),
178
- wpend_pending(false),
179
178
  early_data_accepted(false),
180
179
  alert_dispatch(false),
181
180
  renegotiate_pending(false),
182
- used_hello_retry_request(false) {}
181
+ used_hello_retry_request(false),
182
+ was_key_usage_invalid(false) {}
183
183
 
184
184
  SSL3_STATE::~SSL3_STATE() {}
185
185