grpc 1.33.0.pre1 → 1.37.0.pre1

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 (1106) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +1075 -2814
  3. data/etc/roots.pem +257 -573
  4. data/include/grpc/compression.h +1 -1
  5. data/include/grpc/grpc.h +29 -2
  6. data/include/grpc/grpc_security.h +215 -175
  7. data/include/grpc/impl/codegen/atm_windows.h +4 -0
  8. data/include/grpc/impl/codegen/byte_buffer.h +1 -1
  9. data/include/grpc/impl/codegen/grpc_types.h +10 -3
  10. data/include/grpc/impl/codegen/log.h +0 -2
  11. data/include/grpc/impl/codegen/port_platform.h +24 -55
  12. data/include/grpc/impl/codegen/sync_windows.h +4 -0
  13. data/include/grpc/slice_buffer.h +3 -3
  14. data/include/grpc/support/sync.h +3 -3
  15. data/include/grpc/support/time.h +7 -7
  16. data/src/core/ext/filters/client_channel/backend_metric.cc +2 -4
  17. data/src/core/ext/filters/client_channel/client_channel.cc +2829 -1588
  18. data/src/core/ext/filters/client_channel/client_channel.h +0 -6
  19. data/src/core/ext/filters/client_channel/client_channel_factory.h +2 -1
  20. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +1 -1
  21. data/src/core/ext/filters/client_channel/config_selector.h +15 -4
  22. data/src/core/ext/filters/client_channel/dynamic_filters.cc +191 -0
  23. data/src/core/ext/filters/client_channel/dynamic_filters.h +99 -0
  24. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +24 -142
  25. data/src/core/ext/filters/client_channel/global_subchannel_pool.h +15 -10
  26. data/src/core/ext/filters/client_channel/health/health_check_client.cc +10 -7
  27. data/src/core/ext/filters/client_channel/health/health_check_client.h +4 -4
  28. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +7 -8
  29. data/src/core/ext/filters/client_channel/http_proxy.cc +21 -20
  30. data/src/core/ext/filters/client_channel/lb_policy.cc +9 -2
  31. data/src/core/ext/filters/client_channel/lb_policy.h +5 -6
  32. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +1 -1
  33. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +1 -1
  34. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +115 -106
  35. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +1 -2
  36. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +1 -2
  37. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +3 -1
  38. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +3 -3
  39. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +1 -1
  40. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +3 -3
  41. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +55 -23
  42. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +23 -0
  43. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +27 -0
  44. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +2 -2
  45. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +8 -5
  46. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +3 -3
  47. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +370 -109
  48. data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +52 -24
  49. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +29 -0
  50. data/src/core/ext/filters/client_channel/lb_policy/xds/{eds_drop.cc → xds_cluster_impl.cc} +332 -108
  51. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +22 -27
  52. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +1384 -0
  53. data/src/core/ext/filters/client_channel/local_subchannel_pool.cc +27 -67
  54. data/src/core/ext/filters/client_channel/local_subchannel_pool.h +10 -9
  55. data/src/core/ext/filters/client_channel/resolver.cc +7 -5
  56. data/src/core/ext/filters/client_channel/resolver.h +5 -13
  57. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +42 -58
  58. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +1 -32
  59. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +5 -5
  60. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +3 -1
  61. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +444 -22
  62. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +5 -0
  63. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +22 -23
  64. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +21 -18
  65. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +1 -1
  66. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +377 -0
  67. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +37 -30
  68. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +342 -133
  69. data/src/core/ext/filters/client_channel/resolver_factory.h +6 -6
  70. data/src/core/ext/filters/client_channel/resolver_registry.cc +40 -39
  71. data/src/core/ext/filters/client_channel/resolver_registry.h +2 -2
  72. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +24 -38
  73. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +8 -8
  74. data/src/core/ext/filters/client_channel/retry_throttle.cc +5 -3
  75. data/src/core/ext/filters/client_channel/retry_throttle.h +4 -2
  76. data/src/core/ext/filters/client_channel/server_address.cc +9 -0
  77. data/src/core/ext/filters/client_channel/server_address.h +31 -4
  78. data/src/core/ext/filters/client_channel/service_config.cc +3 -1
  79. data/src/core/ext/filters/client_channel/service_config.h +1 -1
  80. data/src/core/ext/filters/client_channel/service_config_call_data.h +19 -1
  81. data/src/core/ext/filters/client_channel/subchannel.cc +117 -207
  82. data/src/core/ext/filters/client_channel/subchannel.h +75 -113
  83. data/src/core/ext/filters/client_channel/subchannel_interface.h +7 -15
  84. data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +16 -2
  85. data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +16 -10
  86. data/src/core/ext/filters/client_idle/client_idle_filter.cc +1 -1
  87. data/src/core/ext/filters/deadline/deadline_filter.cc +87 -79
  88. data/src/core/ext/filters/deadline/deadline_filter.h +7 -11
  89. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +495 -0
  90. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +39 -0
  91. data/src/core/ext/filters/fault_injection/service_config_parser.cc +189 -0
  92. data/src/core/ext/filters/fault_injection/service_config_parser.h +85 -0
  93. data/src/core/ext/filters/http/client/http_client_filter.cc +1 -1
  94. data/src/core/ext/filters/http/client_authority_filter.cc +6 -6
  95. data/src/core/ext/filters/http/http_filters_plugin.cc +6 -3
  96. data/src/core/ext/filters/http/server/http_server_filter.cc +3 -3
  97. data/src/core/ext/filters/max_age/max_age_filter.cc +36 -33
  98. data/src/core/ext/filters/message_size/message_size_filter.cc +1 -1
  99. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +1 -1
  100. data/src/core/ext/filters/workarounds/workaround_utils.cc +1 -1
  101. data/src/core/ext/transport/chttp2/client/authority.cc +3 -3
  102. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +2 -2
  103. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +1 -1
  104. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +23 -10
  105. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +21 -10
  106. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +29 -16
  107. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +629 -211
  108. data/src/core/ext/transport/chttp2/server/chttp2_server.h +11 -2
  109. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +11 -1
  110. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +12 -5
  111. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +62 -18
  112. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +7 -7
  113. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +50 -39
  114. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +12 -1
  115. data/src/core/ext/transport/chttp2/transport/flow_control.h +3 -3
  116. data/src/core/ext/transport/chttp2/transport/frame_data.cc +5 -1
  117. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +2 -1
  118. data/src/core/ext/transport/chttp2/transport/frame_settings.h +2 -1
  119. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +6 -6
  120. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +1 -1
  121. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +12 -8
  122. data/src/core/ext/transport/chttp2/transport/internal.h +1 -1
  123. data/src/core/ext/transport/chttp2/transport/parsing.cc +2 -1
  124. data/src/core/ext/transport/chttp2/transport/writing.cc +2 -3
  125. data/src/core/ext/transport/inproc/inproc_transport.cc +42 -8
  126. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +406 -0
  127. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +1459 -0
  128. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +1 -0
  129. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +1 -1
  130. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +7 -0
  131. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +27 -28
  132. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +139 -40
  133. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +350 -0
  134. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1348 -0
  135. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +13 -13
  136. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +44 -17
  137. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +119 -124
  138. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +450 -284
  139. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +3 -3
  140. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +13 -5
  141. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +24 -23
  142. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +62 -21
  143. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +21 -21
  144. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +88 -39
  145. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +4 -4
  146. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +15 -6
  147. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +69 -45
  148. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +275 -78
  149. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +19 -19
  150. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +80 -43
  151. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +1 -1
  152. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +7 -0
  153. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +7 -7
  154. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +27 -11
  155. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +30 -30
  156. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +136 -49
  157. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +41 -41
  158. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +172 -89
  159. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +4 -4
  160. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +17 -9
  161. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +53 -47
  162. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +188 -78
  163. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +1 -2
  164. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +7 -0
  165. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +2 -2
  166. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +9 -2
  167. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +11 -5
  168. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +48 -7
  169. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +13 -14
  170. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +59 -36
  171. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +16 -16
  172. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +61 -29
  173. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +26 -26
  174. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +101 -66
  175. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +2 -2
  176. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +11 -3
  177. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +34 -32
  178. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +151 -61
  179. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +33 -29
  180. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +138 -54
  181. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +2 -3
  182. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +13 -0
  183. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +144 -0
  184. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +488 -0
  185. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +141 -0
  186. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +452 -0
  187. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +16 -16
  188. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +81 -35
  189. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +15 -13
  190. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +70 -37
  191. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +257 -216
  192. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +995 -495
  193. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +5 -5
  194. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +26 -6
  195. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +3 -4
  196. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +17 -3
  197. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +29 -0
  198. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +67 -0
  199. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +79 -0
  200. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +268 -0
  201. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +78 -0
  202. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +281 -0
  203. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +41 -0
  204. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +113 -0
  205. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +96 -98
  206. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +378 -226
  207. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +0 -1
  208. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +1 -0
  209. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +28 -25
  210. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +124 -53
  211. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +9 -12
  212. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +29 -24
  213. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +32 -33
  214. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +118 -67
  215. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +1 -1
  216. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +7 -0
  217. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +1 -1
  218. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +7 -0
  219. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +51 -44
  220. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +179 -129
  221. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +1 -4
  222. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +7 -0
  223. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +1 -4
  224. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +7 -0
  225. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +7 -8
  226. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +31 -16
  227. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +1 -3
  228. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +7 -0
  229. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +1 -1
  230. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +7 -0
  231. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +93 -0
  232. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +323 -0
  233. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +5 -5
  234. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +25 -11
  235. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +36 -0
  236. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +90 -0
  237. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +1 -1
  238. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +7 -0
  239. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +1 -1
  240. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +7 -0
  241. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +6 -6
  242. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +29 -8
  243. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +2 -3
  244. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +16 -3
  245. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +46 -0
  246. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +124 -0
  247. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +3 -3
  248. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +19 -0
  249. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +7 -7
  250. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +46 -3
  251. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +8 -8
  252. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +41 -8
  253. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +1 -0
  254. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +3 -3
  255. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +15 -2
  256. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +3 -3
  257. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +19 -0
  258. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +1 -1
  259. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +7 -0
  260. data/src/core/ext/upb-generated/google/api/annotations.upb.h +1 -0
  261. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +34 -34
  262. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +149 -72
  263. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +54 -37
  264. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +171 -59
  265. data/src/core/ext/upb-generated/google/api/http.upb.c +3 -3
  266. data/src/core/ext/upb-generated/google/api/http.upb.h +25 -6
  267. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +1 -1
  268. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +7 -0
  269. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +90 -90
  270. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +455 -292
  271. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +1 -1
  272. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +7 -0
  273. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +1 -1
  274. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +7 -0
  275. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +4 -4
  276. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +22 -3
  277. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +1 -1
  278. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +7 -0
  279. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +9 -9
  280. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +55 -0
  281. data/src/core/ext/upb-generated/google/rpc/status.upb.c +1 -1
  282. data/src/core/ext/upb-generated/google/rpc/status.upb.h +10 -3
  283. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +4 -4
  284. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +11 -3
  285. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +41 -41
  286. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +149 -76
  287. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +5 -5
  288. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +21 -6
  289. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +2 -2
  290. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +13 -0
  291. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +17 -17
  292. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +82 -25
  293. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +3 -3
  294. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +19 -0
  295. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +1 -1
  296. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +7 -0
  297. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +1 -0
  298. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +2 -2
  299. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +9 -2
  300. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +1 -1
  301. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +7 -0
  302. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c +3 -3
  303. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h +7 -0
  304. data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.c +33 -0
  305. data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.h +77 -0
  306. data/src/core/ext/upb-generated/validate/validate.upb.c +64 -64
  307. data/src/core/ext/upb-generated/validate/validate.upb.h +296 -157
  308. data/src/core/ext/upb-generated/{udpa/core/v1 → xds/core/v3}/authority.upb.c +6 -6
  309. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +60 -0
  310. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +52 -0
  311. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +143 -0
  312. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +42 -0
  313. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +84 -0
  314. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +36 -0
  315. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +94 -0
  316. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +54 -0
  317. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +166 -0
  318. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +36 -0
  319. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +85 -0
  320. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +354 -0
  321. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +140 -0
  322. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +38 -0
  323. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +30 -0
  324. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +41 -0
  325. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +35 -0
  326. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +251 -0
  327. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +105 -0
  328. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +383 -0
  329. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +115 -0
  330. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +100 -0
  331. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +45 -0
  332. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +543 -0
  333. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +145 -0
  334. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +53 -0
  335. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +35 -0
  336. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +136 -0
  337. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +35 -0
  338. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +127 -0
  339. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +65 -0
  340. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +56 -0
  341. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +35 -0
  342. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +272 -0
  343. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +135 -0
  344. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +143 -0
  345. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +55 -0
  346. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +56 -0
  347. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +35 -0
  348. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +66 -0
  349. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +40 -0
  350. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +263 -0
  351. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +100 -0
  352. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +233 -0
  353. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +70 -0
  354. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +56 -0
  355. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +35 -0
  356. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +231 -0
  357. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +85 -0
  358. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +43 -0
  359. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +35 -0
  360. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +59 -0
  361. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +35 -0
  362. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +68 -0
  363. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +35 -0
  364. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +107 -0
  365. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +50 -0
  366. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +113 -0
  367. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +50 -0
  368. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +146 -0
  369. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +55 -0
  370. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +50 -0
  371. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +35 -0
  372. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +195 -0
  373. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +55 -0
  374. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +193 -0
  375. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +65 -0
  376. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +59 -0
  377. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +40 -0
  378. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +141 -0
  379. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +70 -0
  380. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +141 -0
  381. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +70 -0
  382. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +101 -0
  383. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +40 -0
  384. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +944 -0
  385. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +290 -0
  386. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +71 -0
  387. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +45 -0
  388. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +61 -0
  389. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +40 -0
  390. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +51 -0
  391. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +35 -0
  392. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +102 -0
  393. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +55 -0
  394. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +120 -0
  395. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +45 -0
  396. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +76 -0
  397. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +35 -0
  398. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +505 -0
  399. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +115 -0
  400. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +44 -0
  401. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +30 -0
  402. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +170 -0
  403. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +55 -0
  404. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +97 -0
  405. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +45 -0
  406. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +246 -0
  407. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +60 -0
  408. data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c +72 -0
  409. data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.h +35 -0
  410. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +60 -0
  411. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +35 -0
  412. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +142 -0
  413. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +65 -0
  414. data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c +73 -0
  415. data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.h +35 -0
  416. data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c +72 -0
  417. data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.h +35 -0
  418. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +80 -0
  419. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +40 -0
  420. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c +80 -0
  421. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h +35 -0
  422. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c +74 -0
  423. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h +35 -0
  424. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +130 -0
  425. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +50 -0
  426. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +64 -0
  427. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +40 -0
  428. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +56 -0
  429. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +35 -0
  430. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +54 -0
  431. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +35 -0
  432. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +53 -0
  433. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +35 -0
  434. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +73 -0
  435. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +45 -0
  436. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +69 -0
  437. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +40 -0
  438. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +63 -0
  439. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +40 -0
  440. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +81 -0
  441. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +45 -0
  442. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +92 -0
  443. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +65 -0
  444. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +95 -0
  445. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +55 -0
  446. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +34 -0
  447. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +30 -0
  448. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +59 -0
  449. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +40 -0
  450. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +54 -0
  451. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +45 -0
  452. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +47 -0
  453. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +35 -0
  454. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +40 -0
  455. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +30 -0
  456. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +61 -0
  457. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +45 -0
  458. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +39 -0
  459. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +35 -0
  460. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +386 -0
  461. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +165 -0
  462. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +40 -0
  463. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +35 -0
  464. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +37 -0
  465. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +35 -0
  466. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +65 -0
  467. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +50 -0
  468. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +40 -0
  469. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +35 -0
  470. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +66 -0
  471. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +75 -0
  472. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +42 -0
  473. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +35 -0
  474. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +70 -0
  475. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +45 -0
  476. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +56 -0
  477. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +35 -0
  478. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +33 -0
  479. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +30 -0
  480. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +49 -0
  481. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +35 -0
  482. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +43 -0
  483. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +35 -0
  484. data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.c +44 -0
  485. data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.h +35 -0
  486. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +310 -0
  487. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +145 -0
  488. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +42 -0
  489. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +35 -0
  490. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +62 -0
  491. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +40 -0
  492. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +45 -0
  493. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +40 -0
  494. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +49 -0
  495. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +35 -0
  496. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +67 -0
  497. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +40 -0
  498. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +50 -0
  499. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +35 -0
  500. data/src/core/ext/xds/certificate_provider_factory.h +7 -5
  501. data/src/core/ext/xds/certificate_provider_store.cc +87 -0
  502. data/src/core/ext/xds/certificate_provider_store.h +70 -8
  503. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +144 -0
  504. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +69 -0
  505. data/src/core/ext/xds/xds_api.cc +2378 -1183
  506. data/src/core/ext/xds/xds_api.h +373 -99
  507. data/src/core/ext/xds/xds_bootstrap.cc +250 -68
  508. data/src/core/ext/xds/xds_bootstrap.h +40 -13
  509. data/src/core/ext/xds/xds_certificate_provider.cc +405 -0
  510. data/src/core/ext/xds/xds_certificate_provider.h +151 -0
  511. data/src/core/ext/xds/xds_client.cc +364 -182
  512. data/src/core/ext/xds/xds_client.h +47 -12
  513. data/src/core/ext/xds/xds_client_stats.cc +43 -5
  514. data/src/core/ext/xds/xds_client_stats.h +4 -4
  515. data/src/core/ext/xds/xds_http_fault_filter.cc +226 -0
  516. data/src/core/ext/xds/xds_http_fault_filter.h +63 -0
  517. data/src/core/ext/xds/xds_http_filters.cc +114 -0
  518. data/src/core/ext/xds/xds_http_filters.h +130 -0
  519. data/src/core/ext/xds/xds_server_config_fetcher.cc +532 -0
  520. data/src/core/lib/channel/channel_args.cc +9 -8
  521. data/src/core/lib/channel/channel_stack.cc +12 -0
  522. data/src/core/lib/channel/channel_stack.h +7 -0
  523. data/src/core/lib/channel/channel_trace.cc +4 -2
  524. data/src/core/lib/channel/channel_trace.h +1 -1
  525. data/src/core/lib/channel/channelz.cc +105 -18
  526. data/src/core/lib/channel/channelz.h +32 -4
  527. data/src/core/lib/channel/channelz_registry.cc +14 -0
  528. data/src/core/lib/channel/channelz_registry.h +0 -1
  529. data/src/core/lib/channel/handshaker.cc +4 -46
  530. data/src/core/lib/channel/handshaker.h +3 -20
  531. data/src/core/lib/channel/status_util.cc +12 -2
  532. data/src/core/lib/channel/status_util.h +5 -0
  533. data/src/core/lib/compression/compression.cc +8 -4
  534. data/src/core/lib/compression/compression_args.cc +3 -2
  535. data/src/core/lib/compression/compression_internal.cc +10 -5
  536. data/src/core/lib/compression/compression_internal.h +2 -1
  537. data/src/core/lib/compression/stream_compression_identity.cc +1 -3
  538. data/src/core/lib/debug/stats.h +2 -2
  539. data/src/core/lib/debug/stats_data.cc +1 -0
  540. data/src/core/lib/debug/stats_data.h +13 -13
  541. data/src/core/lib/gpr/alloc.cc +3 -2
  542. data/src/core/lib/gpr/cpu_iphone.cc +10 -2
  543. data/src/core/lib/gpr/log.cc +59 -17
  544. data/src/core/lib/gpr/log_linux.cc +19 -3
  545. data/src/core/lib/gpr/log_posix.cc +15 -1
  546. data/src/core/lib/gpr/log_windows.cc +18 -4
  547. data/src/core/lib/gpr/murmur_hash.cc +1 -1
  548. data/src/core/lib/gpr/spinlock.h +10 -2
  549. data/src/core/lib/gpr/string.cc +23 -22
  550. data/src/core/lib/gpr/string.h +5 -6
  551. data/src/core/lib/gpr/sync.cc +4 -4
  552. data/src/core/lib/gpr/sync_abseil.cc +3 -6
  553. data/src/core/lib/gpr/sync_windows.cc +2 -2
  554. data/src/core/lib/gpr/time.cc +12 -12
  555. data/src/core/lib/gpr/time_precise.cc +3 -2
  556. data/src/core/lib/gpr/tls.h +4 -0
  557. data/src/core/lib/gpr/tls_msvc.h +2 -0
  558. data/src/core/lib/gpr/tls_stdcpp.h +48 -0
  559. data/src/core/lib/gpr/useful.h +5 -4
  560. data/src/core/lib/gprpp/arena.h +3 -2
  561. data/src/core/lib/gprpp/atomic.h +3 -3
  562. data/src/core/lib/gprpp/dual_ref_counted.h +46 -51
  563. data/src/core/lib/gprpp/examine_stack.cc +43 -0
  564. data/src/core/lib/gprpp/examine_stack.h +46 -0
  565. data/src/core/lib/gprpp/fork.cc +2 -2
  566. data/src/core/lib/gprpp/manual_constructor.h +1 -1
  567. data/src/core/lib/gprpp/mpscq.cc +2 -2
  568. data/src/core/lib/gprpp/orphanable.h +4 -8
  569. data/src/core/lib/gprpp/ref_counted.h +42 -48
  570. data/src/core/lib/gprpp/ref_counted_ptr.h +20 -12
  571. data/src/core/lib/{security/authorization/mock_cel/statusor.h → gprpp/stat.h} +13 -25
  572. data/src/core/lib/gprpp/stat_posix.cc +49 -0
  573. data/src/core/lib/gprpp/stat_windows.cc +48 -0
  574. data/src/core/lib/gprpp/sync.h +129 -40
  575. data/src/core/lib/gprpp/thd.h +3 -3
  576. data/src/core/lib/gprpp/thd_posix.cc +42 -37
  577. data/src/core/lib/gprpp/thd_windows.cc +3 -1
  578. data/src/core/lib/gprpp/time_util.cc +77 -0
  579. data/src/core/lib/gprpp/time_util.h +42 -0
  580. data/src/core/lib/http/httpcli.cc +1 -1
  581. data/src/core/lib/http/httpcli.h +2 -3
  582. data/src/core/lib/http/httpcli_security_connector.cc +3 -3
  583. data/src/core/lib/http/parser.cc +47 -27
  584. data/src/core/lib/iomgr/buffer_list.h +1 -1
  585. data/src/core/lib/iomgr/call_combiner.cc +8 -5
  586. data/src/core/lib/iomgr/cfstream_handle.cc +2 -2
  587. data/src/core/lib/iomgr/combiner.cc +2 -1
  588. data/src/core/lib/iomgr/endpoint.h +1 -1
  589. data/src/core/lib/iomgr/error.cc +17 -12
  590. data/src/core/lib/iomgr/error.h +1 -1
  591. data/src/core/lib/iomgr/error_internal.h +1 -1
  592. data/src/core/lib/iomgr/ev_apple.cc +11 -8
  593. data/src/core/lib/iomgr/ev_epoll1_linux.cc +23 -16
  594. data/src/core/lib/iomgr/ev_epollex_linux.cc +29 -21
  595. data/src/core/lib/iomgr/ev_poll_posix.cc +9 -7
  596. data/src/core/lib/iomgr/ev_posix.cc +3 -3
  597. data/src/core/lib/iomgr/exec_ctx.cc +7 -3
  598. data/src/core/lib/iomgr/exec_ctx.h +6 -4
  599. data/src/core/lib/iomgr/executor.cc +2 -1
  600. data/src/core/lib/iomgr/executor.h +1 -1
  601. data/src/core/lib/iomgr/executor/mpmcqueue.h +5 -5
  602. data/src/core/lib/iomgr/executor/threadpool.h +4 -4
  603. data/src/core/lib/iomgr/iomgr.cc +1 -1
  604. data/src/core/lib/iomgr/iomgr_posix.cc +0 -1
  605. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +0 -1
  606. data/src/core/lib/iomgr/load_file.h +1 -1
  607. data/src/core/lib/iomgr/lockfree_event.cc +19 -14
  608. data/src/core/lib/iomgr/lockfree_event.h +2 -2
  609. data/src/core/lib/iomgr/parse_address.cc +127 -43
  610. data/src/core/lib/iomgr/parse_address.h +32 -8
  611. data/src/core/lib/iomgr/poller/eventmanager_libuv.cc +2 -1
  612. data/src/core/lib/iomgr/poller/eventmanager_libuv.h +1 -1
  613. data/src/core/lib/iomgr/pollset_set_custom.cc +1 -1
  614. data/src/core/lib/iomgr/python_util.h +4 -4
  615. data/src/core/lib/iomgr/resolve_address.cc +4 -4
  616. data/src/core/lib/iomgr/resolve_address_posix.cc +1 -5
  617. data/src/core/lib/iomgr/resource_quota.cc +5 -5
  618. data/src/core/lib/iomgr/sockaddr_utils.cc +131 -11
  619. data/src/core/lib/iomgr/sockaddr_utils.h +26 -1
  620. data/src/core/lib/iomgr/socket_factory_posix.cc +3 -2
  621. data/src/core/lib/iomgr/socket_mutator.cc +3 -2
  622. data/src/core/lib/iomgr/socket_utils_common_posix.cc +1 -0
  623. data/src/core/lib/iomgr/tcp_client.cc +3 -3
  624. data/src/core/lib/iomgr/tcp_client_custom.cc +7 -6
  625. data/src/core/lib/iomgr/tcp_client_posix.cc +1 -1
  626. data/src/core/lib/iomgr/tcp_custom.cc +22 -17
  627. data/src/core/lib/iomgr/tcp_posix.cc +17 -16
  628. data/src/core/lib/iomgr/tcp_server_custom.cc +28 -22
  629. data/src/core/lib/iomgr/tcp_uv.cc +2 -2
  630. data/src/core/lib/iomgr/timer_custom.cc +5 -5
  631. data/src/core/lib/iomgr/timer_generic.cc +5 -5
  632. data/src/core/lib/iomgr/timer_manager.cc +3 -3
  633. data/src/core/lib/iomgr/udp_server.cc +1 -2
  634. data/src/core/lib/iomgr/udp_server.h +1 -2
  635. data/src/core/lib/iomgr/unix_sockets_posix.cc +32 -21
  636. data/src/core/lib/iomgr/unix_sockets_posix.h +5 -0
  637. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +7 -0
  638. data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +1 -1
  639. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +2 -2
  640. data/src/core/lib/json/json.h +12 -2
  641. data/src/core/lib/json/json_reader.cc +8 -4
  642. data/src/core/lib/json/json_util.h +167 -0
  643. data/src/core/lib/json/json_writer.cc +2 -1
  644. data/src/core/lib/matchers/matchers.cc +339 -0
  645. data/src/core/lib/matchers/matchers.h +160 -0
  646. data/src/core/lib/security/context/security_context.cc +4 -3
  647. data/src/core/lib/security/context/security_context.h +3 -1
  648. data/src/core/lib/security/credentials/alts/alts_credentials.cc +2 -1
  649. data/src/core/lib/security/credentials/alts/alts_credentials.h +1 -1
  650. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +1 -1
  651. data/src/core/lib/security/credentials/credentials.cc +7 -7
  652. data/src/core/lib/security/credentials/credentials.h +5 -4
  653. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +413 -0
  654. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +80 -0
  655. data/src/core/lib/security/credentials/external/aws_request_signer.cc +213 -0
  656. data/src/core/lib/security/credentials/external/aws_request_signer.h +72 -0
  657. data/src/core/lib/security/credentials/external/external_account_credentials.cc +497 -0
  658. data/src/core/lib/security/credentials/external/external_account_credentials.h +120 -0
  659. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +135 -0
  660. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +48 -0
  661. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +213 -0
  662. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +58 -0
  663. data/src/core/lib/security/credentials/fake/fake_credentials.cc +3 -2
  664. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +25 -18
  665. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +64 -0
  666. data/src/core/lib/security/credentials/jwt/json_token.cc +3 -3
  667. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +4 -3
  668. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +5 -4
  669. data/src/core/lib/security/credentials/local/local_credentials.cc +2 -1
  670. data/src/core/lib/security/credentials/local/local_credentials.h +1 -1
  671. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +39 -46
  672. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +5 -4
  673. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +1 -1
  674. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +7 -6
  675. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +2 -2
  676. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +30 -5
  677. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +13 -14
  678. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +399 -0
  679. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +138 -0
  680. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +78 -150
  681. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +57 -187
  682. data/src/core/lib/security/credentials/tls/tls_credentials.cc +18 -13
  683. data/src/core/lib/security/credentials/tls/tls_credentials.h +3 -3
  684. data/src/core/lib/security/credentials/tls/tls_utils.cc +91 -0
  685. data/src/core/lib/security/credentials/tls/tls_utils.h +38 -0
  686. data/src/core/lib/security/credentials/xds/xds_credentials.cc +209 -10
  687. data/src/core/lib/security/credentials/xds/xds_credentials.h +27 -9
  688. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +1 -1
  689. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +3 -3
  690. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +121 -0
  691. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +87 -0
  692. data/src/core/lib/security/security_connector/load_system_roots.h +4 -0
  693. data/src/core/lib/security/security_connector/load_system_roots_linux.h +2 -0
  694. data/src/core/lib/security/security_connector/local/local_security_connector.cc +3 -3
  695. data/src/core/lib/security/security_connector/security_connector.cc +4 -3
  696. data/src/core/lib/security/security_connector/security_connector.h +4 -2
  697. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +4 -4
  698. data/src/core/lib/security/security_connector/ssl_utils.cc +11 -6
  699. data/src/core/lib/security/security_connector/ssl_utils.h +16 -21
  700. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +360 -279
  701. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +105 -61
  702. data/src/core/lib/security/transport/secure_endpoint.cc +2 -2
  703. data/src/core/lib/security/transport/security_handshaker.cc +36 -8
  704. data/src/core/lib/security/transport/server_auth_filter.cc +2 -1
  705. data/src/core/lib/security/util/json_util.h +1 -0
  706. data/src/core/lib/slice/slice.cc +7 -4
  707. data/src/core/lib/slice/slice_buffer.cc +2 -1
  708. data/src/core/lib/slice/slice_intern.cc +11 -13
  709. data/src/core/lib/slice/slice_internal.h +2 -2
  710. data/src/core/lib/surface/call.cc +41 -32
  711. data/src/core/lib/surface/call_details.cc +8 -8
  712. data/src/core/lib/surface/channel.cc +16 -10
  713. data/src/core/lib/surface/channel.h +6 -5
  714. data/src/core/lib/surface/channel_init.cc +1 -1
  715. data/src/core/lib/surface/completion_queue.cc +31 -25
  716. data/src/core/lib/surface/completion_queue.h +16 -16
  717. data/src/core/lib/surface/init.cc +19 -20
  718. data/src/core/lib/surface/lame_client.cc +47 -54
  719. data/src/core/lib/surface/lame_client.h +5 -0
  720. data/src/core/lib/surface/server.cc +106 -53
  721. data/src/core/lib/surface/server.h +114 -20
  722. data/src/core/lib/surface/validate_metadata.h +3 -0
  723. data/src/core/lib/surface/version.cc +2 -2
  724. data/src/core/lib/transport/authority_override.cc +6 -4
  725. data/src/core/lib/transport/authority_override.h +7 -2
  726. data/src/core/lib/transport/bdp_estimator.cc +1 -1
  727. data/src/core/lib/transport/byte_stream.h +3 -3
  728. data/src/core/lib/transport/connectivity_state.h +9 -7
  729. data/src/core/lib/transport/error_utils.h +1 -1
  730. data/src/core/lib/transport/metadata.cc +6 -2
  731. data/src/core/lib/transport/metadata.h +2 -2
  732. data/src/core/lib/transport/metadata_batch.cc +27 -0
  733. data/src/core/lib/transport/metadata_batch.h +18 -4
  734. data/src/core/lib/transport/static_metadata.cc +1 -1
  735. data/src/core/lib/transport/status_metadata.cc +4 -3
  736. data/src/core/lib/transport/timeout_encoding.cc +4 -4
  737. data/src/core/lib/transport/transport.cc +5 -3
  738. data/src/core/lib/transport/transport.h +8 -8
  739. data/src/core/lib/uri/uri_parser.cc +131 -249
  740. data/src/core/lib/uri/uri_parser.h +57 -21
  741. data/src/core/plugin_registry/grpc_plugin_registry.cc +26 -8
  742. data/src/core/tsi/alts/crypt/gsec.cc +5 -4
  743. data/src/core/tsi/alts/frame_protector/frame_handler.cc +8 -6
  744. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +19 -25
  745. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +43 -47
  746. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +1 -1
  747. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +1 -3
  748. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +8 -6
  749. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +4 -4
  750. data/src/core/tsi/fake_transport_security.cc +17 -5
  751. data/src/core/tsi/local_transport_security.cc +5 -1
  752. data/src/core/tsi/local_transport_security.h +6 -7
  753. data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +1 -1
  754. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +0 -2
  755. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +3 -2
  756. data/src/core/tsi/ssl_transport_security.cc +73 -56
  757. data/src/core/tsi/ssl_transport_security.h +6 -6
  758. data/src/core/tsi/transport_security.cc +10 -8
  759. data/src/core/tsi/transport_security_interface.h +1 -1
  760. data/src/ruby/ext/grpc/extconf.rb +10 -2
  761. data/src/ruby/ext/grpc/rb_channel.c +10 -1
  762. data/src/ruby/ext/grpc/rb_channel_credentials.c +11 -1
  763. data/src/ruby/ext/grpc/rb_channel_credentials.h +4 -0
  764. data/src/ruby/ext/grpc/rb_compression_options.c +1 -1
  765. data/src/ruby/ext/grpc/rb_enable_cpp.cc +1 -1
  766. data/src/ruby/ext/grpc/rb_event_thread.c +2 -0
  767. data/src/ruby/ext/grpc/rb_grpc.c +4 -0
  768. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +36 -14
  769. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +70 -37
  770. data/src/ruby/ext/grpc/rb_server.c +13 -1
  771. data/src/ruby/ext/grpc/rb_server_credentials.c +19 -3
  772. data/src/ruby/ext/grpc/rb_server_credentials.h +4 -0
  773. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +215 -0
  774. data/src/ruby/ext/grpc/rb_xds_channel_credentials.h +35 -0
  775. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +169 -0
  776. data/src/ruby/ext/grpc/rb_xds_server_credentials.h +35 -0
  777. data/src/ruby/lib/grpc/generic/client_stub.rb +4 -2
  778. data/src/ruby/lib/grpc/version.rb +1 -1
  779. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +35 -0
  780. data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +18 -0
  781. data/src/ruby/spec/call_spec.rb +1 -1
  782. data/src/ruby/spec/channel_credentials_spec.rb +32 -0
  783. data/src/ruby/spec/channel_spec.rb +17 -6
  784. data/src/ruby/spec/client_auth_spec.rb +27 -1
  785. data/src/ruby/spec/errors_spec.rb +1 -1
  786. data/src/ruby/spec/generic/active_call_spec.rb +2 -2
  787. data/src/ruby/spec/generic/client_stub_spec.rb +4 -4
  788. data/src/ruby/spec/generic/rpc_server_spec.rb +1 -1
  789. data/src/ruby/spec/pb/codegen/package_option_spec.rb +2 -6
  790. data/src/ruby/spec/server_credentials_spec.rb +25 -0
  791. data/src/ruby/spec/server_spec.rb +22 -0
  792. data/third_party/abseil-cpp/absl/algorithm/container.h +59 -22
  793. data/third_party/abseil-cpp/absl/base/attributes.h +99 -38
  794. data/third_party/abseil-cpp/absl/base/call_once.h +1 -1
  795. data/third_party/abseil-cpp/absl/base/casts.h +9 -6
  796. data/third_party/abseil-cpp/absl/base/config.h +60 -17
  797. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +428 -335
  798. data/third_party/abseil-cpp/absl/base/internal/bits.h +17 -16
  799. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +5 -0
  800. data/third_party/abseil-cpp/absl/base/internal/dynamic_annotations.h +398 -0
  801. data/third_party/abseil-cpp/absl/base/internal/invoke.h +4 -4
  802. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +1 -1
  803. data/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +29 -1
  804. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +2 -2
  805. data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +7 -5
  806. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +25 -38
  807. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +19 -25
  808. data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +8 -0
  809. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +28 -5
  810. data/third_party/abseil-cpp/absl/base/internal/sysinfo.h +8 -0
  811. data/third_party/abseil-cpp/absl/base/internal/tsan_mutex_interface.h +3 -1
  812. data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +2 -2
  813. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +3 -3
  814. data/third_party/abseil-cpp/absl/base/macros.h +36 -109
  815. data/third_party/abseil-cpp/absl/base/optimization.h +61 -1
  816. data/third_party/abseil-cpp/absl/base/options.h +31 -4
  817. data/third_party/abseil-cpp/absl/base/policy_checks.h +1 -1
  818. data/third_party/abseil-cpp/absl/base/thread_annotations.h +94 -39
  819. data/third_party/abseil-cpp/absl/container/fixed_array.h +42 -25
  820. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +606 -0
  821. data/third_party/abseil-cpp/absl/container/inlined_vector.h +33 -36
  822. data/third_party/abseil-cpp/absl/container/internal/common.h +6 -2
  823. data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +33 -8
  824. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +49 -29
  825. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +15 -0
  826. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +24 -7
  827. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +2 -1
  828. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +35 -11
  829. data/third_party/abseil-cpp/absl/container/internal/have_sse.h +10 -9
  830. data/third_party/abseil-cpp/absl/container/internal/layout.h +7 -5
  831. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +197 -0
  832. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +55 -34
  833. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +5 -4
  834. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +66 -16
  835. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +4 -0
  836. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +13 -4
  837. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +43 -24
  838. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +12 -3
  839. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +10 -2
  840. data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +22 -1
  841. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +0 -21
  842. data/third_party/abseil-cpp/absl/debugging/symbolize.cc +12 -1
  843. data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +101 -0
  844. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +100 -20
  845. data/third_party/abseil-cpp/absl/functional/bind_front.h +184 -0
  846. data/third_party/abseil-cpp/absl/functional/function_ref.h +1 -1
  847. data/third_party/abseil-cpp/absl/functional/internal/front_binder.h +95 -0
  848. data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +2 -2
  849. data/third_party/abseil-cpp/absl/hash/hash.h +6 -5
  850. data/third_party/abseil-cpp/absl/hash/internal/hash.h +73 -65
  851. data/third_party/abseil-cpp/absl/memory/memory.h +4 -0
  852. data/third_party/abseil-cpp/absl/meta/type_traits.h +2 -8
  853. data/third_party/abseil-cpp/absl/numeric/int128.cc +13 -27
  854. data/third_party/abseil-cpp/absl/numeric/int128.h +16 -15
  855. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +51 -0
  856. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +399 -0
  857. data/third_party/abseil-cpp/absl/status/status.cc +4 -6
  858. data/third_party/abseil-cpp/absl/status/status.h +502 -113
  859. data/third_party/abseil-cpp/absl/status/status_payload_printer.cc +5 -10
  860. data/third_party/abseil-cpp/absl/status/statusor.cc +71 -0
  861. data/third_party/abseil-cpp/absl/status/statusor.h +760 -0
  862. data/third_party/abseil-cpp/absl/strings/charconv.cc +2 -2
  863. data/third_party/abseil-cpp/absl/strings/cord.cc +91 -112
  864. data/third_party/abseil-cpp/absl/strings/cord.h +360 -205
  865. data/third_party/abseil-cpp/absl/strings/escaping.cc +9 -9
  866. data/third_party/abseil-cpp/absl/strings/internal/char_map.h +1 -1
  867. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +1 -1
  868. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +2 -2
  869. data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +2 -2
  870. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +45 -23
  871. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +222 -136
  872. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +136 -64
  873. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +1 -1
  874. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +14 -21
  875. data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +7 -14
  876. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +31 -7
  877. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +147 -135
  878. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +999 -87
  879. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +3 -3
  880. data/third_party/abseil-cpp/absl/strings/internal/str_format/output.h +4 -12
  881. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +8 -6
  882. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +13 -11
  883. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +2 -2
  884. data/third_party/abseil-cpp/absl/strings/str_cat.cc +4 -4
  885. data/third_party/abseil-cpp/absl/strings/str_cat.h +1 -1
  886. data/third_party/abseil-cpp/absl/strings/str_format.h +289 -13
  887. data/third_party/abseil-cpp/absl/strings/str_split.cc +2 -2
  888. data/third_party/abseil-cpp/absl/strings/str_split.h +1 -0
  889. data/third_party/abseil-cpp/absl/strings/string_view.h +26 -19
  890. data/third_party/abseil-cpp/absl/strings/substitute.cc +5 -5
  891. data/third_party/abseil-cpp/absl/strings/substitute.h +32 -29
  892. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +3 -3
  893. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +4 -3
  894. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +28 -28
  895. data/third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc +4 -16
  896. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +1 -1
  897. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +8 -0
  898. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +2 -2
  899. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +75 -64
  900. data/third_party/abseil-cpp/absl/synchronization/mutex.h +15 -6
  901. data/third_party/abseil-cpp/absl/time/civil_time.cc +9 -9
  902. data/third_party/abseil-cpp/absl/time/clock.cc +3 -3
  903. data/third_party/abseil-cpp/absl/time/duration.cc +90 -59
  904. data/third_party/abseil-cpp/absl/time/format.cc +43 -36
  905. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +26 -16
  906. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +4 -2
  907. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h +1 -1
  908. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +136 -29
  909. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +13 -21
  910. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +1 -1
  911. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +136 -129
  912. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +4 -5
  913. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +8 -7
  914. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +6 -6
  915. data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +2 -1
  916. data/third_party/abseil-cpp/absl/time/time.h +15 -16
  917. data/third_party/abseil-cpp/absl/types/internal/variant.h +4 -4
  918. data/third_party/abseil-cpp/absl/types/optional.h +9 -9
  919. data/third_party/abseil-cpp/absl/types/span.h +49 -36
  920. data/third_party/abseil-cpp/absl/utility/utility.h +2 -2
  921. data/third_party/address_sorting/include/address_sorting/address_sorting.h +2 -0
  922. data/third_party/boringssl-with-bazel/err_data.c +728 -722
  923. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +3 -3
  924. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c +2 -2
  925. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +5 -5
  926. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +3 -10
  927. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c +3 -3
  928. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +4 -2
  929. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +2 -2
  930. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +15 -14
  931. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_locl.h +30 -0
  932. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +28 -79
  933. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +39 -85
  934. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +5 -16
  935. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +10 -61
  936. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +0 -2
  937. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +2 -2
  938. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +2 -0
  939. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +4 -0
  940. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +158 -0
  941. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c +3 -10
  942. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +8 -9
  943. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +60 -45
  944. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +6 -81
  945. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +87 -0
  946. data/third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-win.c +41 -0
  947. data/third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c +11 -2
  948. data/third_party/boringssl-with-bazel/src/crypto/cpu-arm.c +3 -3
  949. data/third_party/boringssl-with-bazel/src/crypto/{dh → dh_extra}/dh_asn1.c +0 -0
  950. data/third_party/boringssl-with-bazel/src/crypto/{dh → dh_extra}/params.c +179 -0
  951. data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +25 -0
  952. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +2 -17
  953. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +3 -1
  954. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c +13 -20
  955. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +2 -3
  956. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +9 -1
  957. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +21 -13
  958. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +173 -35
  959. data/third_party/boringssl-with-bazel/src/crypto/{dh → fipsmodule/dh}/check.c +0 -0
  960. data/third_party/boringssl-with-bazel/src/crypto/{dh → fipsmodule/dh}/dh.c +136 -213
  961. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +12 -0
  962. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +9 -1
  963. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +28 -0
  964. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +135 -43
  965. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +0 -7
  966. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +97 -39
  967. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +155 -2
  968. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +18 -29
  969. data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +13 -4
  970. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +10 -7
  971. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c +13 -11
  972. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c +4 -0
  973. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +34 -0
  974. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +4 -0
  975. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +7 -13
  976. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +90 -63
  977. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +60 -60
  978. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +179 -47
  979. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +766 -0
  980. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +10 -0
  981. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +5 -1
  982. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +1 -29
  983. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +10 -7
  984. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_r2x.c +1 -1
  985. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +8 -8
  986. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +1 -1
  987. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +29 -23
  988. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +22 -17
  989. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +1 -2
  990. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pkey.c +2 -2
  991. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +39 -4
  992. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +2 -2
  993. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c +5 -3
  994. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c +3 -3
  995. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +25 -24
  996. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bitst.c +3 -3
  997. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +25 -25
  998. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +2 -2
  999. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_enum.c +2 -1
  1000. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_genn.c +40 -20
  1001. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ia5.c +3 -4
  1002. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +25 -36
  1003. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +2 -2
  1004. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +6 -6
  1005. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +6 -6
  1006. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +24 -0
  1007. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +10 -8
  1008. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +652 -545
  1009. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +0 -167
  1010. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +14 -6
  1011. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +4 -0
  1012. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +62 -0
  1013. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +22 -7
  1014. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +19 -0
  1015. data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +22 -32
  1016. data/third_party/boringssl-with-bazel/src/include/openssl/des.h +6 -0
  1017. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +56 -26
  1018. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +1 -0
  1019. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +15 -0
  1020. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +12 -2
  1021. data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +3 -0
  1022. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +202 -134
  1023. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +3 -0
  1024. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +2 -1
  1025. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +122 -34
  1026. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +31 -8
  1027. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +31 -23
  1028. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +287 -99
  1029. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +546 -402
  1030. data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +18 -5
  1031. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +35 -0
  1032. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +4 -3
  1033. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +11 -20
  1034. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +10 -5
  1035. data/third_party/boringssl-with-bazel/src/ssl/internal.h +73 -17
  1036. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +0 -1
  1037. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +49 -9
  1038. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +87 -14
  1039. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +18 -22
  1040. data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +2 -2
  1041. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +5 -7
  1042. data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +570 -53
  1043. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +55 -13
  1044. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +48 -15
  1045. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +192 -56
  1046. data/third_party/upb/third_party/wyhash/wyhash.h +145 -0
  1047. data/third_party/upb/upb/decode.c +248 -167
  1048. data/third_party/upb/upb/decode.h +20 -1
  1049. data/third_party/upb/upb/decode.int.h +163 -0
  1050. data/third_party/upb/upb/decode_fast.c +1040 -0
  1051. data/third_party/upb/upb/decode_fast.h +126 -0
  1052. data/third_party/upb/upb/def.c +2178 -0
  1053. data/third_party/upb/upb/def.h +315 -0
  1054. data/third_party/upb/upb/def.hpp +439 -0
  1055. data/third_party/upb/upb/encode.c +227 -169
  1056. data/third_party/upb/upb/encode.h +27 -2
  1057. data/third_party/upb/upb/msg.c +167 -88
  1058. data/third_party/upb/upb/msg.h +174 -34
  1059. data/third_party/upb/upb/port_def.inc +74 -61
  1060. data/third_party/upb/upb/port_undef.inc +3 -7
  1061. data/third_party/upb/upb/reflection.c +408 -0
  1062. data/third_party/upb/upb/reflection.h +168 -0
  1063. data/third_party/upb/upb/table.c +34 -197
  1064. data/third_party/upb/upb/table.int.h +14 -5
  1065. data/third_party/upb/upb/text_encode.c +421 -0
  1066. data/third_party/upb/upb/text_encode.h +38 -0
  1067. data/third_party/upb/upb/upb.c +18 -41
  1068. data/third_party/upb/upb/upb.h +36 -7
  1069. data/third_party/upb/upb/upb.hpp +4 -4
  1070. data/third_party/upb/upb/upb.int.h +29 -0
  1071. data/third_party/xxhash/xxhash.h +5443 -0
  1072. metadata +335 -75
  1073. data/src/core/ext/filters/client_channel/lb_policy/xds/eds.cc +0 -1136
  1074. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc +0 -485
  1075. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +0 -68
  1076. data/src/core/ext/filters/client_channel/resolving_lb_policy.cc +0 -355
  1077. data/src/core/ext/filters/client_channel/resolving_lb_policy.h +0 -138
  1078. data/src/core/ext/upb-generated/udpa/core/v1/authority.upb.h +0 -53
  1079. data/src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.c +0 -52
  1080. data/src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.h +0 -129
  1081. data/src/core/ext/upb-generated/udpa/core/v1/context_params.upb.c +0 -42
  1082. data/src/core/ext/upb-generated/udpa/core/v1/context_params.upb.h +0 -77
  1083. data/src/core/ext/upb-generated/udpa/core/v1/resource.upb.c +0 -36
  1084. data/src/core/ext/upb-generated/udpa/core/v1/resource.upb.h +0 -85
  1085. data/src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.c +0 -54
  1086. data/src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.h +0 -160
  1087. data/src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.c +0 -36
  1088. data/src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.h +0 -84
  1089. data/src/core/ext/xds/google_mesh_ca_certificate_provider_factory.cc +0 -377
  1090. data/src/core/ext/xds/google_mesh_ca_certificate_provider_factory.h +0 -102
  1091. data/src/core/lib/gprpp/map.h +0 -53
  1092. data/src/core/lib/iomgr/iomgr_posix.h +0 -26
  1093. data/src/core/lib/security/authorization/authorization_engine.cc +0 -177
  1094. data/src/core/lib/security/authorization/authorization_engine.h +0 -84
  1095. data/src/core/lib/security/authorization/evaluate_args.cc +0 -153
  1096. data/src/core/lib/security/authorization/evaluate_args.h +0 -59
  1097. data/src/core/lib/security/authorization/mock_cel/activation.h +0 -57
  1098. data/src/core/lib/security/authorization/mock_cel/cel_expr_builder_factory.h +0 -42
  1099. data/src/core/lib/security/authorization/mock_cel/cel_expression.h +0 -68
  1100. data/src/core/lib/security/authorization/mock_cel/cel_value.h +0 -93
  1101. data/src/core/lib/security/authorization/mock_cel/evaluator_core.h +0 -67
  1102. data/src/core/lib/security/authorization/mock_cel/flat_expr_builder.h +0 -56
  1103. data/src/core/lib/security/certificate_provider.h +0 -60
  1104. data/third_party/abseil-cpp/absl/base/dynamic_annotations.cc +0 -129
  1105. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +0 -503
  1106. data/third_party/upb/upb/port.c +0 -26
