grpc 1.27.0 → 1.30.2

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 (965) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +8023 -11435
  3. data/include/grpc/grpc.h +2 -2
  4. data/include/grpc/grpc_security.h +30 -9
  5. data/include/grpc/grpc_security_constants.h +1 -0
  6. data/include/grpc/impl/codegen/grpc_types.h +24 -21
  7. data/include/grpc/impl/codegen/port_platform.h +13 -2
  8. data/include/grpc/impl/codegen/sync.h +5 -3
  9. data/include/grpc/impl/codegen/sync_abseil.h +36 -0
  10. data/include/grpc/module.modulemap +25 -37
  11. data/include/grpc/support/sync_abseil.h +26 -0
  12. data/src/core/ext/filters/client_channel/backend_metric.cc +7 -4
  13. data/src/core/ext/filters/client_channel/client_channel.cc +282 -269
  14. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +31 -47
  15. data/src/core/ext/filters/client_channel/client_channel_channelz.h +1 -3
  16. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +3 -2
  17. data/src/core/ext/filters/client_channel/health/health_check_client.cc +7 -22
  18. data/src/core/ext/filters/client_channel/health/health_check_client.h +3 -3
  19. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +1 -1
  20. data/src/core/ext/filters/client_channel/http_proxy.cc +21 -11
  21. data/src/core/ext/filters/client_channel/lb_policy.cc +19 -18
  22. data/src/core/ext/filters/client_channel/lb_policy.h +42 -33
  23. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +83 -0
  24. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +99 -0
  25. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +297 -0
  26. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +83 -0
  27. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +286 -495
  28. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +89 -0
  29. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +40 -0
  30. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +11 -9
  31. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +3 -2
  32. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +18 -21
  33. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +871 -0
  34. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +10 -14
  35. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +5 -11
  36. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +734 -0
  37. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +148 -98
  38. data/src/core/ext/filters/client_channel/lb_policy/xds/eds.cc +938 -0
  39. data/src/core/ext/filters/client_channel/lb_policy/xds/lrs.cc +528 -0
  40. data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +1 -2
  41. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_routing.cc +834 -0
  42. data/src/core/ext/filters/client_channel/lb_policy_factory.h +3 -3
  43. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +49 -77
  44. data/src/core/ext/filters/client_channel/lb_policy_registry.h +1 -1
  45. data/src/core/ext/filters/client_channel/local_subchannel_pool.h +2 -1
  46. data/src/core/ext/filters/client_channel/parse_address.cc +22 -21
  47. data/src/core/ext/filters/client_channel/resolver.cc +5 -8
  48. data/src/core/ext/filters/client_channel/resolver.h +12 -14
  49. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +129 -128
  50. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc +35 -35
  51. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +8 -7
  52. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +17 -21
  53. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +5 -5
  54. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +72 -117
  55. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +186 -135
  56. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +5 -3
  57. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +7 -4
  58. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +42 -45
  59. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +94 -103
  60. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +0 -4
  61. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +5 -5
  62. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +61 -10
  63. data/src/core/ext/filters/client_channel/resolver_factory.h +2 -2
  64. data/src/core/ext/filters/client_channel/resolver_registry.cc +6 -3
  65. data/src/core/ext/filters/client_channel/resolver_registry.h +8 -8
  66. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +242 -300
  67. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +21 -18
  68. data/src/core/ext/filters/client_channel/resolving_lb_policy.cc +56 -206
  69. data/src/core/ext/filters/client_channel/resolving_lb_policy.h +11 -14
  70. data/src/core/ext/filters/client_channel/server_address.cc +6 -9
  71. data/src/core/ext/filters/client_channel/server_address.h +6 -12
  72. data/src/core/ext/filters/client_channel/service_config.cc +144 -253
  73. data/src/core/ext/filters/client_channel/service_config.h +32 -109
  74. data/src/core/ext/filters/client_channel/service_config_call_data.h +68 -0
  75. data/src/core/ext/filters/client_channel/service_config_parser.cc +87 -0
  76. data/src/core/ext/filters/client_channel/service_config_parser.h +89 -0
  77. data/src/core/ext/filters/client_channel/subchannel.cc +54 -24
  78. data/src/core/ext/filters/client_channel/subchannel.h +35 -11
  79. data/src/core/ext/filters/client_channel/xds/xds_api.cc +1381 -301
  80. data/src/core/ext/filters/client_channel/xds/xds_api.h +211 -152
  81. data/src/core/ext/filters/client_channel/xds/xds_bootstrap.cc +214 -359
  82. data/src/core/ext/filters/client_channel/xds/xds_bootstrap.h +28 -44
  83. data/src/core/ext/filters/client_channel/xds/xds_channel.h +3 -1
  84. data/src/core/ext/filters/client_channel/xds/xds_channel_secure.cc +16 -11
  85. data/src/core/ext/filters/client_channel/xds/xds_client.cc +1118 -472
  86. data/src/core/ext/filters/client_channel/xds/xds_client.h +116 -45
  87. data/src/core/ext/filters/client_channel/xds/xds_client_stats.cc +59 -135
  88. data/src/core/ext/filters/client_channel/xds/xds_client_stats.h +122 -137
  89. data/src/core/ext/filters/http/client/http_client_filter.cc +23 -28
  90. data/src/core/ext/filters/http/client_authority_filter.cc +4 -4
  91. data/src/core/ext/filters/http/http_filters_plugin.cc +27 -12
  92. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +258 -221
  93. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +358 -0
  94. data/src/core/ext/filters/http/message_compress/message_decompress_filter.h +29 -0
  95. data/src/core/ext/filters/message_size/message_size_filter.cc +38 -44
  96. data/src/core/ext/filters/message_size/message_size_filter.h +5 -5
  97. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +7 -10
  98. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +4 -6
  99. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +26 -27
  100. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +1 -0
  101. data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -3
  102. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +2 -3
  103. data/src/core/ext/transport/chttp2/transport/frame_ping.h +2 -3
  104. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +2 -3
  105. data/src/core/ext/transport/chttp2/transport/frame_settings.h +2 -3
  106. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +2 -3
  107. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +29 -16
  108. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +2 -3
  109. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +2 -3
  110. data/src/core/ext/transport/chttp2/transport/hpack_table.h +2 -2
  111. data/src/core/ext/transport/chttp2/transport/http2_settings.h +4 -5
  112. data/src/core/ext/transport/chttp2/transport/huffsyms.h +2 -3
  113. data/src/core/ext/transport/chttp2/transport/internal.h +14 -21
  114. data/src/core/ext/transport/chttp2/transport/stream_map.h +2 -3
  115. data/src/core/ext/transport/chttp2/transport/writing.cc +16 -9
  116. data/src/core/ext/transport/inproc/inproc_transport.cc +41 -42
  117. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +17 -0
  118. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +30 -0
  119. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +27 -0
  120. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +54 -0
  121. data/src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c +5 -205
  122. data/src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.h +5 -788
  123. data/src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.c +114 -0
  124. data/src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.h +418 -0
  125. data/src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.c +72 -0
  126. data/src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.h +197 -0
  127. data/src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.c +105 -0
  128. data/src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.h +378 -0
  129. data/src/core/ext/upb-generated/envoy/api/v2/cds.upb.c +5 -362
  130. data/src/core/ext/upb-generated/envoy/api/v2/cds.upb.h +14 -1337
  131. data/src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c +403 -0
  132. data/src/core/ext/upb-generated/envoy/api/v2/cluster.upb.h +1447 -0
  133. data/src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c +30 -8
  134. data/src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.h +60 -0
  135. data/src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.c +2 -0
  136. data/src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.c +2 -0
  137. data/src/core/ext/upb-generated/envoy/api/v2/core/address.upb.c +7 -4
  138. data/src/core/ext/upb-generated/envoy/api/v2/core/address.upb.h +6 -2
  139. data/src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.c +35 -0
  140. data/src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.h +78 -0
  141. data/src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c +87 -23
  142. data/src/core/ext/upb-generated/envoy/api/v2/core/base.upb.h +262 -62
  143. data/src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.c +20 -15
  144. data/src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.h +46 -32
  145. data/src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.c +34 -0
  146. data/src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.h +72 -0
  147. data/src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.c +27 -4
  148. data/src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.h +70 -0
  149. data/src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.c +46 -25
  150. data/src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.h +98 -25
  151. data/src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.c +2 -0
  152. data/src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.c +77 -21
  153. data/src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.h +201 -4
  154. data/src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.c +34 -0
  155. data/src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.h +89 -0
  156. data/src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c +2 -0
  157. data/src/core/ext/upb-generated/envoy/api/v2/eds.upb.c +8 -68
  158. data/src/core/ext/upb-generated/envoy/api/v2/eds.upb.h +14 -201
  159. data/src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c +92 -0
  160. data/src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.h +240 -0
  161. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.c +2 -71
  162. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.h +3 -228
  163. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.c +91 -0
  164. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.h +266 -0
  165. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.c +2 -0
  166. data/src/core/ext/upb-generated/envoy/api/v2/lds.upb.c +31 -0
  167. data/src/core/ext/upb-generated/envoy/api/v2/lds.upb.h +53 -0
  168. data/src/core/ext/upb-generated/envoy/api/v2/listener.upb.c +109 -0
  169. data/src/core/ext/upb-generated/envoy/api/v2/listener.upb.h +399 -0
  170. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.c +18 -0
  171. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.h +33 -0
  172. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c +145 -0
  173. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.h +527 -0
  174. data/src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.c +43 -0
  175. data/src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.h +112 -0
  176. data/src/core/ext/upb-generated/envoy/api/v2/rds.upb.c +30 -0
  177. data/src/core/ext/upb-generated/envoy/api/v2/rds.upb.h +53 -0
  178. data/src/core/ext/upb-generated/envoy/api/v2/route.upb.c +63 -0
  179. data/src/core/ext/upb-generated/envoy/api/v2/route.upb.h +199 -0
  180. data/src/core/ext/upb-generated/envoy/api/v2/route/route.upb.c +18 -0
  181. data/src/core/ext/upb-generated/envoy/api/v2/route/route.upb.h +33 -0
  182. data/src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c +815 -0
  183. data/src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.h +3032 -0
  184. data/src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.c +59 -0
  185. data/src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.h +134 -0
  186. data/src/core/ext/upb-generated/envoy/api/v2/srds.upb.c +28 -0
  187. data/src/core/ext/upb-generated/envoy/api/v2/srds.upb.h +53 -0
  188. data/src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c +228 -0
  189. data/src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.h +725 -0
  190. data/src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.c +316 -0
  191. data/src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.h +1132 -0
  192. data/src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.c +33 -0
  193. data/src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.h +65 -0
  194. data/src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.c +51 -0
  195. data/src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.h +125 -0
  196. data/src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.c +1 -0
  197. data/src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.c +4 -2
  198. data/src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.h +4 -0
  199. data/src/core/ext/upb-generated/envoy/type/http.upb.c +1 -0
  200. data/src/core/ext/upb-generated/envoy/type/matcher/regex.upb.c +63 -0
  201. data/src/core/ext/upb-generated/envoy/type/matcher/regex.upb.h +144 -0
  202. data/src/core/ext/upb-generated/envoy/type/matcher/string.upb.c +53 -0
  203. data/src/core/ext/upb-generated/envoy/type/matcher/string.upb.h +133 -0
  204. data/src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.c +88 -0
  205. data/src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.h +258 -0
  206. data/src/core/ext/upb-generated/envoy/type/percent.upb.c +1 -0
  207. data/src/core/ext/upb-generated/envoy/type/range.upb.c +12 -0
  208. data/src/core/ext/upb-generated/envoy/type/range.upb.h +27 -0
  209. data/src/core/ext/upb-generated/envoy/type/semantic_version.upb.c +29 -0
  210. data/src/core/ext/upb-generated/envoy/type/semantic_version.upb.h +62 -0
  211. data/src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.c +89 -0
  212. data/src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.h +249 -0
  213. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +9 -8
  214. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +30 -24
  215. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +30 -27
  216. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +64 -52
  217. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +48 -0
  218. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +104 -0
  219. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +17 -0
  220. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +30 -0
  221. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +28 -0
  222. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +65 -0
  223. data/src/core/ext/upb-generated/validate/validate.upb.c +44 -39
  224. data/src/core/ext/upb-generated/validate/validate.upb.h +155 -119
  225. data/src/core/lib/channel/channel_args.cc +15 -14
  226. data/src/core/lib/channel/channel_args.h +3 -1
  227. data/src/core/lib/channel/channel_stack.h +20 -13
  228. data/src/core/lib/channel/channel_trace.cc +32 -41
  229. data/src/core/lib/channel/channel_trace.h +3 -3
  230. data/src/core/lib/channel/channelz.cc +163 -254
  231. data/src/core/lib/channel/channelz.h +15 -17
  232. data/src/core/lib/channel/channelz_registry.cc +52 -77
  233. data/src/core/lib/channel/channelz_registry.h +4 -4
  234. data/src/core/lib/channel/connected_channel.cc +7 -5
  235. data/src/core/lib/channel/context.h +1 -1
  236. data/src/core/lib/channel/handshaker.cc +11 -13
  237. data/src/core/lib/channel/handshaker.h +4 -2
  238. data/src/core/lib/channel/handshaker_registry.cc +5 -17
  239. data/src/core/lib/channel/status_util.cc +2 -3
  240. data/src/core/lib/compression/message_compress.cc +5 -1
  241. data/src/core/lib/debug/stats.cc +21 -27
  242. data/src/core/lib/debug/stats.h +3 -1
  243. data/src/core/lib/gpr/spinlock.h +2 -3
  244. data/src/core/lib/gpr/string.cc +2 -26
  245. data/src/core/lib/gpr/string.h +0 -16
  246. data/src/core/lib/gpr/sync_abseil.cc +116 -0
  247. data/src/core/lib/gpr/sync_posix.cc +8 -5
  248. data/src/core/lib/gpr/sync_windows.cc +4 -2
  249. data/src/core/lib/gpr/time.cc +4 -0
  250. data/src/core/lib/gpr/time_posix.cc +1 -1
  251. data/src/core/lib/gprpp/atomic.h +6 -6
  252. data/src/core/lib/gprpp/fork.cc +1 -1
  253. data/src/core/lib/gprpp/host_port.cc +30 -36
  254. data/src/core/lib/gprpp/host_port.h +14 -17
  255. data/src/core/lib/gprpp/map.h +5 -11
  256. data/src/core/lib/gprpp/memory.h +2 -6
  257. data/src/core/lib/gprpp/ref_counted_ptr.h +5 -0
  258. data/src/core/lib/gprpp/sync.h +9 -0
  259. data/src/core/lib/http/format_request.cc +46 -65
  260. data/src/core/lib/http/httpcli.cc +2 -3
  261. data/src/core/lib/http/httpcli.h +2 -3
  262. data/src/core/lib/http/httpcli_security_connector.cc +5 -5
  263. data/src/core/lib/http/parser.h +2 -3
  264. data/src/core/lib/iomgr/buffer_list.cc +36 -35
  265. data/src/core/lib/iomgr/buffer_list.h +22 -21
  266. data/src/core/lib/iomgr/call_combiner.h +3 -2
  267. data/src/core/lib/iomgr/cfstream_handle.cc +3 -2
  268. data/src/core/lib/iomgr/closure.h +2 -3
  269. data/src/core/lib/iomgr/dualstack_socket_posix.cc +47 -0
  270. data/src/core/lib/iomgr/endpoint_cfstream.cc +2 -3
  271. data/src/core/lib/iomgr/endpoint_pair.h +2 -3
  272. data/src/core/lib/iomgr/error.cc +6 -9
  273. data/src/core/lib/iomgr/error.h +4 -5
  274. data/src/core/lib/iomgr/ev_apple.cc +356 -0
  275. data/src/core/lib/iomgr/ev_apple.h +43 -0
  276. data/src/core/lib/iomgr/ev_epoll1_linux.cc +20 -23
  277. data/src/core/lib/iomgr/ev_epollex_linux.cc +14 -7
  278. data/src/core/lib/iomgr/ev_poll_posix.cc +3 -3
  279. data/src/core/lib/iomgr/ev_posix.cc +2 -3
  280. data/src/core/lib/iomgr/exec_ctx.h +14 -2
  281. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +84 -20
  282. data/src/core/lib/iomgr/load_file.cc +1 -0
  283. data/src/core/lib/iomgr/pollset_set_custom.cc +10 -10
  284. data/src/core/lib/iomgr/pollset_uv.h +32 -0
  285. data/src/core/lib/iomgr/port.h +1 -0
  286. data/src/core/lib/iomgr/python_util.h +46 -0
  287. data/src/core/lib/iomgr/resolve_address.h +4 -6
  288. data/src/core/lib/iomgr/resolve_address_custom.cc +29 -39
  289. data/src/core/lib/iomgr/resolve_address_custom.h +4 -2
  290. data/src/core/lib/iomgr/resolve_address_posix.cc +10 -11
  291. data/src/core/lib/iomgr/resolve_address_windows.cc +8 -17
  292. data/src/core/lib/iomgr/resource_quota.cc +4 -6
  293. data/src/core/lib/iomgr/sockaddr_utils.cc +23 -29
  294. data/src/core/lib/iomgr/sockaddr_utils.h +9 -14
  295. data/src/core/lib/iomgr/socket_factory_posix.h +2 -3
  296. data/src/core/lib/iomgr/socket_mutator.h +2 -3
  297. data/src/core/lib/iomgr/socket_utils_common_posix.cc +7 -26
  298. data/src/core/lib/iomgr/socket_utils_posix.h +3 -0
  299. data/src/core/lib/iomgr/tcp_client_cfstream.cc +5 -7
  300. data/src/core/lib/iomgr/tcp_client_posix.cc +25 -22
  301. data/src/core/lib/iomgr/tcp_client_posix.h +6 -6
  302. data/src/core/lib/iomgr/tcp_client_windows.cc +2 -3
  303. data/src/core/lib/iomgr/tcp_custom.cc +2 -3
  304. data/src/core/lib/iomgr/tcp_posix.cc +2 -1
  305. data/src/core/lib/iomgr/tcp_server_custom.cc +5 -9
  306. data/src/core/lib/iomgr/tcp_server_posix.cc +5 -4
  307. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +5 -4
  308. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +8 -11
  309. data/src/core/lib/iomgr/tcp_uv.cc +3 -2
  310. data/src/core/lib/iomgr/time_averaged_stats.h +2 -3
  311. data/src/core/lib/iomgr/timer_generic.cc +2 -3
  312. data/src/core/lib/iomgr/timer_generic.h +39 -0
  313. data/src/core/lib/iomgr/timer_heap.h +2 -3
  314. data/src/core/lib/iomgr/udp_server.cc +9 -14
  315. data/src/core/lib/iomgr/work_serializer.cc +155 -0
  316. data/src/core/lib/iomgr/work_serializer.h +65 -0
  317. data/src/core/lib/json/json.h +210 -79
  318. data/src/core/lib/json/json_reader.cc +469 -455
  319. data/src/core/lib/json/json_writer.cc +174 -169
  320. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +1 -1
  321. data/src/core/lib/security/credentials/composite/composite_credentials.cc +12 -0
  322. data/src/core/lib/security/credentials/composite/composite_credentials.h +6 -3
  323. data/src/core/lib/security/credentials/credentials.cc +0 -84
  324. data/src/core/lib/security/credentials/credentials.h +8 -59
  325. data/src/core/lib/security/credentials/fake/fake_credentials.h +4 -0
  326. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +9 -12
  327. data/src/core/lib/security/credentials/iam/iam_credentials.cc +8 -6
  328. data/src/core/lib/security/credentials/iam/iam_credentials.h +4 -0
  329. data/src/core/lib/security/credentials/jwt/json_token.cc +26 -56
  330. data/src/core/lib/security/credentials/jwt/json_token.h +4 -6
  331. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +8 -18
  332. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +12 -0
  333. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +151 -168
  334. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +4 -6
  335. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +91 -60
  336. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +10 -4
  337. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +13 -0
  338. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +2 -0
  339. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +23 -13
  340. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +40 -12
  341. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +21 -6
  342. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +7 -7
  343. data/src/core/lib/security/security_connector/load_system_roots_linux.cc +3 -2
  344. data/src/core/lib/security/security_connector/local/local_security_connector.cc +6 -8
  345. data/src/core/lib/security/security_connector/security_connector.h +1 -1
  346. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +20 -37
  347. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +4 -6
  348. data/src/core/lib/security/security_connector/ssl_utils.cc +62 -13
  349. data/src/core/lib/security/security_connector/ssl_utils.h +12 -11
  350. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +101 -52
  351. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +32 -6
  352. data/src/core/lib/security/transport/auth_filters.h +0 -5
  353. data/src/core/lib/security/transport/client_auth_filter.cc +1 -2
  354. data/src/core/lib/security/transport/security_handshaker.cc +2 -2
  355. data/src/core/lib/security/util/json_util.cc +22 -15
  356. data/src/core/lib/security/util/json_util.h +2 -2
  357. data/src/core/lib/slice/slice_intern.cc +2 -3
  358. data/src/core/lib/slice/slice_internal.h +14 -0
  359. data/src/core/lib/slice/slice_utils.h +9 -0
  360. data/src/core/lib/surface/byte_buffer_reader.cc +2 -47
  361. data/src/core/lib/surface/call.cc +2 -3
  362. data/src/core/lib/surface/call_log_batch.cc +50 -58
  363. data/src/core/lib/surface/channel.cc +53 -31
  364. data/src/core/lib/surface/channel.h +35 -4
  365. data/src/core/lib/surface/channel_ping.cc +2 -3
  366. data/src/core/lib/surface/completion_queue.cc +33 -33
  367. data/src/core/lib/surface/event_string.cc +18 -25
  368. data/src/core/lib/surface/event_string.h +3 -1
  369. data/src/core/lib/surface/init_secure.cc +1 -4
  370. data/src/core/lib/surface/server.cc +570 -369
  371. data/src/core/lib/surface/server.h +32 -0
  372. data/src/core/lib/surface/version.cc +2 -2
  373. data/src/core/lib/transport/byte_stream.h +7 -2
  374. data/src/core/lib/transport/connectivity_state.cc +7 -6
  375. data/src/core/lib/transport/connectivity_state.h +5 -3
  376. data/src/core/lib/transport/metadata.cc +3 -3
  377. data/src/core/lib/transport/metadata_batch.h +2 -3
  378. data/src/core/lib/transport/static_metadata.h +1 -1
  379. data/src/core/lib/transport/status_conversion.cc +6 -14
  380. data/src/core/lib/transport/transport.cc +2 -3
  381. data/src/core/lib/transport/transport.h +3 -2
  382. data/src/core/lib/transport/transport_op_string.cc +61 -102
  383. data/src/core/lib/uri/uri_parser.h +2 -3
  384. data/src/core/plugin_registry/grpc_plugin_registry.cc +20 -4
  385. data/src/core/tsi/alts/crypt/aes_gcm.cc +0 -2
  386. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +9 -2
  387. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +8 -4
  388. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +33 -3
  389. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +9 -1
  390. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h +2 -3
  391. data/src/core/tsi/fake_transport_security.cc +10 -15
  392. data/src/core/tsi/ssl/session_cache/ssl_session.h +0 -2
  393. data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +1 -1
  394. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +0 -2
  395. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +1 -1
  396. data/src/core/tsi/ssl_transport_security.cc +54 -40
  397. data/src/core/tsi/ssl_transport_security.h +8 -8
  398. data/src/core/tsi/ssl_types.h +0 -2
  399. data/src/core/tsi/transport_security.h +6 -9
  400. data/src/core/tsi/transport_security_grpc.h +2 -3
  401. data/src/core/tsi/transport_security_interface.h +3 -3
  402. data/src/ruby/ext/grpc/rb_call.c +9 -1
  403. data/src/ruby/ext/grpc/rb_call_credentials.c +3 -2
  404. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +4 -0
  405. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +6 -0
  406. data/src/ruby/lib/grpc/errors.rb +103 -42
  407. data/src/ruby/lib/grpc/generic/active_call.rb +2 -3
  408. data/src/ruby/lib/grpc/generic/interceptors.rb +4 -4
  409. data/src/ruby/lib/grpc/generic/rpc_server.rb +9 -10
  410. data/src/ruby/lib/grpc/generic/service.rb +5 -4
  411. data/src/ruby/lib/grpc/structs.rb +1 -1
  412. data/src/ruby/lib/grpc/version.rb +1 -1
  413. data/src/ruby/pb/generate_proto_ruby.sh +5 -3
  414. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +11 -0
  415. data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +16 -0
  416. data/src/ruby/spec/debug_message_spec.rb +134 -0
  417. data/src/ruby/spec/generic/service_spec.rb +2 -0
  418. data/src/ruby/spec/pb/codegen/grpc/testing/package_options_import2.proto +23 -0
  419. data/src/ruby/spec/pb/codegen/grpc/testing/package_options_ruby_style.proto +7 -0
  420. data/src/ruby/spec/pb/codegen/package_option_spec.rb +7 -1
  421. data/src/ruby/spec/support/services.rb +10 -4
  422. data/src/ruby/spec/testdata/ca.pem +18 -13
  423. data/src/ruby/spec/testdata/client.key +26 -14
  424. data/src/ruby/spec/testdata/client.pem +18 -12
  425. data/src/ruby/spec/testdata/server1.key +26 -14
  426. data/src/ruby/spec/testdata/server1.pem +20 -14
  427. data/third_party/abseil-cpp/absl/base/attributes.h +1 -1
  428. data/third_party/abseil-cpp/absl/base/config.h +10 -4
  429. data/third_party/abseil-cpp/absl/base/internal/atomic_hook.h +30 -9
  430. data/third_party/abseil-cpp/absl/base/internal/errno_saver.h +43 -0
  431. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +7 -5
  432. data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +2 -1
  433. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +2 -2
  434. data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +2 -3
  435. data/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc +3 -3
  436. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +37 -0
  437. data/third_party/abseil-cpp/absl/base/options.h +2 -10
  438. data/third_party/abseil-cpp/absl/strings/charconv.cc +0 -1
  439. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +388 -0
  440. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +432 -0
  441. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +245 -0
  442. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +209 -0
  443. data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +326 -0
  444. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +51 -0
  445. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +415 -0
  446. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +493 -0
  447. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +23 -0
  448. data/third_party/abseil-cpp/absl/strings/internal/str_format/output.cc +72 -0
  449. data/third_party/abseil-cpp/absl/strings/internal/str_format/output.h +104 -0
  450. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +334 -0
  451. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +333 -0
  452. data/third_party/abseil-cpp/absl/strings/str_format.h +537 -0
  453. data/third_party/abseil-cpp/absl/strings/string_view.h +19 -11
  454. data/third_party/abseil-cpp/absl/time/civil_time.cc +175 -0
  455. data/third_party/abseil-cpp/absl/time/civil_time.h +538 -0
  456. data/third_party/abseil-cpp/absl/time/clock.cc +569 -0
  457. data/third_party/abseil-cpp/absl/time/clock.h +74 -0
  458. data/third_party/abseil-cpp/absl/time/duration.cc +922 -0
  459. data/third_party/abseil-cpp/absl/time/format.cc +153 -0
  460. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time.h +332 -0
  461. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +622 -0
  462. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +384 -0
  463. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h +102 -0
  464. data/third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc +94 -0
  465. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +140 -0
  466. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h +52 -0
  467. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +922 -0
  468. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +45 -0
  469. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +76 -0
  470. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +121 -0
  471. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +93 -0
  472. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +958 -0
  473. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +138 -0
  474. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +308 -0
  475. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +55 -0
  476. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +187 -0
  477. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +159 -0
  478. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h +132 -0
  479. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +122 -0
  480. data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +115 -0
  481. data/third_party/abseil-cpp/absl/time/internal/get_current_time_chrono.inc +31 -0
  482. data/third_party/abseil-cpp/absl/time/internal/get_current_time_posix.inc +24 -0
  483. data/third_party/abseil-cpp/absl/time/time.cc +499 -0
  484. data/third_party/abseil-cpp/absl/time/time.h +1584 -0
  485. data/{src/boringssl → third_party/boringssl-with-bazel}/err_data.c +329 -297
  486. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/a_bitstr.c +0 -0
  487. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/a_bool.c +0 -0
  488. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/a_d2i_fp.c +0 -0
  489. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/a_dup.c +0 -0
  490. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/a_enum.c +0 -0
  491. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/a_gentm.c +0 -0
  492. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/a_i2d_fp.c +0 -0
  493. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/a_int.c +0 -0
  494. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/a_mbstr.c +0 -0
  495. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/a_object.c +0 -0
  496. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/a_octet.c +0 -0
  497. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/a_print.c +0 -0
  498. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/a_strnid.c +0 -0
  499. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/a_time.c +3 -4
  500. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/a_type.c +0 -0
  501. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/a_utctm.c +0 -0
  502. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/a_utf8.c +0 -0
  503. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/asn1_lib.c +0 -0
  504. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/asn1_locl.h +0 -0
  505. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/asn1_par.c +0 -0
  506. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/asn_pack.c +0 -0
  507. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/f_enum.c +0 -0
  508. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/f_int.c +0 -0
  509. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/f_string.c +0 -0
  510. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/tasn_dec.c +0 -0
  511. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/tasn_enc.c +0 -0
  512. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/tasn_fre.c +0 -0
  513. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/tasn_new.c +0 -0
  514. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/tasn_typ.c +0 -0
  515. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/tasn_utl.c +0 -0
  516. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/asn1/time_support.c +0 -0
  517. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/base64/base64.c +0 -0
  518. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bio/bio.c +0 -0
  519. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bio/bio_mem.c +0 -0
  520. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bio/connect.c +3 -4
  521. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bio/fd.c +0 -1
  522. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bio/file.c +5 -6
  523. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bio/hexdump.c +0 -0
  524. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bio/internal.h +0 -0
  525. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bio/pair.c +0 -1
  526. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bio/printf.c +0 -0
  527. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bio/socket.c +0 -0
  528. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bio/socket_helper.c +0 -0
  529. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bn_extra/bn_asn1.c +0 -0
  530. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bn_extra/convert.c +0 -0
  531. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/buf/buf.c +10 -69
  532. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bytestring/asn1_compat.c +0 -0
  533. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bytestring/ber.c +0 -0
  534. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bytestring/cbb.c +41 -2
  535. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bytestring/cbs.c +60 -3
  536. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bytestring/internal.h +0 -0
  537. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/bytestring/unicode.c +0 -0
  538. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/chacha/chacha.c +0 -0
  539. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/chacha/internal.h +0 -0
  540. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cipher_extra/cipher_extra.c +0 -0
  541. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cipher_extra/derive_key.c +1 -1
  542. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cipher_extra/e_aesccm.c +0 -0
  543. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cipher_extra/e_aesctrhmac.c +0 -0
  544. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cipher_extra/e_aesgcmsiv.c +8 -0
  545. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cipher_extra/e_chacha20poly1305.c +0 -0
  546. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cipher_extra/e_null.c +0 -0
  547. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cipher_extra/e_rc2.c +0 -0
  548. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cipher_extra/e_rc4.c +0 -0
  549. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cipher_extra/e_tls.c +0 -0
  550. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cipher_extra/internal.h +0 -0
  551. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cipher_extra/tls_cbc.c +0 -0
  552. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cmac/cmac.c +0 -0
  553. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/conf/conf.c +0 -0
  554. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/conf/conf_def.h +0 -0
  555. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/conf/internal.h +0 -0
  556. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cpu-aarch64-fuchsia.c +0 -0
  557. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cpu-aarch64-linux.c +0 -0
  558. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cpu-arm-linux.c +7 -6
  559. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cpu-arm-linux.h +0 -0
  560. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cpu-arm.c +0 -0
  561. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cpu-intel.c +13 -4
  562. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/cpu-ppc64le.c +0 -0
  563. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/crypto.c +11 -0
  564. data/third_party/{boringssl/third_party/fiat → boringssl-with-bazel/src/crypto/curve25519}/curve25519.c +18 -26
  565. data/third_party/{boringssl/third_party/fiat → boringssl-with-bazel/src/crypto/curve25519}/curve25519_tables.h +13 -21
  566. data/third_party/{boringssl/third_party/fiat → boringssl-with-bazel/src/crypto/curve25519}/internal.h +14 -22
  567. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/curve25519/spake25519.c +1 -1
  568. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/dh/check.c +3 -3
  569. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/dh/dh.c +16 -2
  570. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/dh/dh_asn1.c +0 -0
  571. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/dh/params.c +0 -0
  572. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/digest_extra/digest_extra.c +0 -0
  573. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/dsa/dsa.c +10 -0
  574. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/dsa/dsa_asn1.c +0 -0
  575. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/ec_extra/ec_asn1.c +0 -0
  576. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/ec_extra/ec_derive.c +2 -3
  577. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +425 -0
  578. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +78 -0
  579. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/ecdh_extra/ecdh_extra.c +2 -2
  580. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/ecdsa_extra/ecdsa_asn1.c +0 -0
  581. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/engine/engine.c +0 -0
  582. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/err/err.c +39 -38
  583. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/err/internal.h +0 -0
  584. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/evp/digestsign.c +0 -0
  585. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/evp/evp.c +0 -0
  586. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/evp/evp_asn1.c +0 -0
  587. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/evp/evp_ctx.c +0 -0
  588. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/evp/internal.h +0 -0
  589. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/evp/p_dsa_asn1.c +0 -0
  590. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/evp/p_ec.c +0 -1
  591. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/evp/p_ec_asn1.c +0 -0
  592. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/evp/p_ed25519.c +0 -0
  593. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/evp/p_ed25519_asn1.c +0 -0
  594. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/evp/p_rsa.c +14 -2
  595. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/evp/p_rsa_asn1.c +0 -0
  596. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/evp/p_x25519.c +0 -0
  597. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/evp/p_x25519_asn1.c +1 -2
  598. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/evp/pbkdf.c +0 -0
  599. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/evp/print.c +0 -0
  600. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/evp/scrypt.c +0 -0
  601. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/evp/sign.c +0 -0
  602. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/ex_data.c +0 -0
  603. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.c +108 -0
  604. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.c +1282 -0
  605. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/aes/internal.h +5 -7
  606. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/aes/key_wrap.c +0 -0
  607. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/aes/mode_wrappers.c +0 -2
  608. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bcm.c +4 -1
  609. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/add.c +0 -0
  610. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/asm/x86_64-gcc.c +0 -0
  611. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/bn.c +0 -0
  612. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/bytes.c +0 -0
  613. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/cmp.c +0 -0
  614. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/ctx.c +0 -0
  615. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/div.c +0 -0
  616. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/div_extra.c +0 -0
  617. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/exponentiation.c +3 -3
  618. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/gcd.c +0 -0
  619. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/gcd_extra.c +0 -0
  620. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/generic.c +0 -0
  621. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/internal.h +14 -11
  622. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/jacobi.c +0 -0
  623. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/montgomery.c +8 -8
  624. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/montgomery_inv.c +0 -0
  625. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/mul.c +30 -154
  626. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/prime.c +11 -12
  627. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/random.c +0 -0
  628. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/rsaz_exp.c +0 -0
  629. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/rsaz_exp.h +0 -0
  630. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/shift.c +0 -0
  631. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/bn/sqrt.c +0 -0
  632. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/cipher/aead.c +0 -0
  633. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/cipher/cipher.c +0 -0
  634. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/cipher/e_aes.c +3 -5
  635. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/cipher/e_des.c +0 -0
  636. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/cipher/internal.h +0 -0
  637. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/delocate.h +0 -0
  638. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/des/des.c +0 -0
  639. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/des/internal.h +0 -0
  640. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/digest/digest.c +0 -0
  641. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/digest/digests.c +16 -0
  642. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/digest/internal.h +0 -0
  643. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/digest/md32_common.h +0 -0
  644. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/ec/ec.c +289 -117
  645. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/ec/ec_key.c +14 -28
  646. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/ec/ec_montgomery.c +96 -55
  647. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/ec/felem.c +25 -7
  648. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/ec/internal.h +432 -160
  649. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/ec/oct.c +63 -71
  650. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/ec/p224-64.c +5 -14
  651. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64-table.h +9497 -0
  652. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/ec/p256-x86_64.c +80 -99
  653. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/ec/p256-x86_64.h +0 -0
  654. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +736 -0
  655. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +297 -0
  656. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +175 -0
  657. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/ec/simple.c +125 -148
  658. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +270 -0
  659. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/ec/util.c +0 -0
  660. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/ec/wnaf.c +61 -18
  661. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/ecdh/ecdh.c +2 -2
  662. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/ecdsa/ecdsa.c +20 -5
  663. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/fips_shared_support.c +0 -0
  664. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/hmac/hmac.c +0 -0
  665. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/is_fips.c +0 -0
  666. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/md4/md4.c +0 -0
  667. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/md5/internal.h +0 -0
  668. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/md5/md5.c +0 -0
  669. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/modes/cbc.c +0 -0
  670. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/modes/cfb.c +0 -0
  671. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/modes/ctr.c +0 -0
  672. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/modes/gcm.c +45 -193
  673. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c +304 -0
  674. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/modes/internal.h +8 -18
  675. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/modes/ofb.c +0 -0
  676. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/modes/polyval.c +0 -0
  677. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/rand/ctrdrbg.c +0 -0
  678. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c +137 -0
  679. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.h +49 -0
  680. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/getrandom_fillin.h +64 -0
  681. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/rand/internal.h +41 -5
  682. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/rand/rand.c +32 -17
  683. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/rand/urandom.c +24 -114
  684. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/rsa/blinding.c +4 -0
  685. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/rsa/internal.h +1 -0
  686. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/rsa/padding.c +0 -0
  687. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/rsa/rsa.c +58 -39
  688. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/rsa/rsa_impl.c +72 -49
  689. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/self_check/self_check.c +0 -0
  690. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/sha/internal.h +0 -0
  691. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/sha/sha1-altivec.c +0 -0
  692. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/sha/sha1.c +0 -0
  693. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/sha/sha256.c +0 -0
  694. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/sha/sha512.c +44 -35
  695. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/tls/internal.h +0 -0
  696. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/fipsmodule/tls/kdf.c +0 -0
  697. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/hkdf/hkdf.c +0 -0
  698. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/hrss/hrss.c +210 -311
  699. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/hrss/internal.h +0 -1
  700. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/internal.h +21 -1
  701. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/lhash/lhash.c +0 -0
  702. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/mem.c +99 -12
  703. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/obj/obj.c +16 -21
  704. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/obj/obj_dat.h +41 -6
  705. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/obj/obj_xref.c +0 -0
  706. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/pem/pem_all.c +0 -0
  707. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/pem/pem_info.c +0 -1
  708. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/pem/pem_lib.c +7 -7
  709. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/pem/pem_oth.c +0 -1
  710. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/pem/pem_pk8.c +0 -1
  711. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/pem/pem_pkey.c +0 -1
  712. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/pem/pem_x509.c +0 -0
  713. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/pem/pem_xaux.c +0 -0
  714. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/pkcs7/internal.h +0 -0
  715. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/pkcs7/pkcs7.c +0 -0
  716. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/pkcs7/pkcs7_x509.c +1 -1
  717. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/pkcs8/internal.h +0 -0
  718. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/pkcs8/p5_pbev2.c +0 -0
  719. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/pkcs8/pkcs8.c +0 -0
  720. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/pkcs8/pkcs8_x509.c +0 -0
  721. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/poly1305/internal.h +0 -0
  722. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/poly1305/poly1305.c +2 -2
  723. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/poly1305/poly1305_arm.c +21 -20
  724. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/poly1305/poly1305_vec.c +34 -17
  725. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/pool/internal.h +0 -0
  726. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/pool/pool.c +1 -2
  727. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/rand_extra/deterministic.c +6 -10
  728. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/rand_extra/forkunsafe.c +0 -0
  729. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/rand_extra/fuchsia.c +0 -0
  730. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/rand_extra/rand_extra.c +0 -0
  731. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/rand_extra/windows.c +16 -0
  732. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/rc4/rc4.c +0 -0
  733. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/refcount_c11.c +0 -0
  734. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/refcount_lock.c +0 -0
  735. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/rsa_extra/rsa_asn1.c +0 -0
  736. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/rsa_extra/rsa_print.c +0 -0
  737. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/siphash/siphash.c +3 -1
  738. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/stack/stack.c +0 -0
  739. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/thread.c +0 -0
  740. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/thread_none.c +0 -0
  741. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/thread_pthread.c +4 -0
  742. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/thread_win.c +4 -0
  743. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +278 -0
  744. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +1474 -0
  745. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +720 -0
  746. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/a_digest.c +0 -0
  747. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/a_sign.c +0 -0
  748. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/a_strex.c +0 -0
  749. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/a_verify.c +0 -1
  750. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/algorithm.c +0 -0
  751. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/asn1_gen.c +0 -0
  752. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/by_dir.c +1 -1
  753. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/by_file.c +0 -1
  754. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/charmap.h +0 -0
  755. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/i2d_pr.c +0 -0
  756. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/internal.h +0 -0
  757. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/rsa_pss.c +0 -0
  758. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/t_crl.c +0 -0
  759. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/t_req.c +0 -0
  760. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/t_x509.c +0 -0
  761. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/t_x509a.c +0 -0
  762. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/vpm_int.h +0 -0
  763. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509.c +0 -0
  764. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509_att.c +0 -0
  765. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509_cmp.c +0 -1
  766. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509_d2.c +0 -0
  767. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509_def.c +0 -0
  768. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509_ext.c +0 -0
  769. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509_lu.c +0 -0
  770. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509_obj.c +1 -1
  771. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509_r2x.c +0 -1
  772. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509_req.c +0 -1
  773. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509_set.c +16 -0
  774. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509_trs.c +1 -2
  775. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509_txt.c +0 -0
  776. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509_v3.c +0 -0
  777. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509_vfy.c +5 -1
  778. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509_vpm.c +3 -4
  779. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509cset.c +0 -0
  780. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509name.c +4 -3
  781. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509rset.c +0 -0
  782. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x509spki.c +0 -0
  783. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_algor.c +0 -0
  784. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_all.c +0 -1
  785. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_attrib.c +0 -0
  786. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_crl.c +0 -0
  787. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_exten.c +0 -0
  788. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_info.c +0 -0
  789. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_name.c +0 -0
  790. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_pkey.c +0 -0
  791. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_pubkey.c +0 -0
  792. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_req.c +0 -0
  793. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_sig.c +0 -0
  794. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_spki.c +0 -0
  795. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_val.c +0 -0
  796. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_x509.c +0 -0
  797. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509/x_x509a.c +0 -0
  798. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/ext_dat.h +0 -0
  799. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/internal.h +0 -0
  800. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/pcy_cache.c +0 -0
  801. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/pcy_data.c +0 -0
  802. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/pcy_int.h +0 -0
  803. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/pcy_lib.c +0 -0
  804. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/pcy_map.c +0 -0
  805. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/pcy_node.c +0 -0
  806. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/pcy_tree.c +0 -0
  807. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_akey.c +0 -0
  808. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_akeya.c +0 -0
  809. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_alt.c +3 -3
  810. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_bcons.c +0 -0
  811. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_bitst.c +0 -0
  812. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_conf.c +0 -0
  813. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_cpols.c +0 -0
  814. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_crld.c +0 -0
  815. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_enum.c +2 -2
  816. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_extku.c +0 -0
  817. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_genn.c +0 -0
  818. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_ia5.c +0 -0
  819. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_info.c +4 -5
  820. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_int.c +0 -0
  821. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_lib.c +0 -0
  822. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_ncons.c +0 -0
  823. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_ocsp.c +0 -0
  824. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_pci.c +0 -0
  825. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_pcia.c +0 -0
  826. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_pcons.c +0 -0
  827. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_pku.c +0 -0
  828. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_pmaps.c +0 -0
  829. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_prn.c +0 -0
  830. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_purp.c +2 -3
  831. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_skey.c +0 -0
  832. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_sxnet.c +0 -0
  833. data/third_party/{boringssl → boringssl-with-bazel/src}/crypto/x509v3/v3_utl.c +11 -12
  834. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/aead.h +0 -0
  835. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/aes.h +0 -0
  836. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/arm_arch.h +0 -0
  837. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/asn1.h +0 -0
  838. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/asn1_mac.h +0 -0
  839. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/asn1t.h +0 -0
  840. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/base.h +5 -1
  841. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/base64.h +0 -0
  842. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/bio.h +0 -0
  843. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/blowfish.h +0 -0
  844. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/bn.h +32 -20
  845. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/buf.h +9 -9
  846. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/buffer.h +0 -0
  847. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/bytestring.h +34 -0
  848. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/cast.h +0 -0
  849. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/chacha.h +0 -0
  850. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/cipher.h +0 -0
  851. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/cmac.h +0 -0
  852. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/conf.h +0 -0
  853. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/cpu.h +0 -0
  854. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/crypto.h +9 -4
  855. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/curve25519.h +0 -0
  856. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/des.h +0 -0
  857. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/dh.h +20 -0
  858. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/digest.h +1 -0
  859. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/dsa.h +16 -0
  860. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/dtls1.h +0 -0
  861. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/e_os2.h +0 -0
  862. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/ec.h +11 -4
  863. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/ec_key.h +4 -2
  864. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/ecdh.h +0 -0
  865. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/ecdsa.h +6 -0
  866. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/engine.h +0 -0
  867. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/err.h +13 -9
  868. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/evp.h +20 -0
  869. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/ex_data.h +0 -0
  870. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/hkdf.h +0 -0
  871. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/hmac.h +0 -0
  872. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/hrss.h +0 -0
  873. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/is_boringssl.h +0 -0
  874. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/lhash.h +0 -0
  875. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/md4.h +0 -0
  876. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/md5.h +0 -0
  877. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/mem.h +17 -2
  878. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/nid.h +14 -0
  879. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/obj.h +0 -0
  880. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/obj_mac.h +0 -0
  881. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/objects.h +0 -0
  882. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/opensslconf.h +0 -0
  883. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/opensslv.h +0 -0
  884. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/ossl_typ.h +0 -0
  885. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/pem.h +0 -0
  886. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/pkcs12.h +0 -0
  887. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/pkcs7.h +0 -0
  888. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/pkcs8.h +0 -0
  889. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/poly1305.h +5 -7
  890. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/pool.h +0 -0
  891. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/rand.h +3 -17
  892. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/rc4.h +0 -0
  893. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/ripemd.h +0 -0
  894. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/rsa.h +31 -0
  895. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/safestack.h +0 -0
  896. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/sha.h +26 -0
  897. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/siphash.h +0 -0
  898. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/span.h +0 -0
  899. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/srtp.h +0 -0
  900. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/ssl.h +182 -97
  901. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/ssl3.h +0 -0
  902. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/stack.h +0 -0
  903. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/thread.h +0 -0
  904. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/tls1.h +1 -3
  905. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +291 -0
  906. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/type_check.h +0 -0
  907. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/x509.h +5 -3
  908. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/x509_vfy.h +1 -0
  909. data/third_party/{boringssl → boringssl-with-bazel/src}/include/openssl/x509v3.h +0 -0
  910. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/bio_ssl.cc +0 -0
  911. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/d1_both.cc +0 -5
  912. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/d1_lib.cc +3 -3
  913. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/d1_pkt.cc +0 -1
  914. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/d1_srtp.cc +0 -0
  915. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/dtls_method.cc +13 -5
  916. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/dtls_record.cc +0 -0
  917. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/handoff.cc +237 -51
  918. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/handshake.cc +19 -7
  919. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/handshake_client.cc +51 -32
  920. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/handshake_server.cc +12 -8
  921. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/internal.h +94 -71
  922. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/s3_both.cc +10 -10
  923. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/s3_lib.cc +4 -5
  924. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/s3_pkt.cc +21 -22
  925. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/ssl_aead_ctx.cc +0 -0
  926. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/ssl_asn1.cc +30 -2
  927. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/ssl_buffer.cc +34 -15
  928. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/ssl_cert.cc +4 -1
  929. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/ssl_cipher.cc +0 -1
  930. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/ssl_file.cc +0 -0
  931. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/ssl_key_share.cc +0 -0
  932. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/ssl_lib.cc +19 -15
  933. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/ssl_privkey.cc +13 -2
  934. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/ssl_session.cc +66 -6
  935. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/ssl_stat.cc +6 -0
  936. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/ssl_transcript.cc +0 -0
  937. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/ssl_versions.cc +1 -1
  938. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/ssl_x509.cc +0 -0
  939. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/t1_enc.cc +6 -2
  940. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/t1_lib.cc +53 -219
  941. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/tls13_both.cc +1 -1
  942. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/tls13_client.cc +101 -31
  943. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/tls13_enc.cc +28 -76
  944. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/tls13_server.cc +111 -104
  945. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/tls_method.cc +64 -26
  946. data/third_party/{boringssl → boringssl-with-bazel/src}/ssl/tls_record.cc +7 -2
  947. data/third_party/{boringssl → boringssl-with-bazel/src}/third_party/fiat/curve25519_32.h +245 -175
  948. data/third_party/{boringssl → boringssl-with-bazel/src}/third_party/fiat/curve25519_64.h +135 -75
  949. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +3147 -0
  950. data/third_party/{boringssl → boringssl-with-bazel/src}/third_party/fiat/p256_64.h +512 -503
  951. metadata +648 -499
  952. data/src/core/ext/filters/client_channel/lb_policy/xds/xds.cc +0 -1917
  953. data/src/core/lib/gprpp/inlined_vector.h +0 -246
  954. data/src/core/lib/gprpp/optional.h +0 -74
  955. data/src/core/lib/gprpp/string_view.h +0 -169
  956. data/src/core/lib/iomgr/logical_thread.cc +0 -103
  957. data/src/core/lib/iomgr/logical_thread.h +0 -52
  958. data/src/core/lib/json/json.cc +0 -94
  959. data/src/core/tsi/grpc_shadow_boringssl.h +0 -3297
  960. data/third_party/boringssl/crypto/fipsmodule/aes/aes.c +0 -860
  961. data/third_party/boringssl/crypto/fipsmodule/ec/p256-x86_64-table.h +0 -9501
  962. data/third_party/boringssl/crypto/fipsmodule/ec/scalar.c +0 -96
  963. data/third_party/boringssl/crypto/fipsmodule/ec/simple_mul.c +0 -84
  964. data/third_party/boringssl/third_party/fiat/p256.c +0 -1063
  965. data/third_party/boringssl/third_party/fiat/p256_32.h +0 -3226
