grpc 1.28.0 → 1.42.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 (1954) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +1824 -22390
  3. data/etc/roots.pem +592 -899
  4. data/include/grpc/byte_buffer.h +1 -1
  5. data/include/grpc/byte_buffer_reader.h +1 -1
  6. data/include/grpc/compression.h +1 -1
  7. data/include/grpc/event_engine/README.md +38 -0
  8. data/include/grpc/event_engine/endpoint_config.h +43 -0
  9. data/include/grpc/event_engine/event_engine.h +375 -0
  10. data/include/grpc/event_engine/internal/memory_allocator_impl.h +98 -0
  11. data/include/grpc/event_engine/memory_allocator.h +210 -0
  12. data/include/grpc/event_engine/port.h +39 -0
  13. data/include/grpc/fork.h +1 -1
  14. data/include/grpc/grpc.h +52 -13
  15. data/include/grpc/grpc_posix.h +5 -2
  16. data/include/grpc/grpc_security.h +324 -180
  17. data/include/grpc/grpc_security_constants.h +20 -0
  18. data/include/grpc/impl/codegen/README.md +22 -0
  19. data/include/grpc/impl/codegen/atm.h +5 -3
  20. data/include/grpc/impl/codegen/atm_gcc_atomic.h +2 -0
  21. data/include/grpc/impl/codegen/atm_gcc_sync.h +2 -0
  22. data/include/grpc/impl/codegen/atm_windows.h +6 -0
  23. data/include/grpc/impl/codegen/byte_buffer.h +3 -1
  24. data/include/grpc/impl/codegen/byte_buffer_reader.h +2 -0
  25. data/include/grpc/impl/codegen/compression_types.h +2 -0
  26. data/include/grpc/impl/codegen/connectivity_state.h +2 -0
  27. data/include/grpc/impl/codegen/fork.h +2 -0
  28. data/include/grpc/impl/codegen/gpr_slice.h +2 -0
  29. data/include/grpc/impl/codegen/gpr_types.h +2 -0
  30. data/include/grpc/impl/codegen/grpc_types.h +80 -54
  31. data/include/grpc/impl/codegen/log.h +2 -2
  32. data/include/grpc/impl/codegen/port_platform.h +103 -100
  33. data/include/grpc/impl/codegen/propagation_bits.h +2 -0
  34. data/include/grpc/impl/codegen/slice.h +2 -0
  35. data/include/grpc/impl/codegen/status.h +2 -0
  36. data/include/grpc/impl/codegen/sync.h +8 -5
  37. data/include/grpc/impl/codegen/sync_abseil.h +2 -0
  38. data/include/grpc/impl/codegen/sync_custom.h +2 -0
  39. data/include/grpc/impl/codegen/sync_generic.h +3 -0
  40. data/include/grpc/impl/codegen/sync_posix.h +4 -2
  41. data/include/grpc/impl/codegen/sync_windows.h +6 -0
  42. data/include/grpc/module.modulemap +31 -46
  43. data/include/grpc/slice.h +1 -1
  44. data/include/grpc/slice_buffer.h +3 -3
  45. data/include/grpc/status.h +1 -1
  46. data/include/grpc/support/atm.h +1 -1
  47. data/include/grpc/support/atm_gcc_atomic.h +1 -1
  48. data/include/grpc/support/atm_gcc_sync.h +1 -1
  49. data/include/grpc/support/atm_windows.h +1 -1
  50. data/include/grpc/support/log.h +1 -1
  51. data/include/grpc/support/port_platform.h +1 -1
  52. data/include/grpc/support/sync.h +4 -4
  53. data/include/grpc/support/sync_abseil.h +1 -1
  54. data/include/grpc/support/sync_custom.h +1 -1
  55. data/include/grpc/support/sync_generic.h +1 -1
  56. data/include/grpc/support/sync_posix.h +1 -1
  57. data/include/grpc/support/sync_windows.h +1 -1
  58. data/include/grpc/support/time.h +9 -9
  59. data/src/core/ext/filters/census/grpc_context.cc +1 -0
  60. data/src/core/ext/filters/client_channel/backend_metric.cc +30 -28
  61. data/src/core/ext/filters/client_channel/backup_poller.cc +8 -6
  62. data/src/core/ext/filters/client_channel/backup_poller.h +1 -0
  63. data/src/core/ext/filters/client_channel/channel_connectivity.cc +158 -202
  64. data/src/core/ext/filters/client_channel/client_channel.cc +2207 -3176
  65. data/src/core/ext/filters/client_channel/client_channel.h +561 -62
  66. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +6 -5
  67. data/src/core/ext/filters/client_channel/client_channel_channelz.h +2 -5
  68. data/src/core/ext/filters/client_channel/client_channel_factory.cc +2 -1
  69. data/src/core/ext/filters/client_channel/client_channel_factory.h +18 -19
  70. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +18 -13
  71. data/src/core/ext/filters/client_channel/config_selector.cc +59 -0
  72. data/src/core/ext/filters/client_channel/config_selector.h +145 -0
  73. data/src/core/ext/filters/client_channel/connector.h +19 -19
  74. data/src/core/ext/filters/client_channel/dynamic_filters.cc +190 -0
  75. data/src/core/ext/filters/client_channel/dynamic_filters.h +99 -0
  76. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +26 -122
  77. data/src/core/ext/filters/client_channel/global_subchannel_pool.h +15 -11
  78. data/src/core/ext/filters/client_channel/health/health_check_client.cc +71 -73
  79. data/src/core/ext/filters/client_channel/health/health_check_client.h +37 -35
  80. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +43 -40
  81. data/src/core/ext/filters/client_channel/http_connect_handshaker.h +10 -2
  82. data/src/core/ext/filters/client_channel/http_proxy.cc +59 -34
  83. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +96 -0
  84. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +101 -0
  85. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +26 -13
  86. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +1 -1
  87. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +12 -21
  88. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +659 -608
  89. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +4 -0
  90. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +76 -0
  91. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +37 -0
  92. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +1 -2
  93. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +8 -44
  94. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +3 -1
  95. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +5 -3
  96. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +5 -6
  97. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +1 -1
  98. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +57 -44
  99. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +918 -0
  100. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +757 -0
  101. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +37 -0
  102. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +2502 -0
  103. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +25 -26
  104. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +19 -47
  105. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +741 -0
  106. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +512 -137
  107. data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +53 -26
  108. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +29 -0
  109. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +795 -0
  110. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +701 -0
  111. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +1362 -0
  112. data/src/core/ext/filters/client_channel/lb_policy.cc +29 -35
  113. data/src/core/ext/filters/client_channel/lb_policy.h +130 -117
  114. data/src/core/ext/filters/client_channel/lb_policy_factory.h +2 -1
  115. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +19 -12
  116. data/src/core/ext/filters/client_channel/lb_policy_registry.h +1 -1
  117. data/src/core/ext/filters/client_channel/local_subchannel_pool.cc +27 -67
  118. data/src/core/ext/filters/client_channel/local_subchannel_pool.h +12 -10
  119. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +139 -0
  120. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +136 -131
  121. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +6 -35
  122. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_event_engine.cc +31 -0
  123. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +20 -17
  124. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +98 -138
  125. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +651 -216
  126. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +32 -5
  127. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_event_engine.cc +28 -0
  128. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
  129. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +79 -68
  130. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +124 -136
  131. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +8 -10
  132. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +384 -0
  133. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +38 -31
  134. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +892 -47
  135. data/src/core/ext/filters/client_channel/{xds/xds_channel_args.h → resolver/xds/xds_resolver.h} +9 -7
  136. data/src/core/ext/filters/client_channel/resolver.cc +9 -10
  137. data/src/core/ext/filters/client_channel/resolver.h +13 -23
  138. data/src/core/ext/filters/client_channel/resolver_factory.h +10 -8
  139. data/src/core/ext/filters/client_channel/resolver_registry.cc +57 -56
  140. data/src/core/ext/filters/client_channel/resolver_registry.h +10 -10
  141. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +61 -315
  142. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +42 -67
  143. data/src/core/ext/filters/client_channel/retry_filter.cc +2573 -0
  144. data/src/core/ext/filters/{workarounds/workaround_cronet_compression_filter.h → client_channel/retry_filter.h} +9 -6
  145. data/src/core/ext/filters/client_channel/retry_service_config.cc +316 -0
  146. data/src/core/ext/filters/client_channel/retry_service_config.h +96 -0
  147. data/src/core/ext/filters/client_channel/retry_throttle.cc +20 -49
  148. data/src/core/ext/filters/client_channel/retry_throttle.h +4 -2
  149. data/src/core/ext/filters/client_channel/server_address.cc +132 -13
  150. data/src/core/ext/filters/client_channel/server_address.h +80 -32
  151. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +156 -0
  152. data/src/core/ext/filters/client_channel/subchannel.cc +271 -347
  153. data/src/core/ext/filters/client_channel/subchannel.h +142 -163
  154. data/src/core/ext/filters/client_channel/subchannel_interface.h +41 -5
  155. data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +38 -9
  156. data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +27 -12
  157. data/src/core/ext/filters/client_idle/client_idle_filter.cc +47 -223
  158. data/src/core/ext/filters/client_idle/idle_filter_state.cc +96 -0
  159. data/src/core/ext/filters/client_idle/idle_filter_state.h +66 -0
  160. data/src/core/ext/filters/deadline/deadline_filter.cc +113 -108
  161. data/src/core/ext/filters/deadline/deadline_filter.h +7 -11
  162. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +503 -0
  163. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +39 -0
  164. data/src/core/ext/filters/fault_injection/service_config_parser.cc +181 -0
  165. data/src/core/ext/filters/fault_injection/service_config_parser.h +85 -0
  166. data/src/core/ext/filters/http/client/http_client_filter.cc +104 -101
  167. data/src/core/ext/filters/http/client_authority_filter.cc +21 -21
  168. data/src/core/ext/filters/http/http_filters_plugin.cc +54 -53
  169. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +274 -230
  170. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +398 -0
  171. data/src/core/ext/filters/http/message_compress/message_decompress_filter.h +31 -0
  172. data/src/core/ext/filters/http/server/http_server_filter.cc +107 -98
  173. data/src/core/ext/filters/max_age/max_age_filter.cc +74 -70
  174. data/src/core/ext/filters/message_size/message_size_filter.cc +89 -113
  175. data/src/core/ext/filters/message_size/message_size_filter.h +12 -5
  176. data/src/core/ext/service_config/service_config.cc +227 -0
  177. data/src/core/ext/service_config/service_config.h +127 -0
  178. data/src/core/ext/service_config/service_config_call_data.h +72 -0
  179. data/src/core/ext/service_config/service_config_parser.cc +89 -0
  180. data/src/core/ext/service_config/service_config_parser.h +97 -0
  181. data/src/core/ext/transport/chttp2/alpn/alpn.cc +2 -1
  182. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +119 -49
  183. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +24 -5
  184. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +42 -35
  185. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +32 -16
  186. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +52 -88
  187. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +829 -357
  188. data/src/core/ext/transport/chttp2/server/chttp2_server.h +16 -2
  189. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +14 -6
  190. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +32 -24
  191. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +64 -25
  192. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +11 -9
  193. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +2 -1
  194. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +5 -6
  195. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +548 -542
  196. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +17 -2
  197. data/src/core/ext/transport/chttp2/transport/context_list.cc +4 -5
  198. data/src/core/ext/transport/chttp2/transport/context_list.h +5 -6
  199. data/src/core/ext/transport/chttp2/transport/flow_control.cc +82 -60
  200. data/src/core/ext/transport/chttp2/transport/flow_control.h +47 -33
  201. data/src/core/ext/transport/chttp2/transport/frame_data.cc +30 -29
  202. data/src/core/ext/transport/chttp2/transport/frame_data.h +11 -10
  203. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +25 -25
  204. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +9 -9
  205. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +15 -16
  206. data/src/core/ext/transport/chttp2/transport/frame_ping.h +10 -9
  207. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +18 -22
  208. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +9 -9
  209. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +53 -22
  210. data/src/core/ext/transport/chttp2/transport/frame_settings.h +11 -10
  211. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +25 -25
  212. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +7 -9
  213. data/src/core/ext/transport/chttp2/transport/hpack_constants.h +41 -0
  214. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +311 -652
  215. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +241 -72
  216. data/src/core/ext/transport/chttp2/transport/hpack_encoder_index.h +107 -0
  217. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +86 -0
  218. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +69 -0
  219. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +868 -1175
  220. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +102 -84
  221. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +146 -0
  222. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +137 -0
  223. data/src/core/ext/transport/chttp2/transport/hpack_utils.cc +46 -0
  224. data/src/core/ext/transport/chttp2/transport/hpack_utils.h +30 -0
  225. data/src/core/ext/transport/chttp2/transport/http2_settings.h +4 -5
  226. data/src/core/ext/transport/chttp2/transport/huffsyms.h +2 -3
  227. data/src/core/ext/transport/chttp2/transport/internal.h +77 -56
  228. data/src/core/ext/transport/chttp2/transport/parsing.cc +168 -320
  229. data/src/core/ext/transport/chttp2/transport/popularity_count.h +60 -0
  230. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +2 -2
  231. data/src/core/ext/transport/chttp2/transport/stream_map.h +2 -3
  232. data/src/core/ext/transport/chttp2/transport/varint.cc +13 -7
  233. data/src/core/ext/transport/chttp2/transport/varint.h +39 -28
  234. data/src/core/ext/transport/chttp2/transport/writing.cc +97 -80
  235. data/src/core/ext/transport/inproc/inproc_transport.cc +263 -180
  236. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +406 -0
  237. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +1591 -0
  238. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +1 -1
  239. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +2 -2
  240. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +3 -3
  241. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +18 -6
  242. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +243 -0
  243. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +955 -0
  244. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +371 -0
  245. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1554 -0
  246. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +74 -0
  247. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +271 -0
  248. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +494 -0
  249. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +2116 -0
  250. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +35 -0
  251. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +83 -0
  252. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +56 -0
  253. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +370 -0
  254. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +124 -0
  255. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +470 -0
  256. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +35 -0
  257. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +94 -0
  258. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +382 -0
  259. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +1295 -0
  260. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +103 -0
  261. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +418 -0
  262. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +34 -0
  263. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +84 -0
  264. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +53 -0
  265. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +161 -0
  266. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +241 -0
  267. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +917 -0
  268. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +171 -0
  269. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +830 -0
  270. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +36 -0
  271. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +94 -0
  272. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +244 -0
  273. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +1089 -0
  274. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +27 -0
  275. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +71 -0
  276. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +46 -0
  277. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +133 -0
  278. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +34 -0
  279. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +101 -0
  280. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +43 -0
  281. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +132 -0
  282. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +35 -0
  283. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +96 -0
  284. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +90 -0
  285. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +261 -0
  286. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +125 -0
  287. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +462 -0
  288. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +112 -0
  289. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +397 -0
  290. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +33 -0
  291. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +79 -0
  292. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +138 -0
  293. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +640 -0
  294. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +161 -0
  295. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +680 -0
  296. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +48 -0
  297. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +177 -0
  298. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +42 -0
  299. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +127 -0
  300. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +144 -0
  301. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +536 -0
  302. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +153 -0
  303. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +550 -0
  304. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +185 -0
  305. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +738 -0
  306. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +82 -0
  307. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +312 -0
  308. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +960 -0
  309. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +4213 -0
  310. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +60 -0
  311. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +177 -0
  312. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +49 -0
  313. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +134 -0
  314. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +29 -0
  315. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +73 -0
  316. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +79 -0
  317. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +298 -0
  318. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +79 -0
  319. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +303 -0
  320. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +42 -0
  321. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +123 -0
  322. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +403 -0
  323. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1785 -0
  324. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +19 -0
  325. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +35 -0
  326. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +130 -0
  327. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +559 -0
  328. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +73 -0
  329. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +237 -0
  330. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +148 -0
  331. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +674 -0
  332. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +27 -0
  333. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +62 -0
  334. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +25 -0
  335. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +62 -0
  336. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +146 -0
  337. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +535 -0
  338. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +27 -0
  339. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +62 -0
  340. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +27 -0
  341. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +62 -0
  342. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +54 -0
  343. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +163 -0
  344. data/src/core/ext/upb-generated/envoy/{api/v2/srds.upb.c → service/route/v3/rds.upb.c} +8 -8
  345. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +62 -0
  346. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +27 -0
  347. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +62 -0
  348. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +121 -0
  349. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +468 -0
  350. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +60 -0
  351. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +205 -0
  352. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +48 -0
  353. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +144 -0
  354. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +36 -0
  355. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +96 -0
  356. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +35 -0
  357. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +90 -0
  358. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +34 -0
  359. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +84 -0
  360. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +65 -0
  361. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +184 -0
  362. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +53 -0
  363. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +158 -0
  364. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +46 -0
  365. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +136 -0
  366. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +63 -0
  367. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +225 -0
  368. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +88 -0
  369. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +343 -0
  370. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +90 -0
  371. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +313 -0
  372. data/src/core/ext/upb-generated/envoy/type/{http.upb.c → v3/http.upb.c} +4 -3
  373. data/src/core/ext/upb-generated/envoy/type/{http.upb.h → v3/http.upb.h} +10 -10
  374. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +40 -0
  375. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +111 -0
  376. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +51 -0
  377. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +148 -0
  378. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +30 -0
  379. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +74 -0
  380. data/src/core/ext/upb-generated/google/api/annotations.upb.c +1 -1
  381. data/src/core/ext/upb-generated/google/api/annotations.upb.h +2 -2
  382. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +242 -0
  383. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +896 -0
  384. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +251 -0
  385. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +943 -0
  386. data/src/core/ext/upb-generated/google/api/http.upb.c +18 -18
  387. data/src/core/ext/upb-generated/google/api/http.upb.h +74 -36
  388. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +4 -4
  389. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +20 -8
  390. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +155 -154
  391. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +881 -524
  392. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +4 -4
  393. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +20 -8
  394. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +2 -2
  395. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +16 -4
  396. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +15 -15
  397. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +77 -61
  398. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +4 -4
  399. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +20 -8
  400. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +19 -19
  401. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +146 -38
  402. data/src/core/ext/upb-generated/google/rpc/status.upb.c +5 -5
  403. data/src/core/ext/upb-generated/google/rpc/status.upb.h +25 -12
  404. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +12 -12
  405. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +48 -47
  406. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +63 -63
  407. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +307 -195
  408. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +8 -8
  409. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +44 -16
  410. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +5 -5
  411. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +34 -10
  412. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +31 -31
  413. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +186 -72
  414. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +55 -0
  415. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +154 -0
  416. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +8 -8
  417. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +52 -16
  418. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +29 -0
  419. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +70 -0
  420. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +1 -1
  421. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +2 -2
  422. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +28 -0
  423. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +77 -0
  424. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +27 -0
  425. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +66 -0
  426. data/src/core/ext/upb-generated/validate/validate.upb.c +243 -226
  427. data/src/core/ext/upb-generated/validate/validate.upb.h +1048 -668
  428. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +58 -0
  429. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +182 -0
  430. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +28 -0
  431. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +66 -0
  432. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +52 -0
  433. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +155 -0
  434. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +42 -0
  435. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +90 -0
  436. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +36 -0
  437. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +100 -0
  438. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +54 -0
  439. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +178 -0
  440. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +36 -0
  441. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +91 -0
  442. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +58 -0
  443. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +130 -0
  444. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +33 -0
  445. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +83 -0
  446. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +354 -0
  447. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +140 -0
  448. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +46 -0
  449. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +30 -0
  450. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +41 -0
  451. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +35 -0
  452. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +252 -0
  453. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +105 -0
  454. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +424 -0
  455. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +120 -0
  456. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +100 -0
  457. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +45 -0
  458. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +596 -0
  459. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +155 -0
  460. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +53 -0
  461. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +35 -0
  462. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +136 -0
  463. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +35 -0
  464. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +127 -0
  465. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +65 -0
  466. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +56 -0
  467. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +35 -0
  468. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +313 -0
  469. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +150 -0
  470. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +144 -0
  471. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +55 -0
  472. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +56 -0
  473. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +35 -0
  474. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +66 -0
  475. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +40 -0
  476. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +263 -0
  477. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +100 -0
  478. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +236 -0
  479. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +70 -0
  480. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +56 -0
  481. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +35 -0
  482. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +300 -0
  483. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +100 -0
  484. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +43 -0
  485. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +35 -0
  486. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +59 -0
  487. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +40 -0
  488. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +59 -0
  489. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +35 -0
  490. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +72 -0
  491. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +35 -0
  492. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +52 -0
  493. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +35 -0
  494. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +107 -0
  495. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +50 -0
  496. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +140 -0
  497. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +60 -0
  498. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +146 -0
  499. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +55 -0
  500. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +50 -0
  501. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +35 -0
  502. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +205 -0
  503. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +60 -0
  504. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +201 -0
  505. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +65 -0
  506. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +90 -0
  507. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +35 -0
  508. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +67 -0
  509. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +40 -0
  510. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +141 -0
  511. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +70 -0
  512. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +152 -0
  513. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +75 -0
  514. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +115 -0
  515. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +45 -0
  516. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +982 -0
  517. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +295 -0
  518. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +71 -0
  519. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +45 -0
  520. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +61 -0
  521. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +40 -0
  522. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +51 -0
  523. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +35 -0
  524. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +102 -0
  525. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +55 -0
  526. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +123 -0
  527. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +45 -0
  528. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +79 -0
  529. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +35 -0
  530. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +567 -0
  531. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +125 -0
  532. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +44 -0
  533. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +30 -0
  534. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +196 -0
  535. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +60 -0
  536. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +97 -0
  537. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +45 -0
  538. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +251 -0
  539. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +60 -0
  540. data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c +72 -0
  541. data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.h +35 -0
  542. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +60 -0
  543. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +35 -0
  544. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +142 -0
  545. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +65 -0
  546. data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c +73 -0
  547. data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.h +35 -0
  548. data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c +72 -0
  549. data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.h +35 -0
  550. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +80 -0
  551. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +40 -0
  552. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c +80 -0
  553. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h +35 -0
  554. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c +74 -0
  555. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h +35 -0
  556. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +163 -0
  557. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +55 -0
  558. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +64 -0
  559. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +50 -0
  560. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +65 -0
  561. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +40 -0
  562. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +56 -0
  563. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +35 -0
  564. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +54 -0
  565. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +35 -0
  566. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +53 -0
  567. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +35 -0
  568. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +76 -0
  569. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +45 -0
  570. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +69 -0
  571. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +40 -0
  572. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +63 -0
  573. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +40 -0
  574. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +81 -0
  575. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +45 -0
  576. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +92 -0
  577. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +65 -0
  578. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +95 -0
  579. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +55 -0
  580. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +34 -0
  581. data/src/core/ext/{upb-generated/gogoproto/gogo.upb.h → upbdefs-generated/envoy/type/v3/http.upbdefs.h} +10 -10
  582. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +59 -0
  583. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +40 -0
  584. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +54 -0
  585. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +45 -0
  586. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +47 -0
  587. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +35 -0
  588. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +40 -0
  589. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +30 -0
  590. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +61 -0
  591. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +45 -0
  592. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +39 -0
  593. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +35 -0
  594. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +386 -0
  595. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +165 -0
  596. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +40 -0
  597. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +35 -0
  598. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +37 -0
  599. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +35 -0
  600. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +65 -0
  601. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +50 -0
  602. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +40 -0
  603. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +35 -0
  604. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +66 -0
  605. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +75 -0
  606. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +42 -0
  607. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +35 -0
  608. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +71 -0
  609. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +45 -0
  610. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +52 -0
  611. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +35 -0
  612. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +34 -0
  613. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +30 -0
  614. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +51 -0
  615. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +35 -0
  616. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +44 -0
  617. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +35 -0
  618. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +332 -0
  619. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +145 -0
  620. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +75 -0
  621. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +50 -0
  622. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +43 -0
  623. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +35 -0
  624. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +63 -0
  625. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +40 -0
  626. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +46 -0
  627. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +40 -0
  628. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +50 -0
  629. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +35 -0
  630. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +68 -0
  631. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +40 -0
  632. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +51 -0
  633. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +35 -0
  634. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +45 -0
  635. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +35 -0
  636. data/src/core/ext/xds/certificate_provider_factory.h +61 -0
  637. data/src/core/ext/xds/certificate_provider_registry.cc +103 -0
  638. data/src/core/ext/xds/certificate_provider_registry.h +57 -0
  639. data/src/core/ext/xds/certificate_provider_store.cc +87 -0
  640. data/src/core/ext/xds/certificate_provider_store.h +112 -0
  641. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +144 -0
  642. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +69 -0
  643. data/src/core/ext/xds/xds_api.cc +3965 -0
  644. data/src/core/ext/xds/xds_api.h +744 -0
  645. data/src/core/ext/xds/xds_bootstrap.cc +471 -0
  646. data/src/core/ext/xds/xds_bootstrap.h +125 -0
  647. data/src/core/ext/xds/xds_certificate_provider.cc +405 -0
  648. data/src/core/ext/xds/xds_certificate_provider.h +151 -0
  649. data/src/core/ext/xds/xds_channel_args.h +32 -0
  650. data/src/core/ext/xds/xds_channel_stack_modifier.cc +113 -0
  651. data/src/core/ext/xds/xds_channel_stack_modifier.h +52 -0
  652. data/src/core/ext/xds/xds_client.cc +2791 -0
  653. data/src/core/ext/xds/xds_client.h +380 -0
  654. data/src/core/ext/xds/xds_client_stats.cc +160 -0
  655. data/src/core/ext/{filters/client_channel/xds → xds}/xds_client_stats.h +87 -46
  656. data/src/core/ext/xds/xds_http_fault_filter.cc +227 -0
  657. data/src/core/ext/xds/xds_http_fault_filter.h +64 -0
  658. data/src/core/ext/xds/xds_http_filters.cc +116 -0
  659. data/src/core/ext/xds/xds_http_filters.h +133 -0
  660. data/src/core/ext/xds/xds_server_config_fetcher.cc +544 -0
  661. data/src/core/lib/address_utils/parse_address.cc +320 -0
  662. data/src/core/lib/address_utils/parse_address.h +77 -0
  663. data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.cc +159 -46
  664. data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.h +46 -20
  665. data/src/core/lib/avl/avl.cc +5 -5
  666. data/src/core/lib/backoff/backoff.cc +1 -1
  667. data/src/core/lib/channel/call_tracer.h +85 -0
  668. data/src/core/lib/channel/channel_args.cc +50 -29
  669. data/src/core/lib/channel/channel_args.h +12 -2
  670. data/src/core/lib/channel/channel_stack.cc +27 -12
  671. data/src/core/lib/channel/channel_stack.h +38 -23
  672. data/src/core/lib/channel/channel_stack_builder.cc +6 -16
  673. data/src/core/lib/channel/channel_stack_builder.h +1 -9
  674. data/src/core/lib/channel/channel_trace.cc +11 -12
  675. data/src/core/lib/channel/channel_trace.h +3 -2
  676. data/src/core/lib/channel/channelz.cc +194 -142
  677. data/src/core/lib/channel/channelz.h +79 -55
  678. data/src/core/lib/channel/channelz_registry.cc +42 -22
  679. data/src/core/lib/channel/channelz_registry.h +4 -2
  680. data/src/core/lib/channel/connected_channel.cc +13 -12
  681. data/src/core/lib/channel/connected_channel.h +1 -2
  682. data/src/core/lib/channel/context.h +4 -1
  683. data/src/core/lib/channel/handshaker.cc +23 -65
  684. data/src/core/lib/channel/handshaker.h +12 -28
  685. data/src/core/lib/channel/handshaker_factory.h +10 -2
  686. data/src/core/lib/channel/handshaker_registry.cc +15 -82
  687. data/src/core/lib/channel/handshaker_registry.h +29 -12
  688. data/src/core/lib/channel/status_util.cc +14 -5
  689. data/src/core/lib/channel/status_util.h +11 -2
  690. data/src/core/lib/compression/algorithm_metadata.h +1 -0
  691. data/src/core/lib/compression/compression.cc +10 -6
  692. data/src/core/lib/compression/compression_args.cc +11 -7
  693. data/src/core/lib/compression/compression_internal.cc +14 -11
  694. data/src/core/lib/compression/compression_internal.h +3 -2
  695. data/src/core/lib/compression/message_compress.cc +7 -3
  696. data/src/core/lib/compression/stream_compression.cc +2 -1
  697. data/src/core/lib/compression/stream_compression.h +3 -2
  698. data/src/core/lib/compression/stream_compression_gzip.cc +2 -1
  699. data/src/core/lib/compression/stream_compression_gzip.h +1 -1
  700. data/src/core/lib/compression/stream_compression_identity.cc +3 -4
  701. data/src/core/lib/compression/stream_compression_identity.h +1 -1
  702. data/src/core/lib/config/core_configuration.cc +96 -0
  703. data/src/core/lib/config/core_configuration.h +146 -0
  704. data/src/core/lib/debug/stats.cc +22 -28
  705. data/src/core/lib/debug/stats.h +7 -4
  706. data/src/core/lib/debug/stats_data.cc +16 -14
  707. data/src/core/lib/debug/stats_data.h +14 -13
  708. data/src/core/lib/debug/trace.cc +1 -0
  709. data/src/core/lib/debug/trace.h +2 -1
  710. data/src/core/lib/event_engine/endpoint_config.cc +45 -0
  711. data/src/core/lib/event_engine/endpoint_config_internal.h +42 -0
  712. data/src/core/lib/event_engine/event_engine.cc +50 -0
  713. data/src/core/lib/event_engine/sockaddr.cc +40 -0
  714. data/src/core/lib/event_engine/sockaddr.h +44 -0
  715. data/src/core/lib/gpr/alloc.cc +7 -5
  716. data/src/core/lib/gpr/atm.cc +1 -1
  717. data/src/core/lib/gpr/cpu_iphone.cc +10 -2
  718. data/src/core/lib/gpr/cpu_posix.cc +1 -1
  719. data/src/core/lib/gpr/env_linux.cc +1 -2
  720. data/src/core/lib/gpr/env_posix.cc +2 -3
  721. data/src/core/lib/gpr/log.cc +61 -19
  722. data/src/core/lib/gpr/log_android.cc +3 -2
  723. data/src/core/lib/gpr/log_linux.cc +30 -13
  724. data/src/core/lib/gpr/log_posix.cc +25 -10
  725. data/src/core/lib/gpr/log_windows.cc +18 -4
  726. data/src/core/lib/gpr/murmur_hash.cc +5 -3
  727. data/src/core/lib/gpr/spinlock.h +12 -5
  728. data/src/core/lib/gpr/string.cc +35 -57
  729. data/src/core/lib/gpr/string.h +11 -26
  730. data/src/core/lib/gpr/sync.cc +6 -6
  731. data/src/core/lib/gpr/sync_abseil.cc +12 -12
  732. data/src/core/lib/gpr/sync_posix.cc +5 -11
  733. data/src/core/lib/gpr/sync_windows.cc +2 -2
  734. data/src/core/lib/gpr/time.cc +19 -14
  735. data/src/core/lib/gpr/time_posix.cc +1 -1
  736. data/src/core/lib/gpr/time_precise.cc +5 -2
  737. data/src/core/lib/gpr/time_precise.h +6 -2
  738. data/src/core/lib/gpr/time_windows.cc +3 -2
  739. data/src/core/lib/gpr/tls.h +119 -36
  740. data/src/core/lib/gpr/tmpfile_posix.cc +1 -2
  741. data/src/core/lib/gpr/useful.h +79 -31
  742. data/src/core/lib/gpr/wrap_memcpy.cc +2 -1
  743. data/src/core/lib/gprpp/arena.cc +2 -1
  744. data/src/core/lib/gprpp/arena.h +18 -7
  745. data/src/core/lib/gprpp/atomic_utils.h +47 -0
  746. data/src/core/lib/gprpp/bitset.h +188 -0
  747. data/src/core/lib/gprpp/chunked_vector.h +211 -0
  748. data/src/core/lib/gprpp/construct_destruct.h +39 -0
  749. data/src/core/lib/gprpp/dual_ref_counted.h +330 -0
  750. data/src/core/lib/gprpp/{optional.h → examine_stack.cc} +19 -9
  751. data/src/core/lib/gprpp/examine_stack.h +46 -0
  752. data/src/core/lib/gprpp/fork.cc +17 -15
  753. data/src/core/lib/gprpp/fork.h +4 -4
  754. data/src/core/lib/gprpp/global_config.h +1 -2
  755. data/src/core/lib/gprpp/global_config_env.cc +11 -9
  756. data/src/core/lib/gprpp/global_config_generic.h +2 -2
  757. data/src/core/lib/gprpp/host_port.cc +29 -35
  758. data/src/core/lib/gprpp/host_port.h +14 -17
  759. data/src/core/lib/gprpp/manual_constructor.h +10 -7
  760. data/src/core/lib/gprpp/match.h +73 -0
  761. data/src/core/lib/gprpp/memory.h +9 -3
  762. data/src/core/lib/gprpp/mpscq.cc +9 -9
  763. data/src/core/lib/gprpp/mpscq.h +6 -5
  764. data/src/core/lib/gprpp/orphanable.h +10 -14
  765. data/src/core/lib/gprpp/overload.h +59 -0
  766. data/src/core/lib/gprpp/ref_counted.h +123 -86
  767. data/src/core/lib/gprpp/ref_counted_ptr.h +173 -7
  768. data/src/core/lib/gprpp/stat.h +38 -0
  769. data/src/core/lib/gprpp/stat_posix.cc +49 -0
  770. data/src/core/lib/gprpp/stat_windows.cc +48 -0
  771. data/src/core/lib/gprpp/status_helper.cc +427 -0
  772. data/src/core/lib/gprpp/status_helper.h +194 -0
  773. data/src/core/lib/gprpp/sync.h +106 -43
  774. data/src/core/lib/gprpp/table.h +411 -0
  775. data/src/core/lib/gprpp/thd.h +3 -3
  776. data/src/core/lib/gprpp/thd_posix.cc +47 -42
  777. data/src/core/lib/gprpp/thd_windows.cc +7 -12
  778. data/src/core/lib/gprpp/time_util.cc +77 -0
  779. data/src/core/lib/gprpp/time_util.h +42 -0
  780. data/src/core/lib/http/format_request.cc +47 -65
  781. data/src/core/lib/http/format_request.h +1 -0
  782. data/src/core/lib/http/httpcli.cc +213 -193
  783. data/src/core/lib/http/httpcli.h +7 -6
  784. data/src/core/lib/http/httpcli_security_connector.cc +25 -24
  785. data/src/core/lib/http/parser.cc +65 -45
  786. data/src/core/lib/http/parser.h +7 -7
  787. data/src/core/lib/iomgr/buffer_list.cc +10 -11
  788. data/src/core/lib/iomgr/buffer_list.h +27 -28
  789. data/src/core/lib/iomgr/call_combiner.cc +46 -21
  790. data/src/core/lib/iomgr/call_combiner.h +15 -16
  791. data/src/core/lib/iomgr/cfstream_handle.cc +10 -8
  792. data/src/core/lib/iomgr/cfstream_handle.h +1 -1
  793. data/src/core/lib/iomgr/closure.h +9 -9
  794. data/src/core/lib/iomgr/combiner.cc +25 -36
  795. data/src/core/lib/iomgr/combiner.h +3 -2
  796. data/src/core/lib/iomgr/dualstack_socket_posix.cc +48 -0
  797. data/src/core/lib/iomgr/endpoint.cc +6 -6
  798. data/src/core/lib/iomgr/endpoint.h +10 -8
  799. data/src/core/lib/iomgr/endpoint_cfstream.cc +60 -48
  800. data/src/core/lib/iomgr/endpoint_cfstream.h +1 -1
  801. data/src/core/lib/iomgr/endpoint_pair.h +2 -2
  802. data/src/core/lib/iomgr/endpoint_pair_event_engine.cc +32 -0
  803. data/src/core/lib/iomgr/endpoint_pair_posix.cc +21 -17
  804. data/src/core/lib/iomgr/endpoint_pair_windows.cc +17 -9
  805. data/src/core/lib/iomgr/error.cc +285 -115
  806. data/src/core/lib/iomgr/error.h +280 -115
  807. data/src/core/lib/iomgr/error_cfstream.cc +17 -10
  808. data/src/core/lib/iomgr/error_cfstream.h +2 -2
  809. data/src/core/lib/iomgr/error_internal.h +7 -2
  810. data/src/core/lib/iomgr/ev_apple.cc +359 -0
  811. data/src/core/lib/iomgr/ev_apple.h +43 -0
  812. data/src/core/lib/iomgr/ev_epoll1_linux.cc +76 -80
  813. data/src/core/lib/iomgr/ev_epollex_linux.cc +106 -109
  814. data/src/core/lib/iomgr/ev_poll_posix.cc +79 -76
  815. data/src/core/lib/iomgr/ev_posix.cc +15 -16
  816. data/src/core/lib/iomgr/ev_posix.h +9 -9
  817. data/src/core/lib/iomgr/event_engine/closure.cc +77 -0
  818. data/src/core/lib/iomgr/event_engine/closure.h +42 -0
  819. data/src/core/lib/iomgr/event_engine/endpoint.cc +173 -0
  820. data/src/core/lib/iomgr/event_engine/endpoint.h +52 -0
  821. data/src/core/lib/iomgr/event_engine/iomgr.cc +104 -0
  822. data/src/core/lib/iomgr/event_engine/iomgr.h +42 -0
  823. data/src/core/lib/iomgr/event_engine/pollset.cc +88 -0
  824. data/src/core/lib/iomgr/event_engine/pollset.h +25 -0
  825. data/src/core/lib/iomgr/event_engine/promise.h +51 -0
  826. data/src/core/lib/iomgr/event_engine/resolved_address_internal.cc +41 -0
  827. data/src/core/lib/iomgr/event_engine/resolved_address_internal.h +35 -0
  828. data/src/core/lib/iomgr/event_engine/resolver.cc +114 -0
  829. data/src/core/lib/iomgr/event_engine/tcp.cc +293 -0
  830. data/src/core/lib/iomgr/event_engine/timer.cc +62 -0
  831. data/src/core/lib/iomgr/exec_ctx.cc +15 -12
  832. data/src/core/lib/iomgr/exec_ctx.h +37 -30
  833. data/src/core/lib/iomgr/executor/mpmcqueue.cc +15 -16
  834. data/src/core/lib/iomgr/executor/mpmcqueue.h +11 -15
  835. data/src/core/lib/iomgr/executor/threadpool.cc +4 -5
  836. data/src/core/lib/iomgr/executor/threadpool.h +8 -7
  837. data/src/core/lib/iomgr/executor.cc +19 -33
  838. data/src/core/lib/iomgr/executor.h +3 -3
  839. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +2 -2
  840. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +2 -2
  841. data/src/core/lib/iomgr/internal_errqueue.cc +3 -2
  842. data/src/core/lib/iomgr/iocp_windows.cc +1 -0
  843. data/src/core/lib/iomgr/iomgr.cc +6 -4
  844. data/src/core/lib/iomgr/iomgr.h +3 -3
  845. data/src/core/lib/iomgr/iomgr_custom.cc +3 -3
  846. data/src/core/lib/iomgr/iomgr_custom.h +2 -2
  847. data/src/core/lib/iomgr/iomgr_internal.cc +8 -12
  848. data/src/core/lib/iomgr/iomgr_internal.h +6 -5
  849. data/src/core/lib/iomgr/iomgr_posix.cc +3 -2
  850. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +115 -22
  851. data/src/core/lib/iomgr/iomgr_windows.cc +2 -3
  852. data/src/core/lib/iomgr/is_epollexclusive_available.cc +18 -4
  853. data/src/core/lib/iomgr/load_file.cc +6 -6
  854. data/src/core/lib/iomgr/load_file.h +2 -2
  855. data/src/core/lib/iomgr/lockfree_event.cc +38 -15
  856. data/src/core/lib/iomgr/lockfree_event.h +2 -2
  857. data/src/core/lib/iomgr/polling_entity.cc +2 -2
  858. data/src/core/lib/iomgr/pollset.cc +5 -5
  859. data/src/core/lib/iomgr/pollset.h +9 -9
  860. data/src/core/lib/iomgr/pollset_custom.cc +10 -11
  861. data/src/core/lib/iomgr/pollset_custom.h +3 -1
  862. data/src/core/lib/iomgr/pollset_set_custom.cc +12 -13
  863. data/src/core/lib/iomgr/pollset_set_windows.cc +1 -0
  864. data/src/core/lib/iomgr/pollset_windows.cc +5 -5
  865. data/src/core/lib/iomgr/port.h +9 -31
  866. data/src/core/lib/iomgr/python_util.h +47 -0
  867. data/src/core/lib/iomgr/resolve_address.cc +14 -9
  868. data/src/core/lib/iomgr/resolve_address.h +15 -15
  869. data/src/core/lib/iomgr/resolve_address_custom.cc +48 -62
  870. data/src/core/lib/iomgr/resolve_address_custom.h +5 -4
  871. data/src/core/lib/iomgr/resolve_address_posix.cc +21 -30
  872. data/src/core/lib/iomgr/resolve_address_windows.cc +22 -33
  873. data/src/core/lib/iomgr/resource_quota.cc +185 -94
  874. data/src/core/lib/iomgr/resource_quota.h +66 -17
  875. data/src/core/lib/iomgr/sockaddr.h +2 -1
  876. data/src/core/lib/iomgr/socket_factory_posix.cc +8 -7
  877. data/src/core/lib/iomgr/socket_factory_posix.h +3 -3
  878. data/src/core/lib/iomgr/socket_mutator.cc +20 -6
  879. data/src/core/lib/iomgr/socket_mutator.h +28 -5
  880. data/src/core/lib/iomgr/socket_utils_common_posix.cc +128 -105
  881. data/src/core/lib/iomgr/socket_utils_linux.cc +4 -4
  882. data/src/core/lib/iomgr/socket_utils_posix.cc +2 -2
  883. data/src/core/lib/iomgr/socket_utils_posix.h +25 -22
  884. data/src/core/lib/iomgr/socket_utils_windows.cc +2 -2
  885. data/src/core/lib/iomgr/socket_windows.cc +4 -5
  886. data/src/core/lib/iomgr/tcp_client.cc +5 -3
  887. data/src/core/lib/iomgr/tcp_client.h +4 -0
  888. data/src/core/lib/iomgr/tcp_client_cfstream.cc +31 -43
  889. data/src/core/lib/iomgr/tcp_client_custom.cc +23 -34
  890. data/src/core/lib/iomgr/tcp_client_posix.cc +72 -69
  891. data/src/core/lib/iomgr/tcp_client_posix.h +8 -6
  892. data/src/core/lib/iomgr/tcp_client_windows.cc +31 -23
  893. data/src/core/lib/iomgr/tcp_custom.cc +77 -71
  894. data/src/core/lib/iomgr/tcp_custom.h +16 -14
  895. data/src/core/lib/iomgr/tcp_posix.cc +149 -156
  896. data/src/core/lib/iomgr/tcp_posix.h +19 -12
  897. data/src/core/lib/iomgr/tcp_server.cc +12 -11
  898. data/src/core/lib/iomgr/tcp_server.h +23 -17
  899. data/src/core/lib/iomgr/tcp_server_custom.cc +72 -94
  900. data/src/core/lib/iomgr/tcp_server_posix.cc +84 -76
  901. data/src/core/lib/iomgr/tcp_server_utils_posix.h +19 -16
  902. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +29 -28
  903. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +19 -28
  904. data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +4 -4
  905. data/src/core/lib/iomgr/tcp_server_windows.cc +46 -42
  906. data/src/core/lib/iomgr/tcp_windows.cc +44 -47
  907. data/src/core/lib/iomgr/tcp_windows.h +4 -3
  908. data/src/core/lib/iomgr/time_averaged_stats.h +2 -3
  909. data/src/core/lib/iomgr/timer.cc +1 -0
  910. data/src/core/lib/iomgr/timer.h +7 -3
  911. data/src/core/lib/iomgr/timer_custom.cc +9 -8
  912. data/src/core/lib/iomgr/timer_custom.h +1 -1
  913. data/src/core/lib/iomgr/timer_generic.cc +46 -76
  914. data/src/core/lib/{gprpp/inlined_vector.h → iomgr/timer_generic.h} +17 -14
  915. data/src/core/lib/iomgr/timer_heap.cc +2 -3
  916. data/src/core/lib/iomgr/timer_heap.h +2 -3
  917. data/src/core/lib/iomgr/timer_manager.cc +4 -4
  918. data/src/core/lib/iomgr/unix_sockets_posix.cc +37 -33
  919. data/src/core/lib/iomgr/unix_sockets_posix.h +9 -3
  920. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +20 -7
  921. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +3 -3
  922. data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +2 -1
  923. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +8 -9
  924. data/src/core/lib/iomgr/wakeup_fd_posix.cc +4 -3
  925. data/src/core/lib/iomgr/wakeup_fd_posix.h +8 -6
  926. data/src/core/lib/iomgr/work_serializer.cc +4 -4
  927. data/src/core/lib/iomgr/work_serializer.h +18 -2
  928. data/src/core/lib/json/json.h +15 -4
  929. data/src/core/lib/json/json_reader.cc +31 -37
  930. data/src/core/lib/json/json_util.cc +126 -0
  931. data/src/core/lib/json/json_util.h +154 -0
  932. data/src/core/lib/json/json_writer.cc +14 -15
  933. data/src/core/lib/matchers/matchers.cc +327 -0
  934. data/src/core/lib/matchers/matchers.h +160 -0
  935. data/src/core/lib/profiling/basic_timers.cc +8 -6
  936. data/src/core/lib/profiling/stap_timers.cc +2 -2
  937. data/src/core/lib/security/authorization/authorization_engine.h +44 -0
  938. data/src/core/lib/security/authorization/authorization_policy_provider.h +33 -0
  939. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +46 -0
  940. data/src/core/lib/security/authorization/evaluate_args.cc +213 -0
  941. data/src/core/lib/security/authorization/evaluate_args.h +91 -0
  942. data/src/core/lib/security/authorization/sdk_server_authz_filter.cc +171 -0
  943. data/src/core/lib/security/authorization/sdk_server_authz_filter.h +67 -0
  944. data/src/core/lib/security/context/security_context.cc +15 -11
  945. data/src/core/lib/security/context/security_context.h +3 -1
  946. data/src/core/lib/security/credentials/alts/alts_credentials.cc +2 -1
  947. data/src/core/lib/security/credentials/alts/alts_credentials.h +1 -1
  948. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +1 -1
  949. data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +2 -2
  950. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +2 -2
  951. data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +2 -2
  952. data/src/core/lib/security/credentials/composite/composite_credentials.cc +21 -8
  953. data/src/core/lib/security/credentials/composite/composite_credentials.h +8 -5
  954. data/src/core/lib/security/credentials/credentials.cc +17 -99
  955. data/src/core/lib/security/credentials/credentials.h +27 -70
  956. data/src/core/lib/security/credentials/credentials_metadata.cc +2 -3
  957. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +404 -0
  958. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +81 -0
  959. data/src/core/lib/security/credentials/external/aws_request_signer.cc +214 -0
  960. data/src/core/lib/security/credentials/external/aws_request_signer.h +72 -0
  961. data/src/core/lib/security/credentials/external/external_account_credentials.cc +527 -0
  962. data/src/core/lib/security/credentials/external/external_account_credentials.h +122 -0
  963. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +136 -0
  964. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +49 -0
  965. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +211 -0
  966. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +60 -0
  967. data/src/core/lib/security/credentials/fake/fake_credentials.cc +5 -4
  968. data/src/core/lib/security/credentials/fake/fake_credentials.h +6 -2
  969. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +8 -7
  970. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +154 -77
  971. data/src/core/lib/security/credentials/iam/iam_credentials.cc +10 -7
  972. data/src/core/lib/security/credentials/iam/iam_credentials.h +6 -2
  973. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +64 -0
  974. data/src/core/lib/security/credentials/jwt/json_token.cc +7 -7
  975. data/src/core/lib/security/credentials/jwt/json_token.h +3 -5
  976. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +39 -19
  977. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +24 -3
  978. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +25 -35
  979. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +5 -6
  980. data/src/core/lib/security/credentials/local/local_credentials.cc +2 -1
  981. data/src/core/lib/security/credentials/local/local_credentials.h +1 -1
  982. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +128 -118
  983. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +20 -12
  984. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +25 -14
  985. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +4 -2
  986. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +31 -10
  987. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +12 -3
  988. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +348 -0
  989. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +217 -0
  990. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +455 -0
  991. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +147 -0
  992. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +82 -140
  993. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +74 -167
  994. data/src/core/lib/security/credentials/tls/tls_credentials.cc +18 -13
  995. data/src/core/lib/security/credentials/tls/tls_credentials.h +3 -3
  996. data/src/core/lib/security/credentials/tls/tls_utils.cc +123 -0
  997. data/src/core/lib/security/credentials/tls/tls_utils.h +51 -0
  998. data/src/core/lib/security/credentials/xds/xds_credentials.cc +244 -0
  999. data/src/core/lib/security/credentials/xds/xds_credentials.h +69 -0
  1000. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +35 -10
  1001. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +40 -37
  1002. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +121 -0
  1003. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +97 -0
  1004. data/src/core/lib/security/security_connector/load_system_roots.h +4 -0
  1005. data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +1 -0
  1006. data/src/core/lib/security/security_connector/load_system_roots_linux.cc +7 -6
  1007. data/src/core/lib/security/security_connector/load_system_roots_linux.h +2 -0
  1008. data/src/core/lib/security/security_connector/local/local_security_connector.cc +26 -13
  1009. data/src/core/lib/security/security_connector/security_connector.cc +15 -7
  1010. data/src/core/lib/security/security_connector/security_connector.h +16 -9
  1011. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +55 -46
  1012. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +9 -7
  1013. data/src/core/lib/security/security_connector/ssl_utils.cc +126 -31
  1014. data/src/core/lib/security/security_connector/ssl_utils.h +40 -34
  1015. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +393 -303
  1016. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +144 -62
  1017. data/src/core/lib/security/transport/auth_filters.h +1 -5
  1018. data/src/core/lib/security/transport/client_auth_filter.cc +34 -28
  1019. data/src/core/lib/security/transport/secure_endpoint.cc +16 -20
  1020. data/src/core/lib/security/transport/secure_endpoint.h +1 -0
  1021. data/src/core/lib/security/transport/security_handshaker.cc +159 -91
  1022. data/src/core/lib/security/transport/security_handshaker.h +2 -1
  1023. data/src/core/lib/security/transport/server_auth_filter.cc +22 -17
  1024. data/src/core/lib/security/transport/tsi_error.cc +5 -6
  1025. data/src/core/lib/security/transport/tsi_error.h +2 -1
  1026. data/src/core/lib/security/util/json_util.cc +10 -13
  1027. data/src/core/lib/security/util/json_util.h +2 -1
  1028. data/src/core/lib/slice/percent_encoding.cc +73 -30
  1029. data/src/core/lib/slice/percent_encoding.h +29 -28
  1030. data/src/core/lib/slice/slice.cc +59 -26
  1031. data/src/core/lib/{gpr/tls_pthread.cc → slice/slice_api.cc} +15 -6
  1032. data/src/core/lib/slice/slice_buffer.cc +8 -8
  1033. data/src/core/lib/slice/slice_intern.cc +23 -32
  1034. data/src/core/lib/slice/slice_internal.h +19 -246
  1035. data/src/core/lib/slice/slice_refcount.cc +17 -0
  1036. data/src/core/lib/slice/slice_refcount.h +121 -0
  1037. data/src/core/lib/slice/slice_refcount_base.h +173 -0
  1038. data/src/core/lib/slice/slice_split.cc +100 -0
  1039. data/src/core/lib/slice/slice_split.h +40 -0
  1040. data/src/core/lib/slice/slice_string_helpers.cc +0 -83
  1041. data/src/core/lib/slice/slice_string_helpers.h +0 -11
  1042. data/src/core/lib/slice/slice_utils.h +9 -0
  1043. data/src/core/lib/slice/static_slice.cc +529 -0
  1044. data/src/core/lib/slice/static_slice.h +331 -0
  1045. data/src/core/lib/surface/api_trace.cc +2 -1
  1046. data/src/core/lib/surface/api_trace.h +1 -0
  1047. data/src/core/lib/surface/builtins.cc +49 -0
  1048. data/src/core/lib/surface/builtins.h +26 -0
  1049. data/src/core/lib/surface/byte_buffer_reader.cc +3 -48
  1050. data/src/core/lib/surface/call.cc +252 -241
  1051. data/src/core/lib/surface/call.h +12 -6
  1052. data/src/core/lib/surface/call_details.cc +10 -10
  1053. data/src/core/lib/surface/call_log_batch.cc +52 -60
  1054. data/src/core/lib/surface/channel.cc +99 -85
  1055. data/src/core/lib/surface/channel.h +60 -9
  1056. data/src/core/lib/surface/channel_init.cc +23 -76
  1057. data/src/core/lib/surface/channel_init.h +52 -44
  1058. data/src/core/lib/surface/channel_ping.cc +4 -6
  1059. data/src/core/lib/surface/channel_stack_type.cc +2 -1
  1060. data/src/core/lib/surface/completion_queue.cc +179 -188
  1061. data/src/core/lib/surface/completion_queue.h +18 -17
  1062. data/src/core/lib/surface/completion_queue_factory.cc +3 -3
  1063. data/src/core/lib/surface/completion_queue_factory.h +1 -0
  1064. data/src/core/lib/surface/event_string.cc +19 -25
  1065. data/src/core/lib/surface/event_string.h +3 -1
  1066. data/src/core/lib/surface/init.cc +44 -74
  1067. data/src/core/lib/surface/init.h +10 -2
  1068. data/src/core/lib/surface/init_secure.cc +36 -17
  1069. data/src/core/lib/surface/lame_client.cc +62 -61
  1070. data/src/core/lib/surface/lame_client.h +5 -0
  1071. data/src/core/lib/surface/metadata_array.cc +2 -2
  1072. data/src/core/lib/surface/server.cc +1314 -1305
  1073. data/src/core/lib/surface/server.h +475 -45
  1074. data/src/core/lib/surface/validate_metadata.cc +55 -24
  1075. data/src/core/lib/surface/validate_metadata.h +6 -2
  1076. data/src/core/lib/surface/version.cc +2 -2
  1077. data/src/core/lib/transport/bdp_estimator.cc +2 -2
  1078. data/src/core/lib/transport/bdp_estimator.h +2 -1
  1079. data/src/core/lib/transport/byte_stream.cc +5 -5
  1080. data/src/core/lib/transport/byte_stream.h +19 -13
  1081. data/src/core/lib/transport/connectivity_state.cc +32 -23
  1082. data/src/core/lib/transport/connectivity_state.h +33 -17
  1083. data/src/core/lib/transport/error_utils.cc +71 -21
  1084. data/src/core/lib/transport/error_utils.h +16 -4
  1085. data/src/core/lib/transport/metadata.cc +60 -25
  1086. data/src/core/lib/transport/metadata.h +17 -14
  1087. data/src/core/lib/transport/metadata_batch.cc +41 -339
  1088. data/src/core/lib/transport/metadata_batch.h +932 -69
  1089. data/src/core/lib/transport/parsed_metadata.h +263 -0
  1090. data/src/core/lib/transport/pid_controller.cc +4 -4
  1091. data/src/core/lib/transport/static_metadata.cc +718 -831
  1092. data/src/core/lib/transport/static_metadata.h +115 -372
  1093. data/src/core/lib/transport/status_conversion.cc +6 -14
  1094. data/src/core/lib/transport/status_metadata.cc +5 -3
  1095. data/src/core/lib/transport/timeout_encoding.cc +4 -4
  1096. data/src/core/lib/transport/transport.cc +15 -14
  1097. data/src/core/lib/transport/transport.h +29 -13
  1098. data/src/core/lib/transport/transport_op_string.cc +91 -112
  1099. data/src/core/lib/uri/uri_parser.cc +135 -258
  1100. data/src/core/lib/uri/uri_parser.h +60 -23
  1101. data/src/core/plugin_registry/grpc_plugin_registry.cc +136 -44
  1102. data/src/core/tsi/alts/crypt/aes_gcm.cc +6 -5
  1103. data/src/core/tsi/alts/crypt/gsec.cc +5 -4
  1104. data/src/core/tsi/alts/crypt/gsec.h +5 -0
  1105. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +13 -12
  1106. data/src/core/tsi/alts/frame_protector/frame_handler.cc +18 -17
  1107. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +56 -45
  1108. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +10 -7
  1109. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +116 -55
  1110. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +9 -1
  1111. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +2 -1
  1112. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +3 -3
  1113. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +2 -2
  1114. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +1 -1
  1115. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h +2 -3
  1116. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +8 -6
  1117. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +6 -6
  1118. data/src/core/tsi/fake_transport_security.cc +41 -26
  1119. data/src/core/tsi/local_transport_security.cc +41 -74
  1120. data/src/core/tsi/local_transport_security.h +6 -7
  1121. data/src/core/tsi/ssl/session_cache/ssl_session.h +0 -2
  1122. data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +1 -1
  1123. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +20 -55
  1124. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +7 -7
  1125. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +2 -2
  1126. data/src/core/tsi/ssl_transport_security.cc +262 -113
  1127. data/src/core/tsi/ssl_transport_security.h +32 -19
  1128. data/src/core/tsi/ssl_types.h +0 -2
  1129. data/src/core/tsi/transport_security.cc +25 -11
  1130. data/src/core/tsi/transport_security.h +22 -10
  1131. data/src/core/tsi/transport_security_grpc.h +3 -3
  1132. data/src/core/tsi/transport_security_interface.h +35 -4
  1133. data/src/ruby/bin/math_services_pb.rb +5 -5
  1134. data/src/ruby/ext/grpc/extconf.rb +25 -9
  1135. data/src/ruby/ext/grpc/rb_byte_buffer.c +2 -1
  1136. data/src/ruby/ext/grpc/rb_call.c +17 -8
  1137. data/src/ruby/ext/grpc/rb_call.h +4 -0
  1138. data/src/ruby/ext/grpc/rb_call_credentials.c +62 -17
  1139. data/src/ruby/ext/grpc/rb_channel.c +19 -8
  1140. data/src/ruby/ext/grpc/rb_channel_args.c +2 -2
  1141. data/src/ruby/ext/grpc/rb_channel_credentials.c +24 -5
  1142. data/src/ruby/ext/grpc/rb_channel_credentials.h +5 -0
  1143. data/src/ruby/ext/grpc/rb_completion_queue.c +3 -2
  1144. data/src/ruby/ext/grpc/rb_compression_options.c +6 -5
  1145. data/src/ruby/ext/grpc/rb_enable_cpp.cc +1 -1
  1146. data/src/ruby/ext/grpc/rb_event_thread.c +4 -2
  1147. data/src/ruby/ext/grpc/rb_grpc.c +9 -4
  1148. data/src/ruby/ext/grpc/rb_grpc.h +1 -0
  1149. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +54 -18
  1150. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +99 -45
  1151. data/src/ruby/ext/grpc/rb_server.c +19 -6
  1152. data/src/ruby/ext/grpc/rb_server_credentials.c +22 -6
  1153. data/src/ruby/ext/grpc/rb_server_credentials.h +5 -0
  1154. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +218 -0
  1155. data/src/ruby/ext/grpc/rb_xds_channel_credentials.h +37 -0
  1156. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +170 -0
  1157. data/src/ruby/ext/grpc/rb_xds_server_credentials.h +37 -0
  1158. data/src/ruby/lib/grpc/errors.rb +103 -42
  1159. data/src/ruby/lib/grpc/generic/active_call.rb +2 -3
  1160. data/src/ruby/lib/grpc/generic/client_stub.rb +5 -3
  1161. data/src/ruby/lib/grpc/generic/interceptors.rb +5 -5
  1162. data/src/ruby/lib/grpc/generic/rpc_server.rb +9 -10
  1163. data/src/ruby/lib/grpc/generic/service.rb +5 -4
  1164. data/src/ruby/lib/grpc/structs.rb +1 -1
  1165. data/src/ruby/lib/grpc/version.rb +1 -1
  1166. data/src/ruby/pb/generate_proto_ruby.sh +5 -3
  1167. data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +3 -3
  1168. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +51 -0
  1169. data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +2 -2
  1170. data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +64 -14
  1171. data/src/ruby/spec/call_spec.rb +1 -1
  1172. data/src/ruby/spec/channel_credentials_spec.rb +42 -0
  1173. data/src/ruby/spec/channel_spec.rb +17 -6
  1174. data/src/ruby/spec/client_auth_spec.rb +27 -1
  1175. data/src/ruby/spec/client_server_spec.rb +1 -1
  1176. data/src/ruby/spec/debug_message_spec.rb +134 -0
  1177. data/src/ruby/spec/errors_spec.rb +1 -1
  1178. data/src/ruby/spec/generic/active_call_spec.rb +21 -10
  1179. data/src/ruby/spec/generic/client_stub_spec.rb +4 -4
  1180. data/src/ruby/spec/generic/rpc_server_spec.rb +1 -1
  1181. data/src/ruby/spec/generic/service_spec.rb +2 -0
  1182. data/src/ruby/spec/pb/codegen/grpc/testing/package_options_import2.proto +23 -0
  1183. data/src/ruby/spec/pb/codegen/grpc/testing/package_options_ruby_style.proto +7 -0
  1184. data/src/ruby/spec/pb/codegen/grpc/testing/same_package_service_name.proto +27 -0
  1185. data/src/ruby/spec/pb/codegen/grpc/testing/same_ruby_package_service_name.proto +29 -0
  1186. data/src/ruby/spec/pb/codegen/package_option_spec.rb +29 -7
  1187. data/src/ruby/spec/server_credentials_spec.rb +25 -0
  1188. data/src/ruby/spec/server_spec.rb +22 -0
  1189. data/src/ruby/spec/support/services.rb +10 -4
  1190. data/src/ruby/spec/testdata/ca.pem +18 -13
  1191. data/src/ruby/spec/testdata/client.key +26 -14
  1192. data/src/ruby/spec/testdata/client.pem +18 -12
  1193. data/src/ruby/spec/testdata/server1.key +26 -14
  1194. data/src/ruby/spec/testdata/server1.pem +20 -14
  1195. data/src/ruby/spec/user_agent_spec.rb +74 -0
  1196. data/third_party/abseil-cpp/absl/algorithm/container.h +1764 -0
  1197. data/third_party/abseil-cpp/absl/base/attributes.h +122 -41
  1198. data/third_party/abseil-cpp/absl/base/call_once.h +3 -10
  1199. data/third_party/abseil-cpp/absl/base/casts.h +9 -6
  1200. data/third_party/abseil-cpp/absl/base/config.h +97 -26
  1201. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +442 -335
  1202. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +169 -0
  1203. data/third_party/abseil-cpp/absl/base/internal/dynamic_annotations.h +398 -0
  1204. data/third_party/abseil-cpp/absl/base/internal/endian.h +61 -0
  1205. data/third_party/abseil-cpp/absl/base/internal/exponential_biased.cc +93 -0
  1206. data/third_party/abseil-cpp/absl/base/internal/exponential_biased.h +130 -0
  1207. data/third_party/abseil-cpp/absl/base/internal/invoke.h +4 -4
  1208. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +620 -0
  1209. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h +126 -0
  1210. data/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +31 -4
  1211. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +35 -33
  1212. data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +17 -5
  1213. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +36 -40
  1214. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +33 -30
  1215. data/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc +2 -2
  1216. data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +11 -3
  1217. data/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc +2 -2
  1218. data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +11 -11
  1219. data/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +5 -5
  1220. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +28 -5
  1221. data/third_party/abseil-cpp/absl/base/internal/sysinfo.h +8 -0
  1222. data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +9 -6
  1223. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +54 -48
  1224. data/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc +111 -7
  1225. data/third_party/abseil-cpp/absl/base/internal/tsan_mutex_interface.h +3 -1
  1226. data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +0 -76
  1227. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +1 -3
  1228. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +3 -3
  1229. data/third_party/abseil-cpp/absl/base/log_severity.h +4 -4
  1230. data/third_party/abseil-cpp/absl/base/macros.h +47 -109
  1231. data/third_party/abseil-cpp/absl/base/optimization.h +69 -6
  1232. data/third_party/abseil-cpp/absl/base/options.h +31 -4
  1233. data/third_party/abseil-cpp/absl/base/policy_checks.h +1 -1
  1234. data/third_party/abseil-cpp/absl/base/port.h +0 -1
  1235. data/third_party/abseil-cpp/absl/base/thread_annotations.h +95 -40
  1236. data/third_party/abseil-cpp/absl/container/fixed_array.h +532 -0
  1237. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +606 -0
  1238. data/third_party/abseil-cpp/absl/container/inlined_vector.h +38 -39
  1239. data/third_party/abseil-cpp/absl/container/internal/common.h +206 -0
  1240. data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +34 -9
  1241. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +460 -0
  1242. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +161 -0
  1243. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +208 -0
  1244. data/third_party/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h +85 -0
  1245. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +274 -0
  1246. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +322 -0
  1247. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +31 -0
  1248. data/third_party/abseil-cpp/absl/container/internal/have_sse.h +50 -0
  1249. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +141 -66
  1250. data/third_party/abseil-cpp/absl/container/internal/layout.h +743 -0
  1251. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +197 -0
  1252. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +61 -0
  1253. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1903 -0
  1254. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +139 -0
  1255. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.h +32 -0
  1256. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +1949 -0
  1257. data/third_party/abseil-cpp/absl/debugging/internal/demangle.h +71 -0
  1258. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +382 -0
  1259. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +134 -0
  1260. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +199 -0
  1261. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +134 -0
  1262. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +80 -0
  1263. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +108 -0
  1264. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +253 -0
  1265. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +24 -0
  1266. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +93 -0
  1267. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +346 -0
  1268. data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +147 -0
  1269. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +173 -0
  1270. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.h +158 -0
  1271. data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +140 -0
  1272. data/third_party/abseil-cpp/absl/debugging/stacktrace.h +231 -0
  1273. data/third_party/abseil-cpp/absl/debugging/symbolize.cc +36 -0
  1274. data/third_party/abseil-cpp/absl/debugging/symbolize.h +99 -0
  1275. data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +101 -0
  1276. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +1560 -0
  1277. data/third_party/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +40 -0
  1278. data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +81 -0
  1279. data/third_party/abseil-cpp/absl/functional/bind_front.h +184 -0
  1280. data/third_party/abseil-cpp/absl/functional/function_ref.h +139 -0
  1281. data/third_party/abseil-cpp/absl/functional/internal/front_binder.h +95 -0
  1282. data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +106 -0
  1283. data/third_party/abseil-cpp/absl/hash/hash.h +325 -0
  1284. data/third_party/abseil-cpp/absl/hash/internal/city.cc +349 -0
  1285. data/third_party/abseil-cpp/absl/hash/internal/city.h +78 -0
  1286. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +70 -0
  1287. data/third_party/abseil-cpp/absl/hash/internal/hash.h +1045 -0
  1288. data/third_party/abseil-cpp/absl/hash/internal/wyhash.cc +111 -0
  1289. data/third_party/abseil-cpp/absl/hash/internal/wyhash.h +48 -0
  1290. data/third_party/abseil-cpp/absl/memory/memory.h +4 -0
  1291. data/third_party/abseil-cpp/absl/meta/type_traits.h +18 -10
  1292. data/third_party/abseil-cpp/absl/numeric/bits.h +177 -0
  1293. data/third_party/abseil-cpp/absl/numeric/int128.cc +13 -27
  1294. data/third_party/abseil-cpp/absl/numeric/int128.h +16 -15
  1295. data/third_party/abseil-cpp/absl/numeric/internal/bits.h +358 -0
  1296. data/third_party/abseil-cpp/absl/numeric/internal/representation.h +55 -0
  1297. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +69 -0
  1298. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +396 -0
  1299. data/third_party/abseil-cpp/absl/status/status.cc +452 -0
  1300. data/third_party/abseil-cpp/absl/status/status.h +878 -0
  1301. data/third_party/abseil-cpp/absl/status/status_payload_printer.cc +38 -0
  1302. data/third_party/abseil-cpp/absl/status/status_payload_printer.h +51 -0
  1303. data/third_party/abseil-cpp/absl/status/statusor.cc +71 -0
  1304. data/third_party/abseil-cpp/absl/status/statusor.h +760 -0
  1305. data/third_party/abseil-cpp/absl/strings/charconv.cc +7 -7
  1306. data/third_party/abseil-cpp/absl/strings/cord.cc +1953 -0
  1307. data/third_party/abseil-cpp/absl/strings/cord.h +1394 -0
  1308. data/third_party/abseil-cpp/absl/strings/escaping.cc +13 -13
  1309. data/third_party/abseil-cpp/absl/strings/internal/char_map.h +1 -1
  1310. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +1 -1
  1311. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +2 -2
  1312. data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +8 -8
  1313. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +83 -0
  1314. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +543 -0
  1315. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +146 -0
  1316. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +897 -0
  1317. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +589 -0
  1318. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h +114 -0
  1319. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +236 -136
  1320. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +150 -64
  1321. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +16 -2
  1322. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +29 -21
  1323. data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +21 -14
  1324. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +31 -7
  1325. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +147 -135
  1326. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +1017 -87
  1327. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +17 -3
  1328. data/third_party/abseil-cpp/absl/strings/internal/str_format/output.h +4 -12
  1329. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +22 -6
  1330. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +27 -11
  1331. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +15 -40
  1332. data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +64 -0
  1333. data/third_party/abseil-cpp/absl/strings/match.cc +6 -3
  1334. data/third_party/abseil-cpp/absl/strings/match.h +16 -6
  1335. data/third_party/abseil-cpp/absl/strings/numbers.cc +132 -4
  1336. data/third_party/abseil-cpp/absl/strings/numbers.h +10 -10
  1337. data/third_party/abseil-cpp/absl/strings/str_cat.cc +4 -4
  1338. data/third_party/abseil-cpp/absl/strings/str_cat.h +1 -1
  1339. data/third_party/abseil-cpp/absl/strings/str_format.h +289 -13
  1340. data/third_party/abseil-cpp/absl/strings/str_join.h +1 -1
  1341. data/third_party/abseil-cpp/absl/strings/str_split.cc +2 -2
  1342. data/third_party/abseil-cpp/absl/strings/str_split.h +39 -4
  1343. data/third_party/abseil-cpp/absl/strings/string_view.h +26 -19
  1344. data/third_party/abseil-cpp/absl/strings/substitute.cc +5 -5
  1345. data/third_party/abseil-cpp/absl/strings/substitute.h +32 -29
  1346. data/third_party/abseil-cpp/absl/synchronization/barrier.cc +52 -0
  1347. data/third_party/abseil-cpp/absl/synchronization/barrier.h +79 -0
  1348. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +57 -0
  1349. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +99 -0
  1350. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +140 -0
  1351. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +60 -0
  1352. data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +154 -0
  1353. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +698 -0
  1354. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h +141 -0
  1355. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +156 -0
  1356. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +106 -0
  1357. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +115 -0
  1358. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +428 -0
  1359. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +155 -0
  1360. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +2751 -0
  1361. data/third_party/abseil-cpp/absl/synchronization/mutex.h +1082 -0
  1362. data/third_party/abseil-cpp/absl/synchronization/notification.cc +78 -0
  1363. data/third_party/abseil-cpp/absl/synchronization/notification.h +123 -0
  1364. data/third_party/abseil-cpp/absl/time/civil_time.cc +175 -0
  1365. data/third_party/abseil-cpp/absl/time/civil_time.h +538 -0
  1366. data/third_party/abseil-cpp/absl/time/clock.cc +585 -0
  1367. data/third_party/abseil-cpp/absl/time/clock.h +74 -0
  1368. data/third_party/abseil-cpp/absl/time/duration.cc +954 -0
  1369. data/third_party/abseil-cpp/absl/time/format.cc +160 -0
  1370. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time.h +332 -0
  1371. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +628 -0
  1372. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +386 -0
  1373. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h +102 -0
  1374. data/third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc +94 -0
  1375. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +140 -0
  1376. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h +52 -0
  1377. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +1029 -0
  1378. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +45 -0
  1379. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +76 -0
  1380. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +113 -0
  1381. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +93 -0
  1382. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +965 -0
  1383. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +137 -0
  1384. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +315 -0
  1385. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +55 -0
  1386. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +187 -0
  1387. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +159 -0
  1388. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h +132 -0
  1389. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +122 -0
  1390. data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +116 -0
  1391. data/third_party/abseil-cpp/absl/time/internal/get_current_time_chrono.inc +31 -0
  1392. data/third_party/abseil-cpp/absl/time/internal/get_current_time_posix.inc +24 -0
  1393. data/third_party/abseil-cpp/absl/time/time.cc +500 -0
  1394. data/third_party/abseil-cpp/absl/time/time.h +1585 -0
  1395. data/third_party/abseil-cpp/absl/types/bad_variant_access.cc +64 -0
  1396. data/third_party/abseil-cpp/absl/types/bad_variant_access.h +82 -0
  1397. data/third_party/abseil-cpp/absl/types/internal/variant.h +1646 -0
  1398. data/third_party/abseil-cpp/absl/types/optional.h +9 -9
  1399. data/third_party/abseil-cpp/absl/types/span.h +49 -36
  1400. data/third_party/abseil-cpp/absl/types/variant.h +866 -0
  1401. data/third_party/abseil-cpp/absl/utility/utility.h +2 -2
  1402. data/third_party/address_sorting/address_sorting_posix.c +1 -0
  1403. data/third_party/address_sorting/include/address_sorting/address_sorting.h +2 -0
  1404. data/third_party/boringssl-with-bazel/err_data.c +789 -707
  1405. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +57 -52
  1406. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +22 -23
  1407. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c +0 -2
  1408. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c +5 -5
  1409. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +6 -1
  1410. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +6 -6
  1411. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +16 -23
  1412. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +29 -27
  1413. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c +3 -3
  1414. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_print.c +19 -29
  1415. data/third_party/boringssl-with-bazel/src/crypto/{x509 → asn1}/a_strex.c +269 -272
  1416. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +106 -153
  1417. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +5 -5
  1418. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +23 -11
  1419. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +3 -42
  1420. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utf8.c +1 -1
  1421. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +16 -22
  1422. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c +1 -1
  1423. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +1 -1
  1424. data/third_party/boringssl-with-bazel/src/crypto/{x509 → asn1}/charmap.h +0 -0
  1425. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_enum.c +1 -1
  1426. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +1 -1
  1427. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c +1 -1
  1428. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +196 -0
  1429. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +35 -86
  1430. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +326 -281
  1431. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +15 -26
  1432. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +20 -75
  1433. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +0 -2
  1434. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +3 -2
  1435. data/third_party/boringssl-with-bazel/src/crypto/asn1/time_support.c +1 -1
  1436. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +11 -8
  1437. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +2 -0
  1438. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +1 -7
  1439. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +1 -5
  1440. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +0 -4
  1441. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +1 -7
  1442. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +1 -6
  1443. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +3 -17
  1444. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +4 -0
  1445. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +156 -0
  1446. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c +3 -10
  1447. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +8 -9
  1448. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c +9 -0
  1449. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +68 -45
  1450. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +38 -47
  1451. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c +49 -65
  1452. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c +1 -1
  1453. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +6 -81
  1454. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +1 -88
  1455. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +101 -3
  1456. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +120 -273
  1457. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +14 -3
  1458. data/third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-win.c +41 -0
  1459. data/third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c +18 -7
  1460. data/third_party/boringssl-with-bazel/src/crypto/cpu-arm.c +3 -3
  1461. data/third_party/boringssl-with-bazel/src/crypto/cpu-intel.c +13 -4
  1462. data/third_party/boringssl-with-bazel/src/crypto/crypto.c +11 -0
  1463. data/third_party/boringssl-with-bazel/src/{third_party/fiat → crypto/curve25519}/curve25519.c +19 -27
  1464. data/third_party/boringssl-with-bazel/src/{third_party/fiat → crypto/curve25519}/curve25519_tables.h +13 -21
  1465. data/third_party/boringssl-with-bazel/src/{third_party/fiat → crypto/curve25519}/internal.h +15 -23
  1466. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c +1 -1
  1467. data/third_party/boringssl-with-bazel/src/crypto/{dh → dh_extra}/dh_asn1.c +0 -0
  1468. data/third_party/boringssl-with-bazel/src/crypto/{dh → dh_extra}/params.c +179 -0
  1469. data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +31 -3
  1470. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +19 -43
  1471. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +55 -4
  1472. data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/is_fips.c → dsa/internal.h} +16 -11
  1473. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +2 -17
  1474. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +385 -0
  1475. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +56 -0
  1476. data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c +2 -2
  1477. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +120 -112
  1478. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +13 -0
  1479. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +159 -0
  1480. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c +6 -2
  1481. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +32 -34
  1482. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.c +1 -1
  1483. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c +17 -1
  1484. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +6 -2
  1485. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c +13 -20
  1486. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +28 -12
  1487. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +3 -3
  1488. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c +3 -2
  1489. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +40 -16
  1490. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c +8 -8
  1491. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.c +30 -154
  1492. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c +0 -4
  1493. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c +5 -9
  1494. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +32 -16
  1495. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +208 -37
  1496. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/des.c +10 -11
  1497. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/internal.h +1 -3
  1498. data/third_party/boringssl-with-bazel/src/crypto/{dh → fipsmodule/dh}/check.c +0 -0
  1499. data/third_party/boringssl-with-bazel/src/crypto/{dh → fipsmodule/dh}/dh.c +149 -211
  1500. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +11 -0
  1501. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c +24 -0
  1502. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +87 -160
  1503. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +305 -117
  1504. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +22 -29
  1505. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c +96 -55
  1506. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.c +25 -7
  1507. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +434 -165
  1508. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +63 -71
  1509. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +18 -25
  1510. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64-table.h +9481 -9485
  1511. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64.c +104 -122
  1512. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +740 -0
  1513. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +297 -0
  1514. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +90 -11
  1515. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c +125 -148
  1516. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +189 -3
  1517. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.c +3 -3
  1518. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +61 -18
  1519. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c +2 -2
  1520. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +117 -91
  1521. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +39 -0
  1522. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +56 -72
  1523. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +56 -73
  1524. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +33 -22
  1525. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +9 -8
  1526. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +9 -8
  1527. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +17 -13
  1528. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c +1 -1
  1529. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +1 -22
  1530. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +2 -1
  1531. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c +137 -0
  1532. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.h +49 -0
  1533. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/getrandom_fillin.h +64 -0
  1534. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +62 -5
  1535. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +150 -56
  1536. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +49 -129
  1537. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.c +4 -0
  1538. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +5 -0
  1539. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +116 -66
  1540. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +135 -63
  1541. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +79 -0
  1542. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +231 -11
  1543. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +93 -107
  1544. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +91 -113
  1545. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +86 -113
  1546. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +618 -0
  1547. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c +219 -121
  1548. data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +9 -2
  1549. data/third_party/boringssl-with-bazel/src/crypto/internal.h +125 -0
  1550. data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +253 -0
  1551. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c +28 -23
  1552. data/third_party/boringssl-with-bazel/src/crypto/mem.c +75 -25
  1553. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +10 -6
  1554. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +15 -1
  1555. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c +0 -9
  1556. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c +0 -2
  1557. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +0 -8
  1558. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +0 -2
  1559. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +0 -4
  1560. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +16 -7
  1561. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c +9 -4
  1562. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +156 -15
  1563. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +7 -0
  1564. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +131 -53
  1565. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +11 -8
  1566. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c +13 -11
  1567. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c +4 -0
  1568. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +1 -0
  1569. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +6 -6
  1570. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/fuchsia.c +4 -0
  1571. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +34 -0
  1572. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +5 -1
  1573. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +20 -0
  1574. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c +1 -2
  1575. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +6 -6
  1576. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +7 -13
  1577. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +4 -28
  1578. data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +4 -0
  1579. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +318 -0
  1580. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +1399 -0
  1581. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +858 -0
  1582. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +766 -0
  1583. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +15 -11
  1584. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +11 -1
  1585. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +4 -4
  1586. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +1 -0
  1587. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +2 -0
  1588. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +345 -13
  1589. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +246 -0
  1590. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +20 -5
  1591. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +13 -8
  1592. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +2 -0
  1593. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +1 -180
  1594. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +7 -2
  1595. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.c +0 -67
  1596. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +24 -47
  1597. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +24 -39
  1598. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +29 -23
  1599. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +1 -5
  1600. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c +2 -1
  1601. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +52 -89
  1602. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +83 -12
  1603. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +9 -4
  1604. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.c +67 -67
  1605. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +29 -26
  1606. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +87 -113
  1607. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +54 -74
  1608. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +99 -25
  1609. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +15 -15
  1610. data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c +3 -0
  1611. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +21 -19
  1612. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +13 -26
  1613. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +21 -34
  1614. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +52 -28
  1615. data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c +2 -0
  1616. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +49 -59
  1617. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pkey.c +2 -2
  1618. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +21 -172
  1619. data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.c +5 -8
  1620. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +25 -0
  1621. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +2 -0
  1622. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +75 -15
  1623. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +5 -2
  1624. data/third_party/boringssl-with-bazel/src/crypto/x509v3/ext_dat.h +1 -4
  1625. data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +28 -0
  1626. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c +1 -0
  1627. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c +6 -4
  1628. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_int.h +1 -1
  1629. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c +1 -0
  1630. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c +4 -3
  1631. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c +27 -8
  1632. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +42 -32
  1633. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bitst.c +6 -3
  1634. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +33 -28
  1635. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +10 -12
  1636. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_crld.c +4 -2
  1637. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_enum.c +7 -1
  1638. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_genn.c +42 -22
  1639. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ia5.c +3 -4
  1640. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_info.c +1 -1
  1641. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +27 -36
  1642. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ncons.c +112 -55
  1643. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pci.c +2 -1
  1644. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +15 -14
  1645. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +128 -42
  1646. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +8 -7
  1647. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +86 -44
  1648. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +25 -4
  1649. data/third_party/boringssl-with-bazel/src/include/openssl/aes.h +16 -4
  1650. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +119 -0
  1651. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +1035 -625
  1652. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +2 -176
  1653. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +71 -14
  1654. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +7 -1
  1655. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +62 -0
  1656. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +3 -3
  1657. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +32 -7
  1658. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +1 -1
  1659. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +29 -6
  1660. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +8 -5
  1661. data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +22 -32
  1662. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +32 -7
  1663. data/third_party/boringssl-with-bazel/src/include/openssl/des.h +6 -0
  1664. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +82 -20
  1665. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +20 -2
  1666. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +16 -0
  1667. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +20 -2
  1668. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +39 -0
  1669. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +5 -2
  1670. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +110 -51
  1671. data/third_party/boringssl-with-bazel/src/{crypto/x509/x509_r2x.c → include/openssl/evp_errors.h} +41 -58
  1672. data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +4 -0
  1673. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +350 -0
  1674. data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +14 -12
  1675. data/third_party/boringssl-with-bazel/src/include/openssl/lhash.h +4 -205
  1676. data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +12 -3
  1677. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +5 -0
  1678. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +26 -6
  1679. data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +3 -0
  1680. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +194 -146
  1681. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +33 -8
  1682. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +9 -1
  1683. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +8 -19
  1684. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +135 -63
  1685. data/third_party/boringssl-with-bazel/src/include/openssl/sha.h +26 -0
  1686. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +39 -16
  1687. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +697 -194
  1688. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +54 -38
  1689. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +310 -0
  1690. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +2071 -826
  1691. data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +16 -678
  1692. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +639 -450
  1693. data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +18 -5
  1694. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +16 -22
  1695. data/third_party/boringssl-with-bazel/src/ssl/d1_lib.cc +3 -3
  1696. data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +1 -1
  1697. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +13 -4
  1698. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +1084 -0
  1699. data/third_party/boringssl-with-bazel/src/ssl/{t1_lib.cc → extensions.cc} +1083 -634
  1700. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +478 -78
  1701. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +122 -56
  1702. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +340 -236
  1703. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +199 -40
  1704. data/third_party/boringssl-with-bazel/src/ssl/internal.h +607 -209
  1705. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +17 -11
  1706. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +2 -4
  1707. data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +35 -40
  1708. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +77 -8
  1709. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +11 -12
  1710. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +10 -11
  1711. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +34 -31
  1712. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +169 -111
  1713. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +15 -2
  1714. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +179 -111
  1715. data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +9 -0
  1716. data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +12 -17
  1717. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +12 -8
  1718. data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +28 -23
  1719. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +53 -30
  1720. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +81 -37
  1721. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +411 -235
  1722. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +183 -166
  1723. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +434 -151
  1724. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +65 -25
  1725. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +5 -3
  1726. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h +245 -175
  1727. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h +135 -75
  1728. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +1593 -1672
  1729. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h +512 -503
  1730. data/third_party/re2/re2/bitmap256.h +117 -0
  1731. data/third_party/re2/re2/bitstate.cc +385 -0
  1732. data/third_party/re2/re2/compile.cc +1261 -0
  1733. data/third_party/re2/re2/dfa.cc +2118 -0
  1734. data/third_party/re2/re2/filtered_re2.cc +137 -0
  1735. data/third_party/re2/re2/filtered_re2.h +114 -0
  1736. data/third_party/re2/re2/mimics_pcre.cc +197 -0
  1737. data/third_party/re2/re2/nfa.cc +713 -0
  1738. data/third_party/re2/re2/onepass.cc +623 -0
  1739. data/third_party/re2/re2/parse.cc +2483 -0
  1740. data/third_party/re2/re2/perl_groups.cc +119 -0
  1741. data/third_party/re2/re2/pod_array.h +55 -0
  1742. data/third_party/re2/re2/prefilter.cc +711 -0
  1743. data/third_party/re2/re2/prefilter.h +108 -0
  1744. data/third_party/re2/re2/prefilter_tree.cc +407 -0
  1745. data/third_party/re2/re2/prefilter_tree.h +139 -0
  1746. data/third_party/re2/re2/prog.cc +1166 -0
  1747. data/third_party/re2/re2/prog.h +455 -0
  1748. data/third_party/re2/re2/re2.cc +1331 -0
  1749. data/third_party/re2/re2/re2.h +1017 -0
  1750. data/third_party/re2/re2/regexp.cc +987 -0
  1751. data/third_party/re2/re2/regexp.h +665 -0
  1752. data/third_party/re2/re2/set.cc +176 -0
  1753. data/third_party/re2/re2/set.h +85 -0
  1754. data/third_party/re2/re2/simplify.cc +665 -0
  1755. data/third_party/re2/re2/sparse_array.h +392 -0
  1756. data/third_party/re2/re2/sparse_set.h +264 -0
  1757. data/third_party/re2/re2/stringpiece.cc +65 -0
  1758. data/third_party/re2/re2/stringpiece.h +210 -0
  1759. data/third_party/re2/re2/tostring.cc +351 -0
  1760. data/third_party/re2/re2/unicode_casefold.cc +582 -0
  1761. data/third_party/re2/re2/unicode_casefold.h +78 -0
  1762. data/third_party/re2/re2/unicode_groups.cc +6269 -0
  1763. data/third_party/re2/re2/unicode_groups.h +67 -0
  1764. data/third_party/re2/re2/walker-inl.h +246 -0
  1765. data/third_party/re2/util/benchmark.h +156 -0
  1766. data/third_party/re2/util/flags.h +26 -0
  1767. data/third_party/re2/util/logging.h +109 -0
  1768. data/third_party/re2/util/malloc_counter.h +19 -0
  1769. data/third_party/re2/util/mix.h +41 -0
  1770. data/third_party/re2/util/mutex.h +148 -0
  1771. data/third_party/re2/util/pcre.cc +1025 -0
  1772. data/third_party/re2/util/pcre.h +681 -0
  1773. data/third_party/re2/util/rune.cc +260 -0
  1774. data/third_party/re2/util/strutil.cc +149 -0
  1775. data/third_party/re2/util/strutil.h +21 -0
  1776. data/third_party/re2/util/test.h +50 -0
  1777. data/third_party/re2/util/utf.h +44 -0
  1778. data/third_party/re2/util/util.h +42 -0
  1779. data/third_party/upb/upb/decode.c +668 -506
  1780. data/third_party/upb/upb/decode.h +50 -3
  1781. data/third_party/upb/upb/decode_fast.c +1053 -0
  1782. data/third_party/upb/upb/decode_fast.h +153 -0
  1783. data/third_party/upb/upb/decode_internal.h +193 -0
  1784. data/third_party/upb/upb/def.c +2168 -0
  1785. data/third_party/upb/upb/def.h +337 -0
  1786. data/third_party/upb/upb/def.hpp +468 -0
  1787. data/third_party/upb/upb/encode.c +346 -213
  1788. data/third_party/upb/upb/encode.h +56 -4
  1789. data/third_party/upb/upb/msg.c +356 -70
  1790. data/third_party/upb/upb/msg.h +84 -45
  1791. data/third_party/upb/upb/msg_internal.h +687 -0
  1792. data/third_party/upb/upb/port_def.inc +187 -84
  1793. data/third_party/upb/upb/port_undef.inc +47 -7
  1794. data/third_party/upb/upb/reflection.c +400 -0
  1795. data/third_party/upb/upb/reflection.h +196 -0
  1796. data/third_party/upb/upb/reflection.hpp +37 -0
  1797. data/third_party/upb/upb/table.c +265 -336
  1798. data/third_party/upb/upb/{table.int.h → table_internal.h} +73 -229
  1799. data/third_party/upb/upb/text_encode.c +449 -0
  1800. data/third_party/upb/upb/text_encode.h +64 -0
  1801. data/third_party/upb/upb/upb.c +189 -135
  1802. data/third_party/upb/upb/upb.h +153 -150
  1803. data/third_party/upb/upb/upb.hpp +112 -0
  1804. data/third_party/upb/upb/upb_internal.h +58 -0
  1805. data/third_party/xxhash/xxhash.h +5325 -0
  1806. metadata +810 -204
  1807. data/src/core/ext/filters/client_channel/lb_policy/xds/xds.cc +0 -1754
  1808. data/src/core/ext/filters/client_channel/parse_address.cc +0 -237
  1809. data/src/core/ext/filters/client_channel/parse_address.h +0 -53
  1810. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc +0 -484
  1811. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +0 -181
  1812. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +0 -65
  1813. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +0 -38
  1814. data/src/core/ext/filters/client_channel/resolving_lb_policy.cc +0 -359
  1815. data/src/core/ext/filters/client_channel/resolving_lb_policy.h +0 -122
  1816. data/src/core/ext/filters/client_channel/service_config.cc +0 -261
  1817. data/src/core/ext/filters/client_channel/service_config.h +0 -193
  1818. data/src/core/ext/filters/client_channel/xds/xds_api.cc +0 -1779
  1819. data/src/core/ext/filters/client_channel/xds/xds_api.h +0 -280
  1820. data/src/core/ext/filters/client_channel/xds/xds_bootstrap.cc +0 -347
  1821. data/src/core/ext/filters/client_channel/xds/xds_bootstrap.h +0 -87
  1822. data/src/core/ext/filters/client_channel/xds/xds_channel.h +0 -46
  1823. data/src/core/ext/filters/client_channel/xds/xds_channel_secure.cc +0 -104
  1824. data/src/core/ext/filters/client_channel/xds/xds_client.cc +0 -2174
  1825. data/src/core/ext/filters/client_channel/xds/xds_client.h +0 -274
  1826. data/src/core/ext/filters/client_channel/xds/xds_client_stats.cc +0 -116
  1827. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +0 -210
  1828. data/src/core/ext/filters/workarounds/workaround_utils.cc +0 -53
  1829. data/src/core/ext/filters/workarounds/workaround_utils.h +0 -39
  1830. data/src/core/ext/transport/chttp2/client/authority.cc +0 -42
  1831. data/src/core/ext/transport/chttp2/client/authority.h +0 -36
  1832. data/src/core/ext/transport/chttp2/transport/hpack_table.cc +0 -246
  1833. data/src/core/ext/transport/chttp2/transport/hpack_table.h +0 -148
  1834. data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +0 -66
  1835. data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +0 -58
  1836. data/src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c +0 -246
  1837. data/src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.h +0 -905
  1838. data/src/core/ext/upb-generated/envoy/api/v2/cds.upb.c +0 -27
  1839. data/src/core/ext/upb-generated/envoy/api/v2/cds.upb.h +0 -53
  1840. data/src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c +0 -73
  1841. data/src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.h +0 -218
  1842. data/src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.c +0 -34
  1843. data/src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.h +0 -69
  1844. data/src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.c +0 -54
  1845. data/src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.h +0 -305
  1846. data/src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c +0 -390
  1847. data/src/core/ext/upb-generated/envoy/api/v2/cluster.upb.h +0 -1411
  1848. data/src/core/ext/upb-generated/envoy/api/v2/core/address.upb.c +0 -111
  1849. data/src/core/ext/upb-generated/envoy/api/v2/core/address.upb.h +0 -328
  1850. data/src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c +0 -292
  1851. data/src/core/ext/upb-generated/envoy/api/v2/core/base.upb.h +0 -847
  1852. data/src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.c +0 -95
  1853. data/src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.h +0 -322
  1854. data/src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.c +0 -196
  1855. data/src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.h +0 -642
  1856. data/src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.c +0 -168
  1857. data/src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.h +0 -658
  1858. data/src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.c +0 -35
  1859. data/src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.h +0 -80
  1860. data/src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.c +0 -132
  1861. data/src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.h +0 -436
  1862. data/src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c +0 -128
  1863. data/src/core/ext/upb-generated/envoy/api/v2/discovery.upb.h +0 -392
  1864. data/src/core/ext/upb-generated/envoy/api/v2/eds.upb.c +0 -30
  1865. data/src/core/ext/upb-generated/envoy/api/v2/eds.upb.h +0 -53
  1866. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.c +0 -17
  1867. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.h +0 -33
  1868. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.c +0 -88
  1869. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.h +0 -258
  1870. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.c +0 -111
  1871. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.h +0 -324
  1872. data/src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c +0 -91
  1873. data/src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.h +0 -240
  1874. data/src/core/ext/upb-generated/envoy/api/v2/lds.upb.c +0 -30
  1875. data/src/core/ext/upb-generated/envoy/api/v2/lds.upb.h +0 -53
  1876. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.c +0 -17
  1877. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.h +0 -33
  1878. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c +0 -144
  1879. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.h +0 -527
  1880. data/src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.c +0 -42
  1881. data/src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.h +0 -112
  1882. data/src/core/ext/upb-generated/envoy/api/v2/listener.upb.c +0 -104
  1883. data/src/core/ext/upb-generated/envoy/api/v2/listener.upb.h +0 -383
  1884. data/src/core/ext/upb-generated/envoy/api/v2/rds.upb.c +0 -29
  1885. data/src/core/ext/upb-generated/envoy/api/v2/rds.upb.h +0 -53
  1886. data/src/core/ext/upb-generated/envoy/api/v2/route/route.upb.c +0 -17
  1887. data/src/core/ext/upb-generated/envoy/api/v2/route/route.upb.h +0 -33
  1888. data/src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c +0 -793
  1889. data/src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.h +0 -2936
  1890. data/src/core/ext/upb-generated/envoy/api/v2/route.upb.c +0 -62
  1891. data/src/core/ext/upb-generated/envoy/api/v2/route.upb.h +0 -199
  1892. data/src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.c +0 -58
  1893. data/src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.h +0 -134
  1894. data/src/core/ext/upb-generated/envoy/api/v2/srds.upb.h +0 -53
  1895. data/src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c +0 -227
  1896. data/src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.h +0 -725
  1897. data/src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.c +0 -296
  1898. data/src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.h +0 -1072
  1899. data/src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.c +0 -32
  1900. data/src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.h +0 -65
  1901. data/src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.c +0 -23
  1902. data/src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.h +0 -50
  1903. data/src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.c +0 -52
  1904. data/src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.h +0 -130
  1905. data/src/core/ext/upb-generated/envoy/type/matcher/regex.upb.c +0 -47
  1906. data/src/core/ext/upb-generated/envoy/type/matcher/regex.upb.h +0 -108
  1907. data/src/core/ext/upb-generated/envoy/type/matcher/string.upb.c +0 -52
  1908. data/src/core/ext/upb-generated/envoy/type/matcher/string.upb.h +0 -133
  1909. data/src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.c +0 -87
  1910. data/src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.h +0 -258
  1911. data/src/core/ext/upb-generated/envoy/type/percent.upb.c +0 -38
  1912. data/src/core/ext/upb-generated/envoy/type/percent.upb.h +0 -87
  1913. data/src/core/ext/upb-generated/envoy/type/range.upb.c +0 -49
  1914. data/src/core/ext/upb-generated/envoy/type/range.upb.h +0 -112
  1915. data/src/core/ext/upb-generated/envoy/type/semantic_version.upb.c +0 -28
  1916. data/src/core/ext/upb-generated/envoy/type/semantic_version.upb.h +0 -62
  1917. data/src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.c +0 -88
  1918. data/src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.h +0 -249
  1919. data/src/core/ext/upb-generated/gogoproto/gogo.upb.c +0 -17
  1920. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c +0 -58
  1921. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h +0 -144
  1922. data/src/core/lib/gpr/arena.h +0 -47
  1923. data/src/core/lib/gpr/tls_gcc.h +0 -52
  1924. data/src/core/lib/gpr/tls_msvc.h +0 -52
  1925. data/src/core/lib/gpr/tls_pthread.h +0 -56
  1926. data/src/core/lib/gprpp/atomic.h +0 -104
  1927. data/src/core/lib/gprpp/map.h +0 -59
  1928. data/src/core/lib/gprpp/string_view.h +0 -60
  1929. data/src/core/lib/iomgr/endpoint_pair_uv.cc +0 -40
  1930. data/src/core/lib/iomgr/iomgr_posix.h +0 -26
  1931. data/src/core/lib/iomgr/iomgr_uv.cc +0 -43
  1932. data/src/core/lib/iomgr/poller/eventmanager_libuv.cc +0 -87
  1933. data/src/core/lib/iomgr/poller/eventmanager_libuv.h +0 -88
  1934. data/src/core/lib/iomgr/pollset_uv.cc +0 -93
  1935. data/src/core/lib/iomgr/sockaddr_custom.h +0 -54
  1936. data/src/core/lib/iomgr/socket_utils_uv.cc +0 -49
  1937. data/src/core/lib/iomgr/tcp_uv.cc +0 -418
  1938. data/src/core/lib/iomgr/timer_uv.cc +0 -66
  1939. data/src/core/lib/iomgr/udp_server.cc +0 -752
  1940. data/src/core/lib/iomgr/udp_server.h +0 -101
  1941. data/src/core/lib/security/transport/target_authority_table.cc +0 -75
  1942. data/src/core/lib/security/transport/target_authority_table.h +0 -40
  1943. data/src/core/lib/slice/slice_hash_table.h +0 -199
  1944. data/src/core/lib/slice/slice_weak_hash_table.h +0 -102
  1945. data/src/core/tsi/grpc_shadow_boringssl.h +0 -3311
  1946. data/third_party/abseil-cpp/absl/base/dynamic_annotations.cc +0 -129
  1947. data/third_party/abseil-cpp/absl/base/internal/bits.h +0 -218
  1948. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_locl.h +0 -104
  1949. data/third_party/boringssl-with-bazel/src/crypto/x509/vpm_int.h +0 -71
  1950. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pku.c +0 -110
  1951. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_sxnet.c +0 -274
  1952. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256.c +0 -1063
  1953. data/third_party/upb/upb/generated_util.h +0 -105
  1954. data/third_party/upb/upb/port.c +0 -26
