grpc 1.55.0 → 1.56.0

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

Potentially problematic release.


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

Files changed (374) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +100 -68
  3. data/include/grpc/event_engine/event_engine.h +4 -3
  4. data/include/grpc/grpc_audit_logging.h +96 -0
  5. data/include/grpc/module.modulemap +2 -0
  6. data/include/grpc/support/json.h +218 -0
  7. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +5 -0
  8. data/src/core/ext/filters/client_channel/backend_metric.cc +2 -0
  9. data/src/core/ext/filters/client_channel/channel_connectivity.cc +4 -4
  10. data/src/core/ext/filters/client_channel/client_channel.cc +86 -104
  11. data/src/core/ext/filters/client_channel/client_channel.h +6 -0
  12. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +19 -18
  13. data/src/core/ext/filters/client_channel/client_channel_internal.h +16 -21
  14. data/src/core/ext/filters/client_channel/config_selector.h +9 -24
  15. data/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h +3 -0
  16. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +5 -4
  17. data/src/core/ext/filters/client_channel/lb_policy/health_check_client.cc +455 -0
  18. data/src/core/ext/filters/client_channel/lb_policy/health_check_client.h +54 -0
  19. data/src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h +186 -0
  20. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +2 -7
  21. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +52 -20
  22. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +23 -2
  23. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +19 -6
  24. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +1 -9
  25. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +16 -7
  26. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +18 -1
  27. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +12 -9
  28. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +6 -4
  29. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +36 -13
  30. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc +76 -6
  31. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc +32 -39
  32. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +4 -10
  33. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +52 -47
  34. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +1 -9
  35. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +14 -16
  36. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +40 -43
  37. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +7 -12
  38. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +12 -19
  39. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +35 -33
  40. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +29 -4
  41. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.cc +1 -1
  42. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +28 -27
  43. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +163 -46
  44. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +16 -1
  45. data/src/core/ext/filters/client_channel/retry_service_config.cc +1 -0
  46. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +10 -40
  47. data/src/core/ext/filters/client_channel/subchannel.cc +10 -196
  48. data/src/core/ext/filters/client_channel/subchannel.h +3 -43
  49. data/src/core/ext/filters/http/message_compress/compression_filter.cc +5 -5
  50. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +100 -6
  51. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +6 -8
  52. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +3 -3
  53. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +16 -1
  54. data/src/core/ext/transport/chttp2/transport/flow_control.cc +46 -95
  55. data/src/core/ext/transport/chttp2/transport/internal.h +1 -15
  56. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +11 -2
  57. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +15 -0
  58. data/src/core/ext/xds/certificate_provider_store.cc +4 -9
  59. data/src/core/ext/xds/certificate_provider_store.h +1 -1
  60. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +30 -42
  61. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +14 -9
  62. data/src/core/ext/xds/xds_api.cc +9 -6
  63. data/src/core/ext/xds/xds_api.h +3 -2
  64. data/src/core/ext/xds/xds_audit_logger_registry.cc +122 -0
  65. data/src/core/ext/xds/xds_audit_logger_registry.h +68 -0
  66. data/src/core/ext/xds/xds_bootstrap_grpc.cc +21 -9
  67. data/src/core/ext/xds/xds_bootstrap_grpc.h +5 -0
  68. data/src/core/ext/xds/xds_client.cc +5 -4
  69. data/src/core/ext/xds/xds_client_stats.h +1 -1
  70. data/src/core/ext/xds/xds_cluster.cc +20 -19
  71. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +11 -8
  72. data/src/core/ext/xds/xds_common_types.cc +3 -1
  73. data/src/core/ext/xds/xds_http_fault_filter.cc +16 -13
  74. data/src/core/ext/xds/xds_http_fault_filter.h +2 -1
  75. data/src/core/ext/xds/xds_http_filters.h +4 -2
  76. data/src/core/ext/xds/xds_http_rbac_filter.cc +154 -67
  77. data/src/core/ext/xds/xds_http_rbac_filter.h +2 -1
  78. data/src/core/ext/xds/xds_http_stateful_session_filter.cc +15 -11
  79. data/src/core/ext/xds/xds_http_stateful_session_filter.h +2 -1
  80. data/src/core/ext/xds/xds_lb_policy_registry.cc +22 -16
  81. data/src/core/ext/xds/xds_listener.cc +1 -0
  82. data/src/core/ext/xds/xds_route_config.cc +40 -3
  83. data/src/core/ext/xds/xds_routing.cc +2 -2
  84. data/src/core/ext/xds/xds_transport_grpc.cc +3 -1
  85. data/src/core/lib/avl/avl.h +5 -0
  86. data/src/core/lib/channel/channel_args.cc +80 -22
  87. data/src/core/lib/channel/channel_args.h +34 -1
  88. data/src/core/lib/channel/channel_trace.cc +16 -12
  89. data/src/core/lib/channel/channelz.cc +159 -132
  90. data/src/core/lib/channel/channelz.h +42 -35
  91. data/src/core/lib/channel/channelz_registry.cc +23 -20
  92. data/src/core/lib/channel/connected_channel.cc +17 -6
  93. data/src/core/lib/channel/promise_based_filter.cc +0 -4
  94. data/src/core/lib/channel/promise_based_filter.h +2 -0
  95. data/src/core/lib/compression/compression_internal.cc +2 -5
  96. data/src/core/lib/config/config_vars.cc +20 -18
  97. data/src/core/lib/config/config_vars.h +4 -4
  98. data/src/core/lib/config/load_config.cc +13 -0
  99. data/src/core/lib/config/load_config.h +6 -0
  100. data/src/core/lib/debug/event_log.h +1 -1
  101. data/src/core/lib/debug/stats_data.h +1 -1
  102. data/src/core/lib/debug/trace.cc +24 -55
  103. data/src/core/lib/debug/trace.h +3 -1
  104. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +211 -0
  105. data/src/core/lib/event_engine/cf_engine/cf_engine.h +86 -0
  106. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +354 -0
  107. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +146 -0
  108. data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +79 -0
  109. data/src/core/lib/event_engine/default_event_engine.cc +13 -1
  110. data/src/core/lib/event_engine/default_event_engine_factory.cc +14 -2
  111. data/src/core/lib/event_engine/poller.h +2 -2
  112. data/src/core/lib/event_engine/posix.h +4 -0
  113. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +1 -1
  114. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +7 -18
  115. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +9 -0
  116. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +33 -19
  117. data/src/core/lib/event_engine/posix_engine/posix_engine.h +1 -1
  118. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +4 -4
  119. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +7 -8
  120. data/src/core/lib/event_engine/posix_engine/timer_manager.h +1 -1
  121. data/src/core/lib/event_engine/shim.cc +7 -1
  122. data/src/core/lib/event_engine/{thread_pool.cc → thread_pool/original_thread_pool.cc} +28 -25
  123. data/src/core/lib/event_engine/{thread_pool.h → thread_pool/original_thread_pool.h} +11 -15
  124. data/src/core/lib/event_engine/thread_pool/thread_pool.h +50 -0
  125. data/src/core/lib/event_engine/{executor/executor.h → thread_pool/thread_pool_factory.cc} +17 -15
  126. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +489 -0
  127. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +249 -0
  128. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +166 -0
  129. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +108 -0
  130. data/src/core/lib/event_engine/windows/iocp.cc +4 -3
  131. data/src/core/lib/event_engine/windows/iocp.h +3 -3
  132. data/src/core/lib/event_engine/windows/win_socket.cc +6 -6
  133. data/src/core/lib/event_engine/windows/win_socket.h +4 -4
  134. data/src/core/lib/event_engine/windows/windows_endpoint.cc +11 -10
  135. data/src/core/lib/event_engine/windows/windows_endpoint.h +3 -2
  136. data/src/core/lib/event_engine/windows/windows_engine.cc +19 -17
  137. data/src/core/lib/event_engine/windows/windows_engine.h +6 -6
  138. data/src/core/lib/event_engine/windows/windows_listener.cc +3 -3
  139. data/src/core/lib/event_engine/windows/windows_listener.h +3 -2
  140. data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +63 -0
  141. data/src/core/lib/event_engine/work_queue/basic_work_queue.h +71 -0
  142. data/src/core/lib/event_engine/work_queue/work_queue.h +62 -0
  143. data/src/core/lib/experiments/config.cc +38 -7
  144. data/src/core/lib/experiments/config.h +16 -0
  145. data/src/core/lib/experiments/experiments.cc +67 -20
  146. data/src/core/lib/experiments/experiments.h +27 -21
  147. data/src/core/lib/gpr/log_internal.h +55 -0
  148. data/src/core/lib/gprpp/crash.cc +10 -0
  149. data/src/core/lib/gprpp/crash.h +3 -0
  150. data/src/core/lib/gprpp/per_cpu.cc +33 -0
  151. data/src/core/lib/gprpp/per_cpu.h +29 -6
  152. data/src/core/lib/gprpp/time.cc +1 -0
  153. data/src/core/lib/iomgr/cfstream_handle.cc +1 -1
  154. data/src/core/lib/iomgr/endpoint_cfstream.cc +10 -8
  155. data/src/core/lib/iomgr/ev_apple.cc +12 -12
  156. data/src/core/lib/iomgr/ev_epoll1_linux.cc +10 -3
  157. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +15 -1
  158. data/src/core/lib/iomgr/iocp_windows.cc +24 -3
  159. data/src/core/lib/iomgr/iocp_windows.h +11 -0
  160. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +1 -1
  161. data/src/core/lib/iomgr/socket_utils_common_posix.cc +4 -2
  162. data/src/core/lib/iomgr/socket_windows.cc +61 -7
  163. data/src/core/lib/iomgr/socket_windows.h +9 -2
  164. data/src/core/lib/iomgr/tcp_client_cfstream.cc +14 -3
  165. data/src/core/lib/iomgr/tcp_server_posix.cc +148 -107
  166. data/src/core/lib/iomgr/tcp_server_utils_posix.h +1 -1
  167. data/src/core/lib/iomgr/tcp_server_windows.cc +1 -1
  168. data/src/core/lib/json/json.h +2 -166
  169. data/src/core/lib/json/json_object_loader.cc +8 -9
  170. data/src/core/lib/json/json_object_loader.h +25 -18
  171. data/src/core/lib/json/json_reader.cc +13 -6
  172. data/src/core/lib/json/json_util.cc +6 -11
  173. data/src/core/lib/json/json_writer.cc +7 -8
  174. data/src/core/lib/load_balancing/lb_policy.h +13 -0
  175. data/src/core/lib/load_balancing/lb_policy_registry.cc +2 -1
  176. data/src/core/lib/matchers/matchers.cc +3 -4
  177. data/src/core/lib/matchers/matchers.h +2 -1
  178. data/src/core/lib/promise/activity.cc +5 -0
  179. data/src/core/lib/promise/activity.h +10 -0
  180. data/src/core/lib/promise/detail/promise_factory.h +1 -1
  181. data/src/core/lib/promise/party.cc +31 -13
  182. data/src/core/lib/promise/party.h +11 -2
  183. data/src/core/lib/promise/pipe.h +9 -2
  184. data/src/core/lib/promise/prioritized_race.h +95 -0
  185. data/src/core/lib/promise/sleep.cc +2 -1
  186. data/src/core/lib/resolver/server_address.cc +0 -8
  187. data/src/core/lib/resolver/server_address.h +0 -6
  188. data/src/core/lib/resource_quota/memory_quota.cc +7 -7
  189. data/src/core/lib/resource_quota/memory_quota.h +1 -2
  190. data/src/core/lib/security/authorization/audit_logging.cc +98 -0
  191. data/src/core/lib/security/authorization/audit_logging.h +73 -0
  192. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +47 -2
  193. data/src/core/lib/security/authorization/grpc_authorization_engine.h +18 -1
  194. data/src/core/lib/security/authorization/rbac_policy.cc +36 -4
  195. data/src/core/lib/security/authorization/rbac_policy.h +19 -2
  196. data/src/core/lib/security/authorization/stdout_logger.cc +75 -0
  197. data/src/core/lib/security/authorization/stdout_logger.h +61 -0
  198. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +8 -4
  199. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +8 -18
  200. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +14 -8
  201. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +19 -12
  202. data/src/core/lib/security/credentials/external/external_account_credentials.cc +4 -2
  203. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +1 -0
  204. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +1 -0
  205. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +1 -0
  206. data/src/core/lib/security/credentials/jwt/json_token.cc +15 -14
  207. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +4 -2
  208. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +1 -0
  209. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +1 -0
  210. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +1 -5
  211. data/src/core/lib/security/util/json_util.cc +1 -0
  212. data/src/core/lib/service_config/service_config_call_data.h +49 -20
  213. data/src/core/lib/service_config/service_config_impl.cc +2 -1
  214. data/src/core/lib/surface/call.cc +38 -23
  215. data/src/core/lib/surface/completion_queue.cc +6 -2
  216. data/src/core/lib/surface/version.cc +2 -2
  217. data/src/core/lib/transport/batch_builder.cc +15 -12
  218. data/src/core/lib/transport/batch_builder.h +39 -35
  219. data/src/core/plugin_registry/grpc_plugin_registry.cc +0 -2
  220. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +2 -0
  221. data/src/ruby/ext/grpc/extconf.rb +8 -9
  222. data/src/ruby/lib/grpc/version.rb +1 -1
  223. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +9 -8
  224. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +1 -1
  225. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +3 -3
  226. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +10 -6
  227. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +7 -4
  228. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +6 -4
  229. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +2 -1
  230. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +5 -9
  231. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +4 -2
  232. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +31 -22
  233. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +29 -26
  234. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +8 -0
  235. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +189 -13
  236. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c +62 -0
  237. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_openbsd.c +31 -0
  238. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +6 -4
  239. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +795 -795
  240. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +1 -5
  241. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +4 -0
  242. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +18 -6
  243. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +15 -7
  244. data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c +1 -1
  245. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c +1 -1
  246. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +1 -0
  247. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c +3 -0
  248. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +24 -24
  249. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +1 -1
  250. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c +7 -7
  251. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +74 -74
  252. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +1 -2
  253. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +11 -11
  254. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.c +12 -12
  255. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +14 -15
  256. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +1 -1
  257. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c +10 -10
  258. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +23 -23
  259. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +13 -13
  260. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c +1 -1
  261. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +2 -2
  262. data/third_party/boringssl-with-bazel/src/crypto/{hkdf → fipsmodule/hkdf}/hkdf.c +1 -1
  263. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +2 -10
  264. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +1 -4
  265. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +115 -133
  266. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c +12 -14
  267. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +57 -47
  268. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +1 -8
  269. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.c +27 -28
  270. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +11 -23
  271. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +21 -16
  272. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c +5 -288
  273. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +143 -83
  274. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +95 -183
  275. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +71 -0
  276. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +8 -0
  277. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c +33 -0
  278. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +162 -6
  279. data/third_party/boringssl-with-bazel/src/crypto/internal.h +18 -0
  280. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +18 -11
  281. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +6 -13
  282. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +18 -14
  283. data/third_party/boringssl-with-bazel/src/crypto/{refcount_lock.c → refcount_no_threads.c} +3 -13
  284. data/third_party/boringssl-with-bazel/src/crypto/refcount_win.c +89 -0
  285. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/internal.h +77 -0
  286. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c +568 -0
  287. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +62 -0
  288. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +218 -44
  289. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +35 -0
  290. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +588 -39
  291. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c +27 -18
  292. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +1 -1
  293. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +17 -39
  294. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +39 -48
  295. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +0 -140
  296. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +72 -23
  297. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +11 -14
  298. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c +1 -1
  299. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +2 -2
  300. data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +1 -1
  301. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +33 -46
  302. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +1 -0
  303. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_info.c +3 -5
  304. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +14 -46
  305. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +14 -26
  306. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +17 -10
  307. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +1 -1
  308. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +5 -7
  309. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +6 -4
  310. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +32 -1
  311. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +0 -4
  312. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +1 -4
  313. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +3 -3
  314. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +28 -0
  315. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +2 -11
  316. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +0 -3
  317. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +91 -1
  318. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +5 -0
  319. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +149 -20
  320. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +4 -0
  321. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +4 -0
  322. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +8 -0
  323. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +774 -615
  324. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +42 -10
  325. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +11 -6
  326. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +2 -4
  327. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +24 -16
  328. data/third_party/boringssl-with-bazel/src/ssl/internal.h +65 -18
  329. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +37 -18
  330. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +187 -193
  331. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +13 -129
  332. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +85 -10
  333. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +17 -4
  334. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +27 -19
  335. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +1 -1
  336. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +5 -21
  337. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +5 -2
  338. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_msvc.h +1281 -0
  339. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64_msvc.h +2002 -0
  340. data/third_party/cares/cares/include/ares.h +23 -1
  341. data/third_party/cares/cares/{src/lib → include}/ares_nameser.h +9 -7
  342. data/third_party/cares/cares/include/ares_rules.h +2 -2
  343. data/third_party/cares/cares/include/ares_version.h +3 -3
  344. data/third_party/cares/cares/src/lib/ares__addrinfo2hostent.c +266 -0
  345. data/third_party/cares/cares/src/lib/ares__addrinfo_localhost.c +240 -0
  346. data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +49 -80
  347. data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +37 -43
  348. data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +12 -4
  349. data/third_party/cares/cares/src/lib/ares_data.c +16 -0
  350. data/third_party/cares/cares/src/lib/ares_data.h +7 -0
  351. data/third_party/cares/cares/src/lib/ares_destroy.c +8 -0
  352. data/third_party/cares/cares/src/lib/ares_expand_name.c +17 -6
  353. data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +1 -0
  354. data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +156 -78
  355. data/third_party/cares/cares/src/lib/ares_gethostbyname.c +130 -326
  356. data/third_party/cares/cares/src/lib/ares_init.c +97 -485
  357. data/third_party/cares/cares/src/lib/ares_library_init.c +2 -89
  358. data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +23 -142
  359. data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +22 -142
  360. data/third_party/cares/cares/src/lib/ares_parse_uri_reply.c +184 -0
  361. data/third_party/cares/cares/src/lib/ares_private.h +30 -16
  362. data/third_party/cares/cares/src/lib/ares_process.c +55 -16
  363. data/third_party/cares/cares/src/lib/ares_query.c +1 -35
  364. data/third_party/cares/cares/src/lib/ares_rand.c +279 -0
  365. data/third_party/cares/cares/src/lib/ares_send.c +5 -7
  366. data/third_party/cares/cares/src/lib/ares_strdup.c +12 -19
  367. data/third_party/cares/cares/src/lib/ares_strsplit.c +44 -128
  368. data/third_party/cares/cares/src/lib/ares_strsplit.h +9 -10
  369. data/third_party/cares/cares/src/lib/inet_net_pton.c +78 -116
  370. data/third_party/cares/cares/src/tools/ares_getopt.h +53 -0
  371. metadata +48 -12
  372. data/src/core/ext/filters/client_channel/health/health_check_client.cc +0 -175
  373. data/src/core/ext/filters/client_channel/health/health_check_client.h +0 -43
  374. data/third_party/cares/cares/src/lib/ares_library_init.h +0 -43