@@ -8,7 +8,7 @@
8
8
  * are met:
9
9
  *
10
10
  * 1. Redistributions of source code must retain the above copyright
11
- * notice, this list of conditions and the following disclaimer.
11
+ * notice, this list of conditions and the following disclaimer.
12
12
  *
13
13
  * 2. Redistributions in binary form must reproduce the above copyright
14
14
  * notice, this list of conditions and the following disclaimer in
@@ -57,153 +57,152 @@
57
57
 
58
58
  #include <openssl/bio.h>
59
59
  #include <openssl/conf.h>
60
- #include <openssl/x509.h>
61
60
  #include <openssl/lhash.h>
61
+ #include <openssl/x509.h>
62
62
 
63
63
  #ifdef __cplusplus
64
64
  extern "C" {
65
65
  #endif
66
66
 
67
67
 
68
- /* Legacy X.509 library.
69
- *
70
- * This header is part of OpenSSL's X.509 implementation. It is retained for
71
- * compatibility but otherwise underdocumented and not actively maintained. In
72
- * the future, a replacement library will be available. Meanwhile, minimize
73
- * dependencies on this header where possible. */
68
+ // Legacy X.509 library.
69
+ //
70
+ // This header is part of OpenSSL's X.509 implementation. It is retained for
71
+ // compatibility but otherwise underdocumented and not actively maintained. In
72
+ // the future, a replacement library will be available. Meanwhile, minimize
73
+ // dependencies on this header where possible.
74
74
 
75
75
 
76
- /* Forward reference */
76
+ // Forward reference
77
77
  struct v3_ext_method;
78
78
  struct v3_ext_ctx;
79
79
 
80
- /* Useful typedefs */
80
+ // Useful typedefs
81
81
 
82
- typedef void * (*X509V3_EXT_NEW)(void);
82
+ typedef void *(*X509V3_EXT_NEW)(void);
83
83
  typedef void (*X509V3_EXT_FREE)(void *);
84
- typedef void * (*X509V3_EXT_D2I)(void *, const unsigned char ** , long);
84
+ typedef void *(*X509V3_EXT_D2I)(void *, const unsigned char **, long);
85
85
  typedef int (*X509V3_EXT_I2D)(void *, unsigned char **);
86
- typedef STACK_OF(CONF_VALUE) *
87
- (*X509V3_EXT_I2V)(const struct v3_ext_method *method, void *ext,
88
- STACK_OF(CONF_VALUE) *extlist);
89
- typedef void * (*X509V3_EXT_V2I)(const struct v3_ext_method *method,
90
- struct v3_ext_ctx *ctx,
91
- STACK_OF(CONF_VALUE) *values);
92
- typedef char * (*X509V3_EXT_I2S)(const struct v3_ext_method *method, void *ext);
93
- typedef void * (*X509V3_EXT_S2I)(const struct v3_ext_method *method,
94
- struct v3_ext_ctx *ctx, const char *str);
86
+ typedef STACK_OF(CONF_VALUE) *(*X509V3_EXT_I2V)(
87
+ const struct v3_ext_method *method, void *ext,
88
+ STACK_OF(CONF_VALUE) *extlist);
89
+ typedef void *(*X509V3_EXT_V2I)(const struct v3_ext_method *method,
90
+ struct v3_ext_ctx *ctx,
91
+ STACK_OF(CONF_VALUE) *values);
92
+ typedef char *(*X509V3_EXT_I2S)(const struct v3_ext_method *method, void *ext);
93
+ typedef void *(*X509V3_EXT_S2I)(const struct v3_ext_method *method,
94
+ struct v3_ext_ctx *ctx, const char *str);
95
95
  typedef int (*X509V3_EXT_I2R)(const struct v3_ext_method *method, void *ext,
96
- BIO *out, int indent);
97
- typedef void * (*X509V3_EXT_R2I)(const struct v3_ext_method *method,
98
- struct v3_ext_ctx *ctx, const char *str);
96
+ BIO *out, int indent);
97
+ typedef void *(*X509V3_EXT_R2I)(const struct v3_ext_method *method,
98
+ struct v3_ext_ctx *ctx, const char *str);
99
99
 