@@ -59,7 +59,7 @@
59
59
  #include <assert.h>
60
60
  #include <string.h>
61
61
 
62
- #include <openssl/buf.h>
62
+ #include <openssl/err.h>
63
63
 
64
64
  #include "../crypto/internal.h"
65
65
  #include "internal.h"
@@ -67,62 +67,100 @@
67
67
 
68
68
  BSSL_NAMESPACE_BEGIN
69
69
 
70
- static void ssl3_on_handshake_complete(SSL *ssl) {
70
+ static void tls_on_handshake_complete(SSL *ssl) {
71
71
  // The handshake should have released its final message.
72
72
  assert(!ssl->s3->has_message);
73
73
 
74
74
  // During the handshake, |hs_buf| is retained. Release if it there is no
75
- // excess in it. There may be excess left if there server sent Finished and
76
- // HelloRequest in the same record.
77
- //
78
- // TODO(davidben): SChannel does not support this. Reject this case.
75
+ // excess in it. There should not be any excess because the handshake logic
76
+ // rejects unprocessed data after each Finished message. Note this means we do
77
+ // not allow a TLS 1.2 HelloRequest to be packed into the same record as
78
+ // Finished. (Schannel also rejects this.)
79
+ assert(!ssl->s3->hs_buf || ssl->s3->hs_buf->length == 0);
79
80
  if (ssl->s3->hs_buf && ssl->s3->hs_buf->length == 0) {
80
81
  ssl->s3->hs_buf.reset();
81
82
  }
82
83
  }
83
84
 
84
- static bool ssl3_set_read_state(SSL *ssl, UniquePtr<SSLAEADContext> aead_ctx) {
85
+ static bool tls_set_read_state(SSL *ssl, ssl_encryption_level_t level,
86
+ UniquePtr<SSLAEADContext> aead_ctx,
87
+ Span<const uint8_t> secret_for_quic) {
85
88
  // Cipher changes are forbidden if the current epoch has leftover data.
86
89
  if (tls_has_unprocessed_handshake_data(ssl)) {
87
- OPENSSL_PUT_ERROR(SSL, SSL_R_BUFFERED_MESSAGES_ON_CIPHER_CHANGE);
90
+ OPENSSL_PUT_ERROR(SSL, SSL_R_EXCESS_HANDSHAKE_DATA);
88
91
  ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_UNEXPECTED_MESSAGE);
89
92
  return false;
90
93
  }
91
94
 
95
+ if (ssl->quic_method != nullptr) {
96
+ if (!ssl->quic_method->set_read_secret(ssl, level, aead_ctx->cipher(),
97
+ secret_for_quic.data(),
98
+ secret_for_quic.size())) {
99
+ return false;
100
+ }
101
+
102
+ // QUIC only uses |ssl| for handshake messages, which never use early data
103
+ // keys, so we return without installing anything. This avoids needing to
104
+ // have two secrets active at once in 0-RTT.
105
+ if (level == ssl_encryption_early_data) {
106
+ return true;
107
+ }
108
+ }
109
+
92
110
  OPENSSL_memset(ssl->s3->read_sequence, 0, sizeof(ssl->s3->read_sequence));
93
111
  ssl->s3->aead_read_ctx = std::move(aead_ctx);
112
+ ssl->s3->read_level = level;
94
113
  return true;
95
114
  }
96
115
 
97
- static bool ssl3_set_write_state(SSL *ssl, UniquePtr<SSLAEADContext> aead_ctx) {
116
+ static bool tls_set_write_state(SSL *ssl, ssl_encryption_level_t level,
117
+ UniquePtr<SSLAEADContext> aead_ctx,
118
+ Span<const uint8_t> secret_for_quic) {
98
119
  if (!tls_flush_pending_hs_data(ssl)) {
99
120
  return false;
100
121
  }
101
122
 
123
+ if (ssl->quic_method != nullptr) {
124
+ if (!ssl->quic_method->set_write_secret(ssl, level, aead_ctx->cipher(),
125
+ secret_for_quic.data(),
126
+ secret_for_quic.size())) {
127
+ return false;
128
+ }
129
+
130
+ // QUIC only uses |ssl| for handshake messages, which never use early data
131
+ // keys, so we return without installing anything. This avoids needing to
132
+ // have two secrets active at once in 0-RTT.
133
+ if (level == ssl_encryption_early_data) {
134
+ return true;
135
+ }
136
+ }
137
+
102
138
  OPENSSL_memset(ssl->s3->write_sequence, 0, sizeof(ssl->s3->write_sequence));
103
139
  ssl->s3->aead_write_ctx = std::move(aead_ctx);
140
+ ssl->s3->write_level = level;
104
141
  return true;
105
142
  }
106
143
 
107
144
  static const SSL_PROTOCOL_METHOD kTLSProtocolMethod = {
108
145
  false /* is_dtls */,
109
- ssl3_new,
110
- ssl3_free,
111
- ssl3_get_message,
112
- ssl3_next_message,
113
- ssl3_open_handshake,
114
- ssl3_open_change_cipher_spec,
115
- ssl3_open_app_data,
116
- ssl3_write_app_data,
117
- ssl3_dispatch_alert,
118
- ssl3_init_message,
119
- ssl3_finish_message,
120
- ssl3_add_message,
121
- ssl3_add_change_cipher_spec,
122
- ssl3_flush_flight,
123
- ssl3_on_handshake_complete,
124
- ssl3_set_read_state,
125
- ssl3_set_write_state,
146
+ tls_new,
147
+ tls_free,
148
+ tls_get_message,
149
+ tls_next_message,
150
+ tls_has_unprocessed_handshake_data,
151
+ tls_open_handshake,
152
+ tls_open_change_cipher_spec,
153
+ tls_open_app_data,
154
+ tls_write_app_data,
155
+ tls_dispatch_alert,
156
+ tls_init_message,
157
+ tls_finish_message,
158
+ tls_add_message,
159
+ tls_add_change_cipher_spec,
160
+ tls_flush_flight,
161
+ tls_on_handshake_complete,
162
+ tls_set_read_state,
163
+ tls_set_write_state,
126
164
  };
127
165
 
128
166
  static bool ssl_noop_x509_check_client_CA_names(
@@ -566,9 +566,14 @@ enum ssl_open_record_t ssl_process_alert(SSL *ssl, uint8_t *out_alert,
566
566
  return ssl_open_record_close_notify;
567
567
  }
568
568
 
569
- // Warning alerts do not exist in TLS 1.3.
569
+ // Warning alerts do not exist in TLS 1.3, but RFC 8446 section 6.1
570
+ // continues to define user_canceled as a signal to cancel the handshake,
571
+ // without specifying how to handle it. JDK11 misuses it to signal
572
+ // full-duplex connection close after the handshake. As a workaround, skip
573
+ // user_canceled as in TLS 1.2. This matches NSS and OpenSSL.
570
574
  if (ssl->s3->have_version &&
571
- ssl_protocol_version(ssl) >= TLS1_3_VERSION) {
575
+ ssl_protocol_version(ssl) >= TLS1_3_VERSION &&
576
+ alert_descr != SSL_AD_USER_CANCELLED) {
572
577
  *out_alert = SSL_AD_DECODE_ERROR;
573
578
  OPENSSL_PUT_ERROR(SSL, SSL_R_BAD_ALERT);
574
579
  return ssl_open_record_error;
@@ -1,17 +1,28 @@
1
- /* Autogenerated */
1
+ /* Autogenerated: src/ExtractionOCaml/unsaturated_solinas --static 25519 10 '2^255 - 19' 32 carry_mul carry_square carry add sub opp selectznz to_bytes from_bytes carry_scmul121666 */
2
2
  /* curve description: 25519 */
3
- /* requested operations: carry_mul, carry_square, carry_scmul121666, carry, add, sub, opp, selectznz, to_bytes, from_bytes */
3
+ /* requested operations: carry_mul, carry_square, carry, add, sub, opp, selectznz, to_bytes, from_bytes, carry_scmul121666 */
4
4
  /* n = 10 (from "10") */
5
- /* s = 0x8000000000000000000000000000000000000000000000000000000000000000 (from "2^255") */
6
- /* c = [(1, 19)] (from "1,19") */
5
+ /* s-c = 2^255 - [(1, 19)] (from "2^255 - 19") */
7
6
  /* machine_wordsize = 32 (from "32") */
8
7
 
8
+ /* Computed values: */
9
+ /* carry_chain = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1] */
10
+
9
11
  #include <stdint.h>
10
12
  typedef unsigned char fiat_25519_uint1;
11
13
  typedef signed char fiat_25519_int1;
12
14
 
15
+ #if (-1 & 3) != 3
16
+ #error "This code only works on a two's complement system"
17
+ #endif
18
+
13
19
 
14
20
  /*
21
+ * The function fiat_25519_addcarryx_u26 is an addition with carry.
22
+ * Postconditions:
23
+ * out1 = (arg1 + arg2 + arg3) mod 2^26
24
+ * out2 = ⌊(arg1 + arg2 + arg3) / 2^26⌋
25
+ *
15
26
  * Input Bounds:
16
27
  * arg1: [0x0 ~> 0x1]
17
28
  * arg2: [0x0 ~> 0x3ffffff]
@@ -29,6 +40,11 @@ static void fiat_25519_addcarryx_u26(uint32_t* out1, fiat_25519_uint1* out2, fia
29
40
  }
30
41
 
31
42
  /*
43
+ * The function fiat_25519_subborrowx_u26 is a subtraction with borrow.
44
+ * Postconditions:
45
+ * out1 = (-arg1 + arg2 + -arg3) mod 2^26
46
+ * out2 = -⌊(-arg1 + arg2 + -arg3) / 2^26⌋
47
+ *
32
48
  * Input Bounds:
33
49
  * arg1: [0x0 ~> 0x1]
34
50
  * arg2: [0x0 ~> 0x3ffffff]
@@ -46,6 +62,11 @@ static void fiat_25519_subborrowx_u26(uint32_t* out1, fiat_25519_uint1* out2, fi
46
62
  }
47
63
 
48
64
  /*
65
+ * The function fiat_25519_addcarryx_u25 is an addition with carry.
66
+ * Postconditions:
67
+ * out1 = (arg1 + arg2 + arg3) mod 2^25
68
+ * out2 = ⌊(arg1 + arg2 + arg3) / 2^25⌋
69
+ *
49
70
  * Input Bounds:
50
71
  * arg1: [0x0 ~> 0x1]
51
72
  * arg2: [0x0 ~> 0x1ffffff]
@@ -63,6 +84,11 @@ static void fiat_25519_addcarryx_u25(uint32_t* out1, fiat_25519_uint1* out2, fia
63
84
  }
64
85
 
65
86
  /*
87
+ * The function fiat_25519_subborrowx_u25 is a subtraction with borrow.
88
+ * Postconditions:
89
+ * out1 = (-arg1 + arg2 + -arg3) mod 2^25
90
+ * out2 = -⌊(-arg1 + arg2 + -arg3) / 2^25⌋
91
+ *
66
92
  * Input Bounds:
67
93
  * arg1: [0x0 ~> 0x1]
68
94
  * arg2: [0x0 ~> 0x1ffffff]
@@ -80,6 +106,10 @@ static void fiat_25519_subborrowx_u25(uint32_t* out1, fiat_25519_uint1* out2, fi
80
106
  }
81
107
 
82
108
  /*
109
+ * The function fiat_25519_cmovznz_u32 is a single-word conditional move.
110
+ * Postconditions:
111
+ * out1 = (if arg1 = 0 then arg2 else arg3)
112
+ *
83
113
  * Input Bounds:
84
114
  * arg1: [0x0 ~> 0x1]
85
115
  * arg2: [0x0 ~> 0xffffffff]
@@ -101,6 +131,10 @@ static void fiat_25519_cmovznz_u32(uint32_t* out1, fiat_25519_uint1 arg1, uint32
101
131
  }
102
132
 
103
133
  /*
134
+ * The function fiat_25519_carry_mul multiplies two field elements and reduces the result.
135
+ * Postconditions:
136
+ * eval out1 mod m = (eval arg1 * eval arg2) mod m
137
+ *
104
138
  * Input Bounds:
105
139
  * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]]
106
140
  * arg2: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]]
@@ -108,65 +142,65 @@ static void fiat_25519_cmovznz_u32(uint32_t* out1, fiat_25519_uint1 arg1, uint32
108
142
  * out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]]
109
143
  */
110
144
  static void fiat_25519_carry_mul(uint32_t out1[10], const uint32_t arg1[10], const uint32_t arg2[10]) {
111
- uint64_t x1 = ((uint64_t)(arg1[9]) * ((arg2[9]) * ((uint32_t)0x2 * UINT8_C(0x13))));
112
- uint64_t x2 = ((uint64_t)(arg1[9]) * ((arg2[8]) * (uint32_t)UINT8_C(0x13)));
113
- uint64_t x3 = ((uint64_t)(arg1[9]) * ((arg2[7]) * ((uint32_t)0x2 * UINT8_C(0x13))));
114
- uint64_t x4 = ((uint64_t)(arg1[9]) * ((arg2[6]) * (uint32_t)UINT8_C(0x13)));
115
- uint64_t x5 = ((uint64_t)(arg1[9]) * ((arg2[5]) * ((uint32_t)0x2 * UINT8_C(0x13))));
116
- uint64_t x6 = ((uint64_t)(arg1[9]) * ((arg2[4]) * (uint32_t)UINT8_C(0x13)));
117
- uint64_t x7 = ((uint64_t)(arg1[9]) * ((arg2[3]) * ((uint32_t)0x2 * UINT8_C(0x13))));
118
- uint64_t x8 = ((uint64_t)(arg1[9]) * ((arg2[2]) * (uint32_t)UINT8_C(0x13)));
119
- uint64_t x9 = ((uint64_t)(arg1[9]) * ((arg2[1]) * ((uint32_t)0x2 * UINT8_C(0x13))));
120
- uint64_t x10 = ((uint64_t)(arg1[8]) * ((arg2[9]) * (uint32_t)UINT8_C(0x13)));
121
- uint64_t x11 = ((uint64_t)(arg1[8]) * ((arg2[8]) * (uint32_t)UINT8_C(0x13)));
122
- uint64_t x12 = ((uint64_t)(arg1[8]) * ((arg2[7]) * (uint32_t)UINT8_C(0x13)));
123
- uint64_t x13 = ((uint64_t)(arg1[8]) * ((arg2[6]) * (uint32_t)UINT8_C(0x13)));
124
- uint64_t x14 = ((uint64_t)(arg1[8]) * ((arg2[5]) * (uint32_t)UINT8_C(0x13)));
125
- uint64_t x15 = ((uint64_t)(arg1[8]) * ((arg2[4]) * (uint32_t)UINT8_C(0x13)));
126
- uint64_t x16 = ((uint64_t)(arg1[8]) * ((arg2[3]) * (uint32_t)UINT8_C(0x13)));
127
- uint64_t x17 = ((uint64_t)(arg1[8]) * ((arg2[2]) * (uint32_t)UINT8_C(0x13)));
128
- uint64_t x18 = ((uint64_t)(arg1[7]) * ((arg2[9]) * ((uint32_t)0x2 * UINT8_C(0x13))));
129
- uint64_t x19 = ((uint64_t)(arg1[7]) * ((arg2[8]) * (uint32_t)UINT8_C(0x13)));
130
- uint64_t x20 = ((uint64_t)(arg1[7]) * ((arg2[7]) * ((uint32_t)0x2 * UINT8_C(0x13))));
131
- uint64_t x21 = ((uint64_t)(arg1[7]) * ((arg2[6]) * (uint32_t)UINT8_C(0x13)));
132
- uint64_t x22 = ((uint64_t)(arg1[7]) * ((arg2[5]) * ((uint32_t)0x2 * UINT8_C(0x13))));
133
- uint64_t x23 = ((uint64_t)(arg1[7]) * ((arg2[4]) * (uint32_t)UINT8_C(0x13)));
134
- uint64_t x24 = ((uint64_t)(arg1[7]) * ((arg2[3]) * ((uint32_t)0x2 * UINT8_C(0x13))));
135
- uint64_t x25 = ((uint64_t)(arg1[6]) * ((arg2[9]) * (uint32_t)UINT8_C(0x13)));
136
- uint64_t x26 = ((uint64_t)(arg1[6]) * ((arg2[8]) * (uint32_t)UINT8_C(0x13)));
137
- uint64_t x27 = ((uint64_t)(arg1[6]) * ((arg2[7]) * (uint32_t)UINT8_C(0x13)));
138
- uint64_t x28 = ((uint64_t)(arg1[6]) * ((arg2[6]) * (uint32_t)UINT8_C(0x13)));
139
- uint64_t x29 = ((uint64_t)(arg1[6]) * ((arg2[5]) * (uint32_t)UINT8_C(0x13)));
140
- uint64_t x30 = ((uint64_t)(arg1[6]) * ((arg2[4]) * (uint32_t)UINT8_C(0x13)));
141
- uint64_t x31 = ((uint64_t)(arg1[5]) * ((arg2[9]) * ((uint32_t)0x2 * UINT8_C(0x13))));
142
- uint64_t x32 = ((uint64_t)(arg1[5]) * ((arg2[8]) * (uint32_t)UINT8_C(0x13)));
143
- uint64_t x33 = ((uint64_t)(arg1[5]) * ((arg2[7]) * ((uint32_t)0x2 * UINT8_C(0x13))));
144
- uint64_t x34 = ((uint64_t)(arg1[5]) * ((arg2[6]) * (uint32_t)UINT8_C(0x13)));
145
- uint64_t x35 = ((uint64_t)(arg1[5]) * ((arg2[5]) * ((uint32_t)0x2 * UINT8_C(0x13))));
146
- uint64_t x36 = ((uint64_t)(arg1[4]) * ((arg2[9]) * (uint32_t)UINT8_C(0x13)));
147
- uint64_t x37 = ((uint64_t)(arg1[4]) * ((arg2[8]) * (uint32_t)UINT8_C(0x13)));
148
- uint64_t x38 = ((uint64_t)(arg1[4]) * ((arg2[7]) * (uint32_t)UINT8_C(0x13)));
149
- uint64_t x39 = ((uint64_t)(arg1[4]) * ((arg2[6]) * (uint32_t)UINT8_C(0x13)));
150
- uint64_t x40 = ((uint64_t)(arg1[3]) * ((arg2[9]) * ((uint32_t)0x2 * UINT8_C(0x13))));
151
- uint64_t x41 = ((uint64_t)(arg1[3]) * ((arg2[8]) * (uint32_t)UINT8_C(0x13)));
152
- uint64_t x42 = ((uint64_t)(arg1[3]) * ((arg2[7]) * ((uint32_t)0x2 * UINT8_C(0x13))));
153
- uint64_t x43 = ((uint64_t)(arg1[2]) * ((arg2[9]) * (uint32_t)UINT8_C(0x13)));
154
- uint64_t x44 = ((uint64_t)(arg1[2]) * ((arg2[8]) * (uint32_t)UINT8_C(0x13)));
155
- uint64_t x45 = ((uint64_t)(arg1[1]) * ((arg2[9]) * ((uint32_t)0x2 * UINT8_C(0x13))));
145
+ uint64_t x1 = ((uint64_t)(arg1[9]) * ((arg2[9]) * UINT8_C(0x26)));
146
+ uint64_t x2 = ((uint64_t)(arg1[9]) * ((arg2[8]) * UINT8_C(0x13)));
147
+ uint64_t x3 = ((uint64_t)(arg1[9]) * ((arg2[7]) * UINT8_C(0x26)));
148
+ uint64_t x4 = ((uint64_t)(arg1[9]) * ((arg2[6]) * UINT8_C(0x13)));
149
+ uint64_t x5 = ((uint64_t)(arg1[9]) * ((arg2[5]) * UINT8_C(0x26)));
150
+ uint64_t x6 = ((uint64_t)(arg1[9]) * ((arg2[4]) * UINT8_C(0x13)));
151
+ uint64_t x7 = ((uint64_t)(arg1[9]) * ((arg2[3]) * UINT8_C(0x26)));
152
+ uint64_t x8 = ((uint64_t)(arg1[9]) * ((arg2[2]) * UINT8_C(0x13)));
153
+ uint64_t x9 = ((uint64_t)(arg1[9]) * ((arg2[1]) * UINT8_C(0x26)));
154
+ uint64_t x10 = ((uint64_t)(arg1[8]) * ((arg2[9]) * UINT8_C(0x13)));
155
+ uint64_t x11 = ((uint64_t)(arg1[8]) * ((arg2[8]) * UINT8_C(0x13)));
156
+ uint64_t x12 = ((uint64_t)(arg1[8]) * ((arg2[7]) * UINT8_C(0x13)));
157
+ uint64_t x13 = ((uint64_t)(arg1[8]) * ((arg2[6]) * UINT8_C(0x13)));
158
+ uint64_t x14 = ((uint64_t)(arg1[8]) * ((arg2[5]) * UINT8_C(0x13)));
159
+ uint64_t x15 = ((uint64_t)(arg1[8]) * ((arg2[4]) * UINT8_C(0x13)));
160
+ uint64_t x16 = ((uint64_t)(arg1[8]) * ((arg2[3]) * UINT8_C(0x13)));
161
+ uint64_t x17 = ((uint64_t)(arg1[8]) * ((arg2[2]) * UINT8_C(0x13)));
162
+ uint64_t x18 = ((uint64_t)(arg1[7]) * ((arg2[9]) * UINT8_C(0x26)));
163
+ uint64_t x19 = ((uint64_t)(arg1[7]) * ((arg2[8]) * UINT8_C(0x13)));
164
+ uint64_t x20 = ((uint64_t)(arg1[7]) * ((arg2[7]) * UINT8_C(0x26)));
165
+ uint64_t x21 = ((uint64_t)(arg1[7]) * ((arg2[6]) * UINT8_C(0x13)));
166
+ uint64_t x22 = ((uint64_t)(arg1[7]) * ((arg2[5]) * UINT8_C(0x26)));
167
+ uint64_t x23 = ((uint64_t)(arg1[7]) * ((arg2[4]) * UINT8_C(0x13)));
168
+ uint64_t x24 = ((uint64_t)(arg1[7]) * ((arg2[3]) * UINT8_C(0x26)));
169
+ uint64_t x25 = ((uint64_t)(arg1[6]) * ((arg2[9]) * UINT8_C(0x13)));
170
+ uint64_t x26 = ((uint64_t)(arg1[6]) * ((arg2[8]) * UINT8_C(0x13)));
171
+ uint64_t x27 = ((uint64_t)(arg1[6]) * ((arg2[7]) * UINT8_C(0x13)));
172
+ uint64_t x28 = ((uint64_t)(arg1[6]) * ((arg2[6]) * UINT8_C(0x13)));
173
+ uint64_t x29 = ((uint64_t)(arg1[6]) * ((arg2[5]) * UINT8_C(0x13)));
174
+ uint64_t x30 = ((uint64_t)(arg1[6]) * ((arg2[4]) * UINT8_C(0x13)));
175
+ uint64_t x31 = ((uint64_t)(arg1[5]) * ((arg2[9]) * UINT8_C(0x26)));
176
+ uint64_t x32 = ((uint64_t)(arg1[5]) * ((arg2[8]) * UINT8_C(0x13)));
177
+ uint64_t x33 = ((uint64_t)(arg1[5]) * ((arg2[7]) * UINT8_C(0x26)));
178
+ uint64_t x34 = ((uint64_t)(arg1[5]) * ((arg2[6]) * UINT8_C(0x13)));
179
+ uint64_t x35 = ((uint64_t)(arg1[5]) * ((arg2[5]) * UINT8_C(0x26)));
180
+ uint64_t x36 = ((uint64_t)(arg1[4]) * ((arg2[9]) * UINT8_C(0x13)));
181
+ uint64_t x37 = ((uint64_t)(arg1[4]) * ((arg2[8]) * UINT8_C(0x13)));
182
+ uint64_t x38 = ((uint64_t)(arg1[4]) * ((arg2[7]) * UINT8_C(0x13)));
183
+ uint64_t x39 = ((uint64_t)(arg1[4]) * ((arg2[6]) * UINT8_C(0x13)));
184
+ uint64_t x40 = ((uint64_t)(arg1[3]) * ((arg2[9]) * UINT8_C(0x26)));
185
+ uint64_t x41 = ((uint64_t)(arg1[3]) * ((arg2[8]) * UINT8_C(0x13)));
186
+ uint64_t x42 = ((uint64_t)(arg1[3]) * ((arg2[7]) * UINT8_C(0x26)));
187
+ uint64_t x43 = ((uint64_t)(arg1[2]) * ((arg2[9]) * UINT8_C(0x13)));
188
+ uint64_t x44 = ((uint64_t)(arg1[2]) * ((arg2[8]) * UINT8_C(0x13)));
189
+ uint64_t x45 = ((uint64_t)(arg1[1]) * ((arg2[9]) * UINT8_C(0x26)));
156
190
  uint64_t x46 = ((uint64_t)(arg1[9]) * (arg2[0]));
157
191
  uint64_t x47 = ((uint64_t)(arg1[8]) * (arg2[1]));
158
192
  uint64_t x48 = ((uint64_t)(arg1[8]) * (arg2[0]));
159
193
  uint64_t x49 = ((uint64_t)(arg1[7]) * (arg2[2]));
160
- uint64_t x50 = ((uint64_t)(arg1[7]) * ((arg2[1]) * (uint32_t)0x2));
194
+ uint64_t x50 = ((uint64_t)(arg1[7]) * ((arg2[1]) * 0x2));
161
195
  uint64_t x51 = ((uint64_t)(arg1[7]) * (arg2[0]));
162
196
  uint64_t x52 = ((uint64_t)(arg1[6]) * (arg2[3]));
163
197
  uint64_t x53 = ((uint64_t)(arg1[6]) * (arg2[2]));
164
198
  uint64_t x54 = ((uint64_t)(arg1[6]) * (arg2[1]));
165
199
  uint64_t x55 = ((uint64_t)(arg1[6]) * (arg2[0]));
166
200
  uint64_t x56 = ((uint64_t)(arg1[5]) * (arg2[4]));
167
- uint64_t x57 = ((uint64_t)(arg1[5]) * ((arg2[3]) * (uint32_t)0x2));
201
+ uint64_t x57 = ((uint64_t)(arg1[5]) * ((arg2[3]) * 0x2));
168
202
  uint64_t x58 = ((uint64_t)(arg1[5]) * (arg2[2]));
169
- uint64_t x59 = ((uint64_t)(arg1[5]) * ((arg2[1]) * (uint32_t)0x2));
203
+ uint64_t x59 = ((uint64_t)(arg1[5]) * ((arg2[1]) * 0x2));
170
204
  uint64_t x60 = ((uint64_t)(arg1[5]) * (arg2[0]));
171
205
  uint64_t x61 = ((uint64_t)(arg1[4]) * (arg2[5]));
172
206
  uint64_t x62 = ((uint64_t)(arg1[4]) * (arg2[4]));
@@ -175,11 +209,11 @@ static void fiat_25519_carry_mul(uint32_t out1[10], const uint32_t arg1[10], con
175
209
  uint64_t x65 = ((uint64_t)(arg1[4]) * (arg2[1]));
176
210
  uint64_t x66 = ((uint64_t)(arg1[4]) * (arg2[0]));
177
211
  uint64_t x67 = ((uint64_t)(arg1[3]) * (arg2[6]));
178
- uint64_t x68 = ((uint64_t)(arg1[3]) * ((arg2[5]) * (uint32_t)0x2));
212
+ uint64_t x68 = ((uint64_t)(arg1[3]) * ((arg2[5]) * 0x2));
179
213
  uint64_t x69 = ((uint64_t)(arg1[3]) * (arg2[4]));
180
- uint64_t x70 = ((uint64_t)(arg1[3]) * ((arg2[3]) * (uint32_t)0x2));
214
+ uint64_t x70 = ((uint64_t)(arg1[3]) * ((arg2[3]) * 0x2));
181
215
  uint64_t x71 = ((uint64_t)(arg1[3]) * (arg2[2]));
182
- uint64_t x72 = ((uint64_t)(arg1[3]) * ((arg2[1]) * (uint32_t)0x2));
216
+ uint64_t x72 = ((uint64_t)(arg1[3]) * ((arg2[1]) * 0x2));
183
217
  uint64_t x73 = ((uint64_t)(arg1[3]) * (arg2[0]));
184
218
  uint64_t x74 = ((uint64_t)(arg1[2]) * (arg2[7]));
185
219
  uint64_t x75 = ((uint64_t)(arg1[2]) * (arg2[6]));
@@ -190,13 +224,13 @@ static void fiat_25519_carry_mul(uint32_t out1[10], const uint32_t arg1[10], con
190
224
  uint64_t x80 = ((uint64_t)(arg1[2]) * (arg2[1]));
191
225
  uint64_t x81 = ((uint64_t)(arg1[2]) * (arg2[0]));
192
226
  uint64_t x82 = ((uint64_t)(arg1[1]) * (arg2[8]));
193
- uint64_t x83 = ((uint64_t)(arg1[1]) * ((arg2[7]) * (uint32_t)0x2));
227
+ uint64_t x83 = ((uint64_t)(arg1[1]) * ((arg2[7]) * 0x2));
194
228
  uint64_t x84 = ((uint64_t)(arg1[1]) * (arg2[6]));
195
- uint64_t x85 = ((uint64_t)(arg1[1]) * ((arg2[5]) * (uint32_t)0x2));
229
+ uint64_t x85 = ((uint64_t)(arg1[1]) * ((arg2[5]) * 0x2));
196
230
  uint64_t x86 = ((uint64_t)(arg1[1]) * (arg2[4]));
197
- uint64_t x87 = ((uint64_t)(arg1[1]) * ((arg2[3]) * (uint32_t)0x2));
231
+ uint64_t x87 = ((uint64_t)(arg1[1]) * ((arg2[3]) * 0x2));
198
232
  uint64_t x88 = ((uint64_t)(arg1[1]) * (arg2[2]));
199
- uint64_t x89 = ((uint64_t)(arg1[1]) * ((arg2[1]) * (uint32_t)0x2));
233
+ uint64_t x89 = ((uint64_t)(arg1[1]) * ((arg2[1]) * 0x2));
200
234
  uint64_t x90 = ((uint64_t)(arg1[1]) * (arg2[0]));
201
235
  uint64_t x91 = ((uint64_t)(arg1[0]) * (arg2[9]));
202
236
  uint64_t x92 = ((uint64_t)(arg1[0]) * (arg2[8]));
@@ -247,12 +281,12 @@ static void fiat_25519_carry_mul(uint32_t out1[10], const uint32_t arg1[10], con
247
281
  uint64_t x137 = (x135 + x104);
248
282
  uint64_t x138 = (x137 >> 25);
249
283
  uint32_t x139 = (uint32_t)(x137 & UINT32_C(0x1ffffff));
250
- uint64_t x140 = (x138 * (uint64_t)UINT8_C(0x13));
284
+ uint64_t x140 = (x138 * UINT8_C(0x13));
251
285
  uint64_t x141 = (x103 + x140);
252
286
  uint32_t x142 = (uint32_t)(x141 >> 26);
253
287
  uint32_t x143 = (uint32_t)(x141 & UINT32_C(0x3ffffff));
254
288
  uint32_t x144 = (x142 + x115);
255
- uint32_t x145 = (x144 >> 25);
289
+ fiat_25519_uint1 x145 = (fiat_25519_uint1)(x144 >> 25);
256
290
  uint32_t x146 = (x144 & UINT32_C(0x1ffffff));
257
291
  uint32_t x147 = (x145 + x118);
258
292
  out1[0] = x143;
@@ -268,58 +302,62 @@ static void fiat_25519_carry_mul(uint32_t out1[10], const uint32_t arg1[10], con
268
302
  }
269
303
 
270
304
  /*
305
+ * The function fiat_25519_carry_square squares a field element and reduces the result.
306
+ * Postconditions:
307
+ * eval out1 mod m = (eval arg1 * eval arg1) mod m
308
+ *
271
309
  * Input Bounds:
272
310
  * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]]
273
311
  * Output Bounds:
274
312
  * out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]]
275
313
  */
276
314
  static void fiat_25519_carry_square(uint32_t out1[10], const uint32_t arg1[10]) {
277
- uint32_t x1 = ((arg1[9]) * (uint32_t)UINT8_C(0x13));
278
- uint32_t x2 = (x1 * (uint32_t)0x2);
279
- uint32_t x3 = ((arg1[9]) * (uint32_t)0x2);
280
- uint32_t x4 = ((arg1[8]) * (uint32_t)UINT8_C(0x13));
281
- uint64_t x5 = (x4 * (uint64_t)0x2);
282
- uint32_t x6 = ((arg1[8]) * (uint32_t)0x2);
283
- uint32_t x7 = ((arg1[7]) * (uint32_t)UINT8_C(0x13));
284
- uint32_t x8 = (x7 * (uint32_t)0x2);
285
- uint32_t x9 = ((arg1[7]) * (uint32_t)0x2);
286
- uint32_t x10 = ((arg1[6]) * (uint32_t)UINT8_C(0x13));
287
- uint64_t x11 = (x10 * (uint64_t)0x2);
288
- uint32_t x12 = ((arg1[6]) * (uint32_t)0x2);
289
- uint32_t x13 = ((arg1[5]) * (uint32_t)UINT8_C(0x13));
290
- uint32_t x14 = ((arg1[5]) * (uint32_t)0x2);
291
- uint32_t x15 = ((arg1[4]) * (uint32_t)0x2);
292
- uint32_t x16 = ((arg1[3]) * (uint32_t)0x2);
293
- uint32_t x17 = ((arg1[2]) * (uint32_t)0x2);
294
- uint32_t x18 = ((arg1[1]) * (uint32_t)0x2);
295
- uint64_t x19 = ((uint64_t)(arg1[9]) * (x1 * (uint32_t)0x2));
315
+ uint32_t x1 = ((arg1[9]) * UINT8_C(0x13));
316
+ uint32_t x2 = (x1 * 0x2);
317
+ uint32_t x3 = ((arg1[9]) * 0x2);
318
+ uint32_t x4 = ((arg1[8]) * UINT8_C(0x13));
319
+ uint64_t x5 = ((uint64_t)x4 * 0x2);
320
+ uint32_t x6 = ((arg1[8]) * 0x2);
321
+ uint32_t x7 = ((arg1[7]) * UINT8_C(0x13));
322
+ uint32_t x8 = (x7 * 0x2);
323
+ uint32_t x9 = ((arg1[7]) * 0x2);
324
+ uint32_t x10 = ((arg1[6]) * UINT8_C(0x13));
325
+ uint64_t x11 = ((uint64_t)x10 * 0x2);
326
+ uint32_t x12 = ((arg1[6]) * 0x2);
327
+ uint32_t x13 = ((arg1[5]) * UINT8_C(0x13));
328
+ uint32_t x14 = ((arg1[5]) * 0x2);
329
+ uint32_t x15 = ((arg1[4]) * 0x2);
330
+ uint32_t x16 = ((arg1[3]) * 0x2);
331
+ uint32_t x17 = ((arg1[2]) * 0x2);
332
+ uint32_t x18 = ((arg1[1]) * 0x2);
333
+ uint64_t x19 = ((uint64_t)(arg1[9]) * (x1 * 0x2));
296
334
  uint64_t x20 = ((uint64_t)(arg1[8]) * x2);
297
335
  uint64_t x21 = ((uint64_t)(arg1[8]) * x4);
298
- uint64_t x22 = ((arg1[7]) * (x2 * (uint64_t)0x2));
336
+ uint64_t x22 = ((arg1[7]) * ((uint64_t)x2 * 0x2));
299
337
  uint64_t x23 = ((arg1[7]) * x5);
300
- uint64_t x24 = ((uint64_t)(arg1[7]) * (x7 * (uint32_t)0x2));
338
+ uint64_t x24 = ((uint64_t)(arg1[7]) * (x7 * 0x2));
301
339
  uint64_t x25 = ((uint64_t)(arg1[6]) * x2);
302
340
  uint64_t x26 = ((arg1[6]) * x5);
303
341
  uint64_t x27 = ((uint64_t)(arg1[6]) * x8);
304
342
  uint64_t x28 = ((uint64_t)(arg1[6]) * x10);
305
- uint64_t x29 = ((arg1[5]) * (x2 * (uint64_t)0x2));
343
+ uint64_t x29 = ((arg1[5]) * ((uint64_t)x2 * 0x2));
306
344
  uint64_t x30 = ((arg1[5]) * x5);
307
- uint64_t x31 = ((arg1[5]) * (x8 * (uint64_t)0x2));
345
+ uint64_t x31 = ((arg1[5]) * ((uint64_t)x8 * 0x2));
308
346
  uint64_t x32 = ((arg1[5]) * x11);
309
- uint64_t x33 = ((uint64_t)(arg1[5]) * (x13 * (uint32_t)0x2));
347
+ uint64_t x33 = ((uint64_t)(arg1[5]) * (x13 * 0x2));
310
348
  uint64_t x34 = ((uint64_t)(arg1[4]) * x2);
311
349
  uint64_t x35 = ((arg1[4]) * x5);
312
350
  uint64_t x36 = ((uint64_t)(arg1[4]) * x8);
313
351
  uint64_t x37 = ((arg1[4]) * x11);
314
352
  uint64_t x38 = ((uint64_t)(arg1[4]) * x14);
315
353
  uint64_t x39 = ((uint64_t)(arg1[4]) * (arg1[4]));
316
- uint64_t x40 = ((arg1[3]) * (x2 * (uint64_t)0x2));
354
+ uint64_t x40 = ((arg1[3]) * ((uint64_t)x2 * 0x2));
317
355
  uint64_t x41 = ((arg1[3]) * x5);
318
- uint64_t x42 = ((arg1[3]) * (x8 * (uint64_t)0x2));
356
+ uint64_t x42 = ((arg1[3]) * ((uint64_t)x8 * 0x2));
319
357
  uint64_t x43 = ((uint64_t)(arg1[3]) * x12);
320
- uint64_t x44 = ((uint64_t)(arg1[3]) * (x14 * (uint32_t)0x2));
358
+ uint64_t x44 = ((uint64_t)(arg1[3]) * (x14 * 0x2));
321
359
  uint64_t x45 = ((uint64_t)(arg1[3]) * x15);
322
- uint64_t x46 = ((uint64_t)(arg1[3]) * ((arg1[3]) * (uint32_t)0x2));
360
+ uint64_t x46 = ((uint64_t)(arg1[3]) * ((arg1[3]) * 0x2));
323
361
  uint64_t x47 = ((uint64_t)(arg1[2]) * x2);
324
362
  uint64_t x48 = ((arg1[2]) * x5);
325
363
  uint64_t x49 = ((uint64_t)(arg1[2]) * x9);
@@ -328,15 +366,15 @@ static void fiat_25519_carry_square(uint32_t out1[10], const uint32_t arg1[10])
328
366
  uint64_t x52 = ((uint64_t)(arg1[2]) * x15);
329
367
  uint64_t x53 = ((uint64_t)(arg1[2]) * x16);
330
368
  uint64_t x54 = ((uint64_t)(arg1[2]) * (arg1[2]));
331
- uint64_t x55 = ((arg1[1]) * (x2 * (uint64_t)0x2));
369
+ uint64_t x55 = ((arg1[1]) * ((uint64_t)x2 * 0x2));
332
370
  uint64_t x56 = ((uint64_t)(arg1[1]) * x6);
333
- uint64_t x57 = ((uint64_t)(arg1[1]) * (x9 * (uint32_t)0x2));
371
+ uint64_t x57 = ((uint64_t)(arg1[1]) * (x9 * 0x2));
334
372
  uint64_t x58 = ((uint64_t)(arg1[1]) * x12);
335
- uint64_t x59 = ((uint64_t)(arg1[1]) * (x14 * (uint32_t)0x2));
373
+ uint64_t x59 = ((uint64_t)(arg1[1]) * (x14 * 0x2));
336
374
  uint64_t x60 = ((uint64_t)(arg1[1]) * x15);
337
- uint64_t x61 = ((uint64_t)(arg1[1]) * (x16 * (uint32_t)0x2));
375
+ uint64_t x61 = ((uint64_t)(arg1[1]) * (x16 * 0x2));
338
376
  uint64_t x62 = ((uint64_t)(arg1[1]) * x17);
339
- uint64_t x63 = ((uint64_t)(arg1[1]) * ((arg1[1]) * (uint32_t)0x2));
377
+ uint64_t x63 = ((uint64_t)(arg1[1]) * ((arg1[1]) * 0x2));
340
378
  uint64_t x64 = ((uint64_t)(arg1[0]) * x3);
341
379
  uint64_t x65 = ((uint64_t)(arg1[0]) * x6);
342
380
  uint64_t x66 = ((uint64_t)(arg1[0]) * x9);
@@ -386,12 +424,12 @@ static void fiat_25519_carry_square(uint32_t out1[10], const uint32_t arg1[10])
386
424
  uint64_t x110 = (x108 + x77);
387
425
  uint64_t x111 = (x110 >> 25);
388
426
  uint32_t x112 = (uint32_t)(x110 & UINT32_C(0x1ffffff));
389
- uint64_t x113 = (x111 * (uint64_t)UINT8_C(0x13));
427
+ uint64_t x113 = (x111 * UINT8_C(0x13));
390
428
  uint64_t x114 = (x76 + x113);
391
429
  uint32_t x115 = (uint32_t)(x114 >> 26);
392
430
  uint32_t x116 = (uint32_t)(x114 & UINT32_C(0x3ffffff));
393
431
  uint32_t x117 = (x115 + x88);
394
- uint32_t x118 = (x117 >> 25);
432
+ fiat_25519_uint1 x118 = (fiat_25519_uint1)(x117 >> 25);
395
433
  uint32_t x119 = (x117 & UINT32_C(0x1ffffff));
396
434
  uint32_t x120 = (x118 + x91);
397
435
  out1[0] = x116;
@@ -407,72 +445,10 @@ static void fiat_25519_carry_square(uint32_t out1[10], const uint32_t arg1[10])
407
445
  }
408
446
 
409
447
  /*
410
- * Input Bounds:
411
- * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]]
412
- * Output Bounds:
413
- * out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]]
414
- */
415
- static void fiat_25519_carry_scmul_121666(uint32_t out1[10], const uint32_t arg1[10]) {
416
- uint64_t x1 = ((uint64_t)UINT32_C(0x1db42) * (arg1[9]));
417
- uint64_t x2 = ((uint64_t)UINT32_C(0x1db42) * (arg1[8]));
418
- uint64_t x3 = ((uint64_t)UINT32_C(0x1db42) * (arg1[7]));
419
- uint64_t x4 = ((uint64_t)UINT32_C(0x1db42) * (arg1[6]));
420
- uint64_t x5 = ((uint64_t)UINT32_C(0x1db42) * (arg1[5]));
421
- uint64_t x6 = ((uint64_t)UINT32_C(0x1db42) * (arg1[4]));
422
- uint64_t x7 = ((uint64_t)UINT32_C(0x1db42) * (arg1[3]));
423
- uint64_t x8 = ((uint64_t)UINT32_C(0x1db42) * (arg1[2]));
424
- uint64_t x9 = ((uint64_t)UINT32_C(0x1db42) * (arg1[1]));
425
- uint64_t x10 = ((uint64_t)UINT32_C(0x1db42) * (arg1[0]));
426
- uint32_t x11 = (uint32_t)(x10 >> 26);
427
- uint32_t x12 = (uint32_t)(x10 & UINT32_C(0x3ffffff));
428
- uint64_t x13 = (x11 + x9);
429
- uint32_t x14 = (uint32_t)(x13 >> 25);
430
- uint32_t x15 = (uint32_t)(x13 & UINT32_C(0x1ffffff));
431
- uint64_t x16 = (x14 + x8);
432
- uint32_t x17 = (uint32_t)(x16 >> 26);
433
- uint32_t x18 = (uint32_t)(x16 & UINT32_C(0x3ffffff));
434
- uint64_t x19 = (x17 + x7);
435
- uint32_t x20 = (uint32_t)(x19 >> 25);
436
- uint32_t x21 = (uint32_t)(x19 & UINT32_C(0x1ffffff));
437
- uint64_t x22 = (x20 + x6);
438
- uint32_t x23 = (uint32_t)(x22 >> 26);
439
- uint32_t x24 = (uint32_t)(x22 & UINT32_C(0x3ffffff));
440
- uint64_t x25 = (x23 + x5);
441
- uint32_t x26 = (uint32_t)(x25 >> 25);
442
- uint32_t x27 = (uint32_t)(x25 & UINT32_C(0x1ffffff));
443
- uint64_t x28 = (x26 + x4);
444
- uint32_t x29 = (uint32_t)(x28 >> 26);
445
- uint32_t x30 = (uint32_t)(x28 & UINT32_C(0x3ffffff));
446
- uint64_t x31 = (x29 + x3);
447
- uint32_t x32 = (uint32_t)(x31 >> 25);
448
- uint32_t x33 = (uint32_t)(x31 & UINT32_C(0x1ffffff));
449
- uint64_t x34 = (x32 + x2);
450
- uint32_t x35 = (uint32_t)(x34 >> 26);
451
- uint32_t x36 = (uint32_t)(x34 & UINT32_C(0x3ffffff));
452
- uint64_t x37 = (x35 + x1);
453
- uint32_t x38 = (uint32_t)(x37 >> 25);
454
- uint32_t x39 = (uint32_t)(x37 & UINT32_C(0x1ffffff));
455
- uint32_t x40 = (x38 * (uint32_t)UINT8_C(0x13));
456
- uint32_t x41 = (x12 + x40);
457
- uint32_t x42 = (x41 >> 26);
458
- uint32_t x43 = (x41 & UINT32_C(0x3ffffff));
459
- uint32_t x44 = (x42 + x15);
460
- uint32_t x45 = (x44 >> 25);
461
- uint32_t x46 = (x44 & UINT32_C(0x1ffffff));
462
- uint32_t x47 = (x45 + x18);
463
- out1[0] = x43;
464
- out1[1] = x46;
465
- out1[2] = x47;
466
- out1[3] = x21;
467
- out1[4] = x24;
468
- out1[5] = x27;
469
- out1[6] = x30;
470
- out1[7] = x33;
471
- out1[8] = x36;
472
- out1[9] = x39;
473
- }
474
-
475
- /*
448
+ * The function fiat_25519_carry reduces a field element.
449
+ * Postconditions:
450
+ * eval out1 mod m = eval arg1 mod m
451
+ *
476
452
  * Input Bounds:
477
453
  * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]]
478
454
  * Output Bounds:
@@ -489,11 +465,11 @@ static void fiat_25519_carry(uint32_t out1[10], const uint32_t arg1[10]) {
489
465
  uint32_t x8 = ((x7 >> 26) + (arg1[7]));
490
466
  uint32_t x9 = ((x8 >> 25) + (arg1[8]));
491
467
  uint32_t x10 = ((x9 >> 26) + (arg1[9]));
492
- uint32_t x11 = ((x1 & UINT32_C(0x3ffffff)) + ((x10 >> 25) * (uint32_t)UINT8_C(0x13)));
493
- uint32_t x12 = ((x11 >> 26) + (x2 & UINT32_C(0x1ffffff)));
468
+ uint32_t x11 = ((x1 & UINT32_C(0x3ffffff)) + ((x10 >> 25) * UINT8_C(0x13)));
469
+ uint32_t x12 = ((fiat_25519_uint1)(x11 >> 26) + (x2 & UINT32_C(0x1ffffff)));
494
470
  uint32_t x13 = (x11 & UINT32_C(0x3ffffff));
495
471
  uint32_t x14 = (x12 & UINT32_C(0x1ffffff));
496
- uint32_t x15 = ((x12 >> 25) + (x3 & UINT32_C(0x3ffffff)));
472
+ uint32_t x15 = ((fiat_25519_uint1)(x12 >> 25) + (x3 & UINT32_C(0x3ffffff)));
497
473
  uint32_t x16 = (x4 & UINT32_C(0x1ffffff));
498
474
  uint32_t x17 = (x5 & UINT32_C(0x3ffffff));
499
475
  uint32_t x18 = (x6 & UINT32_C(0x1ffffff));
@@ -514,6 +490,10 @@ static void fiat_25519_carry(uint32_t out1[10], const uint32_t arg1[10]) {
514
490
  }
515
491
 
516
492
  /*
493
+ * The function fiat_25519_add adds two field elements.
494
+ * Postconditions:
495
+ * eval out1 mod m = (eval arg1 + eval arg2) mod m
496
+ *
517
497
  * Input Bounds:
518
498
  * arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]]
519
499
  * arg2: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]]
@@ -544,6 +524,10 @@ static void fiat_25519_add(uint32_t out1[10], const uint32_t arg1[10], const uin
544
524
  }
545
525
 
546
526
  /*
527
+ * The function fiat_25519_sub subtracts two field elements.
528
+ * Postconditions:
529
+ * eval out1 mod m = (eval arg1 - eval arg2) mod m
530
+ *
547
531
  * Input Bounds:
548
532
  * arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]]
549
533
  * arg2: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]]
@@ -574,6 +558,10 @@ static void fiat_25519_sub(uint32_t out1[10], const uint32_t arg1[10], const uin
574
558
  }
575
559
 
576
560
  /*
561
+ * The function fiat_25519_opp negates a field element.
562
+ * Postconditions:
563
+ * eval out1 mod m = -eval arg1 mod m
564
+ *
577
565
  * Input Bounds:
578
566
  * arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]]
579
567
  * Output Bounds:
@@ -603,6 +591,10 @@ static void fiat_25519_opp(uint32_t out1[10], const uint32_t arg1[10]) {
603
591
  }
604
592
 
605
593
  /*
594
+ * The function fiat_25519_selectznz is a multi-limb conditional select.
595
+ * Postconditions:
596
+ * eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
597
+ *
606
598
  * Input Bounds:
607
599
  * arg1: [0x0 ~> 0x1]
608
600
  * arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
@@ -644,6 +636,10 @@ static void fiat_25519_selectznz(uint32_t out1[10], fiat_25519_uint1 arg1, const
644
636
  }
645
637
 
646
638
  /*
639
+ * The function fiat_25519_to_bytes serializes a field element to bytes in little-endian order.
640
+ * Postconditions:
641
+ * out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
642
+ *
647
643
  * Input Bounds:
648
644
  * arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]]
649
645
  * Output Bounds:
@@ -684,34 +680,34 @@ static void fiat_25519_to_bytes(uint8_t out1[32], const uint32_t arg1[10]) {
684
680
  fiat_25519_cmovznz_u32(&x21, x20, 0x0, UINT32_C(0xffffffff));
685
681
  uint32_t x22;
686
682
  fiat_25519_uint1 x23;
687
- fiat_25519_addcarryx_u26(&x22, &x23, 0x0, (x21 & UINT32_C(0x3ffffed)), x1);
683
+ fiat_25519_addcarryx_u26(&x22, &x23, 0x0, x1, (x21 & UINT32_C(0x3ffffed)));
688
684
  uint32_t x24;
689
685
  fiat_25519_uint1 x25;
690
- fiat_25519_addcarryx_u25(&x24, &x25, x23, (x21 & UINT32_C(0x1ffffff)), x3);
686
+ fiat_25519_addcarryx_u25(&x24, &x25, x23, x3, (x21 & UINT32_C(0x1ffffff)));
691
687
  uint32_t x26;
692
688
  fiat_25519_uint1 x27;
693
- fiat_25519_addcarryx_u26(&x26, &x27, x25, (x21 & UINT32_C(0x3ffffff)), x5);
689
+ fiat_25519_addcarryx_u26(&x26, &x27, x25, x5, (x21 & UINT32_C(0x3ffffff)));
694
690
  uint32_t x28;
695
691
  fiat_25519_uint1 x29;
696
- fiat_25519_addcarryx_u25(&x28, &x29, x27, (x21 & UINT32_C(0x1ffffff)), x7);
692
+ fiat_25519_addcarryx_u25(&x28, &x29, x27, x7, (x21 & UINT32_C(0x1ffffff)));
697
693
  uint32_t x30;
698
694
  fiat_25519_uint1 x31;
699
- fiat_25519_addcarryx_u26(&x30, &x31, x29, (x21 & UINT32_C(0x3ffffff)), x9);
695
+ fiat_25519_addcarryx_u26(&x30, &x31, x29, x9, (x21 & UINT32_C(0x3ffffff)));
700
696
  uint32_t x32;
701
697
  fiat_25519_uint1 x33;
702
- fiat_25519_addcarryx_u25(&x32, &x33, x31, (x21 & UINT32_C(0x1ffffff)), x11);
698
+ fiat_25519_addcarryx_u25(&x32, &x33, x31, x11, (x21 & UINT32_C(0x1ffffff)));
703
699
  uint32_t x34;
704
700
  fiat_25519_uint1 x35;
705
- fiat_25519_addcarryx_u26(&x34, &x35, x33, (x21 & UINT32_C(0x3ffffff)), x13);
701
+ fiat_25519_addcarryx_u26(&x34, &x35, x33, x13, (x21 & UINT32_C(0x3ffffff)));
706
702
  uint32_t x36;
707
703
  fiat_25519_uint1 x37;
708
- fiat_25519_addcarryx_u25(&x36, &x37, x35, (x21 & UINT32_C(0x1ffffff)), x15);
704
+ fiat_25519_addcarryx_u25(&x36, &x37, x35, x15, (x21 & UINT32_C(0x1ffffff)));
709
705
  uint32_t x38;
710
706
  fiat_25519_uint1 x39;
711
- fiat_25519_addcarryx_u26(&x38, &x39, x37, (x21 & UINT32_C(0x3ffffff)), x17);
707
+ fiat_25519_addcarryx_u26(&x38, &x39, x37, x17, (x21 & UINT32_C(0x3ffffff)));
712
708
  uint32_t x40;
713
709
  fiat_25519_uint1 x41;
714
- fiat_25519_addcarryx_u25(&x40, &x41, x39, (x21 & UINT32_C(0x1ffffff)), x19);
710
+ fiat_25519_addcarryx_u25(&x40, &x41, x39, x19, (x21 & UINT32_C(0x1ffffff)));
715
711
  uint32_t x42 = (x40 << 6);
716
712
  uint32_t x43 = (x38 << 4);
717
713
  uint32_t x44 = (x36 << 3);
@@ -824,6 +820,10 @@ static void fiat_25519_to_bytes(uint8_t out1[32], const uint32_t arg1[10]) {
824
820
  }
825
821
 
826
822
  /*
823
+ * The function fiat_25519_from_bytes deserializes a field element from bytes in little-endian order.
824
+ * Postconditions:
825
+ * eval out1 mod m = bytes_eval arg1 mod m
826
+ *
827
827
  * Input Bounds:
828
828
  * arg1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0x7f]]
829
829
  * Output Bounds:
@@ -909,3 +909,73 @@ static void fiat_25519_from_bytes(uint32_t out1[10], const uint8_t arg1[32]) {
909
909
  out1[9] = x67;
910
910
  }
911
911
 
912
+ /*
913
+ * The function fiat_25519_carry_scmul_121666 multiplies a field element by 121666 and reduces the result.
914
+ * Postconditions:
915
+ * eval out1 mod m = (121666 * eval arg1) mod m
916
+ *
917
+ * Input Bounds:
918
+ * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]]
919
+ * Output Bounds:
920
+ * out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]]
921
+ */
922
+ static void fiat_25519_carry_scmul_121666(uint32_t out1[10], const uint32_t arg1[10]) {
923
+ uint64_t x1 = ((uint64_t)UINT32_C(0x1db42) * (arg1[9]));
924
+ uint64_t x2 = ((uint64_t)UINT32_C(0x1db42) * (arg1[8]));
925
+ uint64_t x3 = ((uint64_t)UINT32_C(0x1db42) * (arg1[7]));
926
+ uint64_t x4 = ((uint64_t)UINT32_C(0x1db42) * (arg1[6]));
927
+ uint64_t x5 = ((uint64_t)UINT32_C(0x1db42) * (arg1[5]));
928
+ uint64_t x6 = ((uint64_t)UINT32_C(0x1db42) * (arg1[4]));
929
+ uint64_t x7 = ((uint64_t)UINT32_C(0x1db42) * (arg1[3]));
930
+ uint64_t x8 = ((uint64_t)UINT32_C(0x1db42) * (arg1[2]));
931
+ uint64_t x9 = ((uint64_t)UINT32_C(0x1db42) * (arg1[1]));
932
+ uint64_t x10 = ((uint64_t)UINT32_C(0x1db42) * (arg1[0]));
933
+ uint32_t x11 = (uint32_t)(x10 >> 26);
934
+ uint32_t x12 = (uint32_t)(x10 & UINT32_C(0x3ffffff));
935
+ uint64_t x13 = (x11 + x9);
936
+ uint32_t x14 = (uint32_t)(x13 >> 25);
937
+ uint32_t x15 = (uint32_t)(x13 & UINT32_C(0x1ffffff));
938
+ uint64_t x16 = (x14 + x8);
939
+ uint32_t x17 = (uint32_t)(x16 >> 26);
940
+ uint32_t x18 = (uint32_t)(x16 & UINT32_C(0x3ffffff));
941
+ uint64_t x19 = (x17 + x7);
942
+ uint32_t x20 = (uint32_t)(x19 >> 25);
943
+ uint32_t x21 = (uint32_t)(x19 & UINT32_C(0x1ffffff));
944
+ uint64_t x22 = (x20 + x6);
945
+ uint32_t x23 = (uint32_t)(x22 >> 26);
946
+ uint32_t x24 = (uint32_t)(x22 & UINT32_C(0x3ffffff));
947
+ uint64_t x25 = (x23 + x5);
948
+ uint32_t x26 = (uint32_t)(x25 >> 25);
949
+ uint32_t x27 = (uint32_t)(x25 & UINT32_C(0x1ffffff));
950
+ uint64_t x28 = (x26 + x4);
951
+ uint32_t x29 = (uint32_t)(x28 >> 26);
952
+ uint32_t x30 = (uint32_t)(x28 & UINT32_C(0x3ffffff));
953
+ uint64_t x31 = (x29 + x3);
954
+ uint32_t x32 = (uint32_t)(x31 >> 25);
955
+ uint32_t x33 = (uint32_t)(x31 & UINT32_C(0x1ffffff));
956
+ uint64_t x34 = (x32 + x2);
957
+ uint32_t x35 = (uint32_t)(x34 >> 26);
958
+ uint32_t x36 = (uint32_t)(x34 & UINT32_C(0x3ffffff));
959
+ uint64_t x37 = (x35 + x1);
960
+ uint32_t x38 = (uint32_t)(x37 >> 25);
961
+ uint32_t x39 = (uint32_t)(x37 & UINT32_C(0x1ffffff));
962
+ uint32_t x40 = (x38 * UINT8_C(0x13));
963
+ uint32_t x41 = (x12 + x40);
964
+ fiat_25519_uint1 x42 = (fiat_25519_uint1)(x41 >> 26);
965
+ uint32_t x43 = (x41 & UINT32_C(0x3ffffff));
966
+ uint32_t x44 = (x42 + x15);
967
+ fiat_25519_uint1 x45 = (fiat_25519_uint1)(x44 >> 25);
968
+ uint32_t x46 = (x44 & UINT32_C(0x1ffffff));
969
+ uint32_t x47 = (x45 + x18);
970
+ out1[0] = x43;
971
+ out1[1] = x46;
972
+ out1[2] = x47;
973
+ out1[3] = x21;
974
+ out1[4] = x24;
975
+ out1[5] = x27;
976
+ out1[6] = x30;
977
+ out1[7] = x33;
978
+ out1[8] = x36;
979
+ out1[9] = x39;
980
+ }
981
+