@encharm/cws 4.4.1 → 4.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (606) hide show
  1. package/binding.gyp +1 -1
  2. package/dist/bindings/cws_darwin_arm64_node115.node +0 -0
  3. package/dist/bindings/cws_darwin_arm64_node127.node +0 -0
  4. package/dist/bindings/cws_darwin_arm64_node137.node +0 -0
  5. package/dist/bindings/cws_linux_arm64_node115.node +0 -0
  6. package/dist/bindings/cws_linux_arm64_node127.node +0 -0
  7. package/dist/bindings/cws_linux_x64_node115.node +0 -0
  8. package/dist/bindings/cws_linux_x64_node127.node +0 -0
  9. package/dist/bindings/cws_linux_x64_node137.node +0 -0
  10. package/dist/bindings/cws_win32_x64_node108.node +0 -0
  11. package/dist/bindings/cws_win32_x64_node115.node +0 -0
  12. package/dist/bindings/cws_win32_x64_node127.node +0 -0
  13. package/dist/bindings/cws_win32_x64_node83.node +0 -0
  14. package/dist/bindings/cws_win32_x64_node93.node +0 -0
  15. package/package.json +1 -1
  16. package/src/Addon.h +13 -23
  17. package/src/Socket.h +0 -1
  18. package/src/headers/22/acorn_version.h +6 -0
  19. package/src/headers/22/aliased_buffer-inl.h +243 -0
  20. package/src/headers/22/aliased_buffer.h +206 -0
  21. package/src/headers/{18 → 22}/async_wrap-inl.h +8 -6
  22. package/src/headers/{18 → 22}/async_wrap.h +65 -59
  23. package/src/headers/{18 → 22}/base_object-inl.h +57 -117
  24. package/src/headers/{18 → 22}/base_object.h +58 -30
  25. package/src/headers/22/base_object_types.h +74 -0
  26. package/src/headers/22/blob_serializer_deserializer-inl.h +385 -0
  27. package/src/headers/22/blob_serializer_deserializer.h +132 -0
  28. package/src/headers/{16 → 22}/callback_queue.h +1 -0
  29. package/src/headers/{16 → 22}/cares_wrap.h +27 -20
  30. package/src/headers/22/cjs_module_lexer_version.h +6 -0
  31. package/src/headers/22/cleanup_queue-inl.h +62 -0
  32. package/src/headers/22/cleanup_queue.h +85 -0
  33. package/src/headers/22/compile_cache.h +104 -0
  34. package/src/headers/{18 → 22}/crypto/crypto_clienthello.h +1 -1
  35. package/src/headers/{18 → 22}/crypto/crypto_context.h +31 -7
  36. package/src/headers/{18 → 22}/crypto/crypto_keys.h +118 -148
  37. package/src/headers/{18 → 22}/crypto/crypto_tls.h +20 -5
  38. package/src/headers/{18 → 22}/crypto/crypto_util.h +219 -263
  39. package/src/headers/22/crypto/ncrypto.h +752 -0
  40. package/src/headers/{16 → 22}/debug_utils-inl.h +15 -7
  41. package/src/headers/{18 → 22}/debug_utils.h +25 -19
  42. package/src/headers/22/encoding_binding.h +59 -0
  43. package/src/headers/{14 → 22}/env-inl.h +276 -409
  44. package/src/headers/22/env.h +1266 -0
  45. package/src/headers/22/env_properties.h +497 -0
  46. package/src/headers/{18 → 22}/handle_wrap.h +2 -0
  47. package/src/headers/{18 → 22}/histogram.h +88 -48
  48. package/src/headers/{16 → 22}/inspector_agent.h +17 -1
  49. package/src/headers/{16 → 22}/inspector_profiler.h +15 -13
  50. package/src/headers/22/js_native_api.h +619 -0
  51. package/src/headers/{18 → 22}/js_native_api_types.h +46 -1
  52. package/src/headers/22/js_native_api_v8.h +485 -0
  53. package/src/headers/{18 → 22}/js_native_api_v8_internals.h +6 -0
  54. package/src/headers/22/json_parser.h +40 -0
  55. package/src/headers/{16 → 22}/json_utils.h +19 -8
  56. package/src/headers/{18 → 22}/memory_tracker-inl.h +16 -13
  57. package/src/headers/{14 → 22}/memory_tracker.h +13 -8
  58. package/src/headers/{16 → 22}/module_wrap.h +49 -19
  59. package/src/headers/22/ncrypto/ncrypto.h +752 -0
  60. package/src/headers/{18 → 22}/node.h +465 -68
  61. package/src/headers/{18 → 22}/node_api.h +66 -81
  62. package/src/headers/{18 → 22}/node_api_internals.h +8 -4
  63. package/src/headers/{18 → 22}/node_api_types.h +5 -0
  64. package/src/headers/22/node_binding.h +154 -0
  65. package/src/headers/{18 → 22}/node_blob.h +46 -78
  66. package/src/headers/{18 → 22}/node_bob-inl.h +1 -2
  67. package/src/headers/{18 → 22}/node_bob.h +2 -6
  68. package/src/headers/{18 → 22}/node_buffer.h +1 -1
  69. package/src/headers/22/node_builtins.h +220 -0
  70. package/src/headers/{18 → 22}/node_constants.h +3 -5
  71. package/src/headers/22/node_context_data.h +168 -0
  72. package/src/headers/22/node_contextify.h +199 -0
  73. package/src/headers/{16 → 22}/node_crypto.h +1 -2
  74. package/src/headers/22/node_dotenv.h +45 -0
  75. package/src/headers/{18 → 22}/node_errors.h +86 -27
  76. package/src/headers/22/node_exit_code.h +54 -0
  77. package/src/headers/22/node_external_reference.h +249 -0
  78. package/src/headers/{18 → 22}/node_file-inl.h +127 -30
  79. package/src/headers/{16 → 22}/node_file.h +122 -11
  80. package/src/headers/{18 → 22}/node_http2.h +28 -11
  81. package/src/headers/{16 → 22}/node_http2_state.h +34 -25
  82. package/src/headers/{18 → 22}/node_http_common-inl.h +2 -1
  83. package/src/headers/{18 → 22}/node_http_common.h +56 -55
  84. package/src/headers/{16 → 22}/node_i18n.h +5 -18
  85. package/src/headers/{18 → 22}/node_internals.h +121 -59
  86. package/src/headers/{18 → 22}/node_main_instance.h +4 -31
  87. package/src/headers/{18 → 22}/node_messaging.h +27 -10
  88. package/src/headers/{18 → 22}/node_metadata.h +23 -1
  89. package/src/headers/{18 → 22}/node_options-inl.h +24 -11
  90. package/src/headers/{18 → 22}/node_options.h +124 -39
  91. package/src/headers/{18 → 22}/node_perf.h +0 -2
  92. package/src/headers/{18 → 22}/node_perf_common.h +20 -9
  93. package/src/headers/{18 → 22}/node_platform.h +11 -5
  94. package/src/headers/{18 → 22}/node_process.h +26 -14
  95. package/src/headers/22/node_realm-inl.h +145 -0
  96. package/src/headers/22/node_realm.h +184 -0
  97. package/src/headers/{16 → 22}/node_report.h +13 -17
  98. package/src/headers/{16 → 22}/node_revert.h +3 -3
  99. package/src/headers/{16 → 22}/node_root_certs.h +902 -461
  100. package/src/headers/22/node_sea.h +64 -0
  101. package/src/headers/22/node_shadow_realm.h +46 -0
  102. package/src/headers/22/node_snapshot_builder.h +57 -0
  103. package/src/headers/22/node_snapshotable.h +174 -0
  104. package/src/headers/{18 → 22}/node_sockaddr.h +2 -2
  105. package/src/headers/{16 → 22}/node_stat_watcher.h +2 -1
  106. package/src/headers/22/node_threadsafe_cow-inl.h +54 -0
  107. package/src/headers/22/node_threadsafe_cow.h +105 -0
  108. package/src/headers/22/node_union_bytes.h +81 -0
  109. package/src/headers/22/node_url.h +96 -0
  110. package/src/headers/22/node_v8.h +77 -0
  111. package/src/headers/{14 → 22}/node_v8_platform-inl.h +17 -6
  112. package/src/headers/{16 → 22}/node_version.h +21 -9
  113. package/src/headers/22/node_wasi.h +185 -0
  114. package/src/headers/{14 → 22}/node_watchdog.h +2 -0
  115. package/src/headers/{18 → 22}/node_worker.h +7 -2
  116. package/src/headers/22/permission/child_process_permission.h +31 -0
  117. package/src/headers/22/permission/fs_permission.h +167 -0
  118. package/src/headers/22/permission/inspector_permission.h +31 -0
  119. package/src/headers/22/permission/permission.h +99 -0
  120. package/src/headers/22/permission/permission_base.h +60 -0
  121. package/src/headers/22/permission/wasi_permission.h +31 -0
  122. package/src/headers/22/permission/worker_permission.h +31 -0
  123. package/src/headers/{16 → 22}/req_wrap-inl.h +7 -6
  124. package/src/headers/{14 → 22}/spawn_sync.h +3 -3
  125. package/src/headers/{18 → 22}/stream_base-inl.h +0 -135
  126. package/src/headers/{18 → 22}/stream_base.h +35 -16
  127. package/src/headers/{18 → 22}/stream_pipe.h +3 -4
  128. package/src/headers/{16 → 22}/stream_wrap.h +2 -1
  129. package/src/headers/{18 → 22}/string_bytes.h +5 -14
  130. package/src/headers/{14 → 22}/string_decoder-inl.h +0 -6
  131. package/src/headers/{16 → 22}/string_decoder.h +0 -1
  132. package/src/headers/{18 → 22}/tcp_wrap.h +1 -1
  133. package/src/headers/{18 → 22}/threadpoolwork-inl.h +14 -1
  134. package/src/headers/22/timers.h +76 -0
  135. package/src/headers/{18 → 22}/tracing/trace_event.h +7 -5
  136. package/src/headers/{16 → 22}/udp_wrap.h +8 -5
  137. package/src/headers/22/undici_version.h +6 -0
  138. package/src/headers/{18 → 22}/util-inl.h +97 -127
  139. package/src/headers/{18 → 22}/util.h +293 -106
  140. package/src/headers/{18 → 22}/v8-fast-api-calls.h +103 -58
  141. package/src/headers/24/acorn_version.h +6 -0
  142. package/src/headers/24/addon_permission.h +31 -0
  143. package/src/headers/{16/tracing → 24}/agent.h +1 -1
  144. package/src/headers/24/aliased_buffer-inl.h +244 -0
  145. package/src/headers/24/aliased_buffer.h +206 -0
  146. package/src/headers/24/amaro_version.h +6 -0
  147. package/src/headers/24/application.h +165 -0
  148. package/src/headers/24/async_context_frame.h +33 -0
  149. package/src/headers/{14 → 24}/async_wrap-inl.h +8 -6
  150. package/src/headers/{16 → 24}/async_wrap.h +86 -88
  151. package/src/headers/{16 → 24}/base_object-inl.h +75 -119
  152. package/src/headers/{16 → 24}/base_object.h +84 -40
  153. package/src/headers/24/base_object_types.h +74 -0
  154. package/src/headers/24/bindingdata.h +272 -0
  155. package/src/headers/24/blob_serializer_deserializer-inl.h +385 -0
  156. package/src/headers/24/blob_serializer_deserializer.h +132 -0
  157. package/src/headers/{18 → 24}/callback_queue.h +1 -0
  158. package/src/headers/{18 → 24}/cares_wrap.h +68 -144
  159. package/src/headers/24/child_process_permission.h +31 -0
  160. package/src/headers/24/cid.h +127 -0
  161. package/src/headers/24/cjs_module_lexer_version.h +6 -0
  162. package/src/headers/24/cleanup_queue-inl.h +36 -0
  163. package/src/headers/24/cleanup_queue.h +79 -0
  164. package/src/headers/24/compile_cache.h +113 -0
  165. package/src/headers/24/cppgc_helpers-inl.h +65 -0
  166. package/src/headers/24/cppgc_helpers.h +162 -0
  167. package/src/headers/24/crypto/crypto_aes.h +97 -0
  168. package/src/headers/24/crypto/crypto_argon2.h +86 -0
  169. package/src/headers/{16 → 24}/crypto/crypto_bio.h +8 -9
  170. package/src/headers/24/crypto/crypto_chacha20_poly1305.h +64 -0
  171. package/src/headers/{18 → 24}/crypto/crypto_cipher.h +48 -58
  172. package/src/headers/{16 → 24}/crypto/crypto_clienthello-inl.h +2 -2
  173. package/src/headers/{16 → 24}/crypto/crypto_clienthello.h +1 -1
  174. package/src/headers/24/crypto/crypto_common.h +48 -0
  175. package/src/headers/{16 → 24}/crypto/crypto_context.h +46 -22
  176. package/src/headers/{18 → 24}/crypto/crypto_dh.h +27 -57
  177. package/src/headers/{18 → 24}/crypto/crypto_dsa.h +7 -34
  178. package/src/headers/{18 → 24}/crypto/crypto_ec.h +42 -49
  179. package/src/headers/{18 → 24}/crypto/crypto_hash.h +11 -11
  180. package/src/headers/{18 → 24}/crypto/crypto_hkdf.h +10 -14
  181. package/src/headers/{18 → 24}/crypto/crypto_hmac.h +11 -13
  182. package/src/headers/24/crypto/crypto_kem.h +113 -0
  183. package/src/headers/{18 → 24}/crypto/crypto_keygen.h +59 -74
  184. package/src/headers/{16 → 24}/crypto/crypto_keys.h +134 -154
  185. package/src/headers/24/crypto/crypto_ml_dsa.h +21 -0
  186. package/src/headers/{18 → 24}/crypto/crypto_pbkdf2.h +9 -11
  187. package/src/headers/{18 → 24}/crypto/crypto_random.h +28 -34
  188. package/src/headers/{18 → 24}/crypto/crypto_rsa.h +30 -35
  189. package/src/headers/{18 → 24}/crypto/crypto_scrypt.h +8 -10
  190. package/src/headers/{18 → 24}/crypto/crypto_sig.h +36 -48
  191. package/src/headers/{16 → 24}/crypto/crypto_tls.h +35 -18
  192. package/src/headers/{16 → 24}/crypto/crypto_util.h +183 -321
  193. package/src/headers/24/crypto/crypto_x509.h +140 -0
  194. package/src/headers/24/data.h +148 -0
  195. package/src/headers/{14 → 24}/debug_utils-inl.h +17 -8
  196. package/src/headers/{16 → 24}/debug_utils.h +31 -22
  197. package/src/headers/24/defs.h +254 -0
  198. package/src/headers/24/embedded_data.h +17 -0
  199. package/src/headers/24/encoding_binding.h +60 -0
  200. package/src/headers/24/endpoint.h +421 -0
  201. package/src/headers/{16 → 24}/env-inl.h +198 -540
  202. package/src/headers/24/env.h +1257 -0
  203. package/src/headers/24/env_properties.h +561 -0
  204. package/src/headers/24/fs_permission.h +167 -0
  205. package/src/headers/{16 → 24}/handle_wrap.h +4 -2
  206. package/src/headers/{16 → 24}/histogram-inl.h +34 -15
  207. package/src/headers/24/histogram.h +279 -0
  208. package/src/headers/24/http3.h +44 -0
  209. package/src/headers/{18 → 24}/inspector_agent.h +23 -2
  210. package/src/headers/24/inspector_permission.h +31 -0
  211. package/src/headers/{18 → 24}/inspector_profiler.h +15 -15
  212. package/src/headers/24/io_agent.h +30 -0
  213. package/src/headers/{18 → 24}/js_native_api.h +74 -30
  214. package/src/headers/{16 → 24}/js_native_api_types.h +61 -10
  215. package/src/headers/{18 → 24}/js_native_api_v8.h +205 -160
  216. package/src/headers/{16 → 24}/js_native_api_v8_internals.h +12 -6
  217. package/src/headers/24/json_parser.h +40 -0
  218. package/src/headers/{18 → 24}/json_utils.h +19 -8
  219. package/src/headers/24/logstream.h +81 -0
  220. package/src/headers/24/main_thread_interface.h +116 -0
  221. package/src/headers/{16 → 24}/memory_tracker-inl.h +115 -17
  222. package/src/headers/{16 → 24}/memory_tracker.h +58 -9
  223. package/src/headers/24/module_wrap.h +229 -0
  224. package/src/headers/24/ncrypto.h +1625 -0
  225. package/src/headers/24/network_agent.h +118 -0
  226. package/src/headers/24/network_inspector.h +45 -0
  227. package/src/headers/24/network_resource_manager.h +29 -0
  228. package/src/headers/{16 → 24}/node.h +560 -72
  229. package/src/headers/24/node_api.h +269 -0
  230. package/src/headers/24/node_api_internals.h +46 -0
  231. package/src/headers/{16 → 24}/node_api_types.h +13 -11
  232. package/src/headers/24/node_binding.h +163 -0
  233. package/src/headers/{16 → 24}/node_blob.h +46 -78
  234. package/src/headers/{16 → 24}/node_bob-inl.h +1 -2
  235. package/src/headers/{16 → 24}/node_bob.h +2 -6
  236. package/src/headers/{14 → 24}/node_buffer.h +1 -1
  237. package/src/headers/24/node_builtins.h +223 -0
  238. package/src/headers/24/node_config_file.h +65 -0
  239. package/src/headers/{14 → 24}/node_constants.h +3 -5
  240. package/src/headers/24/node_context_data.h +168 -0
  241. package/src/headers/24/node_contextify.h +261 -0
  242. package/src/headers/{18 → 24}/node_crypto.h +7 -2
  243. package/src/headers/24/node_debug.h +25 -0
  244. package/src/headers/24/node_dotenv.h +45 -0
  245. package/src/headers/{16 → 24}/node_errors.h +146 -32
  246. package/src/headers/24/node_exit_code.h +54 -0
  247. package/src/headers/{18 → 24}/node_external_reference.h +44 -22
  248. package/src/headers/{16 → 24}/node_file-inl.h +156 -50
  249. package/src/headers/{18 → 24}/node_file.h +129 -15
  250. package/src/headers/{16 → 24}/node_http2.h +53 -18
  251. package/src/headers/{14 → 24}/node_http2_state.h +35 -25
  252. package/src/headers/{16 → 24}/node_http_common-inl.h +8 -10
  253. package/src/headers/{16 → 24}/node_http_common.h +63 -59
  254. package/src/headers/{18 → 24}/node_i18n.h +5 -18
  255. package/src/headers/{16 → 24}/node_internals.h +131 -76
  256. package/src/headers/24/node_json.h +24 -0
  257. package/src/headers/24/node_large_page.h +34 -0
  258. package/src/headers/24/node_locks.h +180 -0
  259. package/src/headers/{14 → 24}/node_main_instance.h +15 -44
  260. package/src/headers/{16 → 24}/node_mem-inl.h +7 -7
  261. package/src/headers/{16 → 24}/node_messaging.h +27 -11
  262. package/src/headers/{16 → 24}/node_metadata.h +44 -2
  263. package/src/headers/24/node_modules.h +93 -0
  264. package/src/headers/{16 → 24}/node_options-inl.h +93 -46
  265. package/src/headers/{16 → 24}/node_options.h +251 -63
  266. package/src/headers/{16 → 24}/node_perf.h +6 -25
  267. package/src/headers/{16 → 24}/node_perf_common.h +23 -10
  268. package/src/headers/24/node_platform.h +286 -0
  269. package/src/headers/24/node_process.h +111 -0
  270. package/src/headers/24/node_realm-inl.h +153 -0
  271. package/src/headers/24/node_realm.h +236 -0
  272. package/src/headers/{18 → 24}/node_report.h +13 -17
  273. package/src/headers/{18 → 24}/node_revert.h +3 -3
  274. package/src/headers/{18 → 24}/node_root_certs.h +1010 -710
  275. package/src/headers/24/node_sea.h +74 -0
  276. package/src/headers/24/node_shadow_realm.h +46 -0
  277. package/src/headers/24/node_snapshot_builder.h +57 -0
  278. package/src/headers/24/node_snapshotable.h +174 -0
  279. package/src/headers/{16 → 24}/node_sockaddr-inl.h +11 -20
  280. package/src/headers/{16 → 24}/node_sockaddr.h +9 -20
  281. package/src/headers/24/node_sqlite.h +270 -0
  282. package/src/headers/{18 → 24}/node_stat_watcher.h +2 -1
  283. package/src/headers/24/node_string.h +101 -0
  284. package/src/headers/24/node_task_runner.h +92 -0
  285. package/src/headers/24/node_threadsafe_cow-inl.h +54 -0
  286. package/src/headers/24/node_threadsafe_cow.h +105 -0
  287. package/src/headers/24/node_union_bytes.h +81 -0
  288. package/src/headers/24/node_url.h +101 -0
  289. package/src/headers/24/node_url_pattern.h +118 -0
  290. package/src/headers/24/node_v8.h +77 -0
  291. package/src/headers/{18 → 24}/node_v8_platform-inl.h +22 -31
  292. package/src/headers/{18 → 24}/node_version.h +18 -6
  293. package/src/headers/24/node_wasi.h +185 -0
  294. package/src/headers/24/node_wasm_web_api.h +55 -0
  295. package/src/headers/{18 → 24}/node_watchdog.h +2 -0
  296. package/src/headers/24/node_webstorage.h +60 -0
  297. package/src/headers/{16 → 24}/node_worker.h +24 -10
  298. package/src/headers/24/packet.h +155 -0
  299. package/src/headers/24/path.h +33 -0
  300. package/src/headers/24/permission/addon_permission.h +31 -0
  301. package/src/headers/24/permission/child_process_permission.h +31 -0
  302. package/src/headers/24/permission/fs_permission.h +167 -0
  303. package/src/headers/24/permission/inspector_permission.h +31 -0
  304. package/src/headers/24/permission/permission.h +100 -0
  305. package/src/headers/24/permission/permission_base.h +65 -0
  306. package/src/headers/24/permission/wasi_permission.h +31 -0
  307. package/src/headers/24/permission/worker_permission.h +31 -0
  308. package/src/headers/24/permission.h +100 -0
  309. package/src/headers/24/permission_base.h +65 -0
  310. package/src/headers/24/preferredaddress.h +72 -0
  311. package/src/headers/24/protocol_helper.h +27 -0
  312. package/src/headers/24/queue.h +306 -0
  313. package/src/headers/{18 → 24}/req_wrap-inl.h +12 -6
  314. package/src/headers/{16 → 24}/req_wrap.h +3 -1
  315. package/src/headers/24/runtime_agent.h +41 -0
  316. package/src/headers/24/session.h +528 -0
  317. package/src/headers/24/sessionticket.h +108 -0
  318. package/src/headers/{18 → 24}/spawn_sync.h +9 -8
  319. package/src/headers/{16 → 24}/stream_base-inl.h +3 -133
  320. package/src/headers/{16 → 24}/stream_base.h +43 -19
  321. package/src/headers/{16 → 24}/stream_pipe.h +7 -4
  322. package/src/headers/{18 → 24}/stream_wrap.h +2 -3
  323. package/src/headers/24/streams.h +370 -0
  324. package/src/headers/{16 → 24}/string_bytes.h +8 -21
  325. package/src/headers/{18 → 24}/string_decoder-inl.h +0 -6
  326. package/src/headers/{18 → 24}/string_decoder.h +0 -1
  327. package/src/headers/24/target_agent.h +75 -0
  328. package/src/headers/{16 → 24}/tcp_wrap.h +3 -1
  329. package/src/headers/{14 → 24}/threadpoolwork-inl.h +14 -1
  330. package/src/headers/24/timer_wrap-inl.h +32 -0
  331. package/src/headers/{16 → 24}/timer_wrap.h +7 -4
  332. package/src/headers/24/timers.h +75 -0
  333. package/src/headers/24/tlscontext.h +228 -0
  334. package/src/headers/24/tokens.h +256 -0
  335. package/src/headers/{14/tracing → 24}/trace_event.h +7 -5
  336. package/src/headers/24/traced_value.h +129 -0
  337. package/src/headers/24/tracing_agent.h +43 -0
  338. package/src/headers/24/transportparams.h +166 -0
  339. package/src/headers/{16 → 24}/tty_wrap.h +0 -1
  340. package/src/headers/{18 → 24}/udp_wrap.h +8 -5
  341. package/src/headers/24/undici_version.h +6 -0
  342. package/src/headers/{16 → 24}/util-inl.h +267 -131
  343. package/src/headers/{16 → 24}/util.h +338 -146
  344. package/src/headers/24/v8-external-memory-accounter.h +60 -0
  345. package/src/headers/24/v8-fast-api-calls.h +819 -0
  346. package/src/headers/24/v8-inspector.h +426 -0
  347. package/src/headers/24/wasi_permission.h +31 -0
  348. package/src/headers/24/worker_agent.h +40 -0
  349. package/src/headers/24/worker_inspector.h +124 -0
  350. package/src/headers/24/worker_permission.h +31 -0
  351. package/src/headers/24/zlib_version.h +6 -0
  352. package/dist/bindings/cws_darwin_arm64_node83.node +0 -0
  353. package/dist/bindings/cws_darwin_arm64_node93.node +0 -0
  354. package/dist/bindings/cws_darwin_x64_node83.node +0 -0
  355. package/dist/bindings/cws_darwin_x64_node93.node +0 -0
  356. package/dist/bindings/cws_linux_arm64_node83.node +0 -0
  357. package/dist/bindings/cws_linux_arm64_node93.node +0 -0
  358. package/dist/bindings/cws_linux_x64_node83.node +0 -0
  359. package/dist/bindings/cws_linux_x64_node93.node +0 -0
  360. package/src/headers/14/aliased_buffer.h +0 -263
  361. package/src/headers/14/allocated_buffer-inl.h +0 -110
  362. package/src/headers/14/allocated_buffer.h +0 -73
  363. package/src/headers/14/async_wrap.h +0 -230
  364. package/src/headers/14/base64.h +0 -183
  365. package/src/headers/14/base_object-inl.h +0 -371
  366. package/src/headers/14/base_object.h +0 -281
  367. package/src/headers/14/callback_queue-inl.h +0 -97
  368. package/src/headers/14/callback_queue.h +0 -78
  369. package/src/headers/14/debug_utils.h +0 -181
  370. package/src/headers/14/env.h +0 -1388
  371. package/src/headers/14/handle_wrap.h +0 -117
  372. package/src/headers/14/histogram-inl.h +0 -83
  373. package/src/headers/14/histogram.h +0 -98
  374. package/src/headers/14/inspector_agent.h +0 -149
  375. package/src/headers/14/inspector_profiler.h +0 -137
  376. package/src/headers/14/js_native_api.h +0 -544
  377. package/src/headers/14/js_native_api_types.h +0 -143
  378. package/src/headers/14/js_native_api_v8.h +0 -301
  379. package/src/headers/14/js_native_api_v8_internals.h +0 -38
  380. package/src/headers/14/json_utils.h +0 -161
  381. package/src/headers/14/memory_tracker-inl.h +0 -355
  382. package/src/headers/14/module_wrap.h +0 -99
  383. package/src/headers/14/node.h +0 -1032
  384. package/src/headers/14/node_api.h +0 -255
  385. package/src/headers/14/node_api_types.h +0 -44
  386. package/src/headers/14/node_binding.h +0 -99
  387. package/src/headers/14/node_context_data.h +0 -44
  388. package/src/headers/14/node_contextify.h +0 -161
  389. package/src/headers/14/node_crypto.h +0 -865
  390. package/src/headers/14/node_crypto_bio.h +0 -195
  391. package/src/headers/14/node_crypto_clienthello-inl.h +0 -91
  392. package/src/headers/14/node_crypto_clienthello.h +0 -132
  393. package/src/headers/14/node_crypto_common.h +0 -138
  394. package/src/headers/14/node_crypto_groups.h +0 -415
  395. package/src/headers/14/node_dtrace.h +0 -86
  396. package/src/headers/14/node_errors.h +0 -214
  397. package/src/headers/14/node_file-inl.h +0 -306
  398. package/src/headers/14/node_file.h +0 -417
  399. package/src/headers/14/node_http2.h +0 -1191
  400. package/src/headers/14/node_http_common-inl.h +0 -194
  401. package/src/headers/14/node_http_common.h +0 -529
  402. package/src/headers/14/node_i18n.h +0 -144
  403. package/src/headers/14/node_internals.h +0 -405
  404. package/src/headers/14/node_mem.h +0 -45
  405. package/src/headers/14/node_messaging.h +0 -303
  406. package/src/headers/14/node_metadata.h +0 -109
  407. package/src/headers/14/node_mutex.h +0 -247
  408. package/src/headers/14/node_native_module.h +0 -101
  409. package/src/headers/14/node_native_module_env.h +0 -66
  410. package/src/headers/14/node_options-inl.h +0 -451
  411. package/src/headers/14/node_options.h +0 -481
  412. package/src/headers/14/node_perf.h +0 -181
  413. package/src/headers/14/node_perf_common.h +0 -97
  414. package/src/headers/14/node_platform.h +0 -189
  415. package/src/headers/14/node_process.h +0 -40
  416. package/src/headers/14/node_report.h +0 -47
  417. package/src/headers/14/node_revert.h +0 -72
  418. package/src/headers/14/node_root_certs.h +0 -3458
  419. package/src/headers/14/node_sockaddr-inl.h +0 -170
  420. package/src/headers/14/node_sockaddr.h +0 -123
  421. package/src/headers/14/node_stat_watcher.h +0 -70
  422. package/src/headers/14/node_union_bytes.h +0 -103
  423. package/src/headers/14/node_url.h +0 -188
  424. package/src/headers/14/node_version.h +0 -98
  425. package/src/headers/14/node_wasi.h +0 -108
  426. package/src/headers/14/node_win32_etw_provider-inl.h +0 -287
  427. package/src/headers/14/node_win32_etw_provider.h +0 -99
  428. package/src/headers/14/node_worker.h +0 -141
  429. package/src/headers/14/pipe_wrap.h +0 -78
  430. package/src/headers/14/req_wrap-inl.h +0 -170
  431. package/src/headers/14/req_wrap.h +0 -77
  432. package/src/headers/14/stream_base-inl.h +0 -275
  433. package/src/headers/14/stream_base.h +0 -434
  434. package/src/headers/14/stream_pipe.h +0 -73
  435. package/src/headers/14/stream_wrap.h +0 -130
  436. package/src/headers/14/string_bytes.h +0 -129
  437. package/src/headers/14/string_decoder.h +0 -50
  438. package/src/headers/14/string_search.h +0 -638
  439. package/src/headers/14/tcp_wrap.h +0 -101
  440. package/src/headers/14/tls_wrap.h +0 -222
  441. package/src/headers/14/tracing/agent.h +0 -195
  442. package/src/headers/14/tracing/traced_value.h +0 -70
  443. package/src/headers/14/tty_wrap.h +0 -64
  444. package/src/headers/14/udp_wrap.h +0 -227
  445. package/src/headers/14/util-inl.h +0 -566
  446. package/src/headers/14/util.h +0 -804
  447. package/src/headers/14/v8abbr.h +0 -124
  448. package/src/headers/16/aliased_buffer.h +0 -315
  449. package/src/headers/16/allocated_buffer-inl.h +0 -110
  450. package/src/headers/16/allocated_buffer.h +0 -73
  451. package/src/headers/16/async_wrap-inl.h +0 -94
  452. package/src/headers/16/base64-inl.h +0 -189
  453. package/src/headers/16/base64.h +0 -69
  454. package/src/headers/16/crypto/crypto_aes.h +0 -89
  455. package/src/headers/16/crypto/crypto_cipher.h +0 -286
  456. package/src/headers/16/crypto/crypto_common.h +0 -187
  457. package/src/headers/16/crypto/crypto_dh.h +0 -157
  458. package/src/headers/16/crypto/crypto_dsa.h +0 -76
  459. package/src/headers/16/crypto/crypto_ec.h +0 -169
  460. package/src/headers/16/crypto/crypto_groups.h +0 -415
  461. package/src/headers/16/crypto/crypto_hash.h +0 -89
  462. package/src/headers/16/crypto/crypto_hkdf.h +0 -66
  463. package/src/headers/16/crypto/crypto_hmac.h +0 -94
  464. package/src/headers/16/crypto/crypto_keygen.h +0 -301
  465. package/src/headers/16/crypto/crypto_pbkdf2.h +0 -76
  466. package/src/headers/16/crypto/crypto_random.h +0 -130
  467. package/src/headers/16/crypto/crypto_rsa.h +0 -141
  468. package/src/headers/16/crypto/crypto_scrypt.h +0 -87
  469. package/src/headers/16/crypto/crypto_sig.h +0 -167
  470. package/src/headers/16/crypto/crypto_spkac.h +0 -20
  471. package/src/headers/16/crypto/crypto_timing.h +0 -20
  472. package/src/headers/16/crypto/crypto_x509.h +0 -141
  473. package/src/headers/16/env.h +0 -1629
  474. package/src/headers/16/histogram.h +0 -216
  475. package/src/headers/16/js_native_api.h +0 -561
  476. package/src/headers/16/js_native_api_v8.h +0 -451
  477. package/src/headers/16/node.d +0 -315
  478. package/src/headers/16/node.stp +0 -146
  479. package/src/headers/16/node_api.h +0 -275
  480. package/src/headers/16/node_api_internals.h +0 -30
  481. package/src/headers/16/node_binding.h +0 -99
  482. package/src/headers/16/node_buffer.h +0 -92
  483. package/src/headers/16/node_constants.h +0 -84
  484. package/src/headers/16/node_context_data.h +0 -44
  485. package/src/headers/16/node_contextify.h +0 -196
  486. package/src/headers/16/node_dtrace.h +0 -86
  487. package/src/headers/16/node_external_reference.h +0 -129
  488. package/src/headers/16/node_main_instance.h +0 -103
  489. package/src/headers/16/node_native_module.h +0 -101
  490. package/src/headers/16/node_native_module_env.h +0 -68
  491. package/src/headers/16/node_platform.h +0 -192
  492. package/src/headers/16/node_process.h +0 -43
  493. package/src/headers/16/node_provider.d +0 -80
  494. package/src/headers/16/node_snapshotable.h +0 -137
  495. package/src/headers/16/node_union_bytes.h +0 -103
  496. package/src/headers/16/node_url.h +0 -205
  497. package/src/headers/16/node_v8.h +0 -41
  498. package/src/headers/16/node_v8_platform-inl.h +0 -194
  499. package/src/headers/16/node_wasi.h +0 -108
  500. package/src/headers/16/node_watchdog.h +0 -152
  501. package/src/headers/16/node_win32_etw_provider-inl.h +0 -288
  502. package/src/headers/16/node_win32_etw_provider.h +0 -99
  503. package/src/headers/16/spawn_sync.h +0 -242
  504. package/src/headers/16/string_decoder-inl.h +0 -37
  505. package/src/headers/16/string_search.h +0 -638
  506. package/src/headers/16/threadpoolwork-inl.h +0 -57
  507. package/src/headers/16/tracing/node_trace_buffer.h +0 -83
  508. package/src/headers/16/tracing/node_trace_writer.h +0 -75
  509. package/src/headers/16/tracing/trace_event.h +0 -720
  510. package/src/headers/16/tracing/traced_value.h +0 -70
  511. package/src/headers/16/v8abbr.h +0 -123
  512. package/src/headers/16/v8ustack.d +0 -695
  513. package/src/headers/18/aliased_buffer.h +0 -315
  514. package/src/headers/18/aliased_struct-inl.h +0 -54
  515. package/src/headers/18/aliased_struct.h +0 -63
  516. package/src/headers/18/base64-inl.h +0 -189
  517. package/src/headers/18/base64.h +0 -69
  518. package/src/headers/18/connect_wrap.h +0 -26
  519. package/src/headers/18/connection_wrap.h +0 -30
  520. package/src/headers/18/crypto/crypto_aes.h +0 -89
  521. package/src/headers/18/crypto/crypto_bio.h +0 -194
  522. package/src/headers/18/crypto/crypto_clienthello-inl.h +0 -90
  523. package/src/headers/18/crypto/crypto_common.h +0 -151
  524. package/src/headers/18/crypto/crypto_groups.h +0 -415
  525. package/src/headers/18/crypto/crypto_x509.h +0 -143
  526. package/src/headers/18/debug_utils-inl.h +0 -223
  527. package/src/headers/18/diagnosticfilename-inl.h +0 -33
  528. package/src/headers/18/env-inl.h +0 -1308
  529. package/src/headers/18/env.h +0 -1667
  530. package/src/headers/18/inspector_io.h +0 -78
  531. package/src/headers/18/inspector_socket.h +0 -60
  532. package/src/headers/18/inspector_socket_server.h +0 -110
  533. package/src/headers/18/js_stream.h +0 -52
  534. package/src/headers/18/memory_tracker.h +0 -284
  535. package/src/headers/18/module_wrap.h +0 -116
  536. package/src/headers/18/node_binding.h +0 -99
  537. package/src/headers/18/node_context_data.h +0 -44
  538. package/src/headers/18/node_contextify.h +0 -196
  539. package/src/headers/18/node_dir.h +0 -52
  540. package/src/headers/18/node_dtrace.h +0 -86
  541. package/src/headers/18/node_http2_state.h +0 -149
  542. package/src/headers/18/node_mem-inl.h +0 -112
  543. package/src/headers/18/node_native_module.h +0 -109
  544. package/src/headers/18/node_native_module_env.h +0 -71
  545. package/src/headers/18/node_object_wrap.h +0 -132
  546. package/src/headers/18/node_snapshot_builder.h +0 -43
  547. package/src/headers/18/node_snapshotable.h +0 -130
  548. package/src/headers/18/node_union_bytes.h +0 -103
  549. package/src/headers/18/node_url.h +0 -205
  550. package/src/headers/18/node_v8.h +0 -41
  551. package/src/headers/18/node_wasi.h +0 -108
  552. package/src/headers/18/node_win32_etw_provider-inl.h +0 -288
  553. package/src/headers/18/node_win32_etw_provider.h +0 -99
  554. package/src/headers/18/string_search.h +0 -638
  555. package/src/headers/18/tracing/node_trace_buffer.h +0 -83
  556. package/src/headers/18/tracing/node_trace_writer.h +0 -75
  557. package/src/headers/18/tracing/trace_event_common.h +0 -1109
  558. package/src/headers/18/tracing/traced_value.h +0 -70
  559. package/src/headers/18/v8abbr.h +0 -123
  560. /package/src/headers/{14 → 22}/aliased_struct-inl.h +0 -0
  561. /package/src/headers/{14 → 22}/aliased_struct.h +0 -0
  562. /package/src/headers/{16 → 22}/callback_queue-inl.h +0 -0
  563. /package/src/headers/{14 → 22}/connect_wrap.h +0 -0
  564. /package/src/headers/{14 → 22}/connection_wrap.h +0 -0
  565. /package/src/headers/{14 → 22}/diagnosticfilename-inl.h +0 -0
  566. /package/src/headers/{18 → 22}/histogram-inl.h +0 -0
  567. /package/src/headers/{14 → 22}/inspector_io.h +0 -0
  568. /package/src/headers/{14 → 22}/inspector_socket.h +0 -0
  569. /package/src/headers/{14 → 22}/inspector_socket_server.h +0 -0
  570. /package/src/headers/{14 → 22}/js_stream.h +0 -0
  571. /package/src/headers/{14 → 22}/node_dir.h +0 -0
  572. /package/src/headers/{14 → 22}/node_mem-inl.h +0 -0
  573. /package/src/headers/{16 → 22}/node_mem.h +0 -0
  574. /package/src/headers/{16 → 22}/node_mutex.h +0 -0
  575. /package/src/headers/{14 → 22}/node_object_wrap.h +0 -0
  576. /package/src/headers/{16 → 22}/node_process-inl.h +0 -0
  577. /package/src/headers/{18 → 22}/node_sockaddr-inl.h +0 -0
  578. /package/src/headers/{18 → 22}/node_wasm_web_api.h +0 -0
  579. /package/src/headers/{16 → 22}/pipe_wrap.h +0 -0
  580. /package/src/headers/{18 → 22}/req_wrap.h +0 -0
  581. /package/src/headers/{18 → 22}/timer_wrap-inl.h +0 -0
  582. /package/src/headers/{18 → 22}/timer_wrap.h +0 -0
  583. /package/src/headers/{18 → 22}/tracing/agent.h +0 -0
  584. /package/src/headers/{14 → 22}/tracing/trace_event_common.h +0 -0
  585. /package/src/headers/{18 → 22}/tty_wrap.h +0 -0
  586. /package/src/headers/{16 → 24}/aliased_struct-inl.h +0 -0
  587. /package/src/headers/{16 → 24}/aliased_struct.h +0 -0
  588. /package/src/headers/{18 → 24}/callback_queue-inl.h +0 -0
  589. /package/src/headers/{16 → 24}/connect_wrap.h +0 -0
  590. /package/src/headers/{16 → 24}/connection_wrap.h +0 -0
  591. /package/src/headers/{18 → 24}/crypto/crypto_spkac.h +0 -0
  592. /package/src/headers/{18 → 24}/crypto/crypto_timing.h +0 -0
  593. /package/src/headers/{16 → 24}/diagnosticfilename-inl.h +0 -0
  594. /package/src/headers/{16 → 24}/inspector_io.h +0 -0
  595. /package/src/headers/{16 → 24}/inspector_socket.h +0 -0
  596. /package/src/headers/{16 → 24}/inspector_socket_server.h +0 -0
  597. /package/src/headers/{16 → 24}/js_stream.h +0 -0
  598. /package/src/headers/{16 → 24}/node_dir.h +0 -0
  599. /package/src/headers/{18 → 24}/node_mem.h +0 -0
  600. /package/src/headers/{18 → 24}/node_mutex.h +0 -0
  601. /package/src/headers/{16 → 24}/node_object_wrap.h +0 -0
  602. /package/src/headers/{18 → 24}/node_process-inl.h +0 -0
  603. /package/src/headers/{14/tracing → 24}/node_trace_buffer.h +0 -0
  604. /package/src/headers/{14/tracing → 24}/node_trace_writer.h +0 -0
  605. /package/src/headers/{18 → 24}/pipe_wrap.h +0 -0
  606. /package/src/headers/{16/tracing → 24}/trace_event_common.h +0 -0
