grpc 1.21.0 → 1.32.0

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

Potentially problematic release.


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

Files changed (1843) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +2516 -19950
  3. data/etc/roots.pem +44 -100
  4. data/include/grpc/grpc.h +3 -1
  5. data/include/grpc/grpc_security.h +238 -55
  6. data/include/grpc/grpc_security_constants.h +32 -1
  7. data/include/grpc/impl/codegen/README.md +22 -0
  8. data/include/grpc/impl/codegen/gpr_types.h +1 -1
  9. data/include/grpc/impl/codegen/grpc_types.h +61 -13
  10. data/include/grpc/impl/codegen/port_platform.h +74 -30
  11. data/include/grpc/impl/codegen/sync.h +5 -3
  12. data/include/grpc/impl/codegen/sync_abseil.h +36 -0
  13. data/include/grpc/impl/codegen/sync_generic.h +1 -1
  14. data/include/grpc/module.modulemap +25 -37
  15. data/include/grpc/slice.h +2 -2
  16. data/include/grpc/support/alloc.h +0 -16
  17. data/include/grpc/support/sync_abseil.h +26 -0
  18. data/src/core/ext/filters/client_channel/backend_metric.cc +84 -0
  19. data/src/core/ext/filters/client_channel/backend_metric.h +36 -0
  20. data/src/core/ext/filters/client_channel/backup_poller.cc +10 -8
  21. data/src/core/ext/filters/client_channel/backup_poller.h +5 -2
  22. data/src/core/ext/filters/client_channel/channel_connectivity.cc +18 -4
  23. data/src/core/ext/filters/client_channel/client_channel.cc +1516 -742
  24. data/src/core/ext/filters/client_channel/client_channel.h +25 -9
  25. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +50 -139
  26. data/src/core/ext/filters/client_channel/client_channel_channelz.h +15 -39
  27. data/src/core/ext/filters/client_channel/client_channel_factory.cc +1 -1
  28. data/src/core/ext/filters/client_channel/client_channel_factory.h +1 -9
  29. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +8 -13
  30. data/src/core/ext/filters/client_channel/config_selector.cc +62 -0
  31. data/src/core/ext/filters/client_channel/config_selector.h +93 -0
  32. data/src/core/ext/filters/client_channel/connector.h +42 -39
  33. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +34 -12
  34. data/src/core/ext/filters/client_channel/health/health_check_client.cc +75 -115
  35. data/src/core/ext/filters/client_channel/health/health_check_client.h +8 -16
  36. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +75 -46
  37. data/src/core/ext/filters/client_channel/http_proxy.cc +126 -120
  38. data/src/core/ext/filters/client_channel/http_proxy.h +5 -1
  39. data/src/core/ext/filters/client_channel/lb_policy.cc +35 -35
  40. data/src/core/ext/filters/client_channel/lb_policy.h +225 -152
  41. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +83 -0
  42. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +99 -0
  43. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +299 -0
  44. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +83 -0
  45. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +41 -25
  46. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +635 -734
  47. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +7 -0
  48. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +76 -0
  49. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +37 -0
  50. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +9 -2
  51. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +33 -49
  52. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +4 -3
  53. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +7 -6
  54. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +157 -271
  55. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +42 -58
  56. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +113 -166
  57. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +890 -0
  58. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +61 -101
  59. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +116 -260
  60. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +744 -0
  61. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +423 -0
  62. data/src/core/ext/filters/client_channel/lb_policy/xds/eds.cc +946 -0
  63. data/src/core/ext/filters/client_channel/lb_policy/xds/lrs.cc +537 -0
  64. data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +3 -7
  65. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_routing.cc +1141 -0
  66. data/src/core/ext/filters/client_channel/lb_policy_factory.h +6 -9
  67. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +53 -77
  68. data/src/core/ext/filters/client_channel/lb_policy_registry.h +3 -3
  69. data/src/core/ext/filters/client_channel/local_subchannel_pool.cc +8 -8
  70. data/src/core/ext/filters/client_channel/local_subchannel_pool.h +2 -1
  71. data/src/core/ext/filters/client_channel/proxy_mapper.h +14 -34
  72. data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +46 -79
  73. data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +23 -17
  74. data/src/core/ext/filters/client_channel/resolver.cc +6 -9
  75. data/src/core/ext/filters/client_channel/resolver.h +19 -37
  76. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +156 -130
  77. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc +74 -39
  78. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +15 -21
  79. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +33 -33
  80. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +16 -13
  81. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +476 -129
  82. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +231 -193
  83. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +6 -4
  84. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +9 -6
  85. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +1 -2
  86. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -2
  87. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +73 -48
  88. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +165 -116
  89. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +8 -7
  90. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +45 -29
  91. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +536 -0
  92. data/src/core/ext/filters/client_channel/resolver_factory.h +11 -11
  93. data/src/core/ext/filters/client_channel/resolver_registry.cc +39 -24
  94. data/src/core/ext/filters/client_channel/resolver_registry.h +17 -12
  95. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +251 -313
  96. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +28 -26
  97. data/src/core/ext/filters/client_channel/resolving_lb_policy.cc +100 -325
  98. data/src/core/ext/filters/client_channel/resolving_lb_policy.h +48 -53
  99. data/src/core/ext/filters/client_channel/retry_throttle.cc +5 -5
  100. data/src/core/ext/filters/client_channel/retry_throttle.h +2 -6
  101. data/src/core/ext/filters/client_channel/server_address.cc +40 -14
  102. data/src/core/ext/filters/client_channel/server_address.h +45 -15
  103. data/src/core/ext/filters/client_channel/service_config.cc +143 -253
  104. data/src/core/ext/filters/client_channel/service_config.h +47 -131
  105. data/src/core/ext/filters/client_channel/service_config_call_data.h +68 -0
  106. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +142 -0
  107. data/src/core/ext/filters/client_channel/service_config_parser.cc +87 -0
  108. data/src/core/ext/filters/client_channel/service_config_parser.h +89 -0
  109. data/src/core/ext/filters/client_channel/subchannel.cc +436 -288
  110. data/src/core/ext/filters/client_channel/subchannel.h +181 -53
  111. data/src/core/ext/filters/client_channel/subchannel_interface.h +94 -0
  112. data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +3 -6
  113. data/src/core/ext/filters/client_idle/client_idle_filter.cc +440 -0
  114. data/src/core/ext/filters/deadline/deadline_filter.cc +30 -28
  115. data/src/core/ext/filters/http/client/http_client_filter.cc +66 -70
  116. data/src/core/ext/filters/http/client_authority_filter.cc +21 -21
  117. data/src/core/ext/filters/http/http_filters_plugin.cc +28 -12
  118. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +335 -301
  119. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +399 -0
  120. data/src/core/ext/filters/http/message_compress/message_decompress_filter.h +31 -0
  121. data/src/core/ext/filters/http/server/http_server_filter.cc +66 -39
  122. data/src/core/ext/filters/max_age/max_age_filter.cc +72 -60
  123. data/src/core/ext/filters/message_size/message_size_filter.cc +116 -144
  124. data/src/core/ext/filters/message_size/message_size_filter.h +12 -6
  125. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +19 -17
  126. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +193 -171
  127. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +48 -1
  128. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +29 -25
  129. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +44 -64
  130. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +384 -305
  131. data/src/core/ext/transport/chttp2/server/chttp2_server.h +7 -2
  132. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +3 -3
  133. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +10 -16
  134. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +9 -9
  135. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +4 -6
  136. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +640 -560
  137. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +2 -0
  138. data/src/core/ext/transport/chttp2/transport/context_list.cc +5 -3
  139. data/src/core/ext/transport/chttp2/transport/flow_control.cc +26 -31
  140. data/src/core/ext/transport/chttp2/transport/flow_control.h +28 -38
  141. data/src/core/ext/transport/chttp2/transport/frame_data.cc +45 -54
  142. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +7 -9
  143. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +2 -3
  144. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +7 -7
  145. data/src/core/ext/transport/chttp2/transport/frame_ping.h +2 -3
  146. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +21 -13
  147. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +9 -3
  148. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +13 -12
  149. data/src/core/ext/transport/chttp2/transport/frame_settings.h +2 -3
  150. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +9 -12
  151. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +2 -3
  152. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +531 -348
  153. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +26 -15
  154. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +213 -143
  155. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +11 -4
  156. data/src/core/ext/transport/chttp2/transport/hpack_table.cc +41 -196
  157. data/src/core/ext/transport/chttp2/transport/hpack_table.h +62 -18
  158. data/src/core/ext/transport/chttp2/transport/http2_settings.h +4 -5
  159. data/src/core/ext/transport/chttp2/transport/huffsyms.h +2 -3
  160. data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +2 -1
  161. data/src/core/ext/transport/chttp2/transport/internal.h +64 -47
  162. data/src/core/ext/transport/chttp2/transport/parsing.cc +148 -162
  163. data/src/core/ext/transport/chttp2/transport/stream_map.cc +28 -18
  164. data/src/core/ext/transport/chttp2/transport/stream_map.h +2 -3
  165. data/src/core/ext/transport/chttp2/transport/writing.cc +38 -30
  166. data/src/core/ext/transport/inproc/inproc_transport.cc +164 -114
  167. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +17 -0
  168. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +29 -0
  169. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +27 -0
  170. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +53 -0
  171. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +224 -0
  172. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +700 -0
  173. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +74 -0
  174. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +226 -0
  175. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +380 -0
  176. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +1378 -0
  177. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +35 -0
  178. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +69 -0
  179. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +55 -0
  180. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +323 -0
  181. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +112 -0
  182. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +334 -0
  183. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +35 -0
  184. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +79 -0
  185. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +309 -0
  186. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +869 -0
  187. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +96 -0
  188. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +328 -0
  189. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +34 -0
  190. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +71 -0
  191. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +195 -0
  192. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +634 -0
  193. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +170 -0
  194. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +684 -0
  195. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +36 -0
  196. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +80 -0
  197. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +152 -0
  198. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +536 -0
  199. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +28 -0
  200. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +58 -0
  201. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +34 -0
  202. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +88 -0
  203. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +91 -0
  204. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +220 -0
  205. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +91 -0
  206. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +273 -0
  207. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +112 -0
  208. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +332 -0
  209. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +33 -0
  210. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +65 -0
  211. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +108 -0
  212. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +401 -0
  213. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +138 -0
  214. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +490 -0
  215. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +41 -0
  216. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +94 -0
  217. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +174 -0
  218. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +599 -0
  219. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +63 -0
  220. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +204 -0
  221. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +773 -0
  222. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +2855 -0
  223. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +59 -0
  224. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +135 -0
  225. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +50 -0
  226. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +108 -0
  227. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +312 -0
  228. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1125 -0
  229. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +20 -0
  230. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +34 -0
  231. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +111 -0
  232. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +401 -0
  233. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +72 -0
  234. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +198 -0
  235. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +105 -0
  236. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +388 -0
  237. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +27 -0
  238. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +49 -0
  239. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +25 -0
  240. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +49 -0
  241. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +129 -0
  242. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +386 -0
  243. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +30 -0
  244. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +49 -0
  245. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +30 -0
  246. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +49 -0
  247. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +55 -0
  248. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +136 -0
  249. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +29 -0
  250. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +49 -0
  251. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +27 -0
  252. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +49 -0
  253. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +47 -0
  254. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +114 -0
  255. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +35 -0
  256. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +77 -0
  257. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +34 -0
  258. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +71 -0
  259. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +64 -0
  260. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +145 -0
  261. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +53 -0
  262. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +127 -0
  263. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +63 -0
  264. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +188 -0
  265. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +88 -0
  266. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +258 -0
  267. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +90 -0
  268. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +250 -0
  269. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +17 -0
  270. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +35 -0
  271. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +40 -0
  272. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +86 -0
  273. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +51 -0
  274. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +111 -0
  275. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +30 -0
  276. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +61 -0
  277. data/src/core/ext/upb-generated/gogoproto/gogo.upb.c +17 -0
  278. data/src/core/ext/upb-generated/gogoproto/gogo.upb.h +29 -0
  279. data/src/core/ext/upb-generated/google/api/annotations.upb.c +18 -0
  280. data/src/core/ext/upb-generated/google/api/annotations.upb.h +29 -0
  281. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +234 -0
  282. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +759 -0
  283. data/src/core/ext/upb-generated/google/api/http.upb.c +66 -0
  284. data/src/core/ext/upb-generated/google/api/http.upb.h +191 -0
  285. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +27 -0
  286. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +57 -0
  287. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +486 -0
  288. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +1722 -0
  289. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +27 -0
  290. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +57 -0
  291. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +22 -0
  292. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +49 -0
  293. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +79 -0
  294. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +194 -0
  295. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +27 -0
  296. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +57 -0
  297. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +106 -0
  298. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +237 -0
  299. data/src/core/ext/upb-generated/google/rpc/status.upb.c +33 -0
  300. data/src/core/ext/upb-generated/google/rpc/status.upb.h +74 -0
  301. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +49 -0
  302. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +113 -0
  303. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +212 -0
  304. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +672 -0
  305. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +42 -0
  306. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +110 -0
  307. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +36 -0
  308. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +83 -0
  309. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +141 -0
  310. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +396 -0
  311. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +48 -0
  312. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +103 -0
  313. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +17 -0
  314. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +29 -0
  315. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +28 -0
  316. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +64 -0
  317. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +27 -0
  318. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +53 -0
  319. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c +58 -0
  320. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h +117 -0
  321. data/src/core/ext/upb-generated/validate/validate.upb.c +448 -0
  322. data/src/core/ext/upb-generated/validate/validate.upb.h +2074 -0
  323. data/src/core/ext/xds/xds_api.cc +2388 -0
  324. data/src/core/ext/xds/xds_api.h +360 -0
  325. data/src/core/ext/xds/xds_bootstrap.cc +373 -0
  326. data/src/core/ext/xds/xds_bootstrap.h +93 -0
  327. data/src/core/ext/xds/xds_channel.h +46 -0
  328. data/src/core/ext/xds/xds_channel_args.h +26 -0
  329. data/src/core/ext/xds/xds_channel_secure.cc +103 -0
  330. data/src/core/ext/xds/xds_client.cc +2114 -0
  331. data/src/core/ext/xds/xds_client.h +276 -0
  332. data/src/core/ext/xds/xds_client_stats.cc +115 -0
  333. data/src/core/ext/xds/xds_client_stats.h +211 -0
  334. data/src/core/lib/avl/avl.cc +1 -1
  335. data/src/core/lib/channel/channel_args.cc +52 -14
  336. data/src/core/lib/channel/channel_args.h +41 -3
  337. data/src/core/lib/channel/channel_stack.cc +1 -1
  338. data/src/core/lib/channel/channel_stack.h +38 -18
  339. data/src/core/lib/channel/channel_trace.cc +32 -45
  340. data/src/core/lib/channel/channel_trace.h +3 -3
  341. data/src/core/lib/channel/channelz.cc +377 -318
  342. data/src/core/lib/channel/channelz.h +128 -90
  343. data/src/core/lib/channel/channelz_registry.cc +123 -178
  344. data/src/core/lib/channel/channelz_registry.h +14 -32
  345. data/src/core/lib/channel/connected_channel.cc +28 -25
  346. data/src/core/lib/channel/context.h +2 -2
  347. data/src/core/lib/channel/handshaker.cc +18 -14
  348. data/src/core/lib/channel/handshaker.h +7 -6
  349. data/src/core/lib/channel/handshaker_factory.h +1 -3
  350. data/src/core/lib/channel/handshaker_registry.cc +9 -21
  351. data/src/core/lib/channel/handshaker_registry.h +3 -3
  352. data/src/core/lib/channel/status_util.cc +2 -3
  353. data/src/core/lib/compression/compression.cc +16 -11
  354. data/src/core/lib/compression/compression_args.cc +13 -6
  355. data/src/core/lib/compression/compression_args.h +3 -2
  356. data/src/core/lib/compression/compression_internal.cc +15 -11
  357. data/src/core/lib/compression/compression_internal.h +9 -1
  358. data/src/core/lib/compression/message_compress.cc +8 -3
  359. data/src/core/lib/compression/stream_compression.cc +3 -2
  360. data/src/core/lib/compression/stream_compression.h +2 -2
  361. data/src/core/lib/compression/stream_compression_gzip.cc +9 -9
  362. data/src/core/lib/compression/stream_compression_identity.cc +5 -7
  363. data/src/core/lib/debug/stats.cc +21 -27
  364. data/src/core/lib/debug/stats.h +3 -1
  365. data/src/core/lib/debug/trace.h +3 -2
  366. data/src/core/lib/gpr/alloc.cc +4 -29
  367. data/src/core/lib/gpr/cpu_linux.cc +1 -1
  368. data/src/core/lib/gpr/env.h +1 -1
  369. data/src/core/lib/gpr/env_linux.cc +10 -21
  370. data/src/core/lib/gpr/env_posix.cc +0 -5
  371. data/src/core/lib/gpr/log_linux.cc +8 -10
  372. data/src/core/lib/gpr/log_posix.cc +7 -9
  373. data/src/core/lib/gpr/spinlock.h +2 -3
  374. data/src/core/lib/gpr/string.cc +25 -36
  375. data/src/core/lib/gpr/string.h +11 -19
  376. data/src/core/lib/gpr/sync_abseil.cc +116 -0
  377. data/src/core/lib/gpr/sync_posix.cc +10 -142
  378. data/src/core/lib/gpr/sync_windows.cc +4 -2
  379. data/src/core/lib/gpr/time.cc +4 -0
  380. data/src/core/lib/gpr/time_posix.cc +1 -1
  381. data/src/core/lib/gpr/time_precise.cc +123 -36
  382. data/src/core/lib/gpr/time_precise.h +37 -0
  383. data/src/core/lib/gprpp/arena.cc +3 -3
  384. data/src/core/lib/gprpp/arena.h +2 -3
  385. data/src/core/lib/gprpp/atomic.h +10 -6
  386. data/src/core/lib/gprpp/debug_location.h +3 -2
  387. data/src/core/lib/gprpp/fork.cc +19 -26
  388. data/src/core/lib/gprpp/fork.h +18 -3
  389. data/src/core/lib/gprpp/global_config.h +9 -0
  390. data/src/core/lib/gprpp/global_config_custom.h +1 -1
  391. data/src/core/lib/gprpp/global_config_env.cc +15 -13
  392. data/src/core/lib/gprpp/global_config_env.h +2 -2
  393. data/src/core/lib/gprpp/host_port.cc +112 -0
  394. data/src/core/lib/gprpp/host_port.h +56 -0
  395. data/src/core/lib/gprpp/map.h +16 -382
  396. data/src/core/lib/gprpp/memory.h +12 -75
  397. data/src/core/lib/gprpp/mpscq.cc +108 -0
  398. data/src/core/lib/gprpp/mpscq.h +98 -0
  399. data/src/core/lib/gprpp/orphanable.h +9 -14
  400. data/src/core/lib/gprpp/ref_counted.h +97 -44
  401. data/src/core/lib/gprpp/ref_counted_ptr.h +8 -1
  402. data/src/core/lib/gprpp/sync.h +9 -0
  403. data/src/core/lib/gprpp/thd.h +13 -6
  404. data/src/core/lib/gprpp/thd_posix.cc +29 -3
  405. data/src/core/lib/gprpp/thd_windows.cc +12 -4
  406. data/src/core/lib/http/format_request.cc +46 -65
  407. data/src/core/lib/http/httpcli.cc +18 -16
  408. data/src/core/lib/http/httpcli.h +2 -3
  409. data/src/core/lib/http/httpcli_security_connector.cc +27 -21
  410. data/src/core/lib/http/parser.cc +1 -1
  411. data/src/core/lib/http/parser.h +2 -3
  412. data/src/core/lib/iomgr/buffer_list.cc +45 -40
  413. data/src/core/lib/iomgr/buffer_list.h +27 -27
  414. data/src/core/lib/iomgr/call_combiner.cc +12 -12
  415. data/src/core/lib/iomgr/call_combiner.h +10 -8
  416. data/src/core/lib/iomgr/cfstream_handle.cc +11 -3
  417. data/src/core/lib/iomgr/cfstream_handle.h +11 -3
  418. data/src/core/lib/iomgr/closure.h +43 -141
  419. data/src/core/lib/iomgr/combiner.cc +46 -90
  420. data/src/core/lib/iomgr/combiner.h +30 -8
  421. data/src/core/lib/iomgr/dualstack_socket_posix.cc +47 -0
  422. data/src/core/lib/iomgr/endpoint.cc +5 -1
  423. data/src/core/lib/iomgr/endpoint.h +7 -3
  424. data/src/core/lib/iomgr/endpoint_cfstream.cc +41 -19
  425. data/src/core/lib/iomgr/endpoint_pair.h +2 -3
  426. data/src/core/lib/iomgr/endpoint_pair_posix.cc +11 -11
  427. data/src/core/lib/iomgr/error.cc +26 -19
  428. data/src/core/lib/iomgr/error.h +15 -8
  429. data/src/core/lib/iomgr/error_cfstream.cc +9 -8
  430. data/src/core/lib/iomgr/error_internal.h +1 -1
  431. data/src/core/lib/iomgr/ev_apple.cc +356 -0
  432. data/src/core/lib/iomgr/ev_apple.h +43 -0
  433. data/src/core/lib/iomgr/ev_epoll1_linux.cc +48 -47
  434. data/src/core/lib/iomgr/ev_epollex_linux.cc +80 -94
  435. data/src/core/lib/iomgr/ev_poll_posix.cc +42 -26
  436. data/src/core/lib/iomgr/ev_posix.cc +9 -8
  437. data/src/core/lib/iomgr/ev_posix.h +3 -2
  438. data/src/core/lib/iomgr/ev_windows.cc +2 -2
  439. data/src/core/lib/iomgr/exec_ctx.cc +78 -21
  440. data/src/core/lib/iomgr/exec_ctx.h +27 -7
  441. data/src/core/lib/iomgr/executor.cc +25 -41
  442. data/src/core/lib/iomgr/executor.h +7 -7
  443. data/src/core/lib/iomgr/executor/mpmcqueue.cc +183 -0
  444. data/src/core/lib/iomgr/executor/mpmcqueue.h +175 -0
  445. data/src/core/lib/iomgr/executor/threadpool.cc +137 -0
  446. data/src/core/lib/iomgr/executor/threadpool.h +149 -0
  447. data/src/core/lib/iomgr/fork_posix.cc +8 -2
  448. data/src/core/lib/iomgr/iocp_windows.cc +2 -2
  449. data/src/core/lib/iomgr/iomgr.cc +4 -4
  450. data/src/core/lib/iomgr/iomgr_custom.cc +1 -1
  451. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +87 -9
  452. data/src/core/lib/iomgr/iomgr_uv.cc +3 -0
  453. data/src/core/lib/iomgr/is_epollexclusive_available.cc +14 -0
  454. data/src/core/lib/iomgr/load_file.cc +1 -0
  455. data/src/core/lib/iomgr/lockfree_event.cc +13 -12
  456. data/src/core/lib/iomgr/parse_address.cc +238 -0
  457. data/src/core/lib/iomgr/parse_address.h +53 -0
  458. data/src/core/lib/iomgr/poller/eventmanager_libuv.cc +87 -0
  459. data/src/core/lib/iomgr/poller/eventmanager_libuv.h +88 -0
  460. data/src/core/lib/iomgr/pollset_custom.cc +5 -5
  461. data/src/core/lib/iomgr/pollset_set_custom.cc +10 -10
  462. data/src/core/lib/iomgr/pollset_uv.h +32 -0
  463. data/src/core/lib/iomgr/pollset_windows.cc +16 -2
  464. data/src/core/lib/iomgr/port.h +10 -22
  465. data/src/core/lib/iomgr/python_util.h +46 -0
  466. data/src/core/lib/iomgr/resolve_address.h +4 -6
  467. data/src/core/lib/iomgr/resolve_address_custom.cc +49 -68
  468. data/src/core/lib/iomgr/resolve_address_custom.h +4 -2
  469. data/src/core/lib/iomgr/resolve_address_posix.cc +20 -24
  470. data/src/core/lib/iomgr/resolve_address_windows.cc +22 -35
  471. data/src/core/lib/iomgr/resource_quota.cc +120 -110
  472. data/src/core/lib/iomgr/resource_quota.h +13 -9
  473. data/src/core/lib/iomgr/sockaddr_utils.cc +33 -36
  474. data/src/core/lib/iomgr/sockaddr_utils.h +12 -16
  475. data/src/core/lib/iomgr/socket_factory_posix.h +2 -3
  476. data/src/core/lib/iomgr/socket_mutator.h +2 -3
  477. data/src/core/lib/iomgr/socket_utils_common_posix.cc +140 -82
  478. data/src/core/lib/iomgr/socket_utils_posix.h +19 -0
  479. data/src/core/lib/iomgr/socket_windows.cc +6 -7
  480. data/src/core/lib/iomgr/socket_windows.h +1 -1
  481. data/src/core/lib/iomgr/tcp_client_cfstream.cc +18 -21
  482. data/src/core/lib/iomgr/tcp_client_custom.cc +9 -11
  483. data/src/core/lib/iomgr/tcp_client_posix.cc +47 -59
  484. data/src/core/lib/iomgr/tcp_client_posix.h +6 -6
  485. data/src/core/lib/iomgr/tcp_client_windows.cc +12 -13
  486. data/src/core/lib/iomgr/tcp_custom.cc +58 -36
  487. data/src/core/lib/iomgr/tcp_custom.h +4 -1
  488. data/src/core/lib/iomgr/tcp_posix.cc +697 -124
  489. data/src/core/lib/iomgr/tcp_server.cc +8 -4
  490. data/src/core/lib/iomgr/tcp_server.h +28 -5
  491. data/src/core/lib/iomgr/tcp_server_custom.cc +46 -41
  492. data/src/core/lib/iomgr/tcp_server_posix.cc +102 -46
  493. data/src/core/lib/iomgr/tcp_server_utils_posix.h +6 -4
  494. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +17 -19
  495. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +10 -18
  496. data/src/core/lib/iomgr/tcp_server_windows.cc +33 -29
  497. data/src/core/lib/iomgr/tcp_uv.cc +8 -8
  498. data/src/core/lib/iomgr/tcp_windows.cc +49 -30
  499. data/src/core/lib/iomgr/time_averaged_stats.h +2 -3
  500. data/src/core/lib/iomgr/timer.h +2 -1
  501. data/src/core/lib/iomgr/timer_custom.cc +7 -5
  502. data/src/core/lib/iomgr/timer_generic.cc +26 -24
  503. data/src/core/lib/iomgr/timer_generic.h +39 -0
  504. data/src/core/lib/iomgr/timer_heap.h +2 -3
  505. data/src/core/lib/iomgr/timer_manager.cc +8 -30
  506. data/src/core/lib/iomgr/timer_manager.h +2 -0
  507. data/src/core/lib/iomgr/udp_server.cc +53 -53
  508. data/src/core/lib/iomgr/udp_server.h +11 -14
  509. data/src/core/lib/iomgr/unix_sockets_posix.cc +9 -14
  510. data/src/core/lib/iomgr/unix_sockets_posix.h +3 -1
  511. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +5 -2
  512. data/src/core/lib/iomgr/work_serializer.cc +155 -0
  513. data/src/core/lib/iomgr/work_serializer.h +65 -0
  514. data/src/core/lib/json/json.h +209 -68
  515. data/src/core/lib/json/json_reader.cc +508 -317
  516. data/src/core/lib/json/json_writer.cc +202 -110
  517. data/src/core/lib/profiling/basic_timers.cc +2 -2
  518. data/src/core/lib/security/authorization/authorization_engine.cc +177 -0
  519. data/src/core/lib/security/authorization/authorization_engine.h +84 -0
  520. data/src/core/lib/security/authorization/evaluate_args.cc +153 -0
  521. data/src/core/lib/security/authorization/evaluate_args.h +59 -0
  522. data/src/core/lib/security/authorization/mock_cel/activation.h +57 -0
  523. data/src/core/lib/security/authorization/mock_cel/cel_expr_builder_factory.h +42 -0
  524. data/src/core/lib/security/authorization/mock_cel/cel_expression.h +68 -0
  525. data/src/core/lib/security/authorization/mock_cel/cel_value.h +93 -0
  526. data/src/core/lib/security/authorization/mock_cel/evaluator_core.h +67 -0
  527. data/src/core/lib/security/authorization/mock_cel/flat_expr_builder.h +56 -0
  528. data/src/core/lib/security/authorization/mock_cel/statusor.h +50 -0
  529. data/src/core/lib/security/credentials/alts/alts_credentials.cc +10 -7
  530. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +1 -1
  531. data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +45 -57
  532. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc +1 -1
  533. data/src/core/lib/security/credentials/composite/composite_credentials.cc +26 -6
  534. data/src/core/lib/security/credentials/composite/composite_credentials.h +11 -4
  535. data/src/core/lib/security/credentials/credentials.h +31 -25
  536. data/src/core/lib/security/credentials/fake/fake_credentials.cc +9 -9
  537. data/src/core/lib/security/credentials/fake/fake_credentials.h +6 -1
  538. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +8 -6
  539. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +74 -56
  540. data/src/core/lib/security/credentials/iam/iam_credentials.cc +12 -10
  541. data/src/core/lib/security/credentials/iam/iam_credentials.h +4 -0
  542. data/src/core/lib/security/credentials/jwt/json_token.cc +32 -58
  543. data/src/core/lib/security/credentials/jwt/json_token.h +5 -7
  544. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +19 -26
  545. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +12 -0
  546. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +153 -170
  547. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +4 -6
  548. data/src/core/lib/security/credentials/local/local_credentials.cc +3 -3
  549. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +332 -87
  550. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +27 -7
  551. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +31 -15
  552. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +4 -1
  553. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +43 -5
  554. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +12 -2
  555. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +70 -17
  556. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +118 -5
  557. data/src/core/lib/security/credentials/tls/tls_credentials.cc +128 -0
  558. data/src/core/lib/security/credentials/tls/tls_credentials.h +62 -0
  559. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +67 -32
  560. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +5 -0
  561. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +64 -47
  562. data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +2 -2
  563. data/src/core/lib/security/security_connector/load_system_roots_linux.cc +9 -5
  564. data/src/core/lib/security/security_connector/local/local_security_connector.cc +42 -16
  565. data/src/core/lib/security/security_connector/security_connector.cc +4 -1
  566. data/src/core/lib/security/security_connector/security_connector.h +22 -20
  567. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +55 -62
  568. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +8 -5
  569. data/src/core/lib/security/security_connector/ssl_utils.cc +150 -53
  570. data/src/core/lib/security/security_connector/ssl_utils.h +41 -17
  571. data/src/core/lib/security/security_connector/ssl_utils_config.cc +32 -0
  572. data/src/core/lib/security/security_connector/ssl_utils_config.h +30 -0
  573. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +606 -0
  574. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +183 -0
  575. data/src/core/lib/security/transport/auth_filters.h +0 -2
  576. data/src/core/lib/security/transport/client_auth_filter.cc +74 -28
  577. data/src/core/lib/security/transport/secure_endpoint.cc +16 -9
  578. data/src/core/lib/security/transport/security_handshaker.cc +103 -43
  579. data/src/core/lib/security/transport/security_handshaker.h +4 -2
  580. data/src/core/lib/security/transport/server_auth_filter.cc +18 -17
  581. data/src/core/lib/security/util/json_util.cc +35 -15
  582. data/src/core/lib/security/util/json_util.h +5 -3
  583. data/src/core/lib/slice/b64.cc +3 -4
  584. data/src/core/lib/slice/b64.h +3 -4
  585. data/src/core/lib/slice/slice.cc +188 -73
  586. data/src/core/lib/slice/slice_buffer.cc +55 -26
  587. data/src/core/lib/slice/slice_intern.cc +164 -64
  588. data/src/core/lib/slice/slice_internal.h +110 -8
  589. data/src/core/lib/slice/slice_string_helpers.cc +10 -1
  590. data/src/core/lib/slice/slice_string_helpers.h +3 -1
  591. data/src/core/lib/slice/slice_utils.h +200 -0
  592. data/src/core/lib/surface/byte_buffer_reader.cc +2 -47
  593. data/src/core/lib/surface/call.cc +166 -117
  594. data/src/core/lib/surface/call.h +8 -8
  595. data/src/core/lib/surface/call_log_batch.cc +51 -60
  596. data/src/core/lib/surface/channel.cc +188 -137
  597. data/src/core/lib/surface/channel.h +91 -11
  598. data/src/core/lib/surface/channel_ping.cc +3 -4
  599. data/src/core/lib/surface/completion_queue.cc +144 -111
  600. data/src/core/lib/surface/completion_queue.h +6 -3
  601. data/src/core/lib/surface/completion_queue_factory.cc +1 -1
  602. data/src/core/lib/surface/event_string.cc +18 -25
  603. data/src/core/lib/surface/event_string.h +3 -1
  604. data/src/core/lib/surface/init.cc +6 -2
  605. data/src/core/lib/surface/init_secure.cc +2 -2
  606. data/src/core/lib/surface/lame_client.cc +43 -30
  607. data/src/core/lib/surface/server.cc +1275 -1316
  608. data/src/core/lib/surface/server.h +373 -52
  609. data/src/core/lib/surface/validate_metadata.cc +18 -8
  610. data/src/core/lib/surface/validate_metadata.h +13 -2
  611. data/src/core/lib/surface/version.cc +2 -2
  612. data/src/core/lib/transport/authority_override.cc +38 -0
  613. data/src/core/lib/transport/authority_override.h +32 -0
  614. data/src/core/lib/transport/byte_stream.cc +5 -7
  615. data/src/core/lib/transport/byte_stream.h +13 -12
  616. data/src/core/lib/transport/connectivity_state.cc +118 -98
  617. data/src/core/lib/transport/connectivity_state.h +114 -50
  618. data/src/core/lib/transport/error_utils.cc +23 -1
  619. data/src/core/lib/transport/error_utils.h +6 -0
  620. data/src/core/lib/transport/metadata.cc +252 -57
  621. data/src/core/lib/transport/metadata.h +168 -80
  622. data/src/core/lib/transport/metadata_batch.cc +78 -16
  623. data/src/core/lib/transport/metadata_batch.h +40 -3
  624. data/src/core/lib/transport/static_metadata.cc +1169 -495
  625. data/src/core/lib/transport/static_metadata.h +279 -282
  626. data/src/core/lib/transport/status_conversion.cc +7 -15
  627. data/src/core/lib/transport/status_metadata.cc +8 -1
  628. data/src/core/lib/transport/status_metadata.h +18 -0
  629. data/src/core/lib/transport/timeout_encoding.cc +7 -0
  630. data/src/core/lib/transport/timeout_encoding.h +3 -2
  631. data/src/core/lib/transport/transport.cc +14 -13
  632. data/src/core/lib/transport/transport.h +48 -8
  633. data/src/core/lib/transport/transport_op_string.cc +67 -105
  634. data/src/core/lib/uri/uri_parser.cc +30 -35
  635. data/src/core/lib/uri/uri_parser.h +5 -4
  636. data/src/core/plugin_registry/grpc_plugin_registry.cc +36 -4
  637. data/src/core/tsi/alts/crypt/aes_gcm.cc +0 -2
  638. data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +1 -1
  639. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +414 -120
  640. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +8 -4
  641. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +1 -1
  642. data/src/core/tsi/alts/handshaker/alts_shared_resource.h +1 -1
  643. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +293 -61
  644. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +15 -5
  645. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +5 -0
  646. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +10 -6
  647. data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +4 -3
  648. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +76 -48
  649. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +34 -26
  650. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h +2 -3
  651. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +12 -2
  652. data/src/core/tsi/fake_transport_security.cc +22 -21
  653. data/src/core/tsi/fake_transport_security.h +2 -0
  654. data/src/core/tsi/local_transport_security.cc +8 -6
  655. data/src/core/tsi/ssl/session_cache/ssl_session.h +2 -6
  656. data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +2 -3
  657. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +11 -9
  658. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +4 -13
  659. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +2 -3
  660. data/src/core/tsi/ssl_transport_security.cc +345 -103
  661. data/src/core/tsi/ssl_transport_security.h +42 -11
  662. data/src/core/tsi/ssl_types.h +0 -2
  663. data/src/core/tsi/transport_security.cc +13 -0
  664. data/src/core/tsi/transport_security.h +6 -9
  665. data/src/core/tsi/transport_security_grpc.cc +7 -0
  666. data/src/core/tsi/transport_security_grpc.h +8 -3
  667. data/src/core/tsi/transport_security_interface.h +20 -3
  668. data/src/ruby/bin/math_pb.rb +5 -5
  669. data/src/ruby/bin/math_services_pb.rb +4 -4
  670. data/src/ruby/ext/grpc/ext-export.clang +1 -0
  671. data/src/ruby/ext/grpc/ext-export.gcc +6 -0
  672. data/src/ruby/ext/grpc/extconf.rb +11 -2
  673. data/src/ruby/ext/grpc/rb_call.c +13 -4
  674. data/src/ruby/ext/grpc/rb_call.h +4 -0
  675. data/src/ruby/ext/grpc/rb_call_credentials.c +61 -13
  676. data/src/ruby/ext/grpc/rb_channel.c +1 -1
  677. data/src/ruby/ext/grpc/rb_channel_credentials.c +9 -0
  678. data/src/ruby/ext/grpc/rb_enable_cpp.cc +22 -0
  679. data/src/ruby/ext/grpc/rb_grpc.c +1 -42
  680. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +16 -6
  681. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +28 -13
  682. data/src/ruby/lib/grpc.rb +2 -0
  683. data/src/ruby/lib/grpc/core/status_codes.rb +135 -0
  684. data/src/ruby/lib/grpc/errors.rb +107 -49
  685. data/src/ruby/lib/grpc/generic/active_call.rb +2 -3
  686. data/src/ruby/lib/grpc/generic/bidi_call.rb +1 -1
  687. data/src/ruby/lib/grpc/generic/client_stub.rb +1 -1
  688. data/src/ruby/lib/grpc/generic/interceptors.rb +5 -5
  689. data/src/ruby/lib/grpc/generic/rpc_server.rb +11 -12
  690. data/src/ruby/lib/grpc/generic/service.rb +5 -4
  691. data/src/ruby/lib/grpc/google_rpc_status_utils.rb +9 -4
  692. data/src/ruby/lib/grpc/grpc.rb +1 -1
  693. data/src/ruby/lib/grpc/structs.rb +15 -0
  694. data/src/ruby/lib/grpc/version.rb +1 -1
  695. data/src/ruby/pb/generate_proto_ruby.sh +5 -3
  696. data/src/ruby/pb/grpc/health/v1/health_pb.rb +3 -3
  697. data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +2 -2
  698. data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +1 -1
  699. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +39 -13
  700. data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +43 -11
  701. data/src/ruby/spec/channel_credentials_spec.rb +10 -0
  702. data/src/ruby/spec/debug_message_spec.rb +134 -0
  703. data/src/ruby/spec/errors_spec.rb +1 -0
  704. data/src/ruby/spec/generic/active_call_spec.rb +19 -8
  705. data/src/ruby/spec/generic/service_spec.rb +2 -0
  706. data/src/ruby/spec/google_rpc_status_utils_spec.rb +2 -2
  707. data/src/ruby/spec/pb/codegen/grpc/testing/package_options_import.proto +22 -0
  708. data/src/ruby/spec/pb/codegen/grpc/testing/package_options_import2.proto +23 -0
  709. data/src/ruby/spec/pb/codegen/grpc/testing/package_options_ruby_style.proto +41 -0
  710. data/src/ruby/spec/pb/codegen/grpc/testing/same_package_service_name.proto +27 -0
  711. data/src/ruby/spec/pb/codegen/grpc/testing/same_ruby_package_service_name.proto +29 -0
  712. data/src/ruby/spec/pb/codegen/package_option_spec.rb +79 -29
  713. data/src/ruby/spec/support/services.rb +10 -4
  714. data/src/ruby/spec/testdata/ca.pem +18 -13
  715. data/src/ruby/spec/testdata/client.key +26 -14
  716. data/src/ruby/spec/testdata/client.pem +18 -12
  717. data/src/ruby/spec/testdata/server1.key +26 -14
  718. data/src/ruby/spec/testdata/server1.pem +20 -14
  719. data/src/ruby/spec/user_agent_spec.rb +74 -0
  720. data/third_party/abseil-cpp/absl/algorithm/algorithm.h +159 -0
  721. data/third_party/abseil-cpp/absl/algorithm/container.h +1727 -0
  722. data/third_party/abseil-cpp/absl/base/attributes.h +621 -0
  723. data/third_party/abseil-cpp/absl/base/call_once.h +226 -0
  724. data/third_party/abseil-cpp/absl/base/casts.h +184 -0
  725. data/third_party/abseil-cpp/absl/base/config.h +671 -0
  726. data/third_party/abseil-cpp/absl/base/const_init.h +76 -0
  727. data/third_party/abseil-cpp/absl/base/dynamic_annotations.cc +129 -0
  728. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +389 -0
  729. data/third_party/abseil-cpp/absl/base/internal/atomic_hook.h +200 -0
  730. data/third_party/abseil-cpp/absl/base/internal/bits.h +218 -0
  731. data/third_party/abseil-cpp/absl/base/internal/cycleclock.cc +107 -0
  732. data/third_party/abseil-cpp/absl/base/internal/cycleclock.h +94 -0
  733. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +161 -0
  734. data/third_party/abseil-cpp/absl/base/internal/endian.h +266 -0
  735. data/third_party/abseil-cpp/absl/base/internal/errno_saver.h +43 -0
  736. data/third_party/abseil-cpp/absl/base/internal/exponential_biased.cc +93 -0
  737. data/third_party/abseil-cpp/absl/base/internal/exponential_biased.h +130 -0
  738. data/third_party/abseil-cpp/absl/base/internal/hide_ptr.h +51 -0
  739. data/third_party/abseil-cpp/absl/base/internal/identity.h +37 -0
  740. data/third_party/abseil-cpp/absl/base/internal/inline_variable.h +107 -0
  741. data/third_party/abseil-cpp/absl/base/internal/invoke.h +187 -0
  742. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +620 -0
  743. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h +126 -0
  744. data/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +107 -0
  745. data/third_party/abseil-cpp/absl/base/internal/per_thread_tls.h +52 -0
  746. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +240 -0
  747. data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +183 -0
  748. data/third_party/abseil-cpp/absl/base/internal/scheduling_mode.h +58 -0
  749. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +233 -0
  750. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +243 -0
  751. data/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc +35 -0
  752. data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +66 -0
  753. data/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc +46 -0
  754. data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.cc +81 -0
  755. data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +93 -0
  756. data/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +37 -0
  757. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +416 -0
  758. data/third_party/abseil-cpp/absl/base/internal/sysinfo.h +66 -0
  759. data/third_party/abseil-cpp/absl/base/internal/thread_annotations.h +271 -0
  760. data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +152 -0
  761. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +259 -0
  762. data/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc +108 -0
  763. data/third_party/abseil-cpp/absl/base/internal/throw_delegate.h +75 -0
  764. data/third_party/abseil-cpp/absl/base/internal/tsan_mutex_interface.h +66 -0
  765. data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +158 -0
  766. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +140 -0
  767. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +124 -0
  768. data/third_party/abseil-cpp/absl/base/log_severity.cc +27 -0
  769. data/third_party/abseil-cpp/absl/base/log_severity.h +121 -0
  770. data/third_party/abseil-cpp/absl/base/macros.h +220 -0
  771. data/third_party/abseil-cpp/absl/base/optimization.h +181 -0
  772. data/third_party/abseil-cpp/absl/base/options.h +211 -0
  773. data/third_party/abseil-cpp/absl/base/policy_checks.h +111 -0
  774. data/third_party/abseil-cpp/absl/base/port.h +26 -0
  775. data/third_party/abseil-cpp/absl/base/thread_annotations.h +280 -0
  776. data/third_party/abseil-cpp/absl/container/fixed_array.h +515 -0
  777. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +503 -0
  778. data/third_party/abseil-cpp/absl/container/inlined_vector.h +848 -0
  779. data/third_party/abseil-cpp/absl/container/internal/common.h +202 -0
  780. data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +265 -0
  781. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +440 -0
  782. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +146 -0
  783. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +191 -0
  784. data/third_party/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h +85 -0
  785. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +269 -0
  786. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +297 -0
  787. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +30 -0
  788. data/third_party/abseil-cpp/absl/container/internal/have_sse.h +49 -0
  789. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +892 -0
  790. data/third_party/abseil-cpp/absl/container/internal/layout.h +741 -0
  791. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +48 -0
  792. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1882 -0
  793. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +138 -0
  794. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.h +32 -0
  795. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +1895 -0
  796. data/third_party/abseil-cpp/absl/debugging/internal/demangle.h +71 -0
  797. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +382 -0
  798. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +134 -0
  799. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +192 -0
  800. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +125 -0
  801. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +70 -0
  802. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +99 -0
  803. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +248 -0
  804. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +24 -0
  805. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +85 -0
  806. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +346 -0
  807. data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +128 -0
  808. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +194 -0
  809. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.h +158 -0
  810. data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +140 -0
  811. data/third_party/abseil-cpp/absl/debugging/stacktrace.h +231 -0
  812. data/third_party/abseil-cpp/absl/debugging/symbolize.cc +25 -0
  813. data/third_party/abseil-cpp/absl/debugging/symbolize.h +99 -0
  814. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +1480 -0
  815. data/third_party/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +40 -0
  816. data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +81 -0
  817. data/third_party/abseil-cpp/absl/functional/function_ref.h +139 -0
  818. data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +106 -0
  819. data/third_party/abseil-cpp/absl/hash/hash.h +324 -0
  820. data/third_party/abseil-cpp/absl/hash/internal/city.cc +346 -0
  821. data/third_party/abseil-cpp/absl/hash/internal/city.h +96 -0
  822. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +55 -0
  823. data/third_party/abseil-cpp/absl/hash/internal/hash.h +988 -0
  824. data/third_party/abseil-cpp/absl/memory/memory.h +695 -0
  825. data/third_party/abseil-cpp/absl/meta/type_traits.h +759 -0
  826. data/third_party/abseil-cpp/absl/numeric/int128.cc +404 -0
  827. data/third_party/abseil-cpp/absl/numeric/int128.h +1091 -0
  828. data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +302 -0
  829. data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +308 -0
  830. data/third_party/abseil-cpp/absl/status/status.cc +447 -0
  831. data/third_party/abseil-cpp/absl/status/status.h +428 -0
  832. data/third_party/abseil-cpp/absl/status/status_payload_printer.cc +43 -0
  833. data/third_party/abseil-cpp/absl/status/status_payload_printer.h +51 -0
  834. data/third_party/abseil-cpp/absl/strings/ascii.cc +200 -0
  835. data/third_party/abseil-cpp/absl/strings/ascii.h +242 -0
  836. data/third_party/abseil-cpp/absl/strings/charconv.cc +984 -0
  837. data/third_party/abseil-cpp/absl/strings/charconv.h +119 -0
  838. data/third_party/abseil-cpp/absl/strings/cord.cc +2019 -0
  839. data/third_party/abseil-cpp/absl/strings/cord.h +1121 -0
  840. data/third_party/abseil-cpp/absl/strings/escaping.cc +949 -0
  841. data/third_party/abseil-cpp/absl/strings/escaping.h +164 -0
  842. data/third_party/abseil-cpp/absl/strings/internal/char_map.h +156 -0
  843. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +359 -0
  844. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +423 -0
  845. data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +504 -0
  846. data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.h +99 -0
  847. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +151 -0
  848. data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +180 -0
  849. data/third_party/abseil-cpp/absl/strings/internal/escaping.h +58 -0
  850. data/third_party/abseil-cpp/absl/strings/internal/memutil.cc +112 -0
  851. data/third_party/abseil-cpp/absl/strings/internal/memutil.h +148 -0
  852. data/third_party/abseil-cpp/absl/strings/internal/ostringstream.cc +36 -0
  853. data/third_party/abseil-cpp/absl/strings/internal/ostringstream.h +89 -0
  854. data/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h +73 -0
  855. data/third_party/abseil-cpp/absl/strings/internal/stl_type_traits.h +248 -0
  856. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +388 -0
  857. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +432 -0
  858. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +245 -0
  859. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +209 -0
  860. data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +326 -0
  861. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +51 -0
  862. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +415 -0
  863. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +493 -0
  864. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +23 -0
  865. data/third_party/abseil-cpp/absl/strings/internal/str_format/output.cc +72 -0
  866. data/third_party/abseil-cpp/absl/strings/internal/str_format/output.h +104 -0
  867. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +334 -0
  868. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +333 -0
  869. data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +314 -0
  870. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +455 -0
  871. data/third_party/abseil-cpp/absl/strings/internal/utf8.cc +53 -0
  872. data/third_party/abseil-cpp/absl/strings/internal/utf8.h +50 -0
  873. data/third_party/abseil-cpp/absl/strings/match.cc +40 -0
  874. data/third_party/abseil-cpp/absl/strings/match.h +90 -0
  875. data/third_party/abseil-cpp/absl/strings/numbers.cc +965 -0
  876. data/third_party/abseil-cpp/absl/strings/numbers.h +266 -0
  877. data/third_party/abseil-cpp/absl/strings/str_cat.cc +246 -0
  878. data/third_party/abseil-cpp/absl/strings/str_cat.h +408 -0
  879. data/third_party/abseil-cpp/absl/strings/str_format.h +537 -0
  880. data/third_party/abseil-cpp/absl/strings/str_join.h +293 -0
  881. data/third_party/abseil-cpp/absl/strings/str_replace.cc +82 -0
  882. data/third_party/abseil-cpp/absl/strings/str_replace.h +219 -0
  883. data/third_party/abseil-cpp/absl/strings/str_split.cc +139 -0
  884. data/third_party/abseil-cpp/absl/strings/str_split.h +513 -0
  885. data/third_party/abseil-cpp/absl/strings/string_view.cc +235 -0
  886. data/third_party/abseil-cpp/absl/strings/string_view.h +622 -0
  887. data/third_party/abseil-cpp/absl/strings/strip.h +91 -0
  888. data/third_party/abseil-cpp/absl/strings/substitute.cc +171 -0
  889. data/third_party/abseil-cpp/absl/strings/substitute.h +693 -0
  890. data/third_party/abseil-cpp/absl/synchronization/barrier.cc +52 -0
  891. data/third_party/abseil-cpp/absl/synchronization/barrier.h +79 -0
  892. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +57 -0
  893. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +99 -0
  894. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +140 -0
  895. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +60 -0
  896. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +697 -0
  897. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h +141 -0
  898. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +155 -0
  899. data/third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc +261 -0
  900. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +106 -0
  901. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +115 -0
  902. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +484 -0
  903. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +159 -0
  904. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +2728 -0
  905. data/third_party/abseil-cpp/absl/synchronization/mutex.h +1056 -0
  906. data/third_party/abseil-cpp/absl/synchronization/notification.cc +78 -0
  907. data/third_party/abseil-cpp/absl/synchronization/notification.h +123 -0
  908. data/third_party/abseil-cpp/absl/time/civil_time.cc +175 -0
  909. data/third_party/abseil-cpp/absl/time/civil_time.h +538 -0
  910. data/third_party/abseil-cpp/absl/time/clock.cc +569 -0
  911. data/third_party/abseil-cpp/absl/time/clock.h +74 -0
  912. data/third_party/abseil-cpp/absl/time/duration.cc +922 -0
  913. data/third_party/abseil-cpp/absl/time/format.cc +153 -0
  914. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time.h +332 -0
  915. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +622 -0
  916. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +384 -0
  917. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h +102 -0
  918. data/third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc +94 -0
  919. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +140 -0
  920. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h +52 -0
  921. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +922 -0
  922. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +45 -0
  923. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +76 -0
  924. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +121 -0
  925. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +93 -0
  926. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +958 -0
  927. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +138 -0
  928. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +308 -0
  929. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +55 -0
  930. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +187 -0
  931. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +159 -0
  932. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h +132 -0
  933. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +122 -0
  934. data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +115 -0
  935. data/third_party/abseil-cpp/absl/time/internal/get_current_time_chrono.inc +31 -0
  936. data/third_party/abseil-cpp/absl/time/internal/get_current_time_posix.inc +24 -0
  937. data/third_party/abseil-cpp/absl/time/time.cc +499 -0
  938. data/third_party/abseil-cpp/absl/time/time.h +1584 -0
  939. data/third_party/abseil-cpp/absl/types/bad_optional_access.cc +48 -0
  940. data/third_party/abseil-cpp/absl/types/bad_optional_access.h +78 -0
  941. data/third_party/abseil-cpp/absl/types/bad_variant_access.cc +64 -0
  942. data/third_party/abseil-cpp/absl/types/bad_variant_access.h +82 -0
  943. data/third_party/abseil-cpp/absl/types/internal/optional.h +396 -0
  944. data/third_party/abseil-cpp/absl/types/internal/span.h +128 -0
  945. data/third_party/abseil-cpp/absl/types/internal/variant.h +1646 -0
  946. data/third_party/abseil-cpp/absl/types/optional.h +776 -0
  947. data/third_party/abseil-cpp/absl/types/span.h +713 -0
  948. data/third_party/abseil-cpp/absl/types/variant.h +861 -0
  949. data/third_party/abseil-cpp/absl/utility/utility.h +350 -0
  950. data/third_party/boringssl-with-bazel/err_data.c +1451 -0
  951. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +271 -0
  952. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +123 -0
  953. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c +93 -0
  954. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c +87 -0
  955. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c +195 -0
  956. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/a_gentm.c +0 -0
  957. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c +88 -0
  958. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +420 -0
  959. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +305 -0
  960. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +286 -0
  961. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/a_octet.c +0 -0
  962. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/a_print.c +0 -0
  963. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +313 -0
  964. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +212 -0
  965. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +151 -0
  966. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/a_utctm.c +0 -0
  967. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/a_utf8.c +0 -0
  968. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +446 -0
  969. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/asn1_locl.h +0 -0
  970. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/asn1_par.c +0 -0
  971. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +105 -0
  972. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_enum.c +93 -0
  973. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +97 -0
  974. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c +91 -0
  975. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/tasn_dec.c +0 -0
  976. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +664 -0
  977. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/tasn_fre.c +0 -0
  978. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/tasn_new.c +0 -0
  979. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/tasn_typ.c +0 -0
  980. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/tasn_utl.c +0 -0
  981. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/time_support.c +0 -0
  982. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +466 -0
  983. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +700 -0
  984. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bio/bio_mem.c +0 -0
  985. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +545 -0
  986. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +279 -0
  987. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +317 -0
  988. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bio/hexdump.c +0 -0
  989. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bio/internal.h +0 -0
  990. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +488 -0
  991. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bio/printf.c +0 -0
  992. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +206 -0
  993. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +118 -0
  994. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bn_extra/bn_asn1.c +0 -0
  995. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c +470 -0
  996. data/third_party/boringssl-with-bazel/src/crypto/buf/buf.c +172 -0
  997. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bytestring/asn1_compat.c +0 -0
  998. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +265 -0
  999. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c +719 -0
  1000. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +688 -0
  1001. data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +96 -0
  1002. data/third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.c +155 -0
  1003. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +184 -0
  1004. data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +45 -0
  1005. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c +143 -0
  1006. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c +152 -0
  1007. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesccm.c +447 -0
  1008. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c +283 -0
  1009. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c +891 -0
  1010. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +418 -0
  1011. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cipher_extra/e_null.c +0 -0
  1012. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cipher_extra/e_rc2.c +0 -0
  1013. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cipher_extra/e_rc4.c +0 -0
  1014. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +688 -0
  1015. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cipher_extra/internal.h +0 -0
  1016. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +492 -0
  1017. data/third_party/boringssl-with-bazel/src/crypto/cmac/cmac.c +278 -0
  1018. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +810 -0
  1019. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/conf/conf_def.h +0 -0
  1020. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/conf/internal.h +0 -0
  1021. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cpu-aarch64-fuchsia.c +0 -0
  1022. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cpu-aarch64-linux.c +0 -0
  1023. data/third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c +220 -0
  1024. data/third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.h +201 -0
  1025. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cpu-arm.c +0 -0
  1026. data/third_party/boringssl-with-bazel/src/crypto/cpu-intel.c +291 -0
  1027. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cpu-ppc64le.c +0 -0
  1028. data/third_party/boringssl-with-bazel/src/crypto/crypto.c +226 -0
  1029. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +2159 -0
  1030. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +7872 -0
  1031. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +146 -0
  1032. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c +539 -0
  1033. data/third_party/boringssl-with-bazel/src/crypto/dh/check.c +217 -0
  1034. data/third_party/boringssl-with-bazel/src/crypto/dh/dh.c +533 -0
  1035. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/dh/dh_asn1.c +0 -0
  1036. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/dh/params.c +0 -0
  1037. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/digest_extra/digest_extra.c +0 -0
  1038. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +980 -0
  1039. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/dsa/dsa_asn1.c +0 -0
  1040. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +574 -0
  1041. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.c +95 -0
  1042. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +385 -0
  1043. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +56 -0
  1044. data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c +124 -0
  1045. data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c +267 -0
  1046. data/third_party/boringssl-with-bazel/src/crypto/engine/engine.c +99 -0
  1047. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +850 -0
  1048. data/third_party/boringssl-with-bazel/src/crypto/err/internal.h +58 -0
  1049. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/evp/digestsign.c +0 -0
  1050. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +443 -0
  1051. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +547 -0
  1052. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c +484 -0
  1053. data/third_party/boringssl-with-bazel/src/crypto/evp/internal.h +269 -0
  1054. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c +273 -0
  1055. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +286 -0
  1056. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +255 -0
  1057. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c +104 -0
  1058. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c +221 -0
  1059. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c +648 -0
  1060. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c +194 -0
  1061. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c +110 -0
  1062. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.c +248 -0
  1063. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/evp/pbkdf.c +0 -0
  1064. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/evp/print.c +0 -0
  1065. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +213 -0
  1066. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/evp/sign.c +0 -0
  1067. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/ex_data.c +0 -0
  1068. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.c +108 -0
  1069. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.c +1282 -0
  1070. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +238 -0
  1071. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.c +236 -0
  1072. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c +122 -0
  1073. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +263 -0
  1074. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/add.c +0 -0
  1075. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/asm/x86_64-gcc.c +0 -0
  1076. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c +445 -0
  1077. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/bytes.c +0 -0
  1078. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.c +200 -0
  1079. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.c +236 -0
  1080. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +886 -0
  1081. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.c +87 -0
  1082. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +1288 -0
  1083. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c +378 -0
  1084. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c +325 -0
  1085. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/generic.c +0 -0
  1086. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +704 -0
  1087. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/jacobi.c +0 -0
  1088. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c +502 -0
  1089. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c +186 -0
  1090. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.c +749 -0
  1091. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c +1068 -0
  1092. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.c +341 -0
  1093. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.c +226 -0
  1094. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.h +104 -0
  1095. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.c +364 -0
  1096. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/sqrt.c +0 -0
  1097. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/cipher/aead.c +0 -0
  1098. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +620 -0
  1099. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +1302 -0
  1100. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_des.c +237 -0
  1101. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h +128 -0
  1102. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +89 -0
  1103. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/des/des.c +0 -0
  1104. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/des/internal.h +0 -0
  1105. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +271 -0
  1106. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c +296 -0
  1107. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/digest/internal.h +0 -0
  1108. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +268 -0
  1109. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +1252 -0
  1110. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +465 -0
  1111. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c +524 -0
  1112. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.c +100 -0
  1113. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +776 -0
  1114. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +328 -0
  1115. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +1180 -0
  1116. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64-table.h +9497 -0
  1117. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64.c +633 -0
  1118. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64.h +153 -0
  1119. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +740 -0
  1120. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +297 -0
  1121. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +175 -0
  1122. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c +357 -0
  1123. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +270 -0
  1124. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.c +255 -0
  1125. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +270 -0
  1126. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c +122 -0
  1127. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +328 -0
  1128. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c +32 -0
  1129. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/hmac/hmac.c +0 -0
  1130. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/is_fips.c +29 -0
  1131. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +256 -0
  1132. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/internal.h +37 -0
  1133. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +301 -0
  1134. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +167 -0
  1135. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +202 -0
  1136. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +200 -0
  1137. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +729 -0
  1138. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c +304 -0
  1139. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +441 -0
  1140. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +96 -0
  1141. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/modes/polyval.c +0 -0
  1142. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.c +202 -0
  1143. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c +137 -0
  1144. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.h +49 -0
  1145. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/getrandom_fillin.h +64 -0
  1146. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +163 -0
  1147. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +378 -0
  1148. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +391 -0
  1149. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.c +243 -0
  1150. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +127 -0
  1151. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c +695 -0
  1152. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +898 -0
  1153. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +1358 -0
  1154. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +716 -0
  1155. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +53 -0
  1156. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/sha/sha1-altivec.c +0 -0
  1157. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +371 -0
  1158. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +343 -0
  1159. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +544 -0
  1160. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/tls/internal.h +0 -0
  1161. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/tls/kdf.c +0 -0
  1162. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/hkdf/hkdf.c +0 -0
  1163. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +456 -0
  1164. data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +192 -0
  1165. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c +2100 -0
  1166. data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +61 -0
  1167. data/third_party/boringssl-with-bazel/src/crypto/internal.h +834 -0
  1168. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c +348 -0
  1169. data/third_party/boringssl-with-bazel/src/crypto/mem.c +373 -0
  1170. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +549 -0
  1171. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +11585 -0
  1172. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/obj/obj_xref.c +0 -0
  1173. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c +261 -0
  1174. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c +360 -0
  1175. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +777 -0
  1176. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.c +87 -0
  1177. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +257 -0
  1178. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +218 -0
  1179. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/pem/pem_x509.c +0 -0
  1180. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/pem/pem_xaux.c +0 -0
  1181. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/pkcs7/internal.h +0 -0
  1182. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c +159 -0
  1183. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +385 -0
  1184. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +138 -0
  1185. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.c +316 -0
  1186. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +530 -0
  1187. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +1336 -0
  1188. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/poly1305/internal.h +0 -0
  1189. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +318 -0
  1190. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c +305 -0
  1191. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c +856 -0
  1192. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +45 -0
  1193. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +220 -0
  1194. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +52 -0
  1195. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/rand_extra/forkunsafe.c +0 -0
  1196. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/fuchsia.c +30 -0
  1197. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/rand_extra/rand_extra.c +0 -0
  1198. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +69 -0
  1199. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/rc4/rc4.c +0 -0
  1200. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/refcount_c11.c +0 -0
  1201. data/third_party/boringssl-with-bazel/src/crypto/refcount_lock.c +53 -0
  1202. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/rsa_extra/rsa_asn1.c +0 -0
  1203. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_print.c +22 -0
  1204. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +82 -0
  1205. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +431 -0
  1206. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/thread.c +0 -0
  1207. data/third_party/boringssl-with-bazel/src/crypto/thread_none.c +59 -0
  1208. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +210 -0
  1209. data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +260 -0
  1210. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +249 -0
  1211. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +1227 -0
  1212. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +682 -0
  1213. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/a_digest.c +0 -0
  1214. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/a_sign.c +0 -0
  1215. data/third_party/boringssl-with-bazel/src/crypto/x509/a_strex.c +653 -0
  1216. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +114 -0
  1217. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +161 -0
  1218. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +842 -0
  1219. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +458 -0
  1220. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +275 -0
  1221. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/charmap.h +0 -0
  1222. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/i2d_pr.c +0 -0
  1223. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/internal.h +0 -0
  1224. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/rsa_pss.c +0 -0
  1225. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +125 -0
  1226. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +244 -0
  1227. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +544 -0
  1228. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/t_x509a.c +0 -0
  1229. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/vpm_int.h +0 -0
  1230. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.c +90 -0
  1231. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509_att.c +0 -0
  1232. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +483 -0
  1233. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509_d2.c +0 -0
  1234. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.c +103 -0
  1235. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509_ext.c +0 -0
  1236. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +834 -0
  1237. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c +198 -0
  1238. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_r2x.c +116 -0
  1239. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +351 -0
  1240. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +226 -0
  1241. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +329 -0
  1242. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.c +204 -0
  1243. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509_v3.c +0 -0
  1244. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +2506 -0
  1245. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +671 -0
  1246. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +235 -0
  1247. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +389 -0
  1248. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509rset.c +0 -0
  1249. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509spki.c +0 -0
  1250. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_algor.c +0 -0
  1251. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +399 -0
  1252. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_attrib.c +0 -0
  1253. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +563 -0
  1254. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_exten.c +0 -0
  1255. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_info.c +0 -0
  1256. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_name.c +0 -0
  1257. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_pkey.c +0 -0
  1258. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +214 -0
  1259. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_req.c +0 -0
  1260. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +89 -0
  1261. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_spki.c +0 -0
  1262. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_val.c +0 -0
  1263. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +356 -0
  1264. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_x509a.c +0 -0
  1265. data/third_party/boringssl-with-bazel/src/crypto/x509v3/ext_dat.h +141 -0
  1266. data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +61 -0
  1267. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c +286 -0
  1268. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/pcy_data.c +0 -0
  1269. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/pcy_int.h +0 -0
  1270. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/pcy_lib.c +0 -0
  1271. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/pcy_map.c +0 -0
  1272. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_node.c +189 -0
  1273. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c +842 -0
  1274. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c +207 -0
  1275. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_akeya.c +0 -0
  1276. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +629 -0
  1277. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_bcons.c +0 -0
  1278. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_bitst.c +0 -0
  1279. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +463 -0
  1280. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +503 -0
  1281. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_crld.c +0 -0
  1282. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_enum.c +100 -0
  1283. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_extku.c +0 -0
  1284. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_genn.c +246 -0
  1285. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_ia5.c +0 -0
  1286. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_info.c +218 -0
  1287. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_int.c +0 -0
  1288. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +371 -0
  1289. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_ncons.c +0 -0
  1290. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ocsp.c +68 -0
  1291. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pci.c +288 -0
  1292. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_pcia.c +0 -0
  1293. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_pcons.c +0 -0
  1294. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_pku.c +0 -0
  1295. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_pmaps.c +0 -0
  1296. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_prn.c +0 -0
  1297. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +882 -0
  1298. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +155 -0
  1299. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_sxnet.c +0 -0
  1300. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +1395 -0
  1301. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +459 -0
  1302. data/third_party/boringssl-with-bazel/src/include/openssl/aes.h +207 -0
  1303. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +173 -0
  1304. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +911 -0
  1305. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/asn1_mac.h +0 -0
  1306. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/asn1t.h +0 -0
  1307. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +575 -0
  1308. data/third_party/boringssl-with-bazel/src/include/openssl/base64.h +190 -0
  1309. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +933 -0
  1310. data/third_party/boringssl-with-bazel/src/include/openssl/blowfish.h +93 -0
  1311. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +1057 -0
  1312. data/third_party/boringssl-with-bazel/src/include/openssl/buf.h +137 -0
  1313. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/buffer.h +0 -0
  1314. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +561 -0
  1315. data/third_party/boringssl-with-bazel/src/include/openssl/cast.h +96 -0
  1316. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/chacha.h +0 -0
  1317. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +638 -0
  1318. data/third_party/boringssl-with-bazel/src/include/openssl/cmac.h +91 -0
  1319. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +180 -0
  1320. data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +212 -0
  1321. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +149 -0
  1322. data/third_party/boringssl-with-bazel/src/include/openssl/curve25519.h +201 -0
  1323. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/des.h +0 -0
  1324. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +319 -0
  1325. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +331 -0
  1326. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +457 -0
  1327. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/dtls1.h +0 -0
  1328. data/third_party/boringssl-with-bazel/src/include/openssl/e_os2.h +18 -0
  1329. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +424 -0
  1330. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +372 -0
  1331. data/third_party/boringssl-with-bazel/src/include/openssl/ecdh.h +118 -0
  1332. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +205 -0
  1333. data/third_party/boringssl-with-bazel/src/include/openssl/engine.h +109 -0
  1334. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +465 -0
  1335. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +1119 -0
  1336. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/ex_data.h +0 -0
  1337. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/hkdf.h +0 -0
  1338. data/third_party/boringssl-with-bazel/src/include/openssl/hmac.h +186 -0
  1339. data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +100 -0
  1340. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/is_boringssl.h +0 -0
  1341. data/third_party/boringssl-with-bazel/src/include/openssl/lhash.h +282 -0
  1342. data/third_party/boringssl-with-bazel/src/include/openssl/md4.h +108 -0
  1343. data/third_party/boringssl-with-bazel/src/include/openssl/md5.h +109 -0
  1344. data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +175 -0
  1345. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +4259 -0
  1346. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +236 -0
  1347. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/obj_mac.h +0 -0
  1348. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/objects.h +0 -0
  1349. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/opensslconf.h +0 -0
  1350. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/opensslv.h +0 -0
  1351. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/ossl_typ.h +0 -0
  1352. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +435 -0
  1353. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/pkcs12.h +0 -0
  1354. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +215 -0
  1355. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +269 -0
  1356. data/third_party/boringssl-with-bazel/src/include/openssl/poly1305.h +49 -0
  1357. data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +102 -0
  1358. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +111 -0
  1359. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/rc4.h +0 -0
  1360. data/third_party/boringssl-with-bazel/src/include/openssl/ripemd.h +108 -0
  1361. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +818 -0
  1362. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/safestack.h +0 -0
  1363. data/third_party/boringssl-with-bazel/src/include/openssl/sha.h +294 -0
  1364. data/third_party/boringssl-with-bazel/src/include/openssl/siphash.h +37 -0
  1365. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +199 -0
  1366. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/srtp.h +0 -0
  1367. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +5247 -0
  1368. data/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h +333 -0
  1369. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +542 -0
  1370. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +191 -0
  1371. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +631 -0
  1372. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +282 -0
  1373. data/third_party/boringssl-with-bazel/src/include/openssl/type_check.h +90 -0
  1374. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +1292 -0
  1375. data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +681 -0
  1376. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +831 -0
  1377. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/bio_ssl.cc +0 -0
  1378. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +837 -0
  1379. data/third_party/boringssl-with-bazel/src/ssl/d1_lib.cc +268 -0
  1380. data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +273 -0
  1381. data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +232 -0
  1382. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +200 -0
  1383. data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +353 -0
  1384. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +675 -0
  1385. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +710 -0
  1386. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +1890 -0
  1387. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +1814 -0
  1388. data/third_party/boringssl-with-bazel/src/ssl/internal.h +3579 -0
  1389. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +724 -0
  1390. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +221 -0
  1391. data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +458 -0
  1392. data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +432 -0
  1393. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +856 -0
  1394. data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +306 -0
  1395. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +1016 -0
  1396. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +1718 -0
  1397. data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +585 -0
  1398. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +397 -0
  1399. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +3053 -0
  1400. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +835 -0
  1401. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +1313 -0
  1402. data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +230 -0
  1403. data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +277 -0
  1404. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +394 -0
  1405. data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +1358 -0
  1406. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +386 -0
  1407. data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +3895 -0
  1408. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +689 -0
  1409. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +1027 -0
  1410. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +513 -0
  1411. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +1104 -0
  1412. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +317 -0
  1413. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +705 -0
  1414. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h +981 -0
  1415. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h +619 -0
  1416. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +3147 -0
  1417. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h +1226 -0
  1418. data/third_party/re2/re2/bitmap256.h +117 -0
  1419. data/third_party/re2/re2/bitstate.cc +385 -0
  1420. data/third_party/re2/re2/compile.cc +1279 -0
  1421. data/third_party/re2/re2/dfa.cc +2130 -0
  1422. data/third_party/re2/re2/filtered_re2.cc +121 -0
  1423. data/third_party/re2/re2/filtered_re2.h +109 -0
  1424. data/third_party/re2/re2/mimics_pcre.cc +197 -0
  1425. data/third_party/re2/re2/nfa.cc +713 -0
  1426. data/third_party/re2/re2/onepass.cc +623 -0
  1427. data/third_party/re2/re2/parse.cc +2464 -0
  1428. data/third_party/re2/re2/perl_groups.cc +119 -0
  1429. data/third_party/re2/re2/pod_array.h +55 -0
  1430. data/third_party/re2/re2/prefilter.cc +710 -0
  1431. data/third_party/re2/re2/prefilter.h +108 -0
  1432. data/third_party/re2/re2/prefilter_tree.cc +407 -0
  1433. data/third_party/re2/re2/prefilter_tree.h +139 -0
  1434. data/third_party/re2/re2/prog.cc +988 -0
  1435. data/third_party/re2/re2/prog.h +436 -0
  1436. data/third_party/re2/re2/re2.cc +1362 -0
  1437. data/third_party/re2/re2/re2.h +1002 -0
  1438. data/third_party/re2/re2/regexp.cc +980 -0
  1439. data/third_party/re2/re2/regexp.h +659 -0
  1440. data/third_party/re2/re2/set.cc +154 -0
  1441. data/third_party/re2/re2/set.h +80 -0
  1442. data/third_party/re2/re2/simplify.cc +657 -0
  1443. data/third_party/re2/re2/sparse_array.h +392 -0
  1444. data/third_party/re2/re2/sparse_set.h +264 -0
  1445. data/third_party/re2/re2/stringpiece.cc +65 -0
  1446. data/third_party/re2/re2/stringpiece.h +210 -0
  1447. data/third_party/re2/re2/tostring.cc +351 -0
  1448. data/third_party/re2/re2/unicode_casefold.cc +582 -0
  1449. data/third_party/re2/re2/unicode_casefold.h +78 -0
  1450. data/third_party/re2/re2/unicode_groups.cc +6269 -0
  1451. data/third_party/re2/re2/unicode_groups.h +67 -0
  1452. data/third_party/re2/re2/walker-inl.h +246 -0
  1453. data/third_party/re2/util/benchmark.h +156 -0
  1454. data/third_party/re2/util/flags.h +26 -0
  1455. data/third_party/re2/util/logging.h +109 -0
  1456. data/third_party/re2/util/malloc_counter.h +19 -0
  1457. data/third_party/re2/util/mix.h +41 -0
  1458. data/third_party/re2/util/mutex.h +148 -0
  1459. data/third_party/re2/util/pcre.cc +1025 -0
  1460. data/third_party/re2/util/pcre.h +681 -0
  1461. data/third_party/re2/util/rune.cc +260 -0
  1462. data/third_party/re2/util/strutil.cc +149 -0
  1463. data/third_party/re2/util/strutil.h +21 -0
  1464. data/third_party/re2/util/test.h +50 -0
  1465. data/third_party/re2/util/utf.h +44 -0
  1466. data/third_party/re2/util/util.h +42 -0
  1467. data/third_party/upb/upb/decode.c +621 -0
  1468. data/third_party/upb/upb/decode.h +21 -0
  1469. data/third_party/upb/upb/encode.c +420 -0
  1470. data/third_party/upb/upb/encode.h +21 -0
  1471. data/third_party/upb/upb/msg.c +177 -0
  1472. data/third_party/upb/upb/msg.h +473 -0
  1473. data/third_party/upb/upb/port.c +26 -0
  1474. data/third_party/upb/upb/port_def.inc +179 -0
  1475. data/third_party/upb/upb/port_undef.inc +28 -0
  1476. data/third_party/upb/upb/table.c +880 -0
  1477. data/third_party/upb/upb/table.int.h +466 -0
  1478. data/third_party/upb/upb/upb.c +287 -0
  1479. data/third_party/upb/upb/upb.h +308 -0
  1480. data/third_party/upb/upb/upb.hpp +88 -0
  1481. metadata +1054 -526
  1482. data/src/boringssl/err_data.c +0 -1362
  1483. data/src/core/ext/filters/client_channel/connector.cc +0 -41
  1484. data/src/core/ext/filters/client_channel/health/health.pb.c +0 -23
  1485. data/src/core/ext/filters/client_channel/health/health.pb.h +0 -73
  1486. data/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/duration.pb.c +0 -19
  1487. data/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/duration.pb.h +0 -54
  1488. data/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/timestamp.pb.c +0 -19
  1489. data/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/timestamp.pb.h +0 -54
  1490. data/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c +0 -89
  1491. data/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h +0 -164
  1492. data/src/core/ext/filters/client_channel/lb_policy/xds/xds.cc +0 -2249
  1493. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel.h +0 -36
  1494. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_secure.cc +0 -61
  1495. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_client_stats.cc +0 -85
  1496. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_client_stats.h +0 -72
  1497. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_load_balancer_api.cc +0 -307
  1498. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_load_balancer_api.h +0 -89
  1499. data/src/core/ext/filters/client_channel/parse_address.cc +0 -234
  1500. data/src/core/ext/filters/client_channel/parse_address.h +0 -53
  1501. data/src/core/ext/filters/client_channel/proxy_mapper.cc +0 -48
  1502. data/src/core/lib/gpr/host_port.cc +0 -98
  1503. data/src/core/lib/gpr/host_port.h +0 -43
  1504. data/src/core/lib/gpr/mpscq.cc +0 -117
  1505. data/src/core/lib/gpr/mpscq.h +0 -88
  1506. data/src/core/lib/gprpp/abstract.h +0 -37
  1507. data/src/core/lib/gprpp/inlined_vector.h +0 -200
  1508. data/src/core/lib/gprpp/optional.h +0 -48
  1509. data/src/core/lib/gprpp/pair.h +0 -38
  1510. data/src/core/lib/json/json.cc +0 -94
  1511. data/src/core/lib/json/json_common.h +0 -34
  1512. data/src/core/lib/json/json_reader.h +0 -146
  1513. data/src/core/lib/json/json_string.cc +0 -367
  1514. data/src/core/lib/json/json_writer.h +0 -84
  1515. data/src/core/lib/security/credentials/tls/spiffe_credentials.cc +0 -129
  1516. data/src/core/lib/security/credentials/tls/spiffe_credentials.h +0 -62
  1517. data/src/core/lib/security/security_connector/tls/spiffe_security_connector.cc +0 -426
  1518. data/src/core/lib/security/security_connector/tls/spiffe_security_connector.h +0 -122
  1519. data/src/core/lib/security/transport/target_authority_table.cc +0 -75
  1520. data/src/core/lib/security/transport/target_authority_table.h +0 -40
  1521. data/src/core/lib/slice/slice_hash_table.h +0 -205
  1522. data/src/core/lib/slice/slice_weak_hash_table.h +0 -109
  1523. data/src/core/tsi/alts/handshaker/alts_handshaker_service_api.cc +0 -520
  1524. data/src/core/tsi/alts/handshaker/alts_handshaker_service_api.h +0 -323
  1525. data/src/core/tsi/alts/handshaker/alts_handshaker_service_api_util.cc +0 -145
  1526. data/src/core/tsi/alts/handshaker/alts_handshaker_service_api_util.h +0 -149
  1527. data/src/core/tsi/alts/handshaker/altscontext.pb.c +0 -47
  1528. data/src/core/tsi/alts/handshaker/altscontext.pb.h +0 -63
  1529. data/src/core/tsi/alts/handshaker/handshaker.pb.c +0 -122
  1530. data/src/core/tsi/alts/handshaker/handshaker.pb.h +0 -254
  1531. data/src/core/tsi/alts/handshaker/transport_security_common.pb.c +0 -49
  1532. data/src/core/tsi/alts/handshaker/transport_security_common.pb.h +0 -78
  1533. data/src/core/tsi/grpc_shadow_boringssl.h +0 -3006
  1534. data/third_party/boringssl/crypto/asn1/a_bitstr.c +0 -271
  1535. data/third_party/boringssl/crypto/asn1/a_bool.c +0 -110
  1536. data/third_party/boringssl/crypto/asn1/a_d2i_fp.c +0 -297
  1537. data/third_party/boringssl/crypto/asn1/a_dup.c +0 -111
  1538. data/third_party/boringssl/crypto/asn1/a_enum.c +0 -195
  1539. data/third_party/boringssl/crypto/asn1/a_i2d_fp.c +0 -150
  1540. data/third_party/boringssl/crypto/asn1/a_int.c +0 -479
  1541. data/third_party/boringssl/crypto/asn1/a_mbstr.c +0 -411
  1542. data/third_party/boringssl/crypto/asn1/a_object.c +0 -275
  1543. data/third_party/boringssl/crypto/asn1/a_strnid.c +0 -312
  1544. data/third_party/boringssl/crypto/asn1/a_time.c +0 -213
  1545. data/third_party/boringssl/crypto/asn1/a_type.c +0 -151
  1546. data/third_party/boringssl/crypto/asn1/asn1_lib.c +0 -442
  1547. data/third_party/boringssl/crypto/asn1/asn_pack.c +0 -105
  1548. data/third_party/boringssl/crypto/asn1/f_enum.c +0 -93
  1549. data/third_party/boringssl/crypto/asn1/f_int.c +0 -97
  1550. data/third_party/boringssl/crypto/asn1/f_string.c +0 -91
  1551. data/third_party/boringssl/crypto/asn1/tasn_enc.c +0 -662
  1552. data/third_party/boringssl/crypto/base64/base64.c +0 -466
  1553. data/third_party/boringssl/crypto/bio/bio.c +0 -636
  1554. data/third_party/boringssl/crypto/bio/connect.c +0 -542
  1555. data/third_party/boringssl/crypto/bio/fd.c +0 -276
  1556. data/third_party/boringssl/crypto/bio/file.c +0 -315
  1557. data/third_party/boringssl/crypto/bio/pair.c +0 -489
  1558. data/third_party/boringssl/crypto/bio/socket.c +0 -202
  1559. data/third_party/boringssl/crypto/bio/socket_helper.c +0 -114
  1560. data/third_party/boringssl/crypto/bn_extra/convert.c +0 -466
  1561. data/third_party/boringssl/crypto/buf/buf.c +0 -231
  1562. data/third_party/boringssl/crypto/bytestring/ber.c +0 -261
  1563. data/third_party/boringssl/crypto/bytestring/cbb.c +0 -668
  1564. data/third_party/boringssl/crypto/bytestring/cbs.c +0 -618
  1565. data/third_party/boringssl/crypto/bytestring/internal.h +0 -75
  1566. data/third_party/boringssl/crypto/chacha/chacha.c +0 -167
  1567. data/third_party/boringssl/crypto/cipher_extra/cipher_extra.c +0 -114
  1568. data/third_party/boringssl/crypto/cipher_extra/derive_key.c +0 -152
  1569. data/third_party/boringssl/crypto/cipher_extra/e_aesccm.c +0 -203
  1570. data/third_party/boringssl/crypto/cipher_extra/e_aesctrhmac.c +0 -281
  1571. data/third_party/boringssl/crypto/cipher_extra/e_aesgcmsiv.c +0 -867
  1572. data/third_party/boringssl/crypto/cipher_extra/e_chacha20poly1305.c +0 -326
  1573. data/third_party/boringssl/crypto/cipher_extra/e_ssl3.c +0 -460
  1574. data/third_party/boringssl/crypto/cipher_extra/e_tls.c +0 -680
  1575. data/third_party/boringssl/crypto/cipher_extra/tls_cbc.c +0 -482
  1576. data/third_party/boringssl/crypto/cmac/cmac.c +0 -241
  1577. data/third_party/boringssl/crypto/conf/conf.c +0 -803
  1578. data/third_party/boringssl/crypto/cpu-arm-linux.c +0 -363
  1579. data/third_party/boringssl/crypto/cpu-intel.c +0 -288
  1580. data/third_party/boringssl/crypto/crypto.c +0 -198
  1581. data/third_party/boringssl/crypto/curve25519/spake25519.c +0 -539
  1582. data/third_party/boringssl/crypto/dh/check.c +0 -217
  1583. data/third_party/boringssl/crypto/dh/dh.c +0 -519
  1584. data/third_party/boringssl/crypto/dsa/dsa.c +0 -946
  1585. data/third_party/boringssl/crypto/ec_extra/ec_asn1.c +0 -562
  1586. data/third_party/boringssl/crypto/ecdh/ecdh.c +0 -162
  1587. data/third_party/boringssl/crypto/ecdsa_extra/ecdsa_asn1.c +0 -275
  1588. data/third_party/boringssl/crypto/engine/engine.c +0 -98
  1589. data/third_party/boringssl/crypto/err/err.c +0 -847
  1590. data/third_party/boringssl/crypto/err/internal.h +0 -58
  1591. data/third_party/boringssl/crypto/evp/evp.c +0 -362
  1592. data/third_party/boringssl/crypto/evp/evp_asn1.c +0 -337
  1593. data/third_party/boringssl/crypto/evp/evp_ctx.c +0 -446
  1594. data/third_party/boringssl/crypto/evp/internal.h +0 -252
  1595. data/third_party/boringssl/crypto/evp/p_dsa_asn1.c +0 -268
  1596. data/third_party/boringssl/crypto/evp/p_ec.c +0 -239
  1597. data/third_party/boringssl/crypto/evp/p_ec_asn1.c +0 -256
  1598. data/third_party/boringssl/crypto/evp/p_ed25519.c +0 -71
  1599. data/third_party/boringssl/crypto/evp/p_ed25519_asn1.c +0 -190
  1600. data/third_party/boringssl/crypto/evp/p_rsa.c +0 -634
  1601. data/third_party/boringssl/crypto/evp/p_rsa_asn1.c +0 -189
  1602. data/third_party/boringssl/crypto/evp/scrypt.c +0 -209
  1603. data/third_party/boringssl/crypto/fipsmodule/aes/aes.c +0 -1100
  1604. data/third_party/boringssl/crypto/fipsmodule/aes/internal.h +0 -100
  1605. data/third_party/boringssl/crypto/fipsmodule/aes/key_wrap.c +0 -138
  1606. data/third_party/boringssl/crypto/fipsmodule/aes/mode_wrappers.c +0 -112
  1607. data/third_party/boringssl/crypto/fipsmodule/bcm.c +0 -148
  1608. data/third_party/boringssl/crypto/fipsmodule/bn/bn.c +0 -428
  1609. data/third_party/boringssl/crypto/fipsmodule/bn/cmp.c +0 -200
  1610. data/third_party/boringssl/crypto/fipsmodule/bn/ctx.c +0 -303
  1611. data/third_party/boringssl/crypto/fipsmodule/bn/div.c +0 -895
  1612. data/third_party/boringssl/crypto/fipsmodule/bn/exponentiation.c +0 -1356
  1613. data/third_party/boringssl/crypto/fipsmodule/bn/gcd.c +0 -683
  1614. data/third_party/boringssl/crypto/fipsmodule/bn/internal.h +0 -573
  1615. data/third_party/boringssl/crypto/fipsmodule/bn/montgomery.c +0 -526
  1616. data/third_party/boringssl/crypto/fipsmodule/bn/montgomery_inv.c +0 -185
  1617. data/third_party/boringssl/crypto/fipsmodule/bn/mul.c +0 -876
  1618. data/third_party/boringssl/crypto/fipsmodule/bn/prime.c +0 -1154
  1619. data/third_party/boringssl/crypto/fipsmodule/bn/random.c +0 -351
  1620. data/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.c +0 -231
  1621. data/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.h +0 -33
  1622. data/third_party/boringssl/crypto/fipsmodule/bn/shift.c +0 -364
  1623. data/third_party/boringssl/crypto/fipsmodule/cipher/cipher.c +0 -615
  1624. data/third_party/boringssl/crypto/fipsmodule/cipher/e_aes.c +0 -1437
  1625. data/third_party/boringssl/crypto/fipsmodule/cipher/e_des.c +0 -233
  1626. data/third_party/boringssl/crypto/fipsmodule/cipher/internal.h +0 -129
  1627. data/third_party/boringssl/crypto/fipsmodule/delocate.h +0 -88
  1628. data/third_party/boringssl/crypto/fipsmodule/digest/digest.c +0 -256
  1629. data/third_party/boringssl/crypto/fipsmodule/digest/digests.c +0 -280
  1630. data/third_party/boringssl/crypto/fipsmodule/digest/md32_common.h +0 -268
  1631. data/third_party/boringssl/crypto/fipsmodule/ec/ec.c +0 -974
  1632. data/third_party/boringssl/crypto/fipsmodule/ec/ec_key.c +0 -453
  1633. data/third_party/boringssl/crypto/fipsmodule/ec/ec_montgomery.c +0 -270
  1634. data/third_party/boringssl/crypto/fipsmodule/ec/internal.h +0 -337
  1635. data/third_party/boringssl/crypto/fipsmodule/ec/oct.c +0 -373
  1636. data/third_party/boringssl/crypto/fipsmodule/ec/p224-64.c +0 -1104
  1637. data/third_party/boringssl/crypto/fipsmodule/ec/p256-x86_64-table.h +0 -9503
  1638. data/third_party/boringssl/crypto/fipsmodule/ec/p256-x86_64.c +0 -447
  1639. data/third_party/boringssl/crypto/fipsmodule/ec/p256-x86_64.h +0 -117
  1640. data/third_party/boringssl/crypto/fipsmodule/ec/simple.c +0 -1046
  1641. data/third_party/boringssl/crypto/fipsmodule/ec/util.c +0 -104
  1642. data/third_party/boringssl/crypto/fipsmodule/ec/wnaf.c +0 -354
  1643. data/third_party/boringssl/crypto/fipsmodule/ecdsa/ecdsa.c +0 -458
  1644. data/third_party/boringssl/crypto/fipsmodule/is_fips.c +0 -27
  1645. data/third_party/boringssl/crypto/fipsmodule/md4/md4.c +0 -254
  1646. data/third_party/boringssl/crypto/fipsmodule/md5/md5.c +0 -298
  1647. data/third_party/boringssl/crypto/fipsmodule/modes/cbc.c +0 -211
  1648. data/third_party/boringssl/crypto/fipsmodule/modes/ccm.c +0 -256
  1649. data/third_party/boringssl/crypto/fipsmodule/modes/cfb.c +0 -234
  1650. data/third_party/boringssl/crypto/fipsmodule/modes/ctr.c +0 -220
  1651. data/third_party/boringssl/crypto/fipsmodule/modes/gcm.c +0 -1063
  1652. data/third_party/boringssl/crypto/fipsmodule/modes/internal.h +0 -388
  1653. data/third_party/boringssl/crypto/fipsmodule/modes/ofb.c +0 -95
  1654. data/third_party/boringssl/crypto/fipsmodule/rand/ctrdrbg.c +0 -202
  1655. data/third_party/boringssl/crypto/fipsmodule/rand/internal.h +0 -92
  1656. data/third_party/boringssl/crypto/fipsmodule/rand/rand.c +0 -358
  1657. data/third_party/boringssl/crypto/fipsmodule/rand/urandom.c +0 -302
  1658. data/third_party/boringssl/crypto/fipsmodule/rsa/blinding.c +0 -239
  1659. data/third_party/boringssl/crypto/fipsmodule/rsa/internal.h +0 -126
  1660. data/third_party/boringssl/crypto/fipsmodule/rsa/padding.c +0 -692
  1661. data/third_party/boringssl/crypto/fipsmodule/rsa/rsa.c +0 -875
  1662. data/third_party/boringssl/crypto/fipsmodule/rsa/rsa_impl.c +0 -1218
  1663. data/third_party/boringssl/crypto/fipsmodule/self_check/self_check.c +0 -581
  1664. data/third_party/boringssl/crypto/fipsmodule/sha/sha1.c +0 -375
  1665. data/third_party/boringssl/crypto/fipsmodule/sha/sha256.c +0 -337
  1666. data/third_party/boringssl/crypto/fipsmodule/sha/sha512.c +0 -608
  1667. data/third_party/boringssl/crypto/internal.h +0 -739
  1668. data/third_party/boringssl/crypto/lhash/lhash.c +0 -336
  1669. data/third_party/boringssl/crypto/mem.c +0 -235
  1670. data/third_party/boringssl/crypto/obj/obj.c +0 -554
  1671. data/third_party/boringssl/crypto/obj/obj_dat.h +0 -6244
  1672. data/third_party/boringssl/crypto/pem/pem_all.c +0 -262
  1673. data/third_party/boringssl/crypto/pem/pem_info.c +0 -379
  1674. data/third_party/boringssl/crypto/pem/pem_lib.c +0 -776
  1675. data/third_party/boringssl/crypto/pem/pem_oth.c +0 -88
  1676. data/third_party/boringssl/crypto/pem/pem_pk8.c +0 -258
  1677. data/third_party/boringssl/crypto/pem/pem_pkey.c +0 -227
  1678. data/third_party/boringssl/crypto/pkcs7/pkcs7.c +0 -166
  1679. data/third_party/boringssl/crypto/pkcs7/pkcs7_x509.c +0 -233
  1680. data/third_party/boringssl/crypto/pkcs8/internal.h +0 -120
  1681. data/third_party/boringssl/crypto/pkcs8/p5_pbev2.c +0 -307
  1682. data/third_party/boringssl/crypto/pkcs8/pkcs8.c +0 -513
  1683. data/third_party/boringssl/crypto/pkcs8/pkcs8_x509.c +0 -789
  1684. data/third_party/boringssl/crypto/poly1305/poly1305.c +0 -318
  1685. data/third_party/boringssl/crypto/poly1305/poly1305_arm.c +0 -304
  1686. data/third_party/boringssl/crypto/poly1305/poly1305_vec.c +0 -839
  1687. data/third_party/boringssl/crypto/pool/internal.h +0 -45
  1688. data/third_party/boringssl/crypto/pool/pool.c +0 -200
  1689. data/third_party/boringssl/crypto/rand_extra/deterministic.c +0 -48
  1690. data/third_party/boringssl/crypto/rand_extra/fuchsia.c +0 -43
  1691. data/third_party/boringssl/crypto/rand_extra/windows.c +0 -53
  1692. data/third_party/boringssl/crypto/refcount_lock.c +0 -53
  1693. data/third_party/boringssl/crypto/stack/stack.c +0 -380
  1694. data/third_party/boringssl/crypto/thread_none.c +0 -59
  1695. data/third_party/boringssl/crypto/thread_pthread.c +0 -206
  1696. data/third_party/boringssl/crypto/thread_win.c +0 -237
  1697. data/third_party/boringssl/crypto/x509/a_strex.c +0 -633
  1698. data/third_party/boringssl/crypto/x509/a_verify.c +0 -115
  1699. data/third_party/boringssl/crypto/x509/algorithm.c +0 -153
  1700. data/third_party/boringssl/crypto/x509/asn1_gen.c +0 -841
  1701. data/third_party/boringssl/crypto/x509/by_dir.c +0 -451
  1702. data/third_party/boringssl/crypto/x509/by_file.c +0 -274
  1703. data/third_party/boringssl/crypto/x509/t_crl.c +0 -128
  1704. data/third_party/boringssl/crypto/x509/t_req.c +0 -246
  1705. data/third_party/boringssl/crypto/x509/t_x509.c +0 -547
  1706. data/third_party/boringssl/crypto/x509/x509.c +0 -157
  1707. data/third_party/boringssl/crypto/x509/x509_cmp.c +0 -477
  1708. data/third_party/boringssl/crypto/x509/x509_def.c +0 -103
  1709. data/third_party/boringssl/crypto/x509/x509_lu.c +0 -725
  1710. data/third_party/boringssl/crypto/x509/x509_obj.c +0 -198
  1711. data/third_party/boringssl/crypto/x509/x509_r2x.c +0 -117
  1712. data/third_party/boringssl/crypto/x509/x509_req.c +0 -322
  1713. data/third_party/boringssl/crypto/x509/x509_set.c +0 -164
  1714. data/third_party/boringssl/crypto/x509/x509_trs.c +0 -326
  1715. data/third_party/boringssl/crypto/x509/x509_txt.c +0 -205
  1716. data/third_party/boringssl/crypto/x509/x509_vfy.c +0 -2476
  1717. data/third_party/boringssl/crypto/x509/x509_vpm.c +0 -670
  1718. data/third_party/boringssl/crypto/x509/x509cset.c +0 -170
  1719. data/third_party/boringssl/crypto/x509/x509name.c +0 -389
  1720. data/third_party/boringssl/crypto/x509/x_all.c +0 -501
  1721. data/third_party/boringssl/crypto/x509/x_crl.c +0 -541
  1722. data/third_party/boringssl/crypto/x509/x_pubkey.c +0 -368
  1723. data/third_party/boringssl/crypto/x509/x_sig.c +0 -69
  1724. data/third_party/boringssl/crypto/x509/x_x509.c +0 -328
  1725. data/third_party/boringssl/crypto/x509v3/ext_dat.h +0 -143
  1726. data/third_party/boringssl/crypto/x509v3/pcy_cache.c +0 -284
  1727. data/third_party/boringssl/crypto/x509v3/pcy_node.c +0 -188
  1728. data/third_party/boringssl/crypto/x509v3/pcy_tree.c +0 -840
  1729. data/third_party/boringssl/crypto/x509v3/v3_akey.c +0 -204
  1730. data/third_party/boringssl/crypto/x509v3/v3_alt.c +0 -623
  1731. data/third_party/boringssl/crypto/x509v3/v3_conf.c +0 -462
  1732. data/third_party/boringssl/crypto/x509v3/v3_cpols.c +0 -502
  1733. data/third_party/boringssl/crypto/x509v3/v3_enum.c +0 -100
  1734. data/third_party/boringssl/crypto/x509v3/v3_genn.c +0 -251
  1735. data/third_party/boringssl/crypto/x509v3/v3_info.c +0 -219
  1736. data/third_party/boringssl/crypto/x509v3/v3_lib.c +0 -370
  1737. data/third_party/boringssl/crypto/x509v3/v3_pci.c +0 -287
  1738. data/third_party/boringssl/crypto/x509v3/v3_purp.c +0 -866
  1739. data/third_party/boringssl/crypto/x509v3/v3_skey.c +0 -152
  1740. data/third_party/boringssl/crypto/x509v3/v3_utl.c +0 -1352
  1741. data/third_party/boringssl/include/openssl/aead.h +0 -433
  1742. data/third_party/boringssl/include/openssl/aes.h +0 -170
  1743. data/third_party/boringssl/include/openssl/arm_arch.h +0 -121
  1744. data/third_party/boringssl/include/openssl/asn1.h +0 -981
  1745. data/third_party/boringssl/include/openssl/base.h +0 -457
  1746. data/third_party/boringssl/include/openssl/base64.h +0 -187
  1747. data/third_party/boringssl/include/openssl/bio.h +0 -902
  1748. data/third_party/boringssl/include/openssl/blowfish.h +0 -93
  1749. data/third_party/boringssl/include/openssl/bn.h +0 -1019
  1750. data/third_party/boringssl/include/openssl/buf.h +0 -137
  1751. data/third_party/boringssl/include/openssl/bytestring.h +0 -505
  1752. data/third_party/boringssl/include/openssl/cast.h +0 -96
  1753. data/third_party/boringssl/include/openssl/cipher.h +0 -608
  1754. data/third_party/boringssl/include/openssl/cmac.h +0 -87
  1755. data/third_party/boringssl/include/openssl/conf.h +0 -183
  1756. data/third_party/boringssl/include/openssl/cpu.h +0 -196
  1757. data/third_party/boringssl/include/openssl/crypto.h +0 -122
  1758. data/third_party/boringssl/include/openssl/curve25519.h +0 -201
  1759. data/third_party/boringssl/include/openssl/dh.h +0 -298
  1760. data/third_party/boringssl/include/openssl/digest.h +0 -316
  1761. data/third_party/boringssl/include/openssl/dsa.h +0 -435
  1762. data/third_party/boringssl/include/openssl/ec.h +0 -413
  1763. data/third_party/boringssl/include/openssl/ec_key.h +0 -342
  1764. data/third_party/boringssl/include/openssl/ecdh.h +0 -101
  1765. data/third_party/boringssl/include/openssl/ecdsa.h +0 -199
  1766. data/third_party/boringssl/include/openssl/engine.h +0 -109
  1767. data/third_party/boringssl/include/openssl/err.h +0 -458
  1768. data/third_party/boringssl/include/openssl/evp.h +0 -873
  1769. data/third_party/boringssl/include/openssl/hmac.h +0 -186
  1770. data/third_party/boringssl/include/openssl/lhash.h +0 -174
  1771. data/third_party/boringssl/include/openssl/lhash_macros.h +0 -174
  1772. data/third_party/boringssl/include/openssl/md4.h +0 -106
  1773. data/third_party/boringssl/include/openssl/md5.h +0 -107
  1774. data/third_party/boringssl/include/openssl/mem.h +0 -156
  1775. data/third_party/boringssl/include/openssl/nid.h +0 -4242
  1776. data/third_party/boringssl/include/openssl/obj.h +0 -233
  1777. data/third_party/boringssl/include/openssl/pem.h +0 -397
  1778. data/third_party/boringssl/include/openssl/pkcs7.h +0 -82
  1779. data/third_party/boringssl/include/openssl/pkcs8.h +0 -230
  1780. data/third_party/boringssl/include/openssl/poly1305.h +0 -51
  1781. data/third_party/boringssl/include/openssl/pool.h +0 -91
  1782. data/third_party/boringssl/include/openssl/rand.h +0 -125
  1783. data/third_party/boringssl/include/openssl/ripemd.h +0 -107
  1784. data/third_party/boringssl/include/openssl/rsa.h +0 -756
  1785. data/third_party/boringssl/include/openssl/sha.h +0 -256
  1786. data/third_party/boringssl/include/openssl/span.h +0 -191
  1787. data/third_party/boringssl/include/openssl/ssl.h +0 -4740
  1788. data/third_party/boringssl/include/openssl/ssl3.h +0 -332
  1789. data/third_party/boringssl/include/openssl/stack.h +0 -485
  1790. data/third_party/boringssl/include/openssl/thread.h +0 -191
  1791. data/third_party/boringssl/include/openssl/tls1.h +0 -618
  1792. data/third_party/boringssl/include/openssl/type_check.h +0 -91
  1793. data/third_party/boringssl/include/openssl/x509.h +0 -1180
  1794. data/third_party/boringssl/include/openssl/x509_vfy.h +0 -614
  1795. data/third_party/boringssl/include/openssl/x509v3.h +0 -827
  1796. data/third_party/boringssl/ssl/custom_extensions.cc +0 -265
  1797. data/third_party/boringssl/ssl/d1_both.cc +0 -851
  1798. data/third_party/boringssl/ssl/d1_lib.cc +0 -267
  1799. data/third_party/boringssl/ssl/d1_pkt.cc +0 -274
  1800. data/third_party/boringssl/ssl/d1_srtp.cc +0 -232
  1801. data/third_party/boringssl/ssl/dtls_method.cc +0 -193
  1802. data/third_party/boringssl/ssl/dtls_record.cc +0 -353
  1803. data/third_party/boringssl/ssl/handoff.cc +0 -285
  1804. data/third_party/boringssl/ssl/handshake.cc +0 -630
  1805. data/third_party/boringssl/ssl/handshake_client.cc +0 -1842
  1806. data/third_party/boringssl/ssl/handshake_server.cc +0 -1674
  1807. data/third_party/boringssl/ssl/internal.h +0 -3064
  1808. data/third_party/boringssl/ssl/s3_both.cc +0 -585
  1809. data/third_party/boringssl/ssl/s3_lib.cc +0 -226
  1810. data/third_party/boringssl/ssl/s3_pkt.cc +0 -425
  1811. data/third_party/boringssl/ssl/ssl_aead_ctx.cc +0 -412
  1812. data/third_party/boringssl/ssl/ssl_asn1.cc +0 -844
  1813. data/third_party/boringssl/ssl/ssl_buffer.cc +0 -286
  1814. data/third_party/boringssl/ssl/ssl_cert.cc +0 -913
  1815. data/third_party/boringssl/ssl/ssl_cipher.cc +0 -1781
  1816. data/third_party/boringssl/ssl/ssl_file.cc +0 -583
  1817. data/third_party/boringssl/ssl/ssl_key_share.cc +0 -252
  1818. data/third_party/boringssl/ssl/ssl_lib.cc +0 -2719
  1819. data/third_party/boringssl/ssl/ssl_privkey.cc +0 -494
  1820. data/third_party/boringssl/ssl/ssl_session.cc +0 -1221
  1821. data/third_party/boringssl/ssl/ssl_stat.cc +0 -224
  1822. data/third_party/boringssl/ssl/ssl_transcript.cc +0 -398
  1823. data/third_party/boringssl/ssl/ssl_versions.cc +0 -399
  1824. data/third_party/boringssl/ssl/ssl_x509.cc +0 -1297
  1825. data/third_party/boringssl/ssl/t1_enc.cc +0 -452
  1826. data/third_party/boringssl/ssl/t1_lib.cc +0 -3783
  1827. data/third_party/boringssl/ssl/tls13_both.cc +0 -559
  1828. data/third_party/boringssl/ssl/tls13_client.cc +0 -891
  1829. data/third_party/boringssl/ssl/tls13_enc.cc +0 -493
  1830. data/third_party/boringssl/ssl/tls13_server.cc +0 -1022
  1831. data/third_party/boringssl/ssl/tls_method.cc +0 -274
  1832. data/third_party/boringssl/ssl/tls_record.cc +0 -703
  1833. data/third_party/boringssl/third_party/fiat/curve25519.c +0 -3230
  1834. data/third_party/boringssl/third_party/fiat/curve25519_tables.h +0 -7880
  1835. data/third_party/boringssl/third_party/fiat/internal.h +0 -154
  1836. data/third_party/boringssl/third_party/fiat/p256.c +0 -1824
  1837. data/third_party/nanopb/pb.h +0 -579
  1838. data/third_party/nanopb/pb_common.c +0 -97
  1839. data/third_party/nanopb/pb_common.h +0 -42
  1840. data/third_party/nanopb/pb_decode.c +0 -1347
  1841. data/third_party/nanopb/pb_decode.h +0 -149
  1842. data/third_party/nanopb/pb_encode.c +0 -696
  1843. data/third_party/nanopb/pb_encode.h +0 -154