100
- /* V3 extension structure */
100
+ // V3 extension structure
101
101
 
102
102
  struct v3_ext_method {
103
- int ext_nid;
104
- int ext_flags;
105
- /* If this is set the following four fields are ignored */
106
- ASN1_ITEM_EXP *it;
107
- /* Old style ASN1 calls */
108
- X509V3_EXT_NEW ext_new;
109
- X509V3_EXT_FREE ext_free;
110
- X509V3_EXT_D2I d2i;
111
- X509V3_EXT_I2D i2d;
112
-
113
- /* The following pair is used for string extensions */
114
- X509V3_EXT_I2S i2s;
115
- X509V3_EXT_S2I s2i;
116
-
117
- /* The following pair is used for multi-valued extensions */
118
- X509V3_EXT_I2V i2v;
119
- X509V3_EXT_V2I v2i;
120
-
121
- /* The following are used for raw extensions */
122
- X509V3_EXT_I2R i2r;
123
- X509V3_EXT_R2I r2i;
124
-
125
- void *usr_data; /* Any extension specific data */
103
+ int ext_nid;
104
+ int ext_flags;
105
+ // If this is set the following four fields are ignored
106
+ ASN1_ITEM_EXP *it;
107
+ // Old style ASN1 calls
108
+ X509V3_EXT_NEW ext_new;
109
+ X509V3_EXT_FREE ext_free;
110
+ X509V3_EXT_D2I d2i;
111
+ X509V3_EXT_I2D i2d;
112
+
113
+ // The following pair is used for string extensions
114
+ X509V3_EXT_I2S i2s;
115
+ X509V3_EXT_S2I s2i;
116
+
117
+ // The following pair is used for multi-valued extensions
118
+ X509V3_EXT_I2V i2v;
119
+ X509V3_EXT_V2I v2i;
120
+
121
+ // The following are used for raw extensions
122
+ X509V3_EXT_I2R i2r;
123
+ X509V3_EXT_R2I r2i;
124
+
125
+ void *usr_data; // Any extension specific data
126
126
  };