@@ -0,0 +1,350 @@
1
+ /* Copyright (c) 2020, Google Inc.
2
+ *
3
+ * Permission to use, copy, modify, and/or distribute this software for any
4
+ * purpose with or without fee is hereby granted, provided that the above
5
+ * copyright notice and this permission notice appear in all copies.
6
+ *
7
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
10
+ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
12
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
13
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
14
+
15
+ #ifndef OPENSSL_HEADER_CRYPTO_HPKE_INTERNAL_H
16
+ #define OPENSSL_HEADER_CRYPTO_HPKE_INTERNAL_H
17
+
18
+ #include <openssl/aead.h>
19
+ #include <openssl/base.h>
20
+ #include <openssl/curve25519.h>
21
+ #include <openssl/digest.h>
22
+
23
+ #if defined(__cplusplus)
24
+ extern "C" {
25
+ #endif
26
+
27
+
28
+ // Hybrid Public Key Encryption.
29
+ //
30
+ // Hybrid Public Key Encryption (HPKE) enables a sender to encrypt messages to a
31
+ // receiver with a public key.
32
+ //
33
+ // See https://tools.ietf.org/html/draft-irtf-cfrg-hpke-08.
34
+
35
+
36
+ // Parameters.
37
+ //
38
+ // An HPKE context is parameterized by KEM, KDF, and AEAD algorithms,
39
+ // represented by |EVP_HPKE_KEM|, |EVP_HPKE_KDF|, and |EVP_HPKE_AEAD| types,
40
+ // respectively.
41
+
42
+ // The following constants are KEM identifiers.
43
+ #define EVP_HPKE_DHKEM_X25519_HKDF_SHA256 0x0020
44
+
45
+ // The following functions are KEM algorithms which may be used with HPKE. Note
46
+ // that, while some HPKE KEMs use KDFs internally, this is separate from the
47
+ // |EVP_HPKE_KDF| selection.
48
+ OPENSSL_EXPORT const EVP_HPKE_KEM *EVP_hpke_x25519_hkdf_sha256(void);
49
+
50
+ // EVP_HPKE_KEM_id returns the HPKE KEM identifier for |kem|, which
51
+ // will be one of the |EVP_HPKE_KEM_*| constants.
52
+ OPENSSL_EXPORT uint16_t EVP_HPKE_KEM_id(const EVP_HPKE_KEM *kem);
53
+
54
+ // The following constants are KDF identifiers.
55
+ #define EVP_HPKE_HKDF_SHA256 0x0001
56
+
57
+ // The following functions are KDF algorithms which may be used with HPKE.
58
+ OPENSSL_EXPORT const EVP_HPKE_KDF *EVP_hpke_hkdf_sha256(void);
59
+
60
+ // EVP_HPKE_KDF_id returns the HPKE KDF identifier for |kdf|.
61
+ OPENSSL_EXPORT uint16_t EVP_HPKE_KDF_id(const EVP_HPKE_KDF *kdf);
62
+
63
+ // The following constants are AEAD identifiers.
64
+ #define EVP_HPKE_AES_128_GCM 0x0001
65
+ #define EVP_HPKE_AES_256_GCM 0x0002
66
+ #define EVP_HPKE_CHACHA20_POLY1305 0x0003
67
+
68
+ // The following functions are AEAD algorithms which may be used with HPKE.
69
+ OPENSSL_EXPORT const EVP_HPKE_AEAD *EVP_hpke_aes_128_gcm(void);
70
+ OPENSSL_EXPORT const EVP_HPKE_AEAD *EVP_hpke_aes_256_gcm(void);
71
+ OPENSSL_EXPORT const EVP_HPKE_AEAD *EVP_hpke_chacha20_poly1305(void);
72
+
73
+ // EVP_HPKE_AEAD_id returns the HPKE AEAD identifier for |aead|.
74
+ OPENSSL_EXPORT uint16_t EVP_HPKE_AEAD_id(const EVP_HPKE_AEAD *aead);
75
+
76
+ // EVP_HPKE_AEAD_aead returns the |EVP_AEAD| corresponding to |aead|.
77
+ OPENSSL_EXPORT const EVP_AEAD *EVP_HPKE_AEAD_aead(const EVP_HPKE_AEAD *aead);
78
+
79
+
80
+ // Recipient keys.
81
+ //
82
+ // An HPKE recipient maintains a long-term KEM key. This library represents keys
83
+ // with the |EVP_HPKE_KEY| type.
84
+
85
+ // EVP_HPKE_KEY_zero sets an uninitialized |EVP_HPKE_KEY| to the zero state. The
86
+ // caller should then use |EVP_HPKE_KEY_init|, |EVP_HPKE_KEY_copy|, or
87
+ // |EVP_HPKE_KEY_generate| to finish initializing |key|.
88
+ //
89
+ // It is safe, but not necessary to call |EVP_HPKE_KEY_cleanup| in this state.
90
+ // This may be used for more uniform cleanup of |EVP_HPKE_KEY|.
91
+ OPENSSL_EXPORT void EVP_HPKE_KEY_zero(EVP_HPKE_KEY *key);
92
+
93
+ // EVP_HPKE_KEY_cleanup releases memory referenced by |key|.
94
+ OPENSSL_EXPORT void EVP_HPKE_KEY_cleanup(EVP_HPKE_KEY *key);
95
+
96
+ // EVP_HPKE_KEY_new returns a newly-allocated |EVP_HPKE_KEY|, or NULL on error.
97
+ // The caller must call |EVP_HPKE_KEY_free| on the result to release it.
98
+ //
99
+ // This is a convenience function for callers that need a heap-allocated
100
+ // |EVP_HPKE_KEY|.
101
+ OPENSSL_EXPORT EVP_HPKE_KEY *EVP_HPKE_KEY_new(void);
102
+
103
+ // EVP_HPKE_KEY_free releases memory associated with |key|, which must have been
104
+ // created with |EVP_HPKE_KEY_new|.
105
+ OPENSSL_EXPORT void EVP_HPKE_KEY_free(EVP_HPKE_KEY *key);
106
+
107
+ // EVP_HPKE_KEY_copy sets |dst| to a copy of |src|. It returns one on success
108
+ // and zero on error. On success, the caller must call |EVP_HPKE_KEY_cleanup| to
109
+ // release |dst|. On failure, calling |EVP_HPKE_KEY_cleanup| is safe, but not
110
+ // necessary.
111
+ OPENSSL_EXPORT int EVP_HPKE_KEY_copy(EVP_HPKE_KEY *dst,
112
+ const EVP_HPKE_KEY *src);
113
+
114
+ // EVP_HPKE_KEY_init decodes |priv_key| as a private key for |kem| and
115
+ // initializes |key| with the result. It returns one on success and zero if
116
+ // |priv_key| was invalid. On success, the caller must call
117
+ // |EVP_HPKE_KEY_cleanup| to release the key. On failure, calling
118
+ // |EVP_HPKE_KEY_cleanup| is safe, but not necessary.
119
+ OPENSSL_EXPORT int EVP_HPKE_KEY_init(EVP_HPKE_KEY *key, const EVP_HPKE_KEM *kem,
120
+ const uint8_t *priv_key,
121
+ size_t priv_key_len);
122
+
123
+ // EVP_HPKE_KEY_generate sets |key| to a newly-generated key using |kem|.
124
+ OPENSSL_EXPORT int EVP_HPKE_KEY_generate(EVP_HPKE_KEY *key,
125
+ const EVP_HPKE_KEM *kem);
126
+
127
+ // EVP_HPKE_KEY_kem returns the HPKE KEM used by |key|.
128
+ OPENSSL_EXPORT const EVP_HPKE_KEM *EVP_HPKE_KEY_kem(const EVP_HPKE_KEY *key);
129
+
130
+ // EVP_HPKE_MAX_PUBLIC_KEY_LENGTH is the maximum length of a public key for all
131
+ // KEMs supported by this library.
132
+ #define EVP_HPKE_MAX_PUBLIC_KEY_LENGTH 32
133
+
134
+ // EVP_HPKE_KEY_public_key writes |key|'s public key to |out| and sets
135
+ // |*out_len| to the number of bytes written. On success, it returns one and
136
+ // writes at most |max_out| bytes. If |max_out| is too small, it returns zero.
137
+ // Setting |max_out| to |EVP_HPKE_MAX_PUBLIC_KEY_LENGTH| will ensure the public
138
+ // key fits.
139
+ OPENSSL_EXPORT int EVP_HPKE_KEY_public_key(const EVP_HPKE_KEY *key,
140
+ uint8_t *out, size_t *out_len,
141
+ size_t max_out);
142
+
143
+ // EVP_HPKE_MAX_PRIVATE_KEY_LENGTH is the maximum length of a private key for
144
+ // all KEMs supported by this library.
145
+ #define EVP_HPKE_MAX_PRIVATE_KEY_LENGTH 32
146
+
147
+ // EVP_HPKE_KEY_private_key writes |key|'s private key to |out| and sets
148
+ // |*out_len| to the number of bytes written. On success, it returns one and
149
+ // writes at most |max_out| bytes. If |max_out| is too small, it returns zero.
150
+ // Setting |max_out| to |EVP_HPKE_MAX_PRIVATE_KEY_LENGTH| will ensure the
151
+ // private key fits.
152
+ OPENSSL_EXPORT int EVP_HPKE_KEY_private_key(const EVP_HPKE_KEY *key,
153
+ uint8_t *out, size_t *out_len,
154
+ size_t max_out);
155
+
156
+
157
+ // Encryption contexts.
158
+ //
159
+ // An HPKE encryption context is represented by the |EVP_HPKE_CTX| type.
160
+
161
+ // EVP_HPKE_CTX_zero sets an uninitialized |EVP_HPKE_CTX| to the zero state. The
162
+ // caller should then use one of the |EVP_HPKE_CTX_setup_*| functions to finish
163
+ // setting up |ctx|.
164
+ //
165
+ // It is safe, but not necessary to call |EVP_HPKE_CTX_cleanup| in this state.
166
+ // This may be used for more uniform cleanup of |EVP_HPKE_CTX|.
167
+ OPENSSL_EXPORT void EVP_HPKE_CTX_zero(EVP_HPKE_CTX *ctx);
168
+
169
+ // EVP_HPKE_CTX_cleanup releases memory referenced by |ctx|. |ctx| must have
170
+ // been initialized with |EVP_HPKE_CTX_zero| or one of the
171
+ // |EVP_HPKE_CTX_setup_*| functions.
172
+ OPENSSL_EXPORT void EVP_HPKE_CTX_cleanup(EVP_HPKE_CTX *ctx);
173
+
174
+ // EVP_HPKE_CTX_new returns a newly-allocated |EVP_HPKE_CTX|, or NULL on error.
175
+ // The caller must call |EVP_HPKE_CTX_free| on the result to release it.
176
+ //
177
+ // This is a convenience function for callers that need a heap-allocated
178
+ // |EVP_HPKE_CTX|.
179
+ OPENSSL_EXPORT EVP_HPKE_CTX *EVP_HPKE_CTX_new(void);
180
+
181
+ // EVP_HPKE_CTX_free releases memory associated with |ctx|, which must have been
182
+ // created with |EVP_HPKE_CTX_new|.
183
+ OPENSSL_EXPORT void EVP_HPKE_CTX_free(EVP_HPKE_CTX *ctx);
184
+
185
+ // EVP_HPKE_MAX_ENC_LENGTH is the maximum length of "enc", the encapsulated
186
+ // shared secret, for all supported KEMs in this library.
187
+ #define EVP_HPKE_MAX_ENC_LENGTH 32
188
+
189
+ // EVP_HPKE_CTX_setup_sender implements the SetupBaseS HPKE operation. It
190
+ // encapsulates a shared secret for |peer_public_key| and sets up |ctx| as a
191
+ // sender context. It writes the encapsulated shared secret to |out_enc| and
192
+ // sets |*out_enc_len| to the number of bytes written. It writes at most
193
+ // |max_enc| bytes and fails if the buffer is too small. Setting |max_enc| to at
194
+ // least |EVP_HPKE_MAX_ENC_LENGTH| will ensure the buffer is large enough.
195
+ //
196
+ // This function returns one on success and zero on error. Note that
197
+ // |peer_public_key| may be invalid, in which case this function will return an
198
+ // error.
199
+ //
200
+ // On success, callers may call |EVP_HPKE_CTX_seal| to encrypt messages for the
201
+ // recipient. Callers must then call |EVP_HPKE_CTX_cleanup| when done. On
202
+ // failure, calling |EVP_HPKE_CTX_cleanup| is safe, but not required.
203
+ OPENSSL_EXPORT int EVP_HPKE_CTX_setup_sender(
204
+ EVP_HPKE_CTX *ctx, uint8_t *out_enc, size_t *out_enc_len, size_t max_enc,
205
+ const EVP_HPKE_KEM *kem, const EVP_HPKE_KDF *kdf, const EVP_HPKE_AEAD *aead,
206
+ const uint8_t *peer_public_key, size_t peer_public_key_len,
207
+ const uint8_t *info, size_t info_len);
208
+
209
+ // EVP_HPKE_CTX_setup_sender_with_seed_for_testing behaves like
210
+ // |EVP_HPKE_CTX_setup_sender|, but takes a seed to behave deterministically.
211
+ // The seed's format depends on |kem|. For X25519, it is the sender's
212
+ // ephemeral private key.
213
+ OPENSSL_EXPORT int EVP_HPKE_CTX_setup_sender_with_seed_for_testing(
214
+ EVP_HPKE_CTX *ctx, uint8_t *out_enc, size_t *out_enc_len, size_t max_enc,
215
+ const EVP_HPKE_KEM *kem, const EVP_HPKE_KDF *kdf, const EVP_HPKE_AEAD *aead,
216
+ const uint8_t *peer_public_key, size_t peer_public_key_len,
217
+ const uint8_t *info, size_t info_len, const uint8_t *seed, size_t seed_len);
218
+
219
+ // EVP_HPKE_CTX_setup_recipient implements the SetupBaseR HPKE operation. It
220
+ // decapsulates the shared secret in |enc| with |key| and sets up |ctx| as a
221
+ // recipient context. It returns one on success and zero on failure. Note that
222
+ // |enc| may be invalid, in which case this function will return an error.
223
+ //
224
+ // On success, callers may call |EVP_HPKE_CTX_open| to decrypt messages from the
225
+ // sender. Callers must then call |EVP_HPKE_CTX_cleanup| when done. On failure,
226
+ // calling |EVP_HPKE_CTX_cleanup| is safe, but not required.
227
+ OPENSSL_EXPORT int EVP_HPKE_CTX_setup_recipient(
228
+ EVP_HPKE_CTX *ctx, const EVP_HPKE_KEY *key, const EVP_HPKE_KDF *kdf,
229
+ const EVP_HPKE_AEAD *aead, const uint8_t *enc, size_t enc_len,
230
+ const uint8_t *info, size_t info_len);
231
+
232
+
233
+ // Using an HPKE context.
234
+ //
235
+ // Once set up, callers may encrypt or decrypt with an |EVP_HPKE_CTX| using the
236
+ // following functions.
237
+
238
+ // EVP_HPKE_CTX_open uses the HPKE context |ctx| to authenticate |in_len| bytes
239
+ // from |in| and |ad_len| bytes from |ad| and to decrypt at most |in_len| bytes
240
+ // into |out|. It returns one on success, and zero otherwise.
241
+ //
242
+ // This operation will fail if the |ctx| context is not set up as a receiver.
243
+ //
244
+ // Note that HPKE encryption is stateful and ordered. The sender's first call to
245
+ // |EVP_HPKE_CTX_seal| must correspond to the recipient's first call to
246
+ // |EVP_HPKE_CTX_open|, etc.
247
+ //
248
+ // At most |in_len| bytes are written to |out|. In order to ensure success,
249
+ // |max_out_len| should be at least |in_len|. On successful return, |*out_len|
250
+ // is set to the actual number of bytes written.
251
+ OPENSSL_EXPORT int EVP_HPKE_CTX_open(EVP_HPKE_CTX *ctx, uint8_t *out,
252
+ size_t *out_len, size_t max_out_len,
253
+ const uint8_t *in, size_t in_len,
254
+ const uint8_t *ad, size_t ad_len);
255
+
256
+ // EVP_HPKE_CTX_seal uses the HPKE context |ctx| to encrypt and authenticate
257
+ // |in_len| bytes of ciphertext |in| and authenticate |ad_len| bytes from |ad|,
258
+ // writing the result to |out|. It returns one on success and zero otherwise.
259
+ //
260
+ // This operation will fail if the |ctx| context is not set up as a sender.
261
+ //
262
+ // Note that HPKE encryption is stateful and ordered. The sender's first call to
263
+ // |EVP_HPKE_CTX_seal| must correspond to the recipient's first call to
264
+ // |EVP_HPKE_CTX_open|, etc.
265
+ //
266
+ // At most, |max_out_len| encrypted bytes are written to |out|. On successful
267
+ // return, |*out_len| is set to the actual number of bytes written.
268
+ //
269
+ // To ensure success, |max_out_len| should be |in_len| plus the result of
270
+ // |EVP_HPKE_CTX_max_overhead| or |EVP_HPKE_MAX_OVERHEAD|.
271
+ OPENSSL_EXPORT int EVP_HPKE_CTX_seal(EVP_HPKE_CTX *ctx, uint8_t *out,
272
+ size_t *out_len, size_t max_out_len,
273
+ const uint8_t *in, size_t in_len,
274
+ const uint8_t *ad, size_t ad_len);
275
+
276
+ // EVP_HPKE_CTX_export uses the HPKE context |ctx| to export a secret of
277
+ // |secret_len| bytes into |out|. This function uses |context_len| bytes from
278
+ // |context| as a context string for the secret. This is necessary to separate
279
+ // different uses of exported secrets and bind relevant caller-specific context
280
+ // into the output. It returns one on success and zero otherwise.
281
+ OPENSSL_EXPORT int EVP_HPKE_CTX_export(const EVP_HPKE_CTX *ctx, uint8_t *out,
282
+ size_t secret_len,
283
+ const uint8_t *context,
284
+ size_t context_len);
285
+
286
+ // EVP_HPKE_MAX_OVERHEAD contains the largest value that
287
+ // |EVP_HPKE_CTX_max_overhead| would ever return for any context.
288
+ #define EVP_HPKE_MAX_OVERHEAD EVP_AEAD_MAX_OVERHEAD
289
+
290
+ // EVP_HPKE_CTX_max_overhead returns the maximum number of additional bytes
291
+ // added by sealing data with |EVP_HPKE_CTX_seal|. The |ctx| context must be set
292
+ // up as a sender.
293
+ OPENSSL_EXPORT size_t EVP_HPKE_CTX_max_overhead(const EVP_HPKE_CTX *ctx);
294
+
295
+ // EVP_HPKE_CTX_aead returns |ctx|'s configured AEAD, or NULL if the context has
296
+ // not been set up.
297
+ OPENSSL_EXPORT const EVP_HPKE_AEAD *EVP_HPKE_CTX_aead(const EVP_HPKE_CTX *ctx);
298
+
299
+ // EVP_HPKE_CTX_kdf returns |ctx|'s configured KDF, or NULL if the context has
300
+ // not been set up.
301
+ OPENSSL_EXPORT const EVP_HPKE_KDF *EVP_HPKE_CTX_kdf(const EVP_HPKE_CTX *ctx);
302
+
303
+
304
+ // Private structures.
305
+ //
306
+ // The following structures are exported so their types are stack-allocatable,
307
+ // but accessing or modifying their fields is forbidden.
308
+
309
+ struct evp_hpke_ctx_st {
310
+ const EVP_HPKE_AEAD *aead;
311
+ const EVP_HPKE_KDF *kdf;
312
+ EVP_AEAD_CTX aead_ctx;
313
+ uint8_t base_nonce[EVP_AEAD_MAX_NONCE_LENGTH];
314
+ uint8_t exporter_secret[EVP_MAX_MD_SIZE];
315
+ uint64_t seq;
316
+ int is_sender;
317
+ };
318
+
319
+ struct evp_hpke_key_st {
320
+ const EVP_HPKE_KEM *kem;
321
+ uint8_t private_key[X25519_PRIVATE_KEY_LEN];
322
+ uint8_t public_key[X25519_PUBLIC_VALUE_LEN];
323
+ };
324
+
325
+
326
+ #if defined(__cplusplus)
327
+ } // extern C
328
+ #endif
329
+
330
+ #if !defined(BORINGSSL_NO_CXX)
331
+ extern "C++" {
332
+
333
+ BSSL_NAMESPACE_BEGIN
334
+
335
+ using ScopedEVP_HPKE_CTX =
336
+ internal::StackAllocated<EVP_HPKE_CTX, void, EVP_HPKE_CTX_zero,
337
+ EVP_HPKE_CTX_cleanup>;
338
+ using ScopedEVP_HPKE_KEY =
339
+ internal::StackAllocated<EVP_HPKE_KEY, void, EVP_HPKE_KEY_zero,
340
+ EVP_HPKE_KEY_cleanup>;
341
+
342
+ BORINGSSL_MAKE_DELETER(EVP_HPKE_CTX, EVP_HPKE_CTX_free)
343
+ BORINGSSL_MAKE_DELETER(EVP_HPKE_KEY, EVP_HPKE_KEY_free)
344
+
345
+ BSSL_NAMESPACE_END
346
+
347
+ } // extern C++
348
+ #endif
349
+
350
+ #endif // OPENSSL_HEADER_CRYPTO_HPKE_INTERNAL_H
@@ -59,29 +59,31 @@ struct HRSS_public_key {
59
59
  (HRSS_POLY3_BYTES * 2 + HRSS_PUBLIC_KEY_BYTES + 2 + 32)
60
60
 
61
61
  // HRSS_generate_key is a deterministic function that outputs a public and
62
- // private key based on the given entropy.
63
- OPENSSL_EXPORT void HRSS_generate_key(
62
+ // private key based on the given entropy. It returns one on success or zero
63
+ // on malloc failure.
64
+ OPENSSL_EXPORT int HRSS_generate_key(
64
65
  struct HRSS_public_key *out_pub, struct HRSS_private_key *out_priv,
65
66
  const uint8_t input[HRSS_GENERATE_KEY_BYTES]);
66
67
 
67
68
  // HRSS_encap is a deterministic function the generates and encrypts a random
68
69
  // session key from the given entropy, writing those values to |out_shared_key|
69
- // and |out_ciphertext|, respectively.
70
- OPENSSL_EXPORT void HRSS_encap(uint8_t out_ciphertext[HRSS_CIPHERTEXT_BYTES],
71
- uint8_t out_shared_key[HRSS_KEY_BYTES],
72
- const struct HRSS_public_key *in_pub,
73
- const uint8_t in[HRSS_ENCAP_BYTES]);
70
+ // and |out_ciphertext|, respectively. It returns one on success or zero on
71
+ // malloc failure.
72
+ OPENSSL_EXPORT int HRSS_encap(uint8_t out_ciphertext[HRSS_CIPHERTEXT_BYTES],
73
+ uint8_t out_shared_key[HRSS_KEY_BYTES],
74
+ const struct HRSS_public_key *in_pub,
75
+ const uint8_t in[HRSS_ENCAP_BYTES]);
74
76
 
75
77
  // HRSS_decap decrypts a session key from |ciphertext_len| bytes of
76
78
  // |ciphertext|. If the ciphertext is valid, the decrypted key is written to
77
79
  // |out_shared_key|. Otherwise the HMAC of |ciphertext| under a secret key (kept
78
80
  // in |in_priv|) is written. If the ciphertext is the wrong length then it will
79
81
  // leak which was done via side-channels. Otherwise it should perform either
80
- // action in constant-time.
81
- OPENSSL_EXPORT void HRSS_decap(uint8_t out_shared_key[HRSS_KEY_BYTES],
82
- const struct HRSS_private_key *in_priv,
83
- const uint8_t *ciphertext,
84
- size_t ciphertext_len);
82
+ // action in constant-time. It returns one on success (whether the ciphertext
83
+ // was valid or not) and zero on malloc failure.
84
+ OPENSSL_EXPORT int HRSS_decap(uint8_t out_shared_key[HRSS_KEY_BYTES],
85
+ const struct HRSS_private_key *in_priv,
86
+ const uint8_t *ciphertext, size_t ciphertext_len);
85
87
 
86
88
  // HRSS_marshal_public_key serialises |in_pub| to |out|.
87
89
  OPENSSL_EXPORT void HRSS_marshal_public_key(
@@ -58,223 +58,22 @@
58
58
  #define OPENSSL_HEADER_LHASH_H
59
59
 
60
60
  #include <openssl/base.h>
61
- #include <openssl/type_check.h>
62
61
 
63
62
  #if defined(__cplusplus)
64
63
  extern "C" {
65
64
  #endif
66
65
 
67
66
 
68
- // lhash is a traditional, chaining hash table that automatically expands and
69
- // contracts as needed. One should not use the lh_* functions directly, rather
70
- // use the type-safe macro wrappers:
71
- //
72
- // A hash table of a specific type of object has type |LHASH_OF(type)|. This
73
- // can be defined (once) with |DEFINE_LHASH_OF(type)| and declared where needed
74
- // with |DECLARE_LHASH_OF(type)|. For example:
75
- //
76
- // struct foo {
77
- // int bar;
78
- // };
79
- //
80
- // DEFINE_LHASH_OF(struct foo)
81
- //
82
- // Although note that the hash table will contain /pointers/ to |foo|.
83
- //
84
- // A macro will be defined for each of the lh_* functions below. For
85
- // LHASH_OF(foo), the macros would be lh_foo_new, lh_foo_num_items etc.
67
+ // lhash is an internal library and not exported for use outside BoringSSL. This
68
+ // header is provided for compatibility with code that expects OpenSSL.
86
69
 
87
70
 
71
+ // These two macros are exported for compatibility with existing callers of
72
+ // |X509V3_EXT_conf_nid|. Do not use these symbols outside BoringSSL.
88
73
  #define LHASH_OF(type) struct lhash_st_##type
89
-
90
74
  #define DECLARE_LHASH_OF(type) LHASH_OF(type);
91
75
 
92
76
 
93
- // lhash_item_st is an element of a hash chain. It points to the opaque data
94
- // for this element and to the next item in the chain. The linked-list is NULL
95
- // terminated.
96
- typedef struct lhash_item_st {
97
- void *data;
98
- struct lhash_item_st *next;
99
- // hash contains the cached, hash value of |data|.
100
- uint32_t hash;
101
- } LHASH_ITEM;
102
-
103
- // lhash_cmp_func is a comparison function that returns a value equal, or not
104
- // equal, to zero depending on whether |*a| is equal, or not equal to |*b|,
105
- // respectively. Note the difference between this and |stack_cmp_func| in that
106
- // this takes pointers to the objects directly.
107
- //
108
- // This function's actual type signature is int (*)(const T*, const T*). The
109
- // low-level |lh_*| functions will be passed a type-specific wrapper to call it
110
- // correctly.
111
- typedef int (*lhash_cmp_func)(const void *a, const void *b);
112
- typedef int (*lhash_cmp_func_helper)(lhash_cmp_func func, const void *a,
113
- const void *b);
114
-
115
- // lhash_hash_func is a function that maps an object to a uniformly distributed
116
- // uint32_t.
117
- //
118
- // This function's actual type signature is uint32_t (*)(const T*). The
119
- // low-level |lh_*| functions will be passed a type-specific wrapper to call it
120
- // correctly.
121
- typedef uint32_t (*lhash_hash_func)(const void *a);
122
- typedef uint32_t (*lhash_hash_func_helper)(lhash_hash_func func, const void *a);
123
-
124
- typedef struct lhash_st _LHASH;
125
-
126
- // lh_new returns a new, empty hash table or NULL on error.
127
- OPENSSL_EXPORT _LHASH *lh_new(lhash_hash_func hash, lhash_cmp_func comp);
128
-
129
- // lh_free frees the hash table itself but none of the elements. See
130
- // |lh_doall|.
131
- OPENSSL_EXPORT void lh_free(_LHASH *lh);
132
-
133
- // lh_num_items returns the number of items in |lh|.
134
- OPENSSL_EXPORT size_t lh_num_items(const _LHASH *lh);
135
-
136
- // lh_retrieve finds an element equal to |data| in the hash table and returns
137
- // it. If no such element exists, it returns NULL.
138
- OPENSSL_EXPORT void *lh_retrieve(const _LHASH *lh, const void *data,
139
- lhash_hash_func_helper call_hash_func,
140
- lhash_cmp_func_helper call_cmp_func);
141
-
142
- // lh_retrieve_key finds an element matching |key|, given the specified hash and
143
- // comparison function. This differs from |lh_retrieve| in that the key may be a
144
- // different type than the values stored in |lh|. |key_hash| and |cmp_key| must
145
- // be compatible with the functions passed into |lh_new|.
146
- OPENSSL_EXPORT void *lh_retrieve_key(const _LHASH *lh, const void *key,
147
- uint32_t key_hash,
148
- int (*cmp_key)(const void *key,
149
- const void *value));
150
-
151
- // lh_insert inserts |data| into the hash table. If an existing element is
152
- // equal to |data| (with respect to the comparison function) then |*old_data|
153
- // will be set to that value and it will be replaced. Otherwise, or in the
154
- // event of an error, |*old_data| will be set to NULL. It returns one on
155
- // success or zero in the case of an allocation error.
156
- OPENSSL_EXPORT int lh_insert(_LHASH *lh, void **old_data, void *data,
157
- lhash_hash_func_helper call_hash_func,
158
- lhash_cmp_func_helper call_cmp_func);
159
-
160
- // lh_delete removes an element equal to |data| from the hash table and returns
161
- // it. If no such element is found, it returns NULL.
162
- OPENSSL_EXPORT void *lh_delete(_LHASH *lh, const void *data,
163
- lhash_hash_func_helper call_hash_func,
164
- lhash_cmp_func_helper call_cmp_func);
165
-
166
- // lh_doall_arg calls |func| on each element of the hash table and also passes
167
- // |arg| as the second argument.
168
- // TODO(fork): rename this
169
- OPENSSL_EXPORT void lh_doall_arg(_LHASH *lh, void (*func)(void *, void *),
170
- void *arg);
171
-
172
- // lh_strhash is the default hash function which processes NUL-terminated
173
- // strings.
174
- OPENSSL_EXPORT uint32_t lh_strhash(const char *c);
175
-
176
- #define DEFINE_LHASH_OF(type) \
177
- DECLARE_LHASH_OF(type) \
178
- \
179
- typedef int (*lhash_##type##_cmp_func)(const type *, const type *); \
180
- typedef uint32_t (*lhash_##type##_hash_func)(const type *); \
181
- \
182
- OPENSSL_INLINE int lh_##type##_call_cmp_func(lhash_cmp_func func, \
183
- const void *a, const void *b) { \
184
- return ((lhash_##type##_cmp_func)func)((const type *)a, (const type *)b); \
185
- } \
186
- \
187
- OPENSSL_INLINE uint32_t lh_##type##_call_hash_func(lhash_hash_func func, \
188
- const void *a) { \
189
- return ((lhash_##type##_hash_func)func)((const type *)a); \
190
- } \
191
- \
192
- OPENSSL_INLINE LHASH_OF(type) * \
193
- lh_##type##_new(lhash_##type##_hash_func hash, \
194
- lhash_##type##_cmp_func comp) { \
195
- return (LHASH_OF(type) *)lh_new((lhash_hash_func)hash, \
196
- (lhash_cmp_func)comp); \
197
- } \
198
- \
199
- OPENSSL_INLINE void lh_##type##_free(LHASH_OF(type) *lh) { \
200
- lh_free((_LHASH *)lh); \
201
- } \
202
- \
203
- OPENSSL_INLINE size_t lh_##type##_num_items(const LHASH_OF(type) *lh) { \
204
- return lh_num_items((const _LHASH *)lh); \
205
- } \
206
- \
207
- OPENSSL_INLINE type *lh_##type##_retrieve(const LHASH_OF(type) *lh, \
208
- const type *data) { \
209
- return (type *)lh_retrieve((const _LHASH *)lh, data, \
210
- lh_##type##_call_hash_func, \
211
- lh_##type##_call_cmp_func); \
212
- } \
213
- \
214
- typedef struct { \
215
- int (*cmp_key)(const void *key, const type *value); \
216
- const void *key; \
217
- } LHASH_CMP_KEY_##type; \
218
- \
219
- OPENSSL_INLINE int lh_##type##_call_cmp_key(const void *key, \
220
- const void *value) { \
221
- const LHASH_CMP_KEY_##type *cb = (const LHASH_CMP_KEY_##type *)key; \
222
- return cb->cmp_key(cb->key, (const type *)value); \
223
- } \
224
- \
225
- OPENSSL_INLINE type *lh_##type##_retrieve_key( \
226
- const LHASH_OF(type) *lh, const void *key, uint32_t key_hash, \
227
- int (*cmp_key)(const void *key, const type *value)) { \
228
- LHASH_CMP_KEY_##type cb = {cmp_key, key}; \
229
- return (type *)lh_retrieve_key((const _LHASH *)lh, &cb, key_hash, \
230
- lh_##type##_call_cmp_key); \
231
- } \
232
- \
233
- OPENSSL_INLINE int lh_##type##_insert(LHASH_OF(type) *lh, type **old_data, \
234
- type *data) { \
235
- void *old_data_void = NULL; \
236
- int ret = \
237
- lh_insert((_LHASH *)lh, &old_data_void, data, \
238
- lh_##type##_call_hash_func, lh_##type##_call_cmp_func); \
239
- *old_data = (type *)old_data_void; \
240
- return ret; \
241
- } \
242
- \
243
- OPENSSL_INLINE type *lh_##type##_delete(LHASH_OF(type) *lh, \
244
- const type *data) { \
245
- return (type *)lh_delete((_LHASH *)lh, data, lh_##type##_call_hash_func, \
246
- lh_##type##_call_cmp_func); \
247
- } \
248
- \
249
- typedef struct { \
250
- void (*doall)(type *); \
251
- void (*doall_arg)(type *, void *); \
252
- void *arg; \
253
- } LHASH_DOALL_##type; \
254
- \
255
- OPENSSL_INLINE void lh_##type##_call_doall(void *value, void *arg) { \
256
- const LHASH_DOALL_##type *cb = (const LHASH_DOALL_##type *)arg; \
257
- cb->doall((type *)value); \
258
- } \
259
- \
260
- OPENSSL_INLINE void lh_##type##_call_doall_arg(void *value, void *arg) { \
261
- const LHASH_DOALL_##type *cb = (const LHASH_DOALL_##type *)arg; \
262
- cb->doall_arg((type *)value, cb->arg); \
263
- } \
264
- \
265
- OPENSSL_INLINE void lh_##type##_doall(LHASH_OF(type) *lh, \
266
- void (*func)(type *)) { \
267
- LHASH_DOALL_##type cb = {func, NULL, NULL}; \
268
- lh_doall_arg((_LHASH *)lh, lh_##type##_call_doall, &cb); \
269
- } \
270
- \
271
- OPENSSL_INLINE void lh_##type##_doall_arg( \
272
- LHASH_OF(type) *lh, void (*func)(type *, void *), void *arg) { \
273
- LHASH_DOALL_##type cb = {NULL, func, arg}; \
274
- lh_doall_arg((_LHASH *)lh, lh_##type##_call_doall_arg, &cb); \
275
- }
276
-
277
-
278
77
  #if defined(__cplusplus)
279
78
  } // extern C
280
79
  #endif
@@ -101,6 +101,9 @@ OPENSSL_EXPORT int CRYPTO_memcmp(const void *a, const void *b, size_t len);
101
101
  // OPENSSL_hash32 implements the 32 bit, FNV-1a hash.
102
102
  OPENSSL_EXPORT uint32_t OPENSSL_hash32(const void *ptr, size_t len);
103
103
 
104
+ // OPENSSL_strhash calls |OPENSSL_hash32| on the NUL-terminated string |s|.
105
+ OPENSSL_EXPORT uint32_t OPENSSL_strhash(const char *s);
106
+
104
107
  // OPENSSL_strdup has the same behaviour as strdup(3).
105
108
  OPENSSL_EXPORT char *OPENSSL_strdup(const char *s);
106
109
 
@@ -147,9 +150,15 @@ OPENSSL_EXPORT size_t OPENSSL_strlcat(char *dst, const char *src,
147
150
 
148
151
  // Deprecated functions.
149
152
 
150
- #define CRYPTO_malloc OPENSSL_malloc
151
- #define CRYPTO_realloc OPENSSL_realloc
152
- #define CRYPTO_free OPENSSL_free
153
+ // CRYPTO_malloc calls |OPENSSL_malloc|. |file| and |line| are ignored.
154
+ OPENSSL_EXPORT void *CRYPTO_malloc(size_t size, const char *file, int line);
155
+
156
+ // CRYPTO_realloc calls |OPENSSL_realloc|. |file| and |line| are ignored.
157
+ OPENSSL_EXPORT void *CRYPTO_realloc(void *ptr, size_t new_size,
158
+ const char *file, int line);
159
+
160
+ // CRYPTO_free calls |OPENSSL_free|. |file| and |line| are ignored.
161
+ OPENSSL_EXPORT void CRYPTO_free(void *ptr, const char *file, int line);
153
162
 
154
163
  // OPENSSL_clear_free calls |OPENSSL_free|. BoringSSL automatically clears all
155
164
  // allocations on free, but we define |OPENSSL_clear_free| for compatibility.
@@ -4246,6 +4246,11 @@ extern "C" {
4246
4246
  #define NID_X448 961
4247
4247
  #define OBJ_X448 1L, 3L, 101L, 111L
4248
4248
 
4249
+ #define SN_sha512_256 "SHA512-256"
4250
+ #define LN_sha512_256 "sha512-256"
4251
+ #define NID_sha512_256 962
4252
+ #define OBJ_sha512_256 2L, 16L, 840L, 1L, 101L, 3L, 4L, 2L, 6L
4253
+
4249
4254
 
4250
4255
  #if defined(__cplusplus)
4251
4256
  } /* extern C */