@@ -1,433 +0,0 @@
1
- /* Copyright (c) 2014, Google Inc.
2
- *
3
- * Permission to use, copy, modify, and/or distribute this software for any
4
- * purpose with or without fee is hereby granted, provided that the above
5
- * copyright notice and this permission notice appear in all copies.
6
- *
7
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
10
- * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
12
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
13
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
14
-
15
- #ifndef OPENSSL_HEADER_AEAD_H
16
- #define OPENSSL_HEADER_AEAD_H
17
-
18
- #include <openssl/base.h>
19
-
20
- #if defined(__cplusplus)
21
- extern "C" {
22
- #endif
23
-
24
-
25
- // Authenticated Encryption with Additional Data.
26
- //
27
- // AEAD couples confidentiality and integrity in a single primitive. AEAD
28
- // algorithms take a key and then can seal and open individual messages. Each
29
- // message has a unique, per-message nonce and, optionally, additional data
30
- // which is authenticated but not included in the ciphertext.
31
- //
32
- // The |EVP_AEAD_CTX_init| function initialises an |EVP_AEAD_CTX| structure and
33
- // performs any precomputation needed to use |aead| with |key|. The length of
34
- // the key, |key_len|, is given in bytes.
35
- //
36
- // The |tag_len| argument contains the length of the tags, in bytes, and allows
37
- // for the processing of truncated authenticators. A zero value indicates that
38
- // the default tag length should be used and this is defined as
39
- // |EVP_AEAD_DEFAULT_TAG_LENGTH| in order to make the code clear. Using
40
- // truncated tags increases an attacker's chance of creating a valid forgery.
41
- // Be aware that the attacker's chance may increase more than exponentially as
42
- // would naively be expected.
43
- //
44
- // When no longer needed, the initialised |EVP_AEAD_CTX| structure must be
45
- // passed to |EVP_AEAD_CTX_cleanup|, which will deallocate any memory used.
46
- //
47
- // With an |EVP_AEAD_CTX| in hand, one can seal and open messages. These
48
- // operations are intended to meet the standard notions of privacy and
49
- // authenticity for authenticated encryption. For formal definitions see
50
- // Bellare and Namprempre, "Authenticated encryption: relations among notions
51
- // and analysis of the generic composition paradigm," Lecture Notes in Computer
52
- // Science B<1976> (2000), 531–545,
53
- // http://www-cse.ucsd.edu/~mihir/papers/oem.html.
54
- //
55
- // When sealing messages, a nonce must be given. The length of the nonce is
56
- // fixed by the AEAD in use and is returned by |EVP_AEAD_nonce_length|. *The
57
- // nonce must be unique for all messages with the same key*. This is critically
58
- // important - nonce reuse may completely undermine the security of the AEAD.
59
- // Nonces may be predictable and public, so long as they are unique. Uniqueness
60
- // may be achieved with a simple counter or, if large enough, may be generated
61
- // randomly. The nonce must be passed into the "open" operation by the receiver
62
- // so must either be implicit (e.g. a counter), or must be transmitted along
63
- // with the sealed message.
64
- //
65
- // The "seal" and "open" operations are atomic - an entire message must be
66
- // encrypted or decrypted in a single call. Large messages may have to be split
67
- // up in order to accommodate this. When doing so, be mindful of the need not to
68
- // repeat nonces and the possibility that an attacker could duplicate, reorder
69
- // or drop message chunks. For example, using a single key for a given (large)
70
- // message and sealing chunks with nonces counting from zero would be secure as
71
- // long as the number of chunks was securely transmitted. (Otherwise an
72
- // attacker could truncate the message by dropping chunks from the end.)
73
- //
74
- // The number of chunks could be transmitted by prefixing it to the plaintext,
75
- // for example. This also assumes that no other message would ever use the same
76
- // key otherwise the rule that nonces must be unique for a given key would be
77
- // violated.
78
- //
79
- // The "seal" and "open" operations also permit additional data to be
80
- // authenticated via the |ad| parameter. This data is not included in the
81
- // ciphertext and must be identical for both the "seal" and "open" call. This
82
- // permits implicit context to be authenticated but may be empty if not needed.
83
- //
84
- // The "seal" and "open" operations may work in-place if the |out| and |in|
85
- // arguments are equal. Otherwise, if |out| and |in| alias, input data may be
86
- // overwritten before it is read. This situation will cause an error.
87
- //
88
- // The "seal" and "open" operations return one on success and zero on error.
89
-
90
-
91
- // AEAD algorithms.
92
-
93
- // EVP_aead_aes_128_gcm is AES-128 in Galois Counter Mode.
94
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_gcm(void);
95
-
96
- // EVP_aead_aes_256_gcm is AES-256 in Galois Counter Mode.
97
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_gcm(void);
98
-
99
- // EVP_aead_chacha20_poly1305 is the AEAD built from ChaCha20 and
100
- // Poly1305 as described in RFC 7539.
101
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_chacha20_poly1305(void);
102
-
103
- // EVP_aead_aes_128_ctr_hmac_sha256 is AES-128 in CTR mode with HMAC-SHA256 for
104
- // authentication. The nonce is 12 bytes; the bottom 32-bits are used as the
105
- // block counter, thus the maximum plaintext size is 64GB.
106
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_ctr_hmac_sha256(void);
107
-
108
- // EVP_aead_aes_256_ctr_hmac_sha256 is AES-256 in CTR mode with HMAC-SHA256 for
109
- // authentication. See |EVP_aead_aes_128_ctr_hmac_sha256| for details.
110
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_ctr_hmac_sha256(void);
111
-
112
- // EVP_aead_aes_128_gcm_siv is AES-128 in GCM-SIV mode. See
113
- // https://tools.ietf.org/html/draft-irtf-cfrg-gcmsiv-02
114
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_gcm_siv(void);
115
-
116
- // EVP_aead_aes_256_gcm_siv is AES-256 in GCM-SIV mode. See
117
- // https://tools.ietf.org/html/draft-irtf-cfrg-gcmsiv-02
118
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_gcm_siv(void);
119
-
120
- // EVP_aead_aes_128_ccm_bluetooth is AES-128-CCM with M=4 and L=2 (4-byte tags
121
- // and 13-byte nonces), as decribed in the Bluetooth Core Specification v5.0,
122
- // Volume 6, Part E, Section 1.
123
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_ccm_bluetooth(void);
124
-
125
- // EVP_aead_aes_128_ccm_bluetooth_8 is AES-128-CCM with M=8 and L=2 (8-byte tags
126
- // and 13-byte nonces), as used in the Bluetooth Mesh Networking Specification
127
- // v1.0.
128
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_ccm_bluetooth_8(void);
129
-
130
- // EVP_has_aes_hardware returns one if we enable hardware support for fast and
131
- // constant-time AES-GCM.
132
- OPENSSL_EXPORT int EVP_has_aes_hardware(void);
133
-
134
-
135
- // Utility functions.
136
-
137
- // EVP_AEAD_key_length returns the length, in bytes, of the keys used by
138
- // |aead|.
139
- OPENSSL_EXPORT size_t EVP_AEAD_key_length(const EVP_AEAD *aead);
140
-
141
- // EVP_AEAD_nonce_length returns the length, in bytes, of the per-message nonce
142
- // for |aead|.
143
- OPENSSL_EXPORT size_t EVP_AEAD_nonce_length(const EVP_AEAD *aead);
144
-
145
- // EVP_AEAD_max_overhead returns the maximum number of additional bytes added
146
- // by the act of sealing data with |aead|.
147
- OPENSSL_EXPORT size_t EVP_AEAD_max_overhead(const EVP_AEAD *aead);
148
-
149
- // EVP_AEAD_max_tag_len returns the maximum tag length when using |aead|. This
150
- // is the largest value that can be passed as |tag_len| to
151
- // |EVP_AEAD_CTX_init|.
152
- OPENSSL_EXPORT size_t EVP_AEAD_max_tag_len(const EVP_AEAD *aead);
153
-
154
-
155
- // AEAD operations.
156
-
157
- // An EVP_AEAD_CTX represents an AEAD algorithm configured with a specific key
158
- // and message-independent IV.
159
- typedef struct evp_aead_ctx_st {
160
- const EVP_AEAD *aead;
161
- // aead_state is an opaque pointer to whatever state the AEAD needs to
162
- // maintain.
163
- void *aead_state;
164
- // tag_len may contain the actual length of the authentication tag if it is
165
- // known at initialization time.
166
- uint8_t tag_len;
167
- } EVP_AEAD_CTX;
168
-
169
- // EVP_AEAD_MAX_KEY_LENGTH contains the maximum key length used by
170
- // any AEAD defined in this header.
171
- #define EVP_AEAD_MAX_KEY_LENGTH 80
172
-
173
- // EVP_AEAD_MAX_NONCE_LENGTH contains the maximum nonce length used by
174
- // any AEAD defined in this header.
175
- #define EVP_AEAD_MAX_NONCE_LENGTH 16
176
-
177
- // EVP_AEAD_MAX_OVERHEAD contains the maximum overhead used by any AEAD
178
- // defined in this header.
179
- #define EVP_AEAD_MAX_OVERHEAD 64
180
-
181
- // EVP_AEAD_DEFAULT_TAG_LENGTH is a magic value that can be passed to
182
- // EVP_AEAD_CTX_init to indicate that the default tag length for an AEAD should
183
- // be used.
184
- #define EVP_AEAD_DEFAULT_TAG_LENGTH 0
185
-
186
- // EVP_AEAD_CTX_zero sets an uninitialized |ctx| to the zero state. It must be
187
- // initialized with |EVP_AEAD_CTX_init| before use. It is safe, but not
188
- // necessary, to call |EVP_AEAD_CTX_cleanup| in this state. This may be used for
189
- // more uniform cleanup of |EVP_AEAD_CTX|.
190
- OPENSSL_EXPORT void EVP_AEAD_CTX_zero(EVP_AEAD_CTX *ctx);
191
-
192
- // EVP_AEAD_CTX_new allocates an |EVP_AEAD_CTX|, calls |EVP_AEAD_CTX_init| and
193
- // returns the |EVP_AEAD_CTX|, or NULL on error.
194
- OPENSSL_EXPORT EVP_AEAD_CTX *EVP_AEAD_CTX_new(const EVP_AEAD *aead,
195
- const uint8_t *key,
196
- size_t key_len, size_t tag_len);
197
-
198
- // EVP_AEAD_CTX_free calls |EVP_AEAD_CTX_cleanup| and |OPENSSL_free| on
199
- // |ctx|.
200
- OPENSSL_EXPORT void EVP_AEAD_CTX_free(EVP_AEAD_CTX *ctx);
201
-
202
- // EVP_AEAD_CTX_init initializes |ctx| for the given AEAD algorithm. The |impl|
203
- // argument is ignored and should be NULL. Authentication tags may be truncated
204
- // by passing a size as |tag_len|. A |tag_len| of zero indicates the default
205
- // tag length and this is defined as EVP_AEAD_DEFAULT_TAG_LENGTH for
206
- // readability.
207
- //
208
- // Returns 1 on success. Otherwise returns 0 and pushes to the error stack. In
209
- // the error case, you do not need to call |EVP_AEAD_CTX_cleanup|, but it's
210
- // harmless to do so.
211
- OPENSSL_EXPORT int EVP_AEAD_CTX_init(EVP_AEAD_CTX *ctx, const EVP_AEAD *aead,
212
- const uint8_t *key, size_t key_len,
213
- size_t tag_len, ENGINE *impl);
214
-
215
- // EVP_AEAD_CTX_cleanup frees any data allocated by |ctx|. It is a no-op to
216
- // call |EVP_AEAD_CTX_cleanup| on a |EVP_AEAD_CTX| that has been |memset| to
217
- // all zeros.
218
- OPENSSL_EXPORT void EVP_AEAD_CTX_cleanup(EVP_AEAD_CTX *ctx);
219
-
220
- // EVP_AEAD_CTX_seal encrypts and authenticates |in_len| bytes from |in| and
221
- // authenticates |ad_len| bytes from |ad| and writes the result to |out|. It
222
- // returns one on success and zero otherwise.
223
- //
224
- // This function may be called concurrently with itself or any other seal/open
225
- // function on the same |EVP_AEAD_CTX|.
226
- //
227
- // At most |max_out_len| bytes are written to |out| and, in order to ensure
228
- // success, |max_out_len| should be |in_len| plus the result of
229
- // |EVP_AEAD_max_overhead|. On successful return, |*out_len| is set to the
230
- // actual number of bytes written.
231
- //
232
- // The length of |nonce|, |nonce_len|, must be equal to the result of
233
- // |EVP_AEAD_nonce_length| for this AEAD.
234
- //
235
- // |EVP_AEAD_CTX_seal| never results in a partial output. If |max_out_len| is
236
- // insufficient, zero will be returned. If any error occurs, |out| will be
237
- // filled with zero bytes and |*out_len| set to zero.
238
- //
239
- // If |in| and |out| alias then |out| must be == |in|.
240
- OPENSSL_EXPORT int EVP_AEAD_CTX_seal(const EVP_AEAD_CTX *ctx, uint8_t *out,
241
- size_t *out_len, size_t max_out_len,
242
- const uint8_t *nonce, size_t nonce_len,
243
- const uint8_t *in, size_t in_len,
244
- const uint8_t *ad, size_t ad_len);
245
-
246
- // EVP_AEAD_CTX_open authenticates |in_len| bytes from |in| and |ad_len| bytes
247
- // from |ad| and decrypts at most |in_len| bytes into |out|. It returns one on
248
- // success and zero otherwise.
249
- //
250
- // This function may be called concurrently with itself or any other seal/open
251
- // function on the same |EVP_AEAD_CTX|.
252
- //
253
- // At most |in_len| bytes are written to |out|. In order to ensure success,
254
- // |max_out_len| should be at least |in_len|. On successful return, |*out_len|
255
- // is set to the the actual number of bytes written.
256
- //
257
- // The length of |nonce|, |nonce_len|, must be equal to the result of
258
- // |EVP_AEAD_nonce_length| for this AEAD.
259
- //
260
- // |EVP_AEAD_CTX_open| never results in a partial output. If |max_out_len| is
261
- // insufficient, zero will be returned. If any error occurs, |out| will be
262
- // filled with zero bytes and |*out_len| set to zero.
263
- //
264
- // If |in| and |out| alias then |out| must be == |in|.
265
- OPENSSL_EXPORT int EVP_AEAD_CTX_open(const EVP_AEAD_CTX *ctx, uint8_t *out,
266
- size_t *out_len, size_t max_out_len,
267
- const uint8_t *nonce, size_t nonce_len,
268
- const uint8_t *in, size_t in_len,
269
- const uint8_t *ad, size_t ad_len);
270
-
271
- // EVP_AEAD_CTX_seal_scatter encrypts and authenticates |in_len| bytes from |in|
272
- // and authenticates |ad_len| bytes from |ad|. It writes |in_len| bytes of
273
- // ciphertext to |out| and the authentication tag to |out_tag|. It returns one
274
- // on success and zero otherwise.
275
- //
276
- // This function may be called concurrently with itself or any other seal/open
277
- // function on the same |EVP_AEAD_CTX|.
278
- //
279
- // Exactly |in_len| bytes are written to |out|, and up to
280
- // |EVP_AEAD_max_overhead+extra_in_len| bytes to |out_tag|. On successful
281
- // return, |*out_tag_len| is set to the actual number of bytes written to
282
- // |out_tag|.
283
- //
284
- // |extra_in| may point to an additional plaintext input buffer if the cipher
285
- // supports it. If present, |extra_in_len| additional bytes of plaintext are
286
- // encrypted and authenticated, and the ciphertext is written (before the tag)
287
- // to |out_tag|. |max_out_tag_len| must be sized to allow for the additional
288
- // |extra_in_len| bytes.
289
- //
290
- // The length of |nonce|, |nonce_len|, must be equal to the result of
291
- // |EVP_AEAD_nonce_length| for this AEAD.
292
- //
293
- // |EVP_AEAD_CTX_seal_scatter| never results in a partial output. If
294
- // |max_out_tag_len| is insufficient, zero will be returned. If any error
295
- // occurs, |out| and |out_tag| will be filled with zero bytes and |*out_tag_len|
296
- // set to zero.
297
- //
298
- // If |in| and |out| alias then |out| must be == |in|. |out_tag| may not alias
299
- // any other argument.
300
- OPENSSL_EXPORT int EVP_AEAD_CTX_seal_scatter(
301
- const EVP_AEAD_CTX *ctx, uint8_t *out,
302
- uint8_t *out_tag, size_t *out_tag_len, size_t max_out_tag_len,
303
- const uint8_t *nonce, size_t nonce_len,
304
- const uint8_t *in, size_t in_len,
305
- const uint8_t *extra_in, size_t extra_in_len,
306
- const uint8_t *ad, size_t ad_len);
307
-
308
- // EVP_AEAD_CTX_open_gather decrypts and authenticates |in_len| bytes from |in|
309
- // and authenticates |ad_len| bytes from |ad| using |in_tag_len| bytes of
310
- // authentication tag from |in_tag|. If successful, it writes |in_len| bytes of
311
- // plaintext to |out|. It returns one on success and zero otherwise.
312
- //
313
- // This function may be called concurrently with itself or any other seal/open
314
- // function on the same |EVP_AEAD_CTX|.
315
- //
316
- // The length of |nonce|, |nonce_len|, must be equal to the result of
317
- // |EVP_AEAD_nonce_length| for this AEAD.
318
- //
319
- // |EVP_AEAD_CTX_open_gather| never results in a partial output. If any error
320
- // occurs, |out| will be filled with zero bytes.
321
- //
322
- // If |in| and |out| alias then |out| must be == |in|.
323
- OPENSSL_EXPORT int EVP_AEAD_CTX_open_gather(
324
- const EVP_AEAD_CTX *ctx, uint8_t *out, const uint8_t *nonce,
325
- size_t nonce_len, const uint8_t *in, size_t in_len, const uint8_t *in_tag,
326
- size_t in_tag_len, const uint8_t *ad, size_t ad_len);
327
-
328
- // EVP_AEAD_CTX_aead returns the underlying AEAD for |ctx|, or NULL if one has
329
- // not been set.
330
- OPENSSL_EXPORT const EVP_AEAD *EVP_AEAD_CTX_aead(const EVP_AEAD_CTX *ctx);
331
-
332
-
333
- // TLS-specific AEAD algorithms.
334
- //
335
- // These AEAD primitives do not meet the definition of generic AEADs. They are
336
- // all specific to TLS and should not be used outside of that context. They must
337
- // be initialized with |EVP_AEAD_CTX_init_with_direction|, are stateful, and may
338
- // not be used concurrently. Any nonces are used as IVs, so they must be
339
- // unpredictable. They only accept an |ad| parameter of length 11 (the standard
340
- // TLS one with length omitted).
341
-
342
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_cbc_sha1_tls(void);
343
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_cbc_sha1_tls_implicit_iv(void);
344
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_cbc_sha256_tls(void);
345
-
346
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_cbc_sha1_tls(void);
347
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_cbc_sha1_tls_implicit_iv(void);
348
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_cbc_sha256_tls(void);
349
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_cbc_sha384_tls(void);
350
-
351
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_des_ede3_cbc_sha1_tls(void);
352
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv(void);
353
-
354
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_null_sha1_tls(void);
355
-
356
- // EVP_aead_aes_128_gcm_tls12 is AES-128 in Galois Counter Mode using the TLS
357
- // 1.2 nonce construction.
358
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_gcm_tls12(void);
359
-
360
- // EVP_aead_aes_256_gcm_tls12 is AES-256 in Galois Counter Mode using the TLS
361
- // 1.2 nonce construction.
362
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_gcm_tls12(void);
363
-
364
-
365
- // SSLv3-specific AEAD algorithms.
366
- //
367
- // These AEAD primitives do not meet the definition of generic AEADs. They are
368
- // all specific to SSLv3 and should not be used outside of that context. They
369
- // must be initialized with |EVP_AEAD_CTX_init_with_direction|, are stateful,
370
- // and may not be used concurrently. They only accept an |ad| parameter of
371
- // length 9 (the standard TLS one with length and version omitted).
372
-
373
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_cbc_sha1_ssl3(void);
374
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_cbc_sha1_ssl3(void);
375
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_des_ede3_cbc_sha1_ssl3(void);
376
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_null_sha1_ssl3(void);
377
-
378
-
379
- // Obscure functions.
380
-
381
- // evp_aead_direction_t denotes the direction of an AEAD operation.
382
- enum evp_aead_direction_t {
383
- evp_aead_open,
384
- evp_aead_seal,
385
- };
386
-
387
- // EVP_AEAD_CTX_init_with_direction calls |EVP_AEAD_CTX_init| for normal
388
- // AEADs. For TLS-specific and SSL3-specific AEADs, it initializes |ctx| for a
389
- // given direction.
390
- OPENSSL_EXPORT int EVP_AEAD_CTX_init_with_direction(
391
- EVP_AEAD_CTX *ctx, const EVP_AEAD *aead, const uint8_t *key, size_t key_len,
392
- size_t tag_len, enum evp_aead_direction_t dir);
393
-
394
- // EVP_AEAD_CTX_get_iv sets |*out_len| to the length of the IV for |ctx| and
395
- // sets |*out_iv| to point to that many bytes of the current IV. This is only
396
- // meaningful for AEADs with implicit IVs (i.e. CBC mode in SSLv3 and TLS 1.0).
397
- //
398
- // It returns one on success or zero on error.
399
- OPENSSL_EXPORT int EVP_AEAD_CTX_get_iv(const EVP_AEAD_CTX *ctx,
400
- const uint8_t **out_iv, size_t *out_len);
401
-
402
- // EVP_AEAD_CTX_tag_len computes the exact byte length of the tag written by
403
- // |EVP_AEAD_CTX_seal_scatter| and writes it to |*out_tag_len|. It returns one
404
- // on success or zero on error. |in_len| and |extra_in_len| must equal the
405
- // arguments of the same names passed to |EVP_AEAD_CTX_seal_scatter|.
406
- OPENSSL_EXPORT int EVP_AEAD_CTX_tag_len(const EVP_AEAD_CTX *ctx,
407
- size_t *out_tag_len,
408
- const size_t in_len,
409
- const size_t extra_in_len);
410
-
411
-
412
- #if defined(__cplusplus)
413
- } // extern C
414
-
415
- #if !defined(BORINGSSL_NO_CXX)
416
- extern "C++" {
417
-
418
- namespace bssl {
419
-
420
- using ScopedEVP_AEAD_CTX =
421
- internal::StackAllocated<EVP_AEAD_CTX, void, EVP_AEAD_CTX_zero,
422
- EVP_AEAD_CTX_cleanup>;
423
-
424
- BORINGSSL_MAKE_DELETER(EVP_AEAD_CTX, EVP_AEAD_CTX_free)
425
-
426
- } // namespace bssl
427
-
428
- } // extern C++
429
- #endif
430
-
431
- #endif
432
-
433
- #endif // OPENSSL_HEADER_AEAD_H
@@ -1,170 +0,0 @@
1
- /* ====================================================================
2
- * Copyright (c) 2002-2006 The OpenSSL Project. All rights reserved.
3
- *
4
- * Redistribution and use in source and binary forms, with or without
5
- * modification, are permitted provided that the following conditions
6
- * are met:
7
- *
8
- * 1. Redistributions of source code must retain the above copyright
9
- * notice, this list of conditions and the following disclaimer.
10
- *
11
- * 2. Redistributions in binary form must reproduce the above copyright
12
- * notice, this list of conditions and the following disclaimer in
13
- * the documentation and/or other materials provided with the
14
- * distribution.
15
- *
16
- * 3. All advertising materials mentioning features or use of this
17
- * software must display the following acknowledgment:
18
- * "This product includes software developed by the OpenSSL Project
19
- * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
20
- *
21
- * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
22
- * endorse or promote products derived from this software without
23
- * prior written permission. For written permission, please contact
24
- * openssl-core@openssl.org.
25
- *
26
- * 5. Products derived from this software may not be called "OpenSSL"
27
- * nor may "OpenSSL" appear in their names without prior written
28
- * permission of the OpenSSL Project.
29
- *
30
- * 6. Redistributions of any form whatsoever must retain the following
31
- * acknowledgment:
32
- * "This product includes software developed by the OpenSSL Project
33
- * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
34
- *
35
- * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
36
- * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
37
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
38
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
39
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
41
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
42
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
43
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
44
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
45
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
46
- * OF THE POSSIBILITY OF SUCH DAMAGE.
47
- * ==================================================================== */
48
-
49
- #ifndef OPENSSL_HEADER_AES_H
50
- #define OPENSSL_HEADER_AES_H
51
-
52
- #include <openssl/base.h>
53
-
54
- #if defined(__cplusplus)
55
- extern "C" {
56
- #endif
57
-
58
-
59
- // Raw AES functions.
60
-
61
-
62
- #define AES_ENCRYPT 1
63
- #define AES_DECRYPT 0
64
-
65
- // AES_MAXNR is the maximum number of AES rounds.
66
- #define AES_MAXNR 14
67
-
68
- #define AES_BLOCK_SIZE 16
69
-
70
- // aes_key_st should be an opaque type, but EVP requires that the size be
71
- // known.
72
- struct aes_key_st {
73
- uint32_t rd_key[4 * (AES_MAXNR + 1)];
74
- unsigned rounds;
75
- };
76
- typedef struct aes_key_st AES_KEY;
77
-
78
- // AES_set_encrypt_key configures |aeskey| to encrypt with the |bits|-bit key,
79
- // |key|.
80
- //
81
- // WARNING: unlike other OpenSSL functions, this returns zero on success and a
82
- // negative number on error.
83
- OPENSSL_EXPORT int AES_set_encrypt_key(const uint8_t *key, unsigned bits,
84
- AES_KEY *aeskey);
85
-
86
- // AES_set_decrypt_key configures |aeskey| to decrypt with the |bits|-bit key,
87
- // |key|.
88
- //
89
- // WARNING: unlike other OpenSSL functions, this returns zero on success and a
90
- // negative number on error.
91
- OPENSSL_EXPORT int AES_set_decrypt_key(const uint8_t *key, unsigned bits,
92
- AES_KEY *aeskey);
93
-
94
- // AES_encrypt encrypts a single block from |in| to |out| with |key|. The |in|
95
- // and |out| pointers may overlap.
96
- OPENSSL_EXPORT void AES_encrypt(const uint8_t *in, uint8_t *out,
97
- const AES_KEY *key);
98
-
99
- // AES_decrypt decrypts a single block from |in| to |out| with |key|. The |in|
100
- // and |out| pointers may overlap.
101
- OPENSSL_EXPORT void AES_decrypt(const uint8_t *in, uint8_t *out,
102
- const AES_KEY *key);
103
-
104
-
105
- // Block cipher modes.
106
-
107
- // AES_ctr128_encrypt encrypts (or decrypts, it's the same in CTR mode) |len|
108
- // bytes from |in| to |out|. The |num| parameter must be set to zero on the
109
- // first call and |ivec| will be incremented.
110
- OPENSSL_EXPORT void AES_ctr128_encrypt(const uint8_t *in, uint8_t *out,
111
- size_t len, const AES_KEY *key,
112
- uint8_t ivec[AES_BLOCK_SIZE],
113
- uint8_t ecount_buf[AES_BLOCK_SIZE],
114
- unsigned int *num);
115
-
116
- // AES_ecb_encrypt encrypts (or decrypts, if |enc| == |AES_DECRYPT|) a single,
117
- // 16 byte block from |in| to |out|.
118
- OPENSSL_EXPORT void AES_ecb_encrypt(const uint8_t *in, uint8_t *out,
119
- const AES_KEY *key, const int enc);
120
-
121
- // AES_cbc_encrypt encrypts (or decrypts, if |enc| == |AES_DECRYPT|) |len|
122
- // bytes from |in| to |out|. The length must be a multiple of the block size.
123
- OPENSSL_EXPORT void AES_cbc_encrypt(const uint8_t *in, uint8_t *out, size_t len,
124
- const AES_KEY *key, uint8_t *ivec,
125
- const int enc);
126
-
127
- // AES_ofb128_encrypt encrypts (or decrypts, it's the same in OFB mode) |len|
128
- // bytes from |in| to |out|. The |num| parameter must be set to zero on the
129
- // first call.
130
- OPENSSL_EXPORT void AES_ofb128_encrypt(const uint8_t *in, uint8_t *out,
131
- size_t len, const AES_KEY *key,
132
- uint8_t *ivec, int *num);
133
-
134
- // AES_cfb128_encrypt encrypts (or decrypts, if |enc| == |AES_DECRYPT|) |len|
135
- // bytes from |in| to |out|. The |num| parameter must be set to zero on the
136
- // first call.
137
- OPENSSL_EXPORT void AES_cfb128_encrypt(const uint8_t *in, uint8_t *out,
138
- size_t len, const AES_KEY *key,
139
- uint8_t *ivec, int *num, int enc);
140
-
141
-
142
- // AES key wrap.
143
- //
144
- // These functions implement AES Key Wrap mode, as defined in RFC 3394. They
145
- // should never be used except to interoperate with existing systems that use
146
- // this mode.
147
-
148
- // AES_wrap_key performs AES key wrap on |in| which must be a multiple of 8
149
- // bytes. |iv| must point to an 8 byte value or be NULL to use the default IV.
150
- // |key| must have been configured for encryption. On success, it writes
151
- // |in_len| + 8 bytes to |out| and returns |in_len| + 8. Otherwise, it returns
152
- // -1.
153
- OPENSSL_EXPORT int AES_wrap_key(const AES_KEY *key, const uint8_t *iv,
154
- uint8_t *out, const uint8_t *in, size_t in_len);
155
-
156
- // AES_unwrap_key performs AES key unwrap on |in| which must be a multiple of 8
157
- // bytes. |iv| must point to an 8 byte value or be NULL to use the default IV.
158
- // |key| must have been configured for decryption. On success, it writes
159
- // |in_len| - 8 bytes to |out| and returns |in_len| - 8. Otherwise, it returns
160
- // -1.
161
- OPENSSL_EXPORT int AES_unwrap_key(const AES_KEY *key, const uint8_t *iv,
162
- uint8_t *out, const uint8_t *in,
163
- size_t in_len);
164
-
165
-
166
- #if defined(__cplusplus)
167
- } // extern C
168
- #endif
169
-
170
- #endif // OPENSSL_HEADER_AES_H