127
127
 
128
128
  typedef struct X509V3_CONF_METHOD_st {
129
- char * (*get_string)(void *db, const char *section, const char *value);
130
- STACK_OF(CONF_VALUE) * (*get_section)(void *db, const char *section);
131
- void (*free_string)(void *db, char * string);
132
- void (*free_section)(void *db, STACK_OF(CONF_VALUE) *section);
129
+ char *(*get_string)(void *db, const char *section, const char *value);
130
+ STACK_OF(CONF_VALUE) *(*get_section)(void *db, const char *section);
131
+ void (*free_string)(void *db, char *string);
132
+ void (*free_section)(void *db, STACK_OF(CONF_VALUE) *section);
133
133
  } X509V3_CONF_METHOD;
134
134
 
135
- /* Context specific info */
135
+ // Context specific info
136
136
  struct v3_ext_ctx {
137
137
  #define CTX_TEST 0x1
138
- int flags;
139
- X509 *issuer_cert;
140
- X509 *subject_cert;
141
- X509_REQ *subject_req;
142
- X509_CRL *crl;
143
- const X509V3_CONF_METHOD *db_meth;
144
- void *db;
145
- /* Maybe more here */
138
+ int flags;
139
+ X509 *issuer_cert;
140
+ X509 *subject_cert;
141
+ X509_REQ *subject_req;
142
+ X509_CRL *crl;
143
+ const X509V3_CONF_METHOD *db_meth;
144
+ void *db;
145
+ // Maybe more here
146
146
  };
147
147
 
148
148
  typedef struct v3_ext_method X509V3_EXT_METHOD;
149
149
 
150
150
  DEFINE_STACK_OF(X509V3_EXT_METHOD)
151
151
 
152
- /* ext_flags values */
153
- #define X509V3_EXT_DYNAMIC 0x1
154
- #define X509V3_EXT_CTX_DEP 0x2
155
- #define X509V3_EXT_MULTILINE 0x4
152
+ // ext_flags values
153
+ #define X509V3_EXT_DYNAMIC 0x1
154
+ #define X509V3_EXT_CTX_DEP 0x2
155
+ #define X509V3_EXT_MULTILINE 0x4
156
156
 
157
157
  typedef BIT_STRING_BITNAME ENUMERATED_NAMES;
158
158
 
159
159
  struct BASIC_CONSTRAINTS_st {
160
- int ca;
161
- ASN1_INTEGER *pathlen;
160
+ int ca;
161
+ ASN1_INTEGER *pathlen;
162
162
  };
163
163
 
164
164
 
165
165
  typedef struct otherName_st {
166
- ASN1_OBJECT *type_id;
167
- ASN1_TYPE *value;
166
+ ASN1_OBJECT *type_id;
167
+ ASN1_TYPE *value;
168
168
  } OTHERNAME;