@@ -32,11 +32,7 @@ void x25519_NEON(uint8_t out[32], const uint8_t scalar[32],
32
32
  const uint8_t point[32]);
33
33
  #endif
34
34
 
35
- #if defined(BORINGSSL_HAS_UINT128)
36
- #define BORINGSSL_CURVE25519_64BIT
37
- #endif
38
-
39
- #if defined(BORINGSSL_CURVE25519_64BIT)
35
+ #if defined(OPENSSL_64_BIT)
40
36
  // fe means field element. Here the field is \Z/(2^255-19). An element t,
41
37
  // entries t[0]...t[4], represents the integer t[0]+2^51 t[1]+2^102 t[2]+2^153
42
38
  // t[3]+2^204 t[4].
@@ -202,6 +202,10 @@ int DSA_set0_pqg(DSA *dsa, BIGNUM *p, BIGNUM *q, BIGNUM *g) {
202
202
  dsa->g = g;
203
203
  }
204
204
 
205
+ BN_MONT_CTX_free(dsa->method_mont_p);
206
+ dsa->method_mont_p = NULL;
207
+ BN_MONT_CTX_free(dsa->method_mont_q);
208
+ dsa->method_mont_q = NULL;
205
209
  return 1;
206
210
  }
207
211
 
@@ -273,7 +273,7 @@ static BN_ULONG sqrt_ratio_3mod4(const EC_GROUP *group, const EC_FELEM *Z,
273
273
  // in appendix F.2.
274
274
  static void map_to_curve_simple_swu(const EC_GROUP *group, const EC_FELEM *Z,
275
275
  const BN_ULONG *c1, size_t num_c1,
276
- const EC_FELEM *c2, EC_RAW_POINT *out,
276
+ const EC_FELEM *c2, EC_JACOBIAN *out,
277
277
  const EC_FELEM *u) {
278
278
  // This function requires the prime be 3 mod 4, and that A = -3.
279
279
  assert(is_3mod4(group));
@@ -344,7 +344,7 @@ static void map_to_curve_simple_swu(const EC_GROUP *group, const EC_FELEM *Z,
344
344
 
345
345
  static int hash_to_curve(const EC_GROUP *group, const EVP_MD *md,
346
346
  const EC_FELEM *Z, const EC_FELEM *c2, unsigned k,
347
- EC_RAW_POINT *out, const uint8_t *dst, size_t dst_len,
347
+ EC_JACOBIAN *out, const uint8_t *dst, size_t dst_len,
348
348
  const uint8_t *msg, size_t msg_len) {
349
349
  EC_FELEM u0, u1;
350
350
  if (!hash_to_field2(group, md, &u0, &u1, dst, dst_len, k, msg, msg_len)) {
@@ -359,7 +359,7 @@ static int hash_to_curve(const EC_GROUP *group, const EVP_MD *md,
359
359
  }
360
360
  bn_rshift_words(c1, c1, /*shift=*/2, /*num=*/num_c1);
361
361
 
362
- EC_RAW_POINT Q0, Q1;
362
+ EC_JACOBIAN Q0, Q1;
363
363
  map_to_curve_simple_swu(group, Z, c1, num_c1, c2, &Q0, &u0);
364
364
  map_to_curve_simple_swu(group, Z, c1, num_c1, c2, &Q1, &u1);
365
365
 
@@ -401,7 +401,7 @@ static const uint8_t kP384Sqrt12[] = {
401
401
  0xa8, 0x0f, 0x7e, 0x19, 0x14, 0xe2, 0xec, 0x69, 0xf5, 0xa6, 0x26, 0xb3};
402
402
 
403
403
  int ec_hash_to_curve_p256_xmd_sha256_sswu(const EC_GROUP *group,
404
- EC_RAW_POINT *out, const uint8_t *dst,
404
+ EC_JACOBIAN *out, const uint8_t *dst,
405
405
  size_t dst_len, const uint8_t *msg,
406
406
  size_t msg_len) {
407
407
  // See section 8.3 of draft-irtf-cfrg-hash-to-curve-16.
@@ -434,7 +434,7 @@ int EC_hash_to_curve_p256_xmd_sha256_sswu(const EC_GROUP *group, EC_POINT *out,
434
434
  }
435
435
 
436
436
  int ec_hash_to_curve_p384_xmd_sha384_sswu(const EC_GROUP *group,
437
- EC_RAW_POINT *out, const uint8_t *dst,
437
+ EC_JACOBIAN *out, const uint8_t *dst,
438
438
  size_t dst_len, const uint8_t *msg,
439
439
  size_t msg_len) {
440
440
  // See section 8.3 of draft-irtf-cfrg-hash-to-curve-16.
@@ -466,8 +466,20 @@ int EC_hash_to_curve_p384_xmd_sha384_sswu(const EC_GROUP *group, EC_POINT *out,
466
466
  msg, msg_len);
467
467
  }
468
468
 
469
+ int ec_hash_to_scalar_p384_xmd_sha384(
470
+ const EC_GROUP *group, EC_SCALAR *out, const uint8_t *dst, size_t dst_len,
471
+ const uint8_t *msg, size_t msg_len) {
472
+ if (EC_GROUP_get_curve_name(group) != NID_secp384r1) {
473
+ OPENSSL_PUT_ERROR(EC, EC_R_GROUP_MISMATCH);
474
+ return 0;
475
+ }
476
+
477
+ return hash_to_scalar(group, EVP_sha384(), out, dst, dst_len, /*k=*/192, msg,
478
+ msg_len);
479
+ }
480
+
469
481
  int ec_hash_to_curve_p384_xmd_sha512_sswu_draft07(
470
- const EC_GROUP *group, EC_RAW_POINT *out, const uint8_t *dst,
482
+ const EC_GROUP *group, EC_JACOBIAN *out, const uint8_t *dst,
471
483
  size_t dst_len, const uint8_t *msg, size_t msg_len) {
472
484
  // See section 8.3 of draft-irtf-cfrg-hash-to-curve-07.
473
485
  if (EC_GROUP_get_curve_name(group) != NID_secp384r1) {
@@ -26,23 +26,31 @@ extern "C" {
26
26
 
27
27
  // Hash-to-curve.
28
28
  //
29
- // Internal |EC_RAW_POINT| versions of the corresponding public APIs.
29
+ // Internal |EC_JACOBIAN| versions of the corresponding public APIs.
30
30
 
31
31
  // ec_hash_to_curve_p256_xmd_sha256_sswu hashes |msg| to a point on |group| and
32
32
  // writes the result to |out|, implementing the P256_XMD:SHA-256_SSWU_RO_ suite
33
33
  // from draft-irtf-cfrg-hash-to-curve-16. It returns one on success and zero on
34
34
  // error.
35
35
  OPENSSL_EXPORT int ec_hash_to_curve_p256_xmd_sha256_sswu(
36
- const EC_GROUP *group, EC_RAW_POINT *out, const uint8_t *dst,
37
- size_t dst_len, const uint8_t *msg, size_t msg_len);
36
+ const EC_GROUP *group, EC_JACOBIAN *out, const uint8_t *dst, size_t dst_len,
37
+ const uint8_t *msg, size_t msg_len);
38
38
 
39
39
  // ec_hash_to_curve_p384_xmd_sha384_sswu hashes |msg| to a point on |group| and
40
40
  // writes the result to |out|, implementing the P384_XMD:SHA-384_SSWU_RO_ suite
41
41
  // from draft-irtf-cfrg-hash-to-curve-16. It returns one on success and zero on
42
42
  // error.
43
43
  OPENSSL_EXPORT int ec_hash_to_curve_p384_xmd_sha384_sswu(
44
- const EC_GROUP *group, EC_RAW_POINT *out, const uint8_t *dst,
45
- size_t dst_len, const uint8_t *msg, size_t msg_len);
44
+ const EC_GROUP *group, EC_JACOBIAN *out, const uint8_t *dst, size_t dst_len,
45
+ const uint8_t *msg, size_t msg_len);
46
+
47
+ // ec_hash_to_scalar_p384_xmd_sha384 hashes |msg| to a scalar on |group|
48
+ // and writes the result to |out|, using the hash_to_field operation from the
49
+ // P384_XMD:SHA-384_SSWU_RO_ suite from draft-irtf-cfrg-hash-to-curve-16, but
50
+ // generating a value modulo the group order rather than a field element.
51
+ OPENSSL_EXPORT int ec_hash_to_scalar_p384_xmd_sha384(
52
+ const EC_GROUP *group, EC_SCALAR *out, const uint8_t *dst, size_t dst_len,
53
+ const uint8_t *msg, size_t msg_len);
46
54
 
47
55
  // ec_hash_to_curve_p384_xmd_sha512_sswu_draft07 hashes |msg| to a point on
48
56
  // |group| and writes the result to |out|, implementing the
@@ -51,8 +59,8 @@ OPENSSL_EXPORT int ec_hash_to_curve_p384_xmd_sha384_sswu(
51
59
  //
52
60
  // TODO(https://crbug.com/1414562): Migrate this to the final version.
53
61
  OPENSSL_EXPORT int ec_hash_to_curve_p384_xmd_sha512_sswu_draft07(
54
- const EC_GROUP *group, EC_RAW_POINT *out, const uint8_t *dst,
55
- size_t dst_len, const uint8_t *msg, size_t msg_len);
62
+ const EC_GROUP *group, EC_JACOBIAN *out, const uint8_t *dst, size_t dst_len,
63
+ const uint8_t *msg, size_t msg_len);
56
64
 
57
65
  // ec_hash_to_scalar_p384_xmd_sha512_draft07 hashes |msg| to a scalar on |group|
58
66
  // and writes the result to |out|, using the hash_to_field operation from the
@@ -92,7 +92,7 @@ int ECDH_compute_key(void *out, size_t out_len, const EC_POINT *pub_key,
92
92
  return -1;
93
93
  }
94
94
 
95
- EC_RAW_POINT shared_point;
95
+ EC_JACOBIAN shared_point;
96
96
  uint8_t buf[EC_MAX_BYTES];
97
97
  size_t buf_len;
98
98
  if (!ec_point_mul_scalar(group, &shared_point, &pub_key->raw, priv) ||
@@ -67,7 +67,7 @@
67
67
  #include <openssl/rsa.h>
68
68
 
69
69
  #include "../internal.h"
70
- #include "../fipsmodule/rsa/internal.h"
70
+ #include "../rsa_extra/internal.h"
71
71
  #include "internal.h"
72
72
 
73
73
 
@@ -80,6 +80,7 @@
80
80
  #include "ec/simple_mul.c"
81
81
  #include "ec/util.c"
82
82
  #include "ec/wnaf.c"
83
+ #include "hkdf/hkdf.c"
83
84
  #include "hmac/hmac.c"
84
85
  #include "md4/md4.c"
85
86
  #include "md5/md5.c"
@@ -177,6 +177,9 @@ int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) {
177
177
  dh->g = g;
178
178
  }
179
179
 
180
+ // Invalidate the cached Montgomery parameters.
181
+ BN_MONT_CTX_free(dh->method_mont_p);
182
+ dh->method_mont_p = NULL;
180
183
  return 1;
181
184
  }
182
185
 
@@ -801,7 +801,7 @@ int EC_POINT_get_affine_coordinates(const EC_GROUP *group,
801
801
  return EC_POINT_get_affine_coordinates_GFp(group, point, x, y, ctx);
802
802
  }
803
803
 
804
- void ec_affine_to_jacobian(const EC_GROUP *group, EC_RAW_POINT *out,
804
+ void ec_affine_to_jacobian(const EC_GROUP *group, EC_JACOBIAN *out,
805
805
  const EC_AFFINE *p) {
806
806
  out->X = p->X;
807
807
  out->Y = p->Y;
@@ -809,12 +809,12 @@ void ec_affine_to_jacobian(const EC_GROUP *group, EC_RAW_POINT *out,
809
809
  }
810
810
 
811
811
  int ec_jacobian_to_affine(const EC_GROUP *group, EC_AFFINE *out,
812
- const EC_RAW_POINT *p) {
812
+ const EC_JACOBIAN *p) {
813
813
  return group->meth->point_get_affine_coordinates(group, p, &out->X, &out->Y);
814
814
  }
815
815
 
816
816
  int ec_jacobian_to_affine_batch(const EC_GROUP *group, EC_AFFINE *out,
817
- const EC_RAW_POINT *in, size_t num) {
817
+ const EC_JACOBIAN *in, size_t num) {
818
818
  if (group->meth->jacobian_to_affine_batch == NULL) {
819
819
  OPENSSL_PUT_ERROR(EC, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
820
820
  return 0;
@@ -990,13 +990,13 @@ int ec_point_mul_no_self_test(const EC_GROUP *group, EC_POINT *r,
990
990
 
991
991
  if (p_scalar != NULL) {
992
992
  EC_SCALAR scalar;
993
- EC_RAW_POINT tmp;
993
+ EC_JACOBIAN tmp;
994
994
  if (!arbitrary_bignum_to_scalar(group, &scalar, p_scalar, ctx) ||
995
995
  !ec_point_mul_scalar(group, &tmp, &p->raw, &scalar)) {
996
996
  goto err;
997
997
  }
998
998
  if (g_scalar == NULL) {
999
- OPENSSL_memcpy(&r->raw, &tmp, sizeof(EC_RAW_POINT));
999
+ OPENSSL_memcpy(&r->raw, &tmp, sizeof(EC_JACOBIAN));
1000
1000
  } else {
1001
1001
  group->meth->add(group, &r->raw, &r->raw, &tmp);
1002
1002
  }
@@ -1016,8 +1016,8 @@ int EC_POINT_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *g_scalar,
1016
1016
  return ec_point_mul_no_self_test(group, r, g_scalar, p, p_scalar, ctx);
1017
1017
  }
1018
1018
 
1019
- int ec_point_mul_scalar_public(const EC_GROUP *group, EC_RAW_POINT *r,
1020
- const EC_SCALAR *g_scalar, const EC_RAW_POINT *p,
1019
+ int ec_point_mul_scalar_public(const EC_GROUP *group, EC_JACOBIAN *r,
1020
+ const EC_SCALAR *g_scalar, const EC_JACOBIAN *p,
1021
1021
  const EC_SCALAR *p_scalar) {
1022
1022
  if (g_scalar == NULL || p_scalar == NULL || p == NULL) {
1023
1023
  OPENSSL_PUT_ERROR(EC, ERR_R_PASSED_NULL_PARAMETER);
@@ -1032,9 +1032,9 @@ int ec_point_mul_scalar_public(const EC_GROUP *group, EC_RAW_POINT *r,
1032
1032
  return 1;
1033
1033
  }
1034
1034
 
1035
- int ec_point_mul_scalar_public_batch(const EC_GROUP *group, EC_RAW_POINT *r,
1035
+ int ec_point_mul_scalar_public_batch(const EC_GROUP *group, EC_JACOBIAN *r,
1036
1036
  const EC_SCALAR *g_scalar,
1037
- const EC_RAW_POINT *points,
1037
+ const EC_JACOBIAN *points,
1038
1038
  const EC_SCALAR *scalars, size_t num) {
1039
1039
  if (group->meth->mul_public_batch == NULL) {
1040
1040
  OPENSSL_PUT_ERROR(EC, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
@@ -1045,8 +1045,8 @@ int ec_point_mul_scalar_public_batch(const EC_GROUP *group, EC_RAW_POINT *r,
1045
1045
  num);
1046
1046
  }
1047
1047
 
1048
- int ec_point_mul_scalar(const EC_GROUP *group, EC_RAW_POINT *r,
1049
- const EC_RAW_POINT *p, const EC_SCALAR *scalar) {
1048
+ int ec_point_mul_scalar(const EC_GROUP *group, EC_JACOBIAN *r,
1049
+ const EC_JACOBIAN *p, const EC_SCALAR *scalar) {
1050
1050
  if (p == NULL || scalar == NULL) {
1051
1051
  OPENSSL_PUT_ERROR(EC, ERR_R_PASSED_NULL_PARAMETER);
1052
1052
  return 0;
@@ -1064,7 +1064,7 @@ int ec_point_mul_scalar(const EC_GROUP *group, EC_RAW_POINT *r,
1064
1064
  return 1;
1065
1065
  }
1066
1066
 
1067
- int ec_point_mul_scalar_base(const EC_GROUP *group, EC_RAW_POINT *r,
1067
+ int ec_point_mul_scalar_base(const EC_GROUP *group, EC_JACOBIAN *r,
1068
1068
  const EC_SCALAR *scalar) {
1069
1069
  if (scalar == NULL) {
1070
1070
  OPENSSL_PUT_ERROR(EC, ERR_R_PASSED_NULL_PARAMETER);
@@ -1083,10 +1083,10 @@ int ec_point_mul_scalar_base(const EC_GROUP *group, EC_RAW_POINT *r,
1083
1083
  return 1;
1084
1084
  }
1085
1085
 
1086
- int ec_point_mul_scalar_batch(const EC_GROUP *group, EC_RAW_POINT *r,
1087
- const EC_RAW_POINT *p0, const EC_SCALAR *scalar0,
1088
- const EC_RAW_POINT *p1, const EC_SCALAR *scalar1,
1089
- const EC_RAW_POINT *p2,
1086
+ int ec_point_mul_scalar_batch(const EC_GROUP *group, EC_JACOBIAN *r,
1087
+ const EC_JACOBIAN *p0, const EC_SCALAR *scalar0,
1088
+ const EC_JACOBIAN *p1, const EC_SCALAR *scalar1,
1089
+ const EC_JACOBIAN *p2,
1090
1090
  const EC_SCALAR *scalar2) {
1091
1091
  if (group->meth->mul_batch == NULL) {
1092
1092
  OPENSSL_PUT_ERROR(EC, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
@@ -1106,7 +1106,7 @@ int ec_point_mul_scalar_batch(const EC_GROUP *group, EC_RAW_POINT *r,
1106
1106
  }
1107
1107
 
1108
1108
  int ec_init_precomp(const EC_GROUP *group, EC_PRECOMP *out,
1109
- const EC_RAW_POINT *p) {
1109
+ const EC_JACOBIAN *p) {
1110
1110
  if (group->meth->init_precomp == NULL) {
1111
1111
  OPENSSL_PUT_ERROR(EC, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
1112
1112
  return 0;
@@ -1115,7 +1115,7 @@ int ec_init_precomp(const EC_GROUP *group, EC_PRECOMP *out,
1115
1115
  return group->meth->init_precomp(group, out, p);
1116
1116
  }
1117
1117
 
1118
- int ec_point_mul_scalar_precomp(const EC_GROUP *group, EC_RAW_POINT *r,
1118
+ int ec_point_mul_scalar_precomp(const EC_GROUP *group, EC_JACOBIAN *r,
1119
1119
  const EC_PRECOMP *p0, const EC_SCALAR *scalar0,
1120
1120
  const EC_PRECOMP *p1, const EC_SCALAR *scalar1,
1121
1121
  const EC_PRECOMP *p2,
@@ -1137,8 +1137,8 @@ int ec_point_mul_scalar_precomp(const EC_GROUP *group, EC_RAW_POINT *r,
1137
1137
  return 1;
1138
1138
  }
1139
1139
 
1140
- void ec_point_select(const EC_GROUP *group, EC_RAW_POINT *out, BN_ULONG mask,
1141
- const EC_RAW_POINT *a, const EC_RAW_POINT *b) {
1140
+ void ec_point_select(const EC_GROUP *group, EC_JACOBIAN *out, BN_ULONG mask,
1141
+ const EC_JACOBIAN *a, const EC_JACOBIAN *b) {
1142
1142
  ec_felem_select(group, &out->X, mask, &a->X, &b->X);
1143
1143
  ec_felem_select(group, &out->Y, mask, &a->Y, &b->Y);
1144
1144
  ec_felem_select(group, &out->Z, mask, &a->Z, &b->Z);
@@ -1159,13 +1159,13 @@ void ec_precomp_select(const EC_GROUP *group, EC_PRECOMP *out, BN_ULONG mask,
1159
1159
  }
1160
1160
  }
1161
1161
 
1162
- int ec_cmp_x_coordinate(const EC_GROUP *group, const EC_RAW_POINT *p,
1162
+ int ec_cmp_x_coordinate(const EC_GROUP *group, const EC_JACOBIAN *p,
1163
1163
  const EC_SCALAR *r) {
1164
1164
  return group->meth->cmp_x_coordinate(group, p, r);
1165
1165
  }
1166
1166
 
1167
1167
  int ec_get_x_coordinate_as_scalar(const EC_GROUP *group, EC_SCALAR *out,
1168
- const EC_RAW_POINT *p) {
1168
+ const EC_JACOBIAN *p) {
1169
1169
  uint8_t bytes[EC_MAX_BYTES];
1170
1170
  size_t len;
1171
1171
  if (!ec_get_x_coordinate_as_bytes(group, bytes, &len, sizeof(bytes), p)) {
@@ -1201,7 +1201,7 @@ int ec_get_x_coordinate_as_scalar(const EC_GROUP *group, EC_SCALAR *out,
1201
1201
 
1202
1202
  int ec_get_x_coordinate_as_bytes(const EC_GROUP *group, uint8_t *out,
1203
1203
  size_t *out_len, size_t max_out,
1204
- const EC_RAW_POINT *p) {
1204
+ const EC_JACOBIAN *p) {
1205
1205
  size_t len = BN_num_bytes(&group->field);
1206
1206
  assert(len <= EC_MAX_BYTES);
1207
1207
  if (max_out < len) {
@@ -1219,7 +1219,7 @@ int ec_get_x_coordinate_as_bytes(const EC_GROUP *group, uint8_t *out,
1219
1219
  return 1;
1220
1220
  }
1221
1221
 
1222
- void ec_set_to_safe_point(const EC_GROUP *group, EC_RAW_POINT *out) {
1222
+ void ec_set_to_safe_point(const EC_GROUP *group, EC_JACOBIAN *out) {
1223
1223
  if (group->generator != NULL) {
1224
1224
  ec_GFp_simple_point_copy(out, &group->generator->raw);
1225
1225
  } else {
@@ -311,7 +311,7 @@ int EC_KEY_check_key(const EC_KEY *eckey) {
311
311
  // NOTE: this is a FIPS pair-wise consistency check for the ECDH case. See SP
312
312
  // 800-56Ar3, page 36.
313
313
  if (eckey->priv_key != NULL) {
314
- EC_RAW_POINT point;
314
+ EC_JACOBIAN point;
315
315
  if (!ec_point_mul_scalar_base(eckey->group, &point,
316
316
  &eckey->priv_key->scalar)) {
317
317
  OPENSSL_PUT_ERROR(EC, ERR_R_EC_LIB);
@@ -175,7 +175,7 @@ void ec_GFp_mont_felem_exp(const EC_GROUP *group, EC_FELEM *out,
175
175
  }
176
176
 
177
177
  static int ec_GFp_mont_point_get_affine_coordinates(const EC_GROUP *group,
178
- const EC_RAW_POINT *point,
178
+ const EC_JACOBIAN *point,
179
179
  EC_FELEM *x, EC_FELEM *y) {
180
180
  if (ec_GFp_simple_is_at_infinity(group, point)) {
181
181
  OPENSSL_PUT_ERROR(EC, EC_R_POINT_AT_INFINITY);
@@ -202,7 +202,7 @@ static int ec_GFp_mont_point_get_affine_coordinates(const EC_GROUP *group,
202
202
 
203
203
  static int ec_GFp_mont_jacobian_to_affine_batch(const EC_GROUP *group,
204
204
  EC_AFFINE *out,
205
- const EC_RAW_POINT *in,
205
+ const EC_JACOBIAN *in,
206
206
  size_t num) {
207
207
  if (num == 0) {
208
208
  return 1;
@@ -246,8 +246,8 @@ static int ec_GFp_mont_jacobian_to_affine_batch(const EC_GROUP *group,
246
246
  return 1;
247
247
  }
248
248
 
249
- void ec_GFp_mont_add(const EC_GROUP *group, EC_RAW_POINT *out,
250
- const EC_RAW_POINT *a, const EC_RAW_POINT *b) {
249
+ void ec_GFp_mont_add(const EC_GROUP *group, EC_JACOBIAN *out,
250
+ const EC_JACOBIAN *a, const EC_JACOBIAN *b) {
251
251
  if (a == b) {
252
252
  ec_GFp_mont_dbl(group, out, a);
253
253
  return;
@@ -357,8 +357,8 @@ void ec_GFp_mont_add(const EC_GROUP *group, EC_RAW_POINT *out,
357
357
  ec_felem_select(group, &out->Z, z2nz, &z_out, &a->Z);
358
358
  }
359
359
 
360
- void ec_GFp_mont_dbl(const EC_GROUP *group, EC_RAW_POINT *r,
361
- const EC_RAW_POINT *a) {
360
+ void ec_GFp_mont_dbl(const EC_GROUP *group, EC_JACOBIAN *r,
361
+ const EC_JACOBIAN *a) {
362
362
  if (group->a_is_minus3) {
363
363
  // The method is taken from:
364
364
  // http://hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b
@@ -453,7 +453,7 @@ void ec_GFp_mont_dbl(const EC_GROUP *group, EC_RAW_POINT *r,
453
453
  }
454
454
 
455
455
  static int ec_GFp_mont_cmp_x_coordinate(const EC_GROUP *group,
456
- const EC_RAW_POINT *p,
456
+ const EC_JACOBIAN *p,
457
457
  const EC_SCALAR *r) {
458
458
  if (!group->field_greater_than_order ||
459
459
  group->field.width != group->order.width) {