@@ -10,8 +10,7 @@
10
10
  #include "memory_tracker.h"
11
11
  #include "v8.h"
12
12
 
13
- namespace node {
14
- namespace crypto {
13
+ namespace node::crypto {
15
14
  struct DsaKeyPairParams final : public MemoryRetainer {
16
15
  unsigned int modulus_bits;
17
16
  int divisor_bits;
@@ -26,9 +25,9 @@ struct DsaKeyGenTraits final {
26
25
  using AdditionalParameters = DsaKeyPairGenConfig;
27
26
  static constexpr const char* JobName = "DsaKeyPairGenJob";
28
27
 
29
- static EVPKeyCtxPointer Setup(DsaKeyPairGenConfig* params);
28
+ static ncrypto::EVPKeyCtxPointer Setup(DsaKeyPairGenConfig* params);
30
29
 
31
- static v8::Maybe<bool> AdditionalConfig(
30
+ static v8::Maybe<void> AdditionalConfig(
32
31
  CryptoJobMode mode,
33
32
  const v8::FunctionCallbackInfo<v8::Value>& args,
34
33
  unsigned int* offset,
@@ -37,41 +36,15 @@ struct DsaKeyGenTraits final {
37
36
 
38
37
  using DsaKeyPairGenJob = KeyGenJob<KeyPairGenTraits<DsaKeyGenTraits>>;
39
38
 
40
- struct DSAKeyExportConfig final : public MemoryRetainer {
41
- SET_NO_MEMORY_INFO()
42
- SET_MEMORY_INFO_NAME(DSAKeyExportConfig)
43
- SET_SELF_SIZE(DSAKeyExportConfig)
44
- };
45
-
46
- struct DSAKeyExportTraits final {
47
- static constexpr const char* JobName = "DSAKeyExportJob";
48
- using AdditionalParameters = DSAKeyExportConfig;
49
-
50
- static v8::Maybe<bool> AdditionalConfig(
51
- const v8::FunctionCallbackInfo<v8::Value>& args,
52
- unsigned int offset,
53
- DSAKeyExportConfig* config);
54
-
55
- static WebCryptoKeyExportStatus DoExport(
56
- std::shared_ptr<KeyObjectData> key_data,
57
- WebCryptoKeyFormat format,
58
- const DSAKeyExportConfig& params,
59
- ByteSource* out);
60
- };
61
-
62
- using DSAKeyExportJob = KeyExportJob<DSAKeyExportTraits>;
63
-
64
- v8::Maybe<bool> GetDsaKeyDetail(
65
- Environment* env,
66
- std::shared_ptr<KeyObjectData> key,
67
- v8::Local<v8::Object> target);
39
+ bool GetDsaKeyDetail(Environment* env,
40
+ const KeyObjectData& key,
41
+ v8::Local<v8::Object> target);
68
42
 
69
43
  namespace DSAAlg {
70
44
  void Initialize(Environment* env, v8::Local<v8::Object> target);
71
45
  void RegisterExternalReferences(ExternalReferenceRegistry* registry);
72
46
  } // namespace DSAAlg
73
- } // namespace crypto
74
- } // namespace node
47
+ } // namespace node::crypto
75
48
 
76
49
  #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
77
50
  #endif // SRC_CRYPTO_CRYPTO_DSA_H_
@@ -15,19 +15,17 @@
15
15
 
16
16
  namespace node {
17
17
  namespace crypto {
18
- int GetCurveFromName(const char* name);
19
- int GetOKPCurveFromName(const char* name);
20
18
 
21
19
  class ECDH final : public BaseObject {
22
20
  public:
23
- ~ECDH() override;
21
+ ~ECDH() override = default;
24
22
 
25
23
  static void Initialize(Environment* env, v8::Local<v8::Object> target);
26
24
  static void RegisterExternalReferences(ExternalReferenceRegistry* registry);
27
25
 
28
- static ECPointPointer BufferToPoint(Environment* env,
29
- const EC_GROUP* group,
30
- v8::Local<v8::Value> buf);
26
+ static ncrypto::ECPointPointer BufferToPoint(Environment* env,
27
+ const EC_GROUP* group,
28
+ v8::Local<v8::Value> buf);
31
29
 
32
30
  void MemoryInfo(MemoryTracker* tracker) const override;
33
31
  SET_MEMORY_INFO_NAME(ECDH)
@@ -38,7 +36,9 @@ class ECDH final : public BaseObject {
38
36
  static void GetCurves(const v8::FunctionCallbackInfo<v8::Value>& args);
39
37
 
40
38
  protected:
41
- ECDH(Environment* env, v8::Local<v8::Object> wrap, ECKeyPointer&& key);
39
+ ECDH(Environment* env,
40
+ v8::Local<v8::Object> wrap,
41
+ ncrypto::ECKeyPointer&& key);
42
42
 
43
43
  static void New(const v8::FunctionCallbackInfo<v8::Value>& args);
44
44
  static void GenerateKeys(const v8::FunctionCallbackInfo<v8::Value>& args);
@@ -49,16 +49,16 @@ class ECDH final : public BaseObject {
49
49
  static void SetPublicKey(const v8::FunctionCallbackInfo<v8::Value>& args);
50
50
 
51
51
  bool IsKeyPairValid();
52
- bool IsKeyValidForCurve(const BignumPointer& private_key);
52
+ bool IsKeyValidForCurve(const ncrypto::BignumPointer& private_key);
53
53
 
54
- ECKeyPointer key_;
54
+ ncrypto::ECKeyPointer key_;
55
55
  const EC_GROUP* group_;
56
56
  };
57
57
 
58
58
  struct ECDHBitsConfig final : public MemoryRetainer {
59
59
  int id_;
60
- std::shared_ptr<KeyObjectData> private_;
61
- std::shared_ptr<KeyObjectData> public_;
60
+ KeyObjectData private_;
61
+ KeyObjectData public_;
62
62
 
63
63
  void MemoryInfo(MemoryTracker* tracker) const override;
64
64
  SET_MEMORY_INFO_NAME(ECDHBitsConfig)
@@ -71,22 +71,20 @@ struct ECDHBitsTraits final {
71
71
  static constexpr AsyncWrap::ProviderType Provider =
72
72
  AsyncWrap::PROVIDER_DERIVEBITSREQUEST;
73
73
 
74
- static v8::Maybe<bool> AdditionalConfig(
74
+ static v8::Maybe<void> AdditionalConfig(
75
75
  CryptoJobMode mode,
76
76
  const v8::FunctionCallbackInfo<v8::Value>& args,
77
77
  unsigned int offset,
78
78
  ECDHBitsConfig* params);
79
79
 
80
- static bool DeriveBits(
81
- Environment* env,
82
- const ECDHBitsConfig& params,
83
- ByteSource* out_);
80
+ static bool DeriveBits(Environment* env,
81
+ const ECDHBitsConfig& params,
82
+ ByteSource* out_,
83
+ CryptoJobMode mode);
84
84
 
85
- static v8::Maybe<bool> EncodeOutput(
86
- Environment* env,
87
- const ECDHBitsConfig& params,
88
- ByteSource* out,
89
- v8::Local<v8::Value>* result);
85
+ static v8::MaybeLocal<v8::Value> EncodeOutput(Environment* env,
86
+ const ECDHBitsConfig& params,
87
+ ByteSource* out);
90
88
  };
91
89
 
92
90
  using ECDHBitsJob = DeriveBitsJob<ECDHBitsTraits>;
@@ -105,9 +103,9 @@ struct EcKeyGenTraits final {
105
103
  using AdditionalParameters = EcKeyPairGenConfig;
106
104
  static constexpr const char* JobName = "EcKeyPairGenJob";
107
105
 
108
- static EVPKeyCtxPointer Setup(EcKeyPairGenConfig* params);
106
+ static ncrypto::EVPKeyCtxPointer Setup(EcKeyPairGenConfig* params);
109
107
 
110
- static v8::Maybe<bool> AdditionalConfig(
108
+ static v8::Maybe<void> AdditionalConfig(
111
109
  CryptoJobMode mode,
112
110
  const v8::FunctionCallbackInfo<v8::Value>& args,
113
111
  unsigned int* offset,
@@ -129,40 +127,35 @@ struct ECKeyExportTraits final {
129
127
  static constexpr const char* JobName = "ECKeyExportJob";
130
128
  using AdditionalParameters = ECKeyExportConfig;
131
129
 
132
- static v8::Maybe<bool> AdditionalConfig(
130
+ static v8::Maybe<void> AdditionalConfig(
133
131
  const v8::FunctionCallbackInfo<v8::Value>& args,
134
132
  unsigned int offset,
135
133
  ECKeyExportConfig* config);
136
134
 
137
- static WebCryptoKeyExportStatus DoExport(
138
- std::shared_ptr<KeyObjectData> key_data,
139
- WebCryptoKeyFormat format,
140
- const ECKeyExportConfig& params,
141
- ByteSource* out);
135
+ static WebCryptoKeyExportStatus DoExport(const KeyObjectData& key_data,
136
+ WebCryptoKeyFormat format,
137
+ const ECKeyExportConfig& params,
138
+ ByteSource* out);
142
139
  };
143
140
 
144
141
  using ECKeyExportJob = KeyExportJob<ECKeyExportTraits>;
145
142
 
146
- v8::Maybe<void> ExportJWKEcKey(
147
- Environment* env,
148
- std::shared_ptr<KeyObjectData> key,
149
- v8::Local<v8::Object> target);
150
-
151
- v8::Maybe<bool> ExportJWKEdKey(
152
- Environment* env,
153
- std::shared_ptr<KeyObjectData> key,
154
- v8::Local<v8::Object> target);
155
-
156
- std::shared_ptr<KeyObjectData> ImportJWKEcKey(
157
- Environment* env,
158
- v8::Local<v8::Object> jwk,
159
- const v8::FunctionCallbackInfo<v8::Value>& args,
160
- unsigned int offset);
161
-
162
- v8::Maybe<bool> GetEcKeyDetail(
163
- Environment* env,
164
- std::shared_ptr<KeyObjectData> key,
165
- v8::Local<v8::Object> target);
143
+ bool ExportJWKEcKey(Environment* env,
144
+ const KeyObjectData& key,
145
+ v8::Local<v8::Object> target);
146
+
147
+ bool ExportJWKEdKey(Environment* env,
148
+ const KeyObjectData& key,
149
+ v8::Local<v8::Object> target);
150
+
151
+ KeyObjectData ImportJWKEcKey(Environment* env,
152
+ v8::Local<v8::Object> jwk,
153
+ const v8::FunctionCallbackInfo<v8::Value>& args,
154
+ unsigned int offset);
155
+
156
+ bool GetEcKeyDetail(Environment* env,
157
+ const KeyObjectData& key,
158
+ v8::Local<v8::Object> target);
166
159
  } // namespace crypto
167
160
  } // namespace node
168
161
 
@@ -25,6 +25,8 @@ class Hash final : public BaseObject {
25
25
  bool HashUpdate(const char* data, size_t len);
26
26
 
27
27
  static void GetHashes(const v8::FunctionCallbackInfo<v8::Value>& args);
28
+ static void GetCachedAliases(const v8::FunctionCallbackInfo<v8::Value>& args);
29
+ static void OneShotDigest(const v8::FunctionCallbackInfo<v8::Value>& args);
28
30
 
29
31
  protected:
30
32
  static void New(const v8::FunctionCallbackInfo<v8::Value>& args);
@@ -34,7 +36,7 @@ class Hash final : public BaseObject {
34
36
  Hash(Environment* env, v8::Local<v8::Object> wrap);
35
37
 
36
38
  private:
37
- EVPMDPointer mdctx_ {};
39
+ ncrypto::EVPMDCtxPointer mdctx_{};
38
40
  unsigned int md_len_ = 0;
39
41
  ByteSource digest_;
40
42
  };
@@ -62,22 +64,20 @@ struct HashTraits final {
62
64
  static constexpr AsyncWrap::ProviderType Provider =
63
65
  AsyncWrap::PROVIDER_HASHREQUEST;
64
66
 
65
- static v8::Maybe<bool> AdditionalConfig(
67
+ static v8::Maybe<void> AdditionalConfig(
66
68
  CryptoJobMode mode,
67
69
  const v8::FunctionCallbackInfo<v8::Value>& args,
68
70
  unsigned int offset,
69
71
  HashConfig* params);
70
72
 
71
- static bool DeriveBits(
72
- Environment* env,
73
- const HashConfig& params,
74
- ByteSource* out);
73
+ static bool DeriveBits(Environment* env,
74
+ const HashConfig& params,
75
+ ByteSource* out,
76
+ CryptoJobMode mode);
75
77
 
76
- static v8::Maybe<bool> EncodeOutput(
77
- Environment* env,
78
- const HashConfig& params,
79
- ByteSource* out,
80
- v8::Local<v8::Value>* result);
78
+ static v8::MaybeLocal<v8::Value> EncodeOutput(Environment* env,
79
+ const HashConfig& params,
80
+ ByteSource* out);
81
81
  };
82
82
 
83
83
  using HashJob = DeriveBitsJob<HashTraits>;
@@ -11,13 +11,11 @@
11
11
 
12
12
  namespace node {
13
13
  namespace crypto {
14
- static constexpr size_t kMaxDigestMultiplier = 255;
15
-
16
14
  struct HKDFConfig final : public MemoryRetainer {
17
15
  CryptoJobMode mode;
18
16
  size_t length;
19
- const EVP_MD* digest;
20
- std::shared_ptr<KeyObjectData> key;
17
+ ncrypto::Digest digest;
18
+ KeyObjectData key;
21
19
  ByteSource salt;
22
20
  ByteSource info;
23
21
 
@@ -38,22 +36,20 @@ struct HKDFTraits final {
38
36
  static constexpr AsyncWrap::ProviderType Provider =
39
37
  AsyncWrap::PROVIDER_DERIVEBITSREQUEST;
40
38
 
41
- static v8::Maybe<bool> AdditionalConfig(
39
+ static v8::Maybe<void> AdditionalConfig(
42
40
  CryptoJobMode mode,
43
41
  const v8::FunctionCallbackInfo<v8::Value>& args,
44
42
  unsigned int offset,
45
43
  HKDFConfig* params);
46
44
 
47
- static bool DeriveBits(
48
- Environment* env,
49
- const HKDFConfig& params,
50
- ByteSource* out);
45
+ static bool DeriveBits(Environment* env,
46
+ const HKDFConfig& params,
47
+ ByteSource* out,
48
+ CryptoJobMode mode);
51
49
 
52
- static v8::Maybe<bool> EncodeOutput(
53
- Environment* env,
54
- const HKDFConfig& params,
55
- ByteSource* out,
56
- v8::Local<v8::Value>* result);
50
+ static v8::MaybeLocal<v8::Value> EncodeOutput(Environment* env,
51
+ const HKDFConfig& params,
52
+ ByteSource* out);
57
53
  };
58
54
 
59
55
  using HKDFJob = DeriveBitsJob<HKDFTraits>;
@@ -36,16 +36,16 @@ class Hmac : public BaseObject {
36
36
  static void Sign(const v8::FunctionCallbackInfo<v8::Value>& args);
37
37
 
38
38
  private:
39
- HMACCtxPointer ctx_;
39
+ ncrypto::HMACCtxPointer ctx_;
40
40
  };
41
41
 
42
42
  struct HmacConfig final : public MemoryRetainer {
43
43
  CryptoJobMode job_mode;
44
44
  SignConfiguration::Mode mode;
45
- std::shared_ptr<KeyObjectData> key;
45
+ KeyObjectData key;
46
46
  ByteSource data;
47
47
  ByteSource signature;
48
- const EVP_MD* digest;
48
+ ncrypto::Digest digest;
49
49
 
50
50
  HmacConfig() = default;
51
51
 
@@ -67,22 +67,20 @@ struct HmacTraits final {
67
67
  static constexpr AsyncWrap::ProviderType Provider =
68
68
  AsyncWrap::PROVIDER_SIGNREQUEST;
69
69
 
70
- static v8::Maybe<bool> AdditionalConfig(
70
+ static v8::Maybe<void> AdditionalConfig(
71
71
  CryptoJobMode mode,
72
72
  const v8::FunctionCallbackInfo<v8::Value>& args,
73
73
  unsigned int offset,
74
74
  HmacConfig* params);
75
75
 
76
- static bool DeriveBits(
77
- Environment* env,
78
- const HmacConfig& params,
79
- ByteSource* out);
76
+ static bool DeriveBits(Environment* env,
77
+ const HmacConfig& params,
78
+ ByteSource* out,
79
+ CryptoJobMode mode);
80
80
 
81
- static v8::Maybe<bool> EncodeOutput(
82
- Environment* env,
83
- const HmacConfig& params,
84
- ByteSource* out,
85
- v8::Local<v8::Value>* result);
81
+ static v8::MaybeLocal<v8::Value> EncodeOutput(Environment* env,
82
+ const HmacConfig& params,
83
+ ByteSource* out);
86
84
  };
87
85
 
88
86
  using HmacJob = DeriveBitsJob<HmacTraits>;
@@ -0,0 +1,113 @@
1
+ #ifndef SRC_CRYPTO_CRYPTO_KEM_H_
2
+ #define SRC_CRYPTO_CRYPTO_KEM_H_
3
+
4
+ #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
5
+
6
+ #include "base_object.h"
7
+ #include "crypto/crypto_keys.h"
8
+ #include "crypto/crypto_util.h"
9
+ #include "env.h"
10
+ #include "memory_tracker.h"
11
+ #include "node_external_reference.h"
12
+
13
+ #if OPENSSL_VERSION_MAJOR >= 3
14
+
15
+ namespace node {
16
+ namespace crypto {
17
+
18
+ enum class KEMMode { Encapsulate, Decapsulate };
19
+
20
+ struct KEMConfiguration final : public MemoryRetainer {
21
+ CryptoJobMode job_mode;
22
+ KEMMode mode;
23
+ KeyObjectData key;
24
+ ByteSource ciphertext;
25
+
26
+ KEMConfiguration() = default;
27
+ explicit KEMConfiguration(KEMConfiguration&& other) noexcept;
28
+ KEMConfiguration& operator=(KEMConfiguration&& other) noexcept;
29
+
30
+ void MemoryInfo(MemoryTracker* tracker) const override;
31
+ SET_MEMORY_INFO_NAME(KEMConfiguration)
32
+ SET_SELF_SIZE(KEMConfiguration)
33
+ };
34
+
35
+ struct KEMEncapsulateTraits final {
36
+ using AdditionalParameters = KEMConfiguration;
37
+ static constexpr const char* JobName = "KEMEncapsulateJob";
38
+
39
+ static constexpr AsyncWrap::ProviderType Provider =
40
+ AsyncWrap::PROVIDER_DERIVEBITSREQUEST;
41
+
42
+ static v8::Maybe<void> AdditionalConfig(
43
+ CryptoJobMode mode,
44
+ const v8::FunctionCallbackInfo<v8::Value>& args,
45
+ unsigned int offset,
46
+ KEMConfiguration* params);
47
+
48
+ static bool DeriveBits(Environment* env,
49
+ const KEMConfiguration& params,
50
+ ByteSource* out,
51
+ CryptoJobMode mode);
52
+
53
+ static v8::MaybeLocal<v8::Value> EncodeOutput(Environment* env,
54
+ const KEMConfiguration& params,
55
+ ByteSource* out);
56
+ };
57
+
58
+ struct KEMDecapsulateTraits final {
59
+ using AdditionalParameters = KEMConfiguration;
60
+ static constexpr const char* JobName = "KEMDecapsulateJob";
61
+
62
+ static constexpr AsyncWrap::ProviderType Provider =
63
+ AsyncWrap::PROVIDER_DERIVEBITSREQUEST;
64
+
65
+ static v8::Maybe<void> AdditionalConfig(
66
+ CryptoJobMode mode,
67
+ const v8::FunctionCallbackInfo<v8::Value>& args,
68
+ unsigned int offset,
69
+ KEMConfiguration* params);
70
+
71
+ static bool DeriveBits(Environment* env,
72
+ const KEMConfiguration& params,
73
+ ByteSource* out,
74
+ CryptoJobMode mode);
75
+
76
+ static v8::MaybeLocal<v8::Value> EncodeOutput(Environment* env,
77
+ const KEMConfiguration& params,
78
+ ByteSource* out);
79
+ };
80
+
81
+ using KEMEncapsulateJob = DeriveBitsJob<KEMEncapsulateTraits>;
82
+ using KEMDecapsulateJob = DeriveBitsJob<KEMDecapsulateTraits>;
83
+
84
+ void InitializeKEM(Environment* env, v8::Local<v8::Object> target);
85
+ void RegisterKEMExternalReferences(ExternalReferenceRegistry* registry);
86
+
87
+ namespace KEM {
88
+ void Initialize(Environment* env, v8::Local<v8::Object> target);
89
+ void RegisterExternalReferences(ExternalReferenceRegistry* registry);
90
+ } // namespace KEM
91
+
92
+ } // namespace crypto
93
+ } // namespace node
94
+
95
+ #else
96
+
97
+ // Provide stub implementations when OpenSSL < 3.0
98
+ namespace node {
99
+ namespace crypto {
100
+ namespace KEM {
101
+ inline void Initialize(Environment* env, v8::Local<v8::Object> target) {
102
+ // No-op when OpenSSL < 3.0
103
+ }
104
+ inline void RegisterExternalReferences(ExternalReferenceRegistry* registry) {
105
+ // No-op when OpenSSL < 3.0
106
+ }
107
+ } // namespace KEM
108
+ } // namespace crypto
109
+ } // namespace node
110
+
111
+ #endif
112
+ #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
113
+ #endif // SRC_CRYPTO_CRYPTO_KEM_H_