169
169
 
170
170
  typedef struct EDIPartyName_st {
171
- ASN1_STRING *nameAssigner;
172
- ASN1_STRING *partyName;
171
+ ASN1_STRING *nameAssigner;
172
+ ASN1_STRING *partyName;
173
173
  } EDIPARTYNAME;
174
174
 
175
175
  typedef struct GENERAL_NAME_st {
176
-
177
- #define GEN_OTHERNAME 0
178
- #define GEN_EMAIL 1
179
- #define GEN_DNS 2
180
- #define GEN_X400 3
181
- #define GEN_DIRNAME 4
182
- #define GEN_EDIPARTY 5
183
- #define GEN_URI 6
184
- #define GEN_IPADD 7
185
- #define GEN_RID 8
186
-
187
- int type;
188
- union {
189
- char *ptr;
190
- OTHERNAME *otherName; /* otherName */
191
- ASN1_IA5STRING *rfc822Name;
192
- ASN1_IA5STRING *dNSName;
193
- ASN1_TYPE *x400Address;
194
- X509_NAME *directoryName;
195
- EDIPARTYNAME *ediPartyName;
196
- ASN1_IA5STRING *uniformResourceIdentifier;
197
- ASN1_OCTET_STRING *iPAddress;
198
- ASN1_OBJECT *registeredID;
199
-
200
- /* Old names */
201
- ASN1_OCTET_STRING *ip; /* iPAddress */
202
- X509_NAME *dirn; /* dirn */
203
- ASN1_IA5STRING *ia5;/* rfc822Name, dNSName, uniformResourceIdentifier */
204
- ASN1_OBJECT *rid; /* registeredID */
205
- ASN1_TYPE *other; /* x400Address */
206
- } d;
176
+ #define GEN_OTHERNAME 0
177
+ #define GEN_EMAIL 1
178
+ #define GEN_DNS 2
179
+ #define GEN_X400 3
180
+ #define GEN_DIRNAME 4
181
+ #define GEN_EDIPARTY 5
182
+ #define GEN_URI 6
183
+ #define GEN_IPADD 7
184
+ #define GEN_RID 8
185
+
186
+ int type;
187
+ union {
188
+ char *ptr;
189
+ OTHERNAME *otherName; // otherName
190
+ ASN1_IA5STRING *rfc822Name;
191
+ ASN1_IA5STRING *dNSName;
192
+ ASN1_TYPE *x400Address;
193
+ X509_NAME *directoryName;
194
+ EDIPARTYNAME *ediPartyName;
195
+ ASN1_IA5STRING *uniformResourceIdentifier;
196
+ ASN1_OCTET_STRING *iPAddress;
197
+ ASN1_OBJECT *registeredID;
198
+
199
+ // Old names
200
+ ASN1_OCTET_STRING *ip; // iPAddress
201
+ X509_NAME *dirn; // dirn
202
+ ASN1_IA5STRING *ia5; // rfc822Name, dNSName, uniformResourceIdentifier
203
+ ASN1_OBJECT *rid; // registeredID
204
+ ASN1_TYPE *other; // x400Address
205
+ } d;
207
206
  } GENERAL_NAME;
208
207
 
209
208
  DEFINE_STACK_OF(GENERAL_NAME)
@@ -214,8 +213,8 @@ typedef STACK_OF(GENERAL_NAME) GENERAL_NAMES;
214
213
  DEFINE_STACK_OF(GENERAL_NAMES)
215
214
 
216
215
  typedef struct ACCESS_DESCRIPTION_st {
217
- ASN1_OBJECT *method;
218
- GENERAL_NAME *location;
216
+ ASN1_OBJECT *method;
217
+ GENERAL_NAME *location;
219
218
  } ACCESS_DESCRIPTION;
220
219
 
221
220
  DEFINE_STACK_OF(ACCESS_DESCRIPTION)
@@ -226,34 +225,34 @@ typedef STACK_OF(ACCESS_DESCRIPTION) AUTHORITY_INFO_ACCESS;
226
225
  typedef STACK_OF(ASN1_OBJECT) EXTENDED_KEY_USAGE;
227
226
 
228
227
  typedef struct DIST_POINT_NAME_st {
229
- int type;
230
- union {
231
- GENERAL_NAMES *fullname;
232
- STACK_OF(X509_NAME_ENTRY) *relativename;
233
- } name;
234
- /* If relativename then this contains the full distribution point name */
235
- X509_NAME *dpname;
228
+ int type;
229
+ union {
230
+ GENERAL_NAMES *fullname;
231
+ STACK_OF(X509_NAME_ENTRY) *relativename;
232
+ } name;
233
+ // If relativename then this contains the full distribution point name
234
+ X509_NAME *dpname;
236
235
  } DIST_POINT_NAME;
237
- /* All existing reasons */
238
- #define CRLDP_ALL_REASONS 0x807f
239
-
240
- #define CRL_REASON_NONE (-1)
241
- #define CRL_REASON_UNSPECIFIED 0
242
- #define CRL_REASON_KEY_COMPROMISE 1
243
- #define CRL_REASON_CA_COMPROMISE 2
244
- #define CRL_REASON_AFFILIATION_CHANGED 3
245
- #define CRL_REASON_SUPERSEDED 4
246
- #define CRL_REASON_CESSATION_OF_OPERATION 5
247
- #define CRL_REASON_CERTIFICATE_HOLD 6
248
- #define CRL_REASON_REMOVE_FROM_CRL 8
249
- #define CRL_REASON_PRIVILEGE_WITHDRAWN 9
250
- #define CRL_REASON_AA_COMPROMISE 10
236
+ // All existing reasons
237
+ #define CRLDP_ALL_REASONS 0x807f
238
+
239
+ #define CRL_REASON_NONE (-1)
240
+ #define CRL_REASON_UNSPECIFIED 0
241
+ #define CRL_REASON_KEY_COMPROMISE 1
242
+ #define CRL_REASON_CA_COMPROMISE 2
243
+ #define CRL_REASON_AFFILIATION_CHANGED 3
244
+ #define CRL_REASON_SUPERSEDED 4
245
+ #define CRL_REASON_CESSATION_OF_OPERATION 5
246
+ #define CRL_REASON_CERTIFICATE_HOLD 6
247
+ #define CRL_REASON_REMOVE_FROM_CRL 8
248
+ #define CRL_REASON_PRIVILEGE_WITHDRAWN 9
249
+ #define CRL_REASON_AA_COMPROMISE 10
251
250
 
252
251
  struct DIST_POINT_st {
253
- DIST_POINT_NAME *distpoint;
254
- ASN1_BIT_STRING *reasons;
255
- GENERAL_NAMES *CRLissuer;
256
- int dp_reasons;
252
+ DIST_POINT_NAME *distpoint;
253
+ ASN1_BIT_STRING *reasons;
254
+ GENERAL_NAMES *CRLissuer;
255
+ int dp_reasons;
257
256
  };
258
257
 
259
258
  typedef STACK_OF(DIST_POINT) CRL_DIST_POINTS;
@@ -262,36 +261,36 @@ DEFINE_STACK_OF(DIST_POINT)
262
261
  DECLARE_ASN1_SET_OF(DIST_POINT)
263
262
 
264
263
  struct AUTHORITY_KEYID_st {
265
- ASN1_OCTET_STRING *keyid;
266
- GENERAL_NAMES *issuer;
267
- ASN1_INTEGER *serial;
264
+ ASN1_OCTET_STRING *keyid;
265
+ GENERAL_NAMES *issuer;
266
+ ASN1_INTEGER *serial;
268
267
  };
269
268
 
270
269
  typedef struct NOTICEREF_st {
271
- ASN1_STRING *organization;
272
- STACK_OF(ASN1_INTEGER) *noticenos;
270
+ ASN1_STRING *organization;
271
+ STACK_OF(ASN1_INTEGER) *noticenos;
273
272
  } NOTICEREF;
274
273
 
275
274
  typedef struct USERNOTICE_st {
276
- NOTICEREF *noticeref;
277
- ASN1_STRING *exptext;
275
+ NOTICEREF *noticeref;
276
+ ASN1_STRING *exptext;
278
277
  } USERNOTICE;
279
278
 
280
279
  typedef struct POLICYQUALINFO_st {
281
- ASN1_OBJECT *pqualid;
282
- union {
283
- ASN1_IA5STRING *cpsuri;
284
- USERNOTICE *usernotice;
285
- ASN1_TYPE *other;
286
- } d;
280
+ ASN1_OBJECT *pqualid;
281
+ union {
282
+ ASN1_IA5STRING *cpsuri;
283
+ USERNOTICE *usernotice;
284
+ ASN1_TYPE *other;
285
+ } d;
287
286
  } POLICYQUALINFO;
288
287
 
289
288
  DEFINE_STACK_OF(POLICYQUALINFO)
290
289
  DECLARE_ASN1_SET_OF(POLICYQUALINFO)
291
290
 
292
291
  typedef struct POLICYINFO_st {
293
- ASN1_OBJECT *policyid;
294
- STACK_OF(POLICYQUALINFO) *qualifiers;
292
+ ASN1_OBJECT *policyid;
293
+ STACK_OF(POLICYQUALINFO) *qualifiers;
295
294
  } POLICYINFO;
296
295
 
297
296
  typedef STACK_OF(POLICYINFO) CERTIFICATEPOLICIES;
@@ -300,8 +299,8 @@ DEFINE_STACK_OF(POLICYINFO)
300
299
  DECLARE_ASN1_SET_OF(POLICYINFO)
301
300
 
302
301
  typedef struct POLICY_MAPPING_st {
303
- ASN1_OBJECT *issuerDomainPolicy;
304
- ASN1_OBJECT *subjectDomainPolicy;
302
+ ASN1_OBJECT *issuerDomainPolicy;
303
+ ASN1_OBJECT *subjectDomainPolicy;
305
304
  } POLICY_MAPPING;
306
305
 
307
306
  DEFINE_STACK_OF(POLICY_MAPPING)
@@ -309,189 +308,163 @@ DEFINE_STACK_OF(POLICY_MAPPING)
309
308
  typedef STACK_OF(POLICY_MAPPING) POLICY_MAPPINGS;
310
309
 
311
310
  typedef struct GENERAL_SUBTREE_st {
312
- GENERAL_NAME *base;
313
- ASN1_INTEGER *minimum;
314
- ASN1_INTEGER *maximum;
311
+ GENERAL_NAME *base;
312
+ ASN1_INTEGER *minimum;
313
+ ASN1_INTEGER *maximum;
315
314
  } GENERAL_SUBTREE;
316
315
 
317
316
  DEFINE_STACK_OF(GENERAL_SUBTREE)
318
317
 
319
318
  struct NAME_CONSTRAINTS_st {
320
- STACK_OF(GENERAL_SUBTREE) *permittedSubtrees;
321
- STACK_OF(GENERAL_SUBTREE) *excludedSubtrees;
319
+ STACK_OF(GENERAL_SUBTREE) *permittedSubtrees;
320
+ STACK_OF(GENERAL_SUBTREE) *excludedSubtrees;
322
321
  };
323
322
 
324
323
  typedef struct POLICY_CONSTRAINTS_st {
325
- ASN1_INTEGER *requireExplicitPolicy;
326
- ASN1_INTEGER *inhibitPolicyMapping;
324
+ ASN1_INTEGER *requireExplicitPolicy;
325
+ ASN1_INTEGER *inhibitPolicyMapping;
327
326
  } POLICY_CONSTRAINTS;
328
327
 
329
- /* Proxy certificate structures, see RFC 3820 */
330
- typedef struct PROXY_POLICY_st
331
- {
332
- ASN1_OBJECT *policyLanguage;
333
- ASN1_OCTET_STRING *policy;
334
- } PROXY_POLICY;
328
+ // Proxy certificate structures, see RFC 3820
329
+ typedef struct PROXY_POLICY_st {
330
+ ASN1_OBJECT *policyLanguage;
331
+ ASN1_OCTET_STRING *policy;
332
+ } PROXY_POLICY;
335
333
 
336
- typedef struct PROXY_CERT_INFO_EXTENSION_st
337
- {
338
- ASN1_INTEGER *pcPathLengthConstraint;
339
- PROXY_POLICY *proxyPolicy;
340
- } PROXY_CERT_INFO_EXTENSION;
334
+ typedef struct PROXY_CERT_INFO_EXTENSION_st {
335
+ ASN1_INTEGER *pcPathLengthConstraint;
336
+ PROXY_POLICY *proxyPolicy;
337
+ } PROXY_CERT_INFO_EXTENSION;
341
338
 
342
339
  DECLARE_ASN1_FUNCTIONS(PROXY_POLICY)
343
340
  DECLARE_ASN1_FUNCTIONS(PROXY_CERT_INFO_EXTENSION)
344
341
 
345
- struct ISSUING_DIST_POINT_st
346
- {
347
- DIST_POINT_NAME *distpoint;
348
- int onlyuser;
349
- int onlyCA;
350
- ASN1_BIT_STRING *onlysomereasons;
351
- int indirectCRL;
352
- int onlyattr;
353
- };
354
-
355
- /* Values in idp_flags field */
356
- /* IDP present */
357
- #define IDP_PRESENT 0x1
358
- /* IDP values inconsistent */
359
- #define IDP_INVALID 0x2
360
- /* onlyuser true */
361
- #define IDP_ONLYUSER 0x4
362
- /* onlyCA true */
363
- #define IDP_ONLYCA 0x8
364
- /* onlyattr true */
365
- #define IDP_ONLYATTR 0x10
366
- /* indirectCRL true */
367
- #define IDP_INDIRECT 0x20
368
- /* onlysomereasons present */
369
- #define IDP_REASONS 0x40
370
-
371
- #define X509V3_conf_err(val) ERR_add_error_data(6, "section:", (val)->section, \
372
- ",name:", (val)->name, ",value:", (val)->value);
342
+ struct ISSUING_DIST_POINT_st {
343
+ DIST_POINT_NAME *distpoint;
344
+ int onlyuser;
345
+ int onlyCA;
346
+ ASN1_BIT_STRING *onlysomereasons;
347
+ int indirectCRL;
348
+ int onlyattr;
349
+ };
350
+
351
+ // Values in idp_flags field
352
+ // IDP present
353
+ #define IDP_PRESENT 0x1
354
+ // IDP values inconsistent
355
+ #define IDP_INVALID 0x2
356
+ // onlyuser true
357
+ #define IDP_ONLYUSER 0x4
358
+ // onlyCA true
359
+ #define IDP_ONLYCA 0x8
360
+ // onlyattr true
361
+ #define IDP_ONLYATTR 0x10
362
+ // indirectCRL true
363
+ #define IDP_INDIRECT 0x20
364
+ // onlysomereasons present
365
+ #define IDP_REASONS 0x40
366
+
367
+ #define X509V3_conf_err(val) \
368
+ ERR_add_error_data(6, "section:", (val)->section, ",name:", (val)->name, \
369
+ ",value:", (val)->value);
373
370
 
374
371
  #define X509V3_set_ctx_test(ctx) \
375
- X509V3_set_ctx(ctx, NULL, NULL, NULL, NULL, CTX_TEST)
372
+ X509V3_set_ctx(ctx, NULL, NULL, NULL, NULL, CTX_TEST)
376
373
  #define X509V3_set_ctx_nodb(ctx) (ctx)->db = NULL;
377
374
 
378
- #define EXT_BITSTRING(nid, table) { nid, 0, ASN1_ITEM_ref(ASN1_BIT_STRING), \
379
- 0,0,0,0, \
380
- 0,0, \
381
- (X509V3_EXT_I2V)i2v_ASN1_BIT_STRING, \
382
- (X509V3_EXT_V2I)v2i_ASN1_BIT_STRING, \
383
- NULL, NULL, \
384
- (void *)(table)}
385
-
386
- #define EXT_IA5STRING(nid) { nid, 0, ASN1_ITEM_ref(ASN1_IA5STRING), \
387
- 0,0,0,0, \
388
- (X509V3_EXT_I2S)i2s_ASN1_IA5STRING, \
389
- (X509V3_EXT_S2I)s2i_ASN1_IA5STRING, \
390
- 0,0,0,0, \
391
- NULL}
392
-
393
- #define EXT_END { -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
394
-
395
-
396
- /* X509_PURPOSE stuff */
397
-
398
- #define EXFLAG_BCONS 0x1
399
- #define EXFLAG_KUSAGE 0x2
400
- #define EXFLAG_XKUSAGE 0x4
401
- #define EXFLAG_NSCERT 0x8
402
-
403
- #define EXFLAG_CA 0x10
404
- /* Really self issued not necessarily self signed */
405
- #define EXFLAG_SI 0x20
406
- #define EXFLAG_V1 0x40
407
- #define EXFLAG_INVALID 0x80
408
- #define EXFLAG_SET 0x100
409
- #define EXFLAG_CRITICAL 0x200
410
- #define EXFLAG_PROXY 0x400
411
-
412
- #define EXFLAG_INVALID_POLICY 0x800
413
- #define EXFLAG_FRESHEST 0x1000
414
- /* Self signed */
415
- #define EXFLAG_SS 0x2000
416
-
417
- #define KU_DIGITAL_SIGNATURE 0x0080
418
- #define KU_NON_REPUDIATION 0x0040
419
- #define KU_KEY_ENCIPHERMENT 0x0020
420
- #define KU_DATA_ENCIPHERMENT 0x0010
421
- #define KU_KEY_AGREEMENT 0x0008
422
- #define KU_KEY_CERT_SIGN 0x0004
423
- #define KU_CRL_SIGN 0x0002
424
- #define KU_ENCIPHER_ONLY 0x0001
425
- #define KU_DECIPHER_ONLY 0x8000
426
-
427
- #define NS_SSL_CLIENT 0x80
428
- #define NS_SSL_SERVER 0x40
429
- #define NS_SMIME 0x20
430
- #define NS_OBJSIGN 0x10
431
- #define NS_SSL_CA 0x04
432
- #define NS_SMIME_CA 0x02
433
- #define NS_OBJSIGN_CA 0x01
434
- #define NS_ANY_CA (NS_SSL_CA|NS_SMIME_CA|NS_OBJSIGN_CA)
435
-
436
- #define XKU_SSL_SERVER 0x1
437
- #define XKU_SSL_CLIENT 0x2
438
- #define XKU_SMIME 0x4
439
- #define XKU_CODE_SIGN 0x8
440
- #define XKU_SGC 0x10
441
- #define XKU_OCSP_SIGN 0x20
442
- #define XKU_TIMESTAMP 0x40
443
- #define XKU_DVCS 0x80
444
- #define XKU_ANYEKU 0x100
445
-
446
- #define X509_PURPOSE_DYNAMIC 0x1
447
- #define X509_PURPOSE_DYNAMIC_NAME 0x2
375
+ #define EXT_BITSTRING(nid, table) \
376
+ { \
377
+ nid, 0, ASN1_ITEM_ref(ASN1_BIT_STRING), 0, 0, 0, 0, 0, 0, \
378
+ (X509V3_EXT_I2V)i2v_ASN1_BIT_STRING, \
379
+ (X509V3_EXT_V2I)v2i_ASN1_BIT_STRING, NULL, NULL, (void *)(table) \
380
+ }
381
+
382
+ #define EXT_IA5STRING(nid) \
383
+ { \
384
+ nid, 0, ASN1_ITEM_ref(ASN1_IA5STRING), 0, 0, 0, 0, \
385
+ (X509V3_EXT_I2S)i2s_ASN1_IA5STRING, \
386
+ (X509V3_EXT_S2I)s2i_ASN1_IA5STRING, 0, 0, 0, 0, NULL \
387
+ }
388
+
389
+ #define EXT_END \
390
+ { -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
391
+
392
+
393
+ // X509_PURPOSE stuff
394
+
395
+ #define EXFLAG_BCONS 0x1
396
+ #define EXFLAG_KUSAGE 0x2
397
+ #define EXFLAG_XKUSAGE 0x4
398
+ #define EXFLAG_NSCERT 0x8
399
+
400
+ #define EXFLAG_CA 0x10
401
+ // Really self issued not necessarily self signed
402
+ #define EXFLAG_SI 0x20
403
+ #define EXFLAG_V1 0x40
404
+ #define EXFLAG_INVALID 0x80
405
+ #define EXFLAG_SET 0x100
406
+ #define EXFLAG_CRITICAL 0x200
407
+ #define EXFLAG_PROXY 0x400
408
+
409
+ #define EXFLAG_INVALID_POLICY 0x800
410
+ #define EXFLAG_FRESHEST 0x1000
411
+ // Self signed
412
+ #define EXFLAG_SS 0x2000
413
+
414
+ #define KU_DIGITAL_SIGNATURE 0x0080
415
+ #define KU_NON_REPUDIATION 0x0040
416
+ #define KU_KEY_ENCIPHERMENT 0x0020
417
+ #define KU_DATA_ENCIPHERMENT 0x0010
418
+ #define KU_KEY_AGREEMENT 0x0008
419
+ #define KU_KEY_CERT_SIGN 0x0004
420
+ #define KU_CRL_SIGN 0x0002
421
+ #define KU_ENCIPHER_ONLY 0x0001
422
+ #define KU_DECIPHER_ONLY 0x8000
423
+
424
+ #define NS_SSL_CLIENT 0x80
425
+ #define NS_SSL_SERVER 0x40
426
+ #define NS_SMIME 0x20
427
+ #define NS_OBJSIGN 0x10
428
+ #define NS_SSL_CA 0x04
429
+ #define NS_SMIME_CA 0x02
430
+ #define NS_OBJSIGN_CA 0x01
431
+ #define NS_ANY_CA (NS_SSL_CA | NS_SMIME_CA | NS_OBJSIGN_CA)
432
+
433
+ #define XKU_SSL_SERVER 0x1
434
+ #define XKU_SSL_CLIENT 0x2
435
+ #define XKU_SMIME 0x4
436
+ #define XKU_CODE_SIGN 0x8
437
+ #define XKU_SGC 0x10
438
+ #define XKU_OCSP_SIGN 0x20
439
+ #define XKU_TIMESTAMP 0x40
440
+ #define XKU_DVCS 0x80
441
+ #define XKU_ANYEKU 0x100
442
+
443
+ #define X509_PURPOSE_DYNAMIC 0x1
444
+ #define X509_PURPOSE_DYNAMIC_NAME 0x2
448
445
 
449
446
  typedef struct x509_purpose_st {
450
- int purpose;
451
- int trust; /* Default trust ID */
452
- int flags;
453
- int (*check_purpose)(const struct x509_purpose_st *,
454
- const X509 *, int);
455
- char *name;
456
- char *sname;
457
- void *usr_data;
447
+ int purpose;
448
+ int trust; // Default trust ID
449
+ int flags;
450
+ int (*check_purpose)(const struct x509_purpose_st *, const X509 *, int);
451
+ char *name;
452
+ char *sname;
453
+ void *usr_data;
458
454
  } X509_PURPOSE;
459
455
 
460
- #define X509_PURPOSE_SSL_CLIENT 1
461
- #define X509_PURPOSE_SSL_SERVER 2
462
- #define X509_PURPOSE_NS_SSL_SERVER 3
463
- #define X509_PURPOSE_SMIME_SIGN 4
464
- #define X509_PURPOSE_SMIME_ENCRYPT 5
465
- #define X509_PURPOSE_CRL_SIGN 6
466
- #define X509_PURPOSE_ANY 7
467
- #define X509_PURPOSE_OCSP_HELPER 8
468
- #define X509_PURPOSE_TIMESTAMP_SIGN 9
469
-
470
- #define X509_PURPOSE_MIN 1
471
- #define X509_PURPOSE_MAX 9
472
-
473
- /* Flags for X509V3_EXT_print() */
474
-
475
- #define X509V3_EXT_UNKNOWN_MASK (0xfL << 16)
476
- /* Return error for unknown extensions */
477
- #define X509V3_EXT_DEFAULT 0
478
- /* Print error for unknown extensions */
479
- #define X509V3_EXT_ERROR_UNKNOWN (1L << 16)
480
- /* ASN1 parse unknown extensions */
481
- #define X509V3_EXT_PARSE_UNKNOWN (2L << 16)
482
- /* BIO_dump unknown extensions */
483
- #define X509V3_EXT_DUMP_UNKNOWN (3L << 16)
484
-
485
- /* Flags for X509V3_add1_i2d */
486
-
487
- #define X509V3_ADD_OP_MASK 0xfL
488
- #define X509V3_ADD_DEFAULT 0L
489
- #define X509V3_ADD_APPEND 1L
490
- #define X509V3_ADD_REPLACE 2L
491
- #define X509V3_ADD_REPLACE_EXISTING 3L
492
- #define X509V3_ADD_KEEP_EXISTING 4L
493
- #define X509V3_ADD_DELETE 5L
494
- #define X509V3_ADD_SILENT 0x10
456
+ #define X509_PURPOSE_SSL_CLIENT 1
457
+ #define X509_PURPOSE_SSL_SERVER 2
458
+ #define X509_PURPOSE_NS_SSL_SERVER 3
459
+ #define X509_PURPOSE_SMIME_SIGN 4
460
+ #define X509_PURPOSE_SMIME_ENCRYPT 5
461
+ #define X509_PURPOSE_CRL_SIGN 6
462
+ #define X509_PURPOSE_ANY 7
463
+ #define X509_PURPOSE_OCSP_HELPER 8
464
+ #define X509_PURPOSE_TIMESTAMP_SIGN 9
465
+
466
+ #define X509_PURPOSE_MIN 1
467
+ #define X509_PURPOSE_MAX 9
495
468
 
496
469
  DEFINE_STACK_OF(X509_PURPOSE)
497
470
 
@@ -501,41 +474,55 @@ DECLARE_ASN1_FUNCTIONS(AUTHORITY_KEYID)
501
474
 
502
475
  DECLARE_ASN1_FUNCTIONS(GENERAL_NAME)
503
476
  OPENSSL_EXPORT GENERAL_NAME *GENERAL_NAME_dup(GENERAL_NAME *a);
504
- OPENSSL_EXPORT int GENERAL_NAME_cmp(GENERAL_NAME *a, GENERAL_NAME *b);
505
477
 
478
+ // GENERAL_NAME_cmp returns zero if |a| and |b| are equal and a non-zero
479
+ // value otherwise. Note this function does not provide a comparison suitable
480
+ // for sorting.
481
+ OPENSSL_EXPORT int GENERAL_NAME_cmp(const GENERAL_NAME *a,
482
+ const GENERAL_NAME *b);
506
483
 
507
484
 
508
- OPENSSL_EXPORT ASN1_BIT_STRING *v2i_ASN1_BIT_STRING(X509V3_EXT_METHOD *method,
509
- X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval);
510
- OPENSSL_EXPORT STACK_OF(CONF_VALUE) *i2v_ASN1_BIT_STRING(X509V3_EXT_METHOD *method,
511
- ASN1_BIT_STRING *bits,
512
- STACK_OF(CONF_VALUE) *extlist);
513
485
 
514
- OPENSSL_EXPORT STACK_OF(CONF_VALUE) *i2v_GENERAL_NAME(X509V3_EXT_METHOD *method, GENERAL_NAME *gen, STACK_OF(CONF_VALUE) *ret);
486
+ OPENSSL_EXPORT ASN1_BIT_STRING *v2i_ASN1_BIT_STRING(X509V3_EXT_METHOD *method,
487
+ X509V3_CTX *ctx,
488
+ STACK_OF(CONF_VALUE) *nval);
489
+ OPENSSL_EXPORT STACK_OF(CONF_VALUE) *i2v_ASN1_BIT_STRING(
490
+ X509V3_EXT_METHOD *method, ASN1_BIT_STRING *bits,
491
+ STACK_OF(CONF_VALUE) *extlist);
492
+
493
+ OPENSSL_EXPORT STACK_OF(CONF_VALUE) *i2v_GENERAL_NAME(
494
+ X509V3_EXT_METHOD *method, GENERAL_NAME *gen, STACK_OF(CONF_VALUE) *ret);
515
495
  OPENSSL_EXPORT int GENERAL_NAME_print(BIO *out, GENERAL_NAME *gen);
516
496
 
517
497
  DECLARE_ASN1_FUNCTIONS(GENERAL_NAMES)
518
498
 
519
- OPENSSL_EXPORT STACK_OF(CONF_VALUE) *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method,
520
- GENERAL_NAMES *gen, STACK_OF(CONF_VALUE) *extlist);
499
+ OPENSSL_EXPORT STACK_OF(CONF_VALUE) *i2v_GENERAL_NAMES(
500
+ X509V3_EXT_METHOD *method, GENERAL_NAMES *gen,
501
+ STACK_OF(CONF_VALUE) *extlist);
521
502
  OPENSSL_EXPORT GENERAL_NAMES *v2i_GENERAL_NAMES(const X509V3_EXT_METHOD *method,
522
- X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval);
503
+ X509V3_CTX *ctx,
504
+ STACK_OF(CONF_VALUE) *nval);
523
505
 
524
506
  DECLARE_ASN1_FUNCTIONS(OTHERNAME)
525
507
  DECLARE_ASN1_FUNCTIONS(EDIPARTYNAME)
526
508
  OPENSSL_EXPORT int OTHERNAME_cmp(OTHERNAME *a, OTHERNAME *b);
527
- OPENSSL_EXPORT void GENERAL_NAME_set0_value(GENERAL_NAME *a, int type, void *value);
509
+ OPENSSL_EXPORT void GENERAL_NAME_set0_value(GENERAL_NAME *a, int type,
510
+ void *value);
528
511
  OPENSSL_EXPORT void *GENERAL_NAME_get0_value(const GENERAL_NAME *a, int *ptype);
529
512
  OPENSSL_EXPORT int GENERAL_NAME_set0_othername(GENERAL_NAME *gen,
530
- ASN1_OBJECT *oid, ASN1_TYPE *value);
531
- OPENSSL_EXPORT int GENERAL_NAME_get0_otherName(const GENERAL_NAME *gen,
532
- ASN1_OBJECT **poid, ASN1_TYPE **pvalue);
513
+ ASN1_OBJECT *oid,
514
+ ASN1_TYPE *value);
515
+ OPENSSL_EXPORT int GENERAL_NAME_get0_otherName(const GENERAL_NAME *gen,
516
+ ASN1_OBJECT **poid,
517
+ ASN1_TYPE **pvalue);
533
518
 
534
- OPENSSL_EXPORT char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, const ASN1_OCTET_STRING *ia5);
535
- OPENSSL_EXPORT ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, char *str);
519
+ OPENSSL_EXPORT char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method,
520
+ const ASN1_OCTET_STRING *ia5);
521
+ OPENSSL_EXPORT ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(
522
+ X509V3_EXT_METHOD *method, X509V3_CTX *ctx, const char *str);
536
523
 
537
524
  DECLARE_ASN1_FUNCTIONS(EXTENDED_KEY_USAGE)
538
- OPENSSL_EXPORT int i2a_ACCESS_DESCRIPTION(BIO *bp, const ACCESS_DESCRIPTION* a);
525
+ OPENSSL_EXPORT int i2a_ACCESS_DESCRIPTION(BIO *bp, const ACCESS_DESCRIPTION *a);
539
526
 
540
527
  DECLARE_ASN1_FUNCTIONS(CERTIFICATEPOLICIES)
541
528
  DECLARE_ASN1_FUNCTIONS(POLICYINFO)
@@ -548,7 +535,8 @@ DECLARE_ASN1_FUNCTIONS(DIST_POINT)
548
535
  DECLARE_ASN1_FUNCTIONS(DIST_POINT_NAME)
549
536
  DECLARE_ASN1_FUNCTIONS(ISSUING_DIST_POINT)
550
537
 
551
- OPENSSL_EXPORT int DIST_POINT_set_dpname(DIST_POINT_NAME *dpn, X509_NAME *iname);
538
+ OPENSSL_EXPORT int DIST_POINT_set_dpname(DIST_POINT_NAME *dpn,
539
+ X509_NAME *iname);
552
540
 
553
541
  OPENSSL_EXPORT int NAME_CONSTRAINTS_check(X509 *x, NAME_CONSTRAINTS *nc);
554
542
 
@@ -569,76 +557,230 @@ DECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_CONSTRAINTS)
569
557
  DECLARE_ASN1_ITEM(POLICY_CONSTRAINTS)
570
558
 
571
559
  OPENSSL_EXPORT GENERAL_NAME *a2i_GENERAL_NAME(GENERAL_NAME *out,
572
- const X509V3_EXT_METHOD *method, X509V3_CTX *ctx,
573
- int gen_type, char *value, int is_nc);
574
-
575
- OPENSSL_EXPORT GENERAL_NAME *v2i_GENERAL_NAME(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx,
576
- CONF_VALUE *cnf);
577
- OPENSSL_EXPORT GENERAL_NAME *v2i_GENERAL_NAME_ex(GENERAL_NAME *out,
578
- const X509V3_EXT_METHOD *method,
579
- X509V3_CTX *ctx, CONF_VALUE *cnf, int is_nc);
560
+ const X509V3_EXT_METHOD *method,
561
+ X509V3_CTX *ctx, int gen_type,
562
+ const char *value, int is_nc);
563
+
564
+ OPENSSL_EXPORT GENERAL_NAME *v2i_GENERAL_NAME(const X509V3_EXT_METHOD *method,
565
+ X509V3_CTX *ctx, CONF_VALUE *cnf);
566
+ OPENSSL_EXPORT GENERAL_NAME *v2i_GENERAL_NAME_ex(
567
+ GENERAL_NAME *out, const X509V3_EXT_METHOD *method, X509V3_CTX *ctx,
568
+ CONF_VALUE *cnf, int is_nc);
580
569
  OPENSSL_EXPORT void X509V3_conf_free(CONF_VALUE *val);
581
570
 
582
571
  // X509V3_EXT_conf_nid contains the only exposed instance of an LHASH in our
583
572
  // public headers. The |conf| pointer must be NULL but cryptography.io wraps
584
573
  // this function so we cannot, yet, replace the type with a dummy struct.
585
- OPENSSL_EXPORT X509_EXTENSION *X509V3_EXT_conf_nid(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, int ext_nid, char *value);
586
-
587
- OPENSSL_EXPORT X509_EXTENSION *X509V3_EXT_nconf_nid(CONF *conf, X509V3_CTX *ctx, int ext_nid, char *value);
588
- OPENSSL_EXPORT X509_EXTENSION *X509V3_EXT_nconf(CONF *conf, X509V3_CTX *ctx, char *name, char *value);
589
- OPENSSL_EXPORT int X509V3_EXT_add_nconf_sk(CONF *conf, X509V3_CTX *ctx, char *section, STACK_OF(X509_EXTENSION) **sk);
590
- OPENSSL_EXPORT int X509V3_EXT_add_nconf(CONF *conf, X509V3_CTX *ctx, char *section, X509 *cert);
591
- OPENSSL_EXPORT int X509V3_EXT_REQ_add_nconf(CONF *conf, X509V3_CTX *ctx, char *section, X509_REQ *req);
592
- OPENSSL_EXPORT int X509V3_EXT_CRL_add_nconf(CONF *conf, X509V3_CTX *ctx, char *section, X509_CRL *crl);
593
-
594
- OPENSSL_EXPORT int X509V3_add_value_bool_nf(char *name, int asn1_bool,
595
- STACK_OF(CONF_VALUE) **extlist);
596
- OPENSSL_EXPORT int X509V3_get_value_bool(CONF_VALUE *value, int *asn1_bool);
597
- OPENSSL_EXPORT int X509V3_get_value_int(CONF_VALUE *value, ASN1_INTEGER **aint);
574
+ OPENSSL_EXPORT X509_EXTENSION *X509V3_EXT_conf_nid(LHASH_OF(CONF_VALUE) *conf,
575
+ X509V3_CTX *ctx, int ext_nid,
576
+ const char *value);
577
+
578
+ OPENSSL_EXPORT X509_EXTENSION *X509V3_EXT_nconf_nid(CONF *conf, X509V3_CTX *ctx,
579
+ int ext_nid,
580
+ const char *value);
581
+ OPENSSL_EXPORT X509_EXTENSION *X509V3_EXT_nconf(CONF *conf, X509V3_CTX *ctx,
582
+ const char *name,
583
+ const char *value);
584
+ OPENSSL_EXPORT int X509V3_EXT_add_nconf_sk(CONF *conf, X509V3_CTX *ctx,
585
+ const char *section,
586
+ STACK_OF(X509_EXTENSION) **sk);
587
+ OPENSSL_EXPORT int X509V3_EXT_add_nconf(CONF *conf, X509V3_CTX *ctx,
588
+ const char *section, X509 *cert);
589
+ OPENSSL_EXPORT int X509V3_EXT_REQ_add_nconf(CONF *conf, X509V3_CTX *ctx,
590
+ const char *section, X509_REQ *req);
591
+ OPENSSL_EXPORT int X509V3_EXT_CRL_add_nconf(CONF *conf, X509V3_CTX *ctx,
592
+ const char *section, X509_CRL *crl);
593
+
594
+ OPENSSL_EXPORT int X509V3_add_value_bool_nf(const char *name, int asn1_bool,
595
+ STACK_OF(CONF_VALUE) **extlist);
596
+ OPENSSL_EXPORT int X509V3_get_value_bool(const CONF_VALUE *value,
597
+ int *asn1_bool);
598
+ OPENSSL_EXPORT int X509V3_get_value_int(const CONF_VALUE *value,
599
+ ASN1_INTEGER **aint);
598
600
  OPENSSL_EXPORT void X509V3_set_nconf(X509V3_CTX *ctx, CONF *conf);
599
601
 
600
- OPENSSL_EXPORT char * X509V3_get_string(X509V3_CTX *ctx, char *name, char *section);
601
- OPENSSL_EXPORT STACK_OF(CONF_VALUE) * X509V3_get_section(X509V3_CTX *ctx, char *section);
602
+ OPENSSL_EXPORT char *X509V3_get_string(X509V3_CTX *ctx, const char *name,
603
+ const char *section);
604
+ OPENSSL_EXPORT STACK_OF(CONF_VALUE) *X509V3_get_section(X509V3_CTX *ctx,
605
+ const char *section);
602
606
  OPENSSL_EXPORT void X509V3_string_free(X509V3_CTX *ctx, char *str);
603
- OPENSSL_EXPORT void X509V3_section_free( X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *section);
607
+ OPENSSL_EXPORT void X509V3_section_free(X509V3_CTX *ctx,
608
+ STACK_OF(CONF_VALUE) *section);
604
609
  OPENSSL_EXPORT void X509V3_set_ctx(X509V3_CTX *ctx, X509 *issuer, X509 *subject,
605
- X509_REQ *req, X509_CRL *crl, int flags);
610
+ X509_REQ *req, X509_CRL *crl, int flags);
606
611
 
607
612
  OPENSSL_EXPORT int X509V3_add_value(const char *name, const char *value,
608
- STACK_OF(CONF_VALUE) **extlist);
609
- OPENSSL_EXPORT int X509V3_add_value_uchar(const char *name, const unsigned char *value,
610
- STACK_OF(CONF_VALUE) **extlist);
613
+ STACK_OF(CONF_VALUE) **extlist);
614
+ OPENSSL_EXPORT int X509V3_add_value_uchar(const char *name,
615
+ const unsigned char *value,
616
+ STACK_OF(CONF_VALUE) **extlist);
611
617
  OPENSSL_EXPORT int X509V3_add_value_bool(const char *name, int asn1_bool,
612
- STACK_OF(CONF_VALUE) **extlist);
618
+ STACK_OF(CONF_VALUE) **extlist);
613
619
  OPENSSL_EXPORT int X509V3_add_value_int(const char *name, ASN1_INTEGER *aint,
614
- STACK_OF(CONF_VALUE) **extlist);
615
- OPENSSL_EXPORT char * i2s_ASN1_INTEGER(X509V3_EXT_METHOD *meth, ASN1_INTEGER *aint);
616
- OPENSSL_EXPORT ASN1_INTEGER * s2i_ASN1_INTEGER(X509V3_EXT_METHOD *meth, char *value);
617
- OPENSSL_EXPORT char * i2s_ASN1_ENUMERATED(X509V3_EXT_METHOD *meth, ASN1_ENUMERATED *aint);
618
- OPENSSL_EXPORT char * i2s_ASN1_ENUMERATED_TABLE(X509V3_EXT_METHOD *meth, ASN1_ENUMERATED *aint);
620
+ STACK_OF(CONF_VALUE) **extlist);
621
+ OPENSSL_EXPORT char *i2s_ASN1_INTEGER(X509V3_EXT_METHOD *meth,
622
+ const ASN1_INTEGER *aint);
623
+ OPENSSL_EXPORT ASN1_INTEGER *s2i_ASN1_INTEGER(X509V3_EXT_METHOD *meth,
624
+ const char *value);
625
+ OPENSSL_EXPORT char *i2s_ASN1_ENUMERATED(X509V3_EXT_METHOD *meth,
626
+ const ASN1_ENUMERATED *aint);
627
+ OPENSSL_EXPORT char *i2s_ASN1_ENUMERATED_TABLE(X509V3_EXT_METHOD *meth,
628
+ const ASN1_ENUMERATED *aint);
619
629
  OPENSSL_EXPORT int X509V3_EXT_add(X509V3_EXT_METHOD *ext);
620
630
  OPENSSL_EXPORT int X509V3_EXT_add_list(X509V3_EXT_METHOD *extlist);
621
631
  OPENSSL_EXPORT int X509V3_EXT_add_alias(int nid_to, int nid_from);
622
632
  OPENSSL_EXPORT void X509V3_EXT_cleanup(void);
623
633
 
624
- OPENSSL_EXPORT const X509V3_EXT_METHOD *X509V3_EXT_get(X509_EXTENSION *ext);
634
+ OPENSSL_EXPORT const X509V3_EXT_METHOD *X509V3_EXT_get(
635
+ const X509_EXTENSION *ext);
625
636
  OPENSSL_EXPORT const X509V3_EXT_METHOD *X509V3_EXT_get_nid(int nid);
626
637
  OPENSSL_EXPORT int X509V3_add_standard_extensions(void);
627
638
  OPENSSL_EXPORT STACK_OF(CONF_VALUE) *X509V3_parse_list(const char *line);
628
- OPENSSL_EXPORT void *X509V3_EXT_d2i(X509_EXTENSION *ext);
629
- OPENSSL_EXPORT void *X509V3_get_d2i(STACK_OF(X509_EXTENSION) *x, int nid, int *crit, int *idx);
630
- OPENSSL_EXPORT int X509V3_EXT_free(int nid, void *ext_data);
631
-
632
-
633
- OPENSSL_EXPORT X509_EXTENSION *X509V3_EXT_i2d(int ext_nid, int crit, void *ext_struc);
634
- OPENSSL_EXPORT int X509V3_add1_i2d(STACK_OF(X509_EXTENSION) **x, int nid, void *value, int crit, unsigned long flags);
635
639
 
636
- OPENSSL_EXPORT void X509V3_EXT_val_prn(BIO *out, STACK_OF(CONF_VALUE) *val, int indent,
637
- int ml);
638
- OPENSSL_EXPORT int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, unsigned long flag, int indent);
639
- OPENSSL_EXPORT int X509V3_EXT_print_fp(FILE *out, X509_EXTENSION *ext, int flag, int indent);
640
+ // X509V3_EXT_d2i decodes |ext| and returns a pointer to a newly-allocated
641
+ // structure, with type dependent on the type of the extension. It returns NULL
642
+ // if |ext| is an unsupported extension or if there was a syntax error in the
643
+ // extension. The caller should cast the return value to the expected type and
644
+ // free the structure when done.
645
+ //
646
+ // WARNING: Casting the return value to the wrong type is a potentially
647
+ // exploitable memory error, so callers must not use this function before
648
+ // checking |ext| is of a known type.
649
+ OPENSSL_EXPORT void *X509V3_EXT_d2i(const X509_EXTENSION *ext);
650
+
651
+ // X509V3_get_d2i finds and decodes the extension in |extensions| of type |nid|.
652
+ // If found, it decodes it and returns a newly-allocated structure, with type
653
+ // dependent on |nid|. If the extension is not found or on error, it returns
654
+ // NULL. The caller may distinguish these cases using the |out_critical| value.
655
+ //
656
+ // If |out_critical| is not NULL, this function sets |*out_critical| to one if
657
+ // the extension is found and critical, zero if it is found and not critical, -1
658
+ // if it is not found, and -2 if there is an invalid duplicate extension. Note
659
+ // this function may set |*out_critical| to one or zero and still return NULL if
660
+ // the extension is found but has a syntax error.
661
+ //
662
+ // If |out_idx| is not NULL, this function looks for the first occurrence of the
663
+ // extension after |*out_idx|. It then sets |*out_idx| to the index of the
664
+ // extension, or -1 if not found. If |out_idx| is non-NULL, duplicate extensions
665
+ // are not treated as an error. Callers, however, should not rely on this
666
+ // behavior as it may be removed in the future. Duplicate extensions are
667
+ // forbidden in RFC5280.
668
+ //
669
+ // WARNING: This function is difficult to use correctly. Callers should pass a
670
+ // non-NULL |out_critical| and check both the return value and |*out_critical|
671
+ // to handle errors. If the return value is NULL and |*out_critical| is not -1,
672
+ // there was an error. Otherwise, the function succeeded and but may return NULL
673
+ // for a missing extension. Callers should pass NULL to |out_idx| so that
674
+ // duplicate extensions are handled correctly.
675
+ //
676
+ // Additionally, casting the return value to the wrong type is a potentially
677
+ // exploitable memory error, so callers must ensure the cast and |nid| match.
678
+ OPENSSL_EXPORT void *X509V3_get_d2i(const STACK_OF(X509_EXTENSION) *extensions,
679
+ int nid, int *out_critical, int *out_idx);
680
+
681
+ // X509V3_EXT_free casts |ext_data| into the type that corresponds to |nid| and
682
+ // releases memory associated with it. It returns one on success and zero if
683
+ // |nid| is not a known extension.
684
+ //
685
+ // WARNING: Casting |ext_data| to the wrong type is a potentially exploitable
686
+ // memory error, so callers must ensure |ext_data|'s type matches |nid|.
687
+ //
688
+ // TODO(davidben): OpenSSL upstream no longer exposes this function. Remove it?
689
+ OPENSSL_EXPORT int X509V3_EXT_free(int nid, void *ext_data);
640
690
 
641
- OPENSSL_EXPORT int X509V3_extensions_print(BIO *out, const char *title, STACK_OF(X509_EXTENSION) *exts, unsigned long flag, int indent);
691
+ // X509V3_EXT_i2d casts |ext_struc| into the type that corresponds to
692
+ // |ext_nid|, serializes it, and returns a newly-allocated |X509_EXTENSION|
693
+ // object containing the serialization, or NULL on error. The |X509_EXTENSION|
694
+ // has OID |ext_nid| and is critical if |crit| is one.
695
+ //
696
+ // WARNING: Casting |ext_struc| to the wrong type is a potentially exploitable
697
+ // memory error, so callers must ensure |ext_struct|'s type matches |ext_nid|.
698
+ OPENSSL_EXPORT X509_EXTENSION *X509V3_EXT_i2d(int ext_nid, int crit,
699
+ void *ext_struc);
700
+
701
+ // The following constants control the behavior of |X509V3_add1_i2d| and related
702
+ // functions.
703
+
704
+ // X509V3_ADD_OP_MASK can be ANDed with the flags to determine how duplicate
705
+ // extensions are processed.
706
+ #define X509V3_ADD_OP_MASK 0xfL
707
+
708
+ // X509V3_ADD_DEFAULT causes the function to fail if the extension was already
709
+ // present.
710
+ #define X509V3_ADD_DEFAULT 0L
711
+
712
+ // X509V3_ADD_APPEND causes the function to unconditionally appended the new
713
+ // extension to to the extensions list, even if there is a duplicate.
714
+ #define X509V3_ADD_APPEND 1L
715
+
716
+ // X509V3_ADD_REPLACE causes the function to replace the existing extension, or
717
+ // append if it is not present.
718
+ #define X509V3_ADD_REPLACE 2L
719
+
720
+ // X509V3_ADD_REPLACE causes the function to replace the existing extension and
721
+ // fail if it is not present.
722
+ #define X509V3_ADD_REPLACE_EXISTING 3L
723
+
724
+ // X509V3_ADD_KEEP_EXISTING causes the function to succeed without replacing the
725
+ // extension if already present.
726
+ #define X509V3_ADD_KEEP_EXISTING 4L
727
+
728
+ // X509V3_ADD_DELETE causes the function to remove the matching extension. No
729
+ // new extension is added. If there is no matching extension, the function
730
+ // fails. The |value| parameter is ignored in this mode.
731
+ #define X509V3_ADD_DELETE 5L
732
+
733
+ // X509V3_ADD_SILENT may be ORed into one of the values above to indicate the
734
+ // function should not add to the error queue on duplicate or missing extension.
735
+ // The function will continue to return zero in those cases, and it will
736
+ // continue to return -1 and add to the error queue on other errors.
737
+ #define X509V3_ADD_SILENT 0x10
738
+
739
+ // X509V3_add1_i2d casts |value| to the type that corresponds to |nid|,
740
+ // serializes it, and appends it to the extension list in |*x|. If |*x| is NULL,
741
+ // it will set |*x| to a newly-allocated |STACK_OF(X509_EXTENSION)| as needed.
742
+ // The |crit| parameter determines whether the new extension is critical.
743
+ // |flags| may be some combination of the |X509V3_ADD_*| constants to control
744
+ // the function's behavior on duplicate extension.
745
+ //
746
+ // This function returns one on success, zero if the operation failed due to a
747
+ // missing or duplicate extension, and -1 on other errors.
748
+ //
749
+ // WARNING: Casting |value| to the wrong type is a potentially exploitable
750
+ // memory error, so callers must ensure |value|'s type matches |nid|.
751
+ OPENSSL_EXPORT int X509V3_add1_i2d(STACK_OF(X509_EXTENSION) **x, int nid,
752
+ void *value, int crit, unsigned long flags);
753
+
754
+ #define X509V3_EXT_UNKNOWN_MASK (0xfL << 16)
755
+
756
+ // X509V3_EXT_DEFAULT causes unknown extensions or syntax errors to return
757
+ // failure.
758
+ #define X509V3_EXT_DEFAULT 0
759
+ // X509V3_EXT_ERROR_UNKNOWN causes unknown extensions or syntax errors to print
760
+ // as "<Not Supported>" or "<Parse Error>", respectively.
761
+ #define X509V3_EXT_ERROR_UNKNOWN (1L << 16)
762
+ // X509V3_EXT_PARSE_UNKNOWN is deprecated and behaves like
763
+ // |X509V3_EXT_DUMP_UNKNOWN|.
764
+ #define X509V3_EXT_PARSE_UNKNOWN (2L << 16)
765
+ // X509V3_EXT_DUMP_UNKNOWN causes unknown extensions to be displayed as a
766
+ // hexdump.
767
+ #define X509V3_EXT_DUMP_UNKNOWN (3L << 16)
768
+
769
+ OPENSSL_EXPORT void X509V3_EXT_val_prn(BIO *out, STACK_OF(CONF_VALUE) *val,
770
+ int indent, int ml);
771
+ OPENSSL_EXPORT int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext,
772
+ unsigned long flag, int indent);
773
+ OPENSSL_EXPORT int X509V3_EXT_print_fp(FILE *out, X509_EXTENSION *ext, int flag,
774
+ int indent);
775
+
776
+ // X509V3_extensions_print prints |title|, followed by a human-readable
777
+ // representation of |exts| to |out|. It returns one on success and zero on
778
+ // error. The output is indented by |indent| spaces. |flag| is one of the
779
+ // |X509V3_EXT_*| constants and controls printing of unknown extensions and
780
+ // syntax errors.
781
+ OPENSSL_EXPORT int X509V3_extensions_print(BIO *out, const char *title,
782
+ const STACK_OF(X509_EXTENSION) *exts,
783
+ unsigned long flag, int indent);
642
784
 
643
785
  OPENSSL_EXPORT int X509_check_ca(X509 *x);
644
786
  OPENSSL_EXPORT int X509_check_purpose(X509 *x, int id, int ca);
@@ -694,12 +836,13 @@ OPENSSL_EXPORT const GENERAL_NAMES *X509_get0_authority_issuer(X509 *x509);
694
836
  OPENSSL_EXPORT const ASN1_INTEGER *X509_get0_authority_serial(X509 *x509);
695
837
 
696
838
  OPENSSL_EXPORT int X509_PURPOSE_get_count(void);
697
- OPENSSL_EXPORT X509_PURPOSE * X509_PURPOSE_get0(int idx);
839
+ OPENSSL_EXPORT X509_PURPOSE *X509_PURPOSE_get0(int idx);
698
840
  OPENSSL_EXPORT int X509_PURPOSE_get_by_sname(char *sname);
699
841
  OPENSSL_EXPORT int X509_PURPOSE_get_by_id(int id);
700
842
  OPENSSL_EXPORT int X509_PURPOSE_add(int id, int trust, int flags,
701
- int (*ck)(const X509_PURPOSE *, const X509 *, int),
702
- char *name, char *sname, void *arg);
843
+ int (*ck)(const X509_PURPOSE *,
844
+ const X509 *, int),
845
+ char *name, char *sname, void *arg);
703
846
  OPENSSL_EXPORT char *X509_PURPOSE_get0_name(const X509_PURPOSE *xp);
704
847
  OPENSSL_EXPORT char *X509_PURPOSE_get0_sname(const X509_PURPOSE *xp);
705
848
  OPENSSL_EXPORT int X509_PURPOSE_get_trust(const X509_PURPOSE *xp);
@@ -710,51 +853,52 @@ OPENSSL_EXPORT STACK_OF(OPENSSL_STRING) *X509_get1_email(X509 *x);
710
853
  OPENSSL_EXPORT STACK_OF(OPENSSL_STRING) *X509_REQ_get1_email(X509_REQ *x);
711
854
  OPENSSL_EXPORT void X509_email_free(STACK_OF(OPENSSL_STRING) *sk);
712
855
  OPENSSL_EXPORT STACK_OF(OPENSSL_STRING) *X509_get1_ocsp(X509 *x);
713
- /* Flags for X509_check_* functions */
856
+ // Flags for X509_check_* functions
714
857
 
715
- /* Deprecated: this flag does nothing */
716
- #define X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT 0
717
- /* Disable wildcard matching for dnsName fields and common name. */
718
- #define X509_CHECK_FLAG_NO_WILDCARDS 0x2
719
- /* Wildcards must not match a partial label. */
858
+ // Deprecated: this flag does nothing
859
+ #define X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT 0
860
+ // Disable wildcard matching for dnsName fields and common name.
861
+ #define X509_CHECK_FLAG_NO_WILDCARDS 0x2
862
+ // Wildcards must not match a partial label.
720
863
  #define X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS 0x4
721
- /* Allow (non-partial) wildcards to match multiple labels. */
864
+ // Allow (non-partial) wildcards to match multiple labels.
722
865
  #define X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS 0x8
723
- /* Constraint verifier subdomain patterns to match a single labels. */
866
+ // Constraint verifier subdomain patterns to match a single labels.
724
867
  #define X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS 0x10
725
- /* Skip the subject common name fallback if subjectAltNames is missing. */
868
+ // Skip the subject common name fallback if subjectAltNames is missing.
726
869
  #define X509_CHECK_FLAG_NEVER_CHECK_SUBJECT 0x20
727
- /*
728
- * Match reference identifiers starting with "." to any sub-domain.
729
- * This is a non-public flag, turned on implicitly when the subject
730
- * reference identity is a DNS name.
731
- */
870
+ //
871
+ // Match reference identifiers starting with "." to any sub-domain.
872
+ // This is a non-public flag, turned on implicitly when the subject
873
+ // reference identity is a DNS name.
732
874
  #define _X509_CHECK_FLAG_DOT_SUBDOMAINS 0x8000
733
875
 
734
876
  OPENSSL_EXPORT int X509_check_host(X509 *x, const char *chk, size_t chklen,
735
- unsigned int flags, char **peername);
877
+ unsigned int flags, char **peername);
736
878
  OPENSSL_EXPORT int X509_check_email(X509 *x, const char *chk, size_t chklen,
737
- unsigned int flags);
738
- OPENSSL_EXPORT int X509_check_ip(X509 *x, const unsigned char *chk, size_t chklen,
739
- unsigned int flags);
740
- OPENSSL_EXPORT int X509_check_ip_asc(X509 *x, const char *ipasc, unsigned int flags);
879
+ unsigned int flags);
880
+ OPENSSL_EXPORT int X509_check_ip(X509 *x, const unsigned char *chk,
881
+ size_t chklen, unsigned int flags);
882
+ OPENSSL_EXPORT int X509_check_ip_asc(X509 *x, const char *ipasc,
883
+ unsigned int flags);
741
884
 
742
885
  OPENSSL_EXPORT ASN1_OCTET_STRING *a2i_IPADDRESS(const char *ipasc);
743
886
  OPENSSL_EXPORT ASN1_OCTET_STRING *a2i_IPADDRESS_NC(const char *ipasc);
744
887
  OPENSSL_EXPORT int a2i_ipadd(unsigned char *ipout, const char *ipasc);
745
- OPENSSL_EXPORT int X509V3_NAME_from_section(X509_NAME *nm, STACK_OF(CONF_VALUE)*dn_sk,
746
- unsigned long chtype);
888
+ OPENSSL_EXPORT int X509V3_NAME_from_section(X509_NAME *nm,
889
+ STACK_OF(CONF_VALUE) *dn_sk,
890
+ unsigned long chtype);
747
891
 
748
- OPENSSL_EXPORT void X509_POLICY_NODE_print(BIO *out, X509_POLICY_NODE *node, int indent);
892
+ OPENSSL_EXPORT void X509_POLICY_NODE_print(BIO *out, X509_POLICY_NODE *node,
893
+ int indent);
749
894
  DEFINE_STACK_OF(X509_POLICY_NODE)
750
895
 
751
- /* BEGIN ERROR CODES */
752
- /* The following lines are auto generated by the script mkerr.pl. Any changes
753
- * made after this point may be overwritten when the script is next run.
754
- */
896
+ // BEGIN ERROR CODES
897
+ // The following lines are auto generated by the script mkerr.pl. Any changes
898
+ // made after this point may be overwritten when the script is next run.
755
899
 
756
900
 
757
- #ifdef __cplusplus
901
+ #ifdef __cplusplus
758
902
  }
759
903
 
760
904
  extern "C++" {
@@ -770,7 +914,7 @@ BORINGSSL_MAKE_DELETER(POLICYINFO, POLICYINFO_free)
770
914
 
771
915
  BSSL_NAMESPACE_END
772
916
 
773
- } /* extern C++ */
917
+ } // extern C++
774
918
  #endif
775
919
 
776
920
  #define X509V3_R_BAD_IP_ADDRESS 100