@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
@@ -0,0 +1,21 @@
1
+ #ifndef SRC_CRYPTO_CRYPTO_ML_DSA_H_
2
+ #define SRC_CRYPTO_CRYPTO_ML_DSA_H_
3
+
4
+ #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
5
+
6
+ #include "crypto/crypto_keys.h"
7
+ #include "env.h"
8
+ #include "v8.h"
9
+
10
+ namespace node {
11
+ namespace crypto {
12
+ #if OPENSSL_WITH_PQC
13
+ bool ExportJwkMlDsaKey(Environment* env,
14
+ const KeyObjectData& key,
15
+ v8::Local<v8::Object> target);
16
+ #endif
17
+ } // namespace crypto
18
+ } // namespace node
19
+
20
+ #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
21
+ #endif // SRC_CRYPTO_CRYPTO_ML_DSA_H_
@@ -30,7 +30,7 @@ struct PBKDF2Config final : public MemoryRetainer {
30
30
  ByteSource salt;
31
31
  int32_t iterations;
32
32
  int32_t length;
33
- const EVP_MD* digest = nullptr;
33
+ ncrypto::Digest digest;
34
34
 
35
35
  PBKDF2Config() = default;
36
36
 
@@ -49,22 +49,20 @@ struct PBKDF2Traits final {
49
49
  static constexpr AsyncWrap::ProviderType Provider =
50
50
  AsyncWrap::PROVIDER_PBKDF2REQUEST;
51
51
 
52
- static v8::Maybe<bool> AdditionalConfig(
52
+ static v8::Maybe<void> AdditionalConfig(
53
53
  CryptoJobMode mode,
54
54
  const v8::FunctionCallbackInfo<v8::Value>& args,
55
55
  unsigned int offset,
56
56
  PBKDF2Config* params);
57
57
 
58
- static bool DeriveBits(
59
- Environment* env,
60
- const PBKDF2Config& params,
61
- ByteSource* out);
58
+ static bool DeriveBits(Environment* env,
59
+ const PBKDF2Config& params,
60
+ ByteSource* out,
61
+ CryptoJobMode mode);
62
62
 
63
- static v8::Maybe<bool> EncodeOutput(
64
- Environment* env,
65
- const PBKDF2Config& params,
66
- ByteSource* out,
67
- v8::Local<v8::Value>* result);
63
+ static v8::MaybeLocal<v8::Value> EncodeOutput(Environment* env,
64
+ const PBKDF2Config& params,
65
+ ByteSource* out);
68
66
  };
69
67
 
70
68
  using PBKDF2Job = DeriveBitsJob<PBKDF2Traits>;
@@ -26,30 +26,28 @@ struct RandomBytesTraits final {
26
26
  static constexpr AsyncWrap::ProviderType Provider =
27
27
  AsyncWrap::PROVIDER_RANDOMBYTESREQUEST;
28
28
 
29
- static v8::Maybe<bool> AdditionalConfig(
29
+ static v8::Maybe<void> AdditionalConfig(
30
30
  CryptoJobMode mode,
31
31
  const v8::FunctionCallbackInfo<v8::Value>& args,
32
32
  unsigned int offset,
33
33
  RandomBytesConfig* params);
34
34
 
35
- static bool DeriveBits(
36
- Environment* env,
37
- const RandomBytesConfig& params,
38
- ByteSource* out_);
35
+ static bool DeriveBits(Environment* env,
36
+ const RandomBytesConfig& params,
37
+ ByteSource* out_,
38
+ CryptoJobMode mode);
39
39
 
40
- static v8::Maybe<bool> EncodeOutput(
41
- Environment* env,
42
- const RandomBytesConfig& params,
43
- ByteSource* unused,
44
- v8::Local<v8::Value>* result);
40
+ static v8::MaybeLocal<v8::Value> EncodeOutput(Environment* env,
41
+ const RandomBytesConfig& params,
42
+ ByteSource* unused);
45
43
  };
46
44
 
47
45
  using RandomBytesJob = DeriveBitsJob<RandomBytesTraits>;
48
46
 
49
47
  struct RandomPrimeConfig final : public MemoryRetainer {
50
- BignumPointer prime;
51
- BignumPointer rem;
52
- BignumPointer add;
48
+ ncrypto::BignumPointer prime;
49
+ ncrypto::BignumPointer rem;
50
+ ncrypto::BignumPointer add;
53
51
  int bits;
54
52
  bool safe;
55
53
  void MemoryInfo(MemoryTracker* tracker) const override;
@@ -63,28 +61,26 @@ struct RandomPrimeTraits final {
63
61
  static constexpr AsyncWrap::ProviderType Provider =
64
62
  AsyncWrap::PROVIDER_RANDOMPRIMEREQUEST;
65
63
 
66
- static v8::Maybe<bool> AdditionalConfig(
64
+ static v8::Maybe<void> AdditionalConfig(
67
65
  CryptoJobMode mode,
68
66
  const v8::FunctionCallbackInfo<v8::Value>& args,
69
67
  unsigned int offset,
70
68
  RandomPrimeConfig* params);
71
69
 
72
- static bool DeriveBits(
73
- Environment* env,
74
- const RandomPrimeConfig& params,
75
- ByteSource* out_);
70
+ static bool DeriveBits(Environment* env,
71
+ const RandomPrimeConfig& params,
72
+ ByteSource* out_,
73
+ CryptoJobMode mode);
76
74
 
77
- static v8::Maybe<bool> EncodeOutput(
78
- Environment* env,
79
- const RandomPrimeConfig& params,
80
- ByteSource* unused,
81
- v8::Local<v8::Value>* result);
75
+ static v8::MaybeLocal<v8::Value> EncodeOutput(Environment* env,
76
+ const RandomPrimeConfig& params,
77
+ ByteSource* unused);
82
78
  };
83
79
 
84
80
  using RandomPrimeJob = DeriveBitsJob<RandomPrimeTraits>;
85
81
 
86
82
  struct CheckPrimeConfig final : public MemoryRetainer {
87
- BignumPointer candidate;
83
+ ncrypto::BignumPointer candidate;
88
84
  int checks = 1;
89
85
 
90
86
  void MemoryInfo(MemoryTracker* tracker) const override;
@@ -99,22 +95,20 @@ struct CheckPrimeTraits final {
99
95
  static constexpr AsyncWrap::ProviderType Provider =
100
96
  AsyncWrap::PROVIDER_CHECKPRIMEREQUEST;
101
97
 
102
- static v8::Maybe<bool> AdditionalConfig(
98
+ static v8::Maybe<void> AdditionalConfig(
103
99
  CryptoJobMode mode,
104
100
  const v8::FunctionCallbackInfo<v8::Value>& args,
105
101
  unsigned int offset,
106
102
  CheckPrimeConfig* params);
107
103
 
108
- static bool DeriveBits(
109
- Environment* env,
110
- const CheckPrimeConfig& params,
111
- ByteSource* out);
104
+ static bool DeriveBits(Environment* env,
105
+ const CheckPrimeConfig& params,
106
+ ByteSource* out,
107
+ CryptoJobMode mode);
112
108
 
113
- static v8::Maybe<bool> EncodeOutput(
114
- Environment* env,
115
- const CheckPrimeConfig& params,
116
- ByteSource* out,
117
- v8::Local<v8::Value>* result);
109
+ static v8::MaybeLocal<v8::Value> EncodeOutput(Environment* env,
110
+ const CheckPrimeConfig& params,
111
+ ByteSource* out);
118
112
  };
119
113
 
120
114
  using CheckPrimeJob = DeriveBitsJob<CheckPrimeTraits>;
@@ -26,8 +26,8 @@ struct RsaKeyPairParams final : public MemoryRetainer {
26
26
 
27
27
  // The following options are used for RSA-PSS. If any of them are set, a
28
28
  // RSASSA-PSS-params sequence will be added to the key.
29
- const EVP_MD* md = nullptr;
30
- const EVP_MD* mgf1_md = nullptr;
29
+ ncrypto::Digest md = nullptr;
30
+ ncrypto::Digest mgf1_md = nullptr;
31
31
  int saltlen = -1;
32
32
 
33
33
  SET_NO_MEMORY_INFO()
@@ -41,9 +41,9 @@ struct RsaKeyGenTraits final {
41
41
  using AdditionalParameters = RsaKeyPairGenConfig;
42
42
  static constexpr const char* JobName = "RsaKeyPairGenJob";
43
43
 
44
- static EVPKeyCtxPointer Setup(RsaKeyPairGenConfig* params);
44
+ static ncrypto::EVPKeyCtxPointer Setup(RsaKeyPairGenConfig* params);
45
45
 
46
- static v8::Maybe<bool> AdditionalConfig(
46
+ static v8::Maybe<void> AdditionalConfig(
47
47
  CryptoJobMode mode,
48
48
  const v8::FunctionCallbackInfo<v8::Value>& args,
49
49
  unsigned int* offset,
@@ -63,25 +63,24 @@ struct RSAKeyExportTraits final {
63
63
  static constexpr const char* JobName = "RSAKeyExportJob";
64
64
  using AdditionalParameters = RSAKeyExportConfig;
65
65
 
66
- static v8::Maybe<bool> AdditionalConfig(
66
+ static v8::Maybe<void> AdditionalConfig(
67
67
  const v8::FunctionCallbackInfo<v8::Value>& args,
68
68
  unsigned int offset,
69
69
  RSAKeyExportConfig* config);
70
70
 
71
- static WebCryptoKeyExportStatus DoExport(
72
- std::shared_ptr<KeyObjectData> key_data,
73
- WebCryptoKeyFormat format,
74
- const RSAKeyExportConfig& params,
75
- ByteSource* out);
71
+ static WebCryptoKeyExportStatus DoExport(const KeyObjectData& key_data,
72
+ WebCryptoKeyFormat format,
73
+ const RSAKeyExportConfig& params,
74
+ ByteSource* out);
76
75
  };
77
76
 
78
77
  using RSAKeyExportJob = KeyExportJob<RSAKeyExportTraits>;
79
78
 
80
79
  struct RSACipherConfig final : public MemoryRetainer {
81
- CryptoJobMode mode;
80
+ CryptoJobMode mode = kCryptoJobAsync;
82
81
  ByteSource label;
83
82
  int padding = 0;
84
- const EVP_MD* digest = nullptr;
83
+ ncrypto::Digest digest;
85
84
 
86
85
  RSACipherConfig() = default;
87
86
 
@@ -96,39 +95,35 @@ struct RSACipherTraits final {
96
95
  static constexpr const char* JobName = "RSACipherJob";
97
96
  using AdditionalParameters = RSACipherConfig;
98
97
 
99
- static v8::Maybe<bool> AdditionalConfig(
98
+ static v8::Maybe<void> AdditionalConfig(
100
99
  CryptoJobMode mode,
101
100
  const v8::FunctionCallbackInfo<v8::Value>& args,
102
101
  unsigned int offset,
103
102
  WebCryptoCipherMode cipher_mode,
104
103
  RSACipherConfig* config);
105
104
 
106
- static WebCryptoCipherStatus DoCipher(
107
- Environment* env,
108
- std::shared_ptr<KeyObjectData> key_data,
109
- WebCryptoCipherMode cipher_mode,
110
- const RSACipherConfig& params,
111
- const ByteSource& in,
112
- ByteSource* out);
105
+ static WebCryptoCipherStatus DoCipher(Environment* env,
106
+ const KeyObjectData& key_data,
107
+ WebCryptoCipherMode cipher_mode,
108
+ const RSACipherConfig& params,
109
+ const ByteSource& in,
110
+ ByteSource* out);
113
111
  };
114
112
 
115
113
  using RSACipherJob = CipherJob<RSACipherTraits>;
116
114
 
117
- v8::Maybe<bool> ExportJWKRsaKey(
118
- Environment* env,
119
- std::shared_ptr<KeyObjectData> key,
120
- v8::Local<v8::Object> target);
121
-
122
- std::shared_ptr<KeyObjectData> ImportJWKRsaKey(
123
- Environment* env,
124
- v8::Local<v8::Object> jwk,
125
- const v8::FunctionCallbackInfo<v8::Value>& args,
126
- unsigned int offset);
127
-
128
- v8::Maybe<bool> GetRsaKeyDetail(
129
- Environment* env,
130
- std::shared_ptr<KeyObjectData> key,
131
- v8::Local<v8::Object> target);
115
+ bool ExportJWKRsaKey(Environment* env,
116
+ const KeyObjectData& key,
117
+ v8::Local<v8::Object> target);
118
+
119
+ KeyObjectData ImportJWKRsaKey(Environment* env,
120
+ v8::Local<v8::Object> jwk,
121
+ const v8::FunctionCallbackInfo<v8::Value>& args,
122
+ unsigned int offset);
123
+
124
+ bool GetRsaKeyDetail(Environment* env,
125
+ const KeyObjectData& key,
126
+ v8::Local<v8::Object> target);
132
127
 
133
128
  namespace RSAAlg {
134
129
  void Initialize(Environment* env, v8::Local<v8::Object> target);
@@ -51,22 +51,20 @@ struct ScryptTraits final {
51
51
  static constexpr AsyncWrap::ProviderType Provider =
52
52
  AsyncWrap::PROVIDER_SCRYPTREQUEST;
53
53
 
54
- static v8::Maybe<bool> AdditionalConfig(
54
+ static v8::Maybe<void> AdditionalConfig(
55
55
  CryptoJobMode mode,
56
56
  const v8::FunctionCallbackInfo<v8::Value>& args,
57
57
  unsigned int offset,
58
58
  ScryptConfig* params);
59
59
 
60
- static bool DeriveBits(
61
- Environment* env,
62
- const ScryptConfig& params,
63
- ByteSource* out);
60
+ static bool DeriveBits(Environment* env,
61
+ const ScryptConfig& params,
62
+ ByteSource* out,
63
+ CryptoJobMode mode);
64
64
 
65
- static v8::Maybe<bool> EncodeOutput(
66
- Environment* env,
67
- const ScryptConfig& params,
68
- ByteSource* out,
69
- v8::Local<v8::Value>* result);
65
+ static v8::MaybeLocal<v8::Value> EncodeOutput(Environment* env,
66
+ const ScryptConfig& params,
67
+ ByteSource* out);
70
68
  };
71
69
 
72
70
  using ScryptJob = DeriveBitsJob<ScryptTraits>;
@@ -13,27 +13,24 @@ namespace node {
13
13
  namespace crypto {
14
14
  static const unsigned int kNoDsaSignature = static_cast<unsigned int>(-1);
15
15
 
16
- enum DSASigEnc {
17
- kSigEncDER,
18
- kSigEncP1363
19
- };
16
+ enum class DSASigEnc { DER, P1363, Invalid };
20
17
 
21
18
  class SignBase : public BaseObject {
22
19
  public:
23
- typedef enum {
24
- kSignOk,
25
- kSignUnknownDigest,
26
- kSignInit,
27
- kSignNotInitialised,
28
- kSignUpdate,
29
- kSignPrivateKey,
30
- kSignPublicKey,
31
- kSignMalformedSignature
32
- } Error;
20
+ enum class Error {
21
+ Ok,
22
+ UnknownDigest,
23
+ Init,
24
+ NotInitialised,
25
+ Update,
26
+ PrivateKey,
27
+ PublicKey,
28
+ MalformedSignature
29
+ };
33
30
 
34
31
  SignBase(Environment* env, v8::Local<v8::Object> wrap);
35
32
 
36
- Error Init(const char* sign_type);
33
+ Error Init(const char* digest);
37
34
  Error Update(const char* data, size_t len);
38
35
 
39
36
  // TODO(joyeecheung): track the memory used by OpenSSL types
@@ -42,10 +39,10 @@ class SignBase : public BaseObject {
42
39
  SET_SELF_SIZE(SignBase)
43
40
 
44
41
  protected:
45
- EVPMDPointer mdctx_;
42
+ ncrypto::EVPMDCtxPointer mdctx_;
46
43
  };
47
44
 
48
- class Sign : public SignBase {
45
+ class Sign final : public SignBase {
49
46
  public:
50
47
  static void Initialize(Environment* env, v8::Local<v8::Object> target);
51
48
  static void RegisterExternalReferences(ExternalReferenceRegistry* registry);
@@ -54,17 +51,15 @@ class Sign : public SignBase {
54
51
  Error error;
55
52
  std::unique_ptr<v8::BackingStore> signature;
56
53
 
57
- explicit SignResult(
58
- Error err,
59
- std::unique_ptr<v8::BackingStore>&& sig = nullptr)
60
- : error(err), signature(std::move(sig)) {}
54
+ inline explicit SignResult(
55
+ Error err, std::unique_ptr<v8::BackingStore>&& sig = nullptr)
56
+ : error(err), signature(std::move(sig)) {}
61
57
  };
62
58
 
63
- SignResult SignFinal(
64
- const ManagedEVPPKey& pkey,
65
- int padding,
66
- const v8::Maybe<int>& saltlen,
67
- DSASigEnc dsa_sig_enc);
59
+ SignResult SignFinal(const ncrypto::EVPKeyPointer& pkey,
60
+ int padding,
61
+ std::optional<int> saltlen,
62
+ DSASigEnc dsa_sig_enc);
68
63
 
69
64
  static void SignSync(const v8::FunctionCallbackInfo<v8::Value>& args);
70
65
 
@@ -77,15 +72,15 @@ class Sign : public SignBase {
77
72
  Sign(Environment* env, v8::Local<v8::Object> wrap);
78
73
  };
79
74
 
80
- class Verify : public SignBase {
75
+ class Verify final : public SignBase {
81
76
  public:
82
77
  static void Initialize(Environment* env, v8::Local<v8::Object> target);
83
78
  static void RegisterExternalReferences(ExternalReferenceRegistry* registry);
84
79
 
85
- Error VerifyFinal(const ManagedEVPPKey& key,
80
+ Error VerifyFinal(const ncrypto::EVPKeyPointer& key,
86
81
  const ByteSource& sig,
87
82
  int padding,
88
- const v8::Maybe<int>& saltlen,
83
+ std::optional<int> saltlen,
89
84
  bool* verify_result);
90
85
 
91
86
  static void VerifySync(const v8::FunctionCallbackInfo<v8::Value>& args);
@@ -100,10 +95,7 @@ class Verify : public SignBase {
100
95
  };
101
96
 
102
97
  struct SignConfiguration final : public MemoryRetainer {
103
- enum Mode {
104
- kSign,
105
- kVerify
106
- };
98
+ enum class Mode { Sign, Verify };
107
99
  enum Flags {
108
100
  kHasNone = 0,
109
101
  kHasSaltLength = 1,
@@ -112,14 +104,14 @@ struct SignConfiguration final : public MemoryRetainer {
112
104
 
113
105
  CryptoJobMode job_mode;
114
106
  Mode mode;
115
- ManagedEVPPKey key;
107
+ KeyObjectData key;
116
108
  ByteSource data;
117
109
  ByteSource signature;
118
- const EVP_MD* digest = nullptr;
110
+ ncrypto::Digest digest;
119
111
  int flags = SignConfiguration::kHasNone;
120
112
  int padding = 0;
121
113
  int salt_length = 0;
122
- DSASigEnc dsa_encoding = kSigEncDER;
114
+ DSASigEnc dsa_encoding = DSASigEnc::DER;
123
115
 
124
116
  SignConfiguration() = default;
125
117
 
@@ -136,27 +128,23 @@ struct SignTraits final {
136
128
  using AdditionalParameters = SignConfiguration;
137
129
  static constexpr const char* JobName = "SignJob";
138
130
 
139
- // TODO(@jasnell): Sign request vs. Verify request
140
-
141
131
  static constexpr AsyncWrap::ProviderType Provider =
142
132
  AsyncWrap::PROVIDER_SIGNREQUEST;
143
133
 
144
- static v8::Maybe<bool> AdditionalConfig(
134
+ static v8::Maybe<void> AdditionalConfig(
145
135
  CryptoJobMode mode,
146
136
  const v8::FunctionCallbackInfo<v8::Value>& args,
147
137
  unsigned int offset,
148
138
  SignConfiguration* params);
149
139
 
150
- static bool DeriveBits(
151
- Environment* env,
152
- const SignConfiguration& params,
153
- ByteSource* out);
140
+ static bool DeriveBits(Environment* env,
141
+ const SignConfiguration& params,
142
+ ByteSource* out,
143
+ CryptoJobMode mode);
154
144
 
155
- static v8::Maybe<bool> EncodeOutput(
156
- Environment* env,
157
- const SignConfiguration& params,
158
- ByteSource* out,
159
- v8::Local<v8::Value>* result);
145
+ static v8::MaybeLocal<v8::Value> EncodeOutput(Environment* env,
146
+ const SignConfiguration& params,
147
+ ByteSource* out);
160
148
  };
161
149
 
162
150
  using SignJob = DeriveBitsJob<SignTraits>;
@@ -27,7 +27,6 @@
27
27
  #include "crypto/crypto_context.h"
28
28
  #include "crypto/crypto_clienthello.h"
29
29
 
30
- #include "allocated_buffer.h"
31
30
  #include "async_wrap.h"
32
31
  #include "stream_wrap.h"
33
32
  #include "v8.h"
@@ -35,6 +34,7 @@
35
34
  #include <openssl/ssl.h>
36
35
 
37
36
  #include <string>
37
+ #include <vector>
38
38
 
39
39
  namespace node {
40
40
  namespace crypto {
@@ -48,22 +48,27 @@ class TLSWrap : public AsyncWrap,
48
48
  kServer
49
49
  };
50
50
 
51
+ enum class UnderlyingStreamWriteStatus { kHasActive, kVacancy };
52
+
51
53
  static void Initialize(v8::Local<v8::Object> target,
52
54
  v8::Local<v8::Value> unused,
53
55
  v8::Local<v8::Context> context,
54
56
  void* priv);
57
+ static void RegisterExternalReferences(ExternalReferenceRegistry* registry);
55
58
 
56
59
  ~TLSWrap() override;
57
60
 
58
- bool is_cert_cb_running() const { return cert_cb_running_; }
59
- bool is_waiting_cert_cb() const { return cert_cb_ != nullptr; }
60
- bool has_session_callbacks() const { return session_callbacks_; }
61
- void set_cert_cb_running(bool on = true) { cert_cb_running_ = on; }
62
- void set_awaiting_new_session(bool on = true) { awaiting_new_session_ = on; }
63
- void enable_session_callbacks() { session_callbacks_ = true; }
64
- bool is_server() const { return kind_ == Kind::kServer; }
65
- bool is_client() const { return kind_ == Kind::kClient; }
66
- bool is_awaiting_new_session() const { return awaiting_new_session_; }
61
+ inline bool is_cert_cb_running() const { return cert_cb_running_; }
62
+ inline bool is_waiting_cert_cb() const { return cert_cb_ != nullptr; }
63
+ inline bool has_session_callbacks() const { return session_callbacks_; }
64
+ inline void set_cert_cb_running(bool on = true) { cert_cb_running_ = on; }
65
+ inline void set_awaiting_new_session(bool on = true) {
66
+ awaiting_new_session_ = on;
67
+ }
68
+ inline void enable_session_callbacks() { session_callbacks_ = true; }
69
+ inline bool is_server() const { return kind_ == Kind::kServer; }
70
+ inline bool is_client() const { return kind_ == Kind::kClient; }
71
+ inline bool is_awaiting_new_session() const { return awaiting_new_session_; }
67
72
 
68
73
  // Implement StreamBase:
69
74
  bool IsAlive() override;
@@ -102,6 +107,7 @@ class TLSWrap : public AsyncWrap,
102
107
 
103
108
  std::string diagnostic_name() const override;
104
109
 
110
+ private:
105
111
  // OpenSSL structures are opaque. Estimate SSL memory size for OpenSSL 1.1.1b:
106
112
  // SSL: 6224
107
113
  // SSL->SSL3_STATE: 1040
@@ -124,7 +130,7 @@ class TLSWrap : public AsyncWrap,
124
130
 
125
131
  // Alternative to StreamListener::stream(), that returns a StreamBase instead
126
132
  // of a StreamResource.
127
- StreamBase* underlying_stream() const {
133
+ inline StreamBase* underlying_stream() const {
128
134
  return static_cast<StreamBase*>(stream());
129
135
  }
130
136
 
@@ -134,7 +140,8 @@ class TLSWrap : public AsyncWrap,
134
140
  v8::Local<v8::Object> obj,
135
141
  Kind kind,
136
142
  StreamBase* stream,
137
- SecureContext* sc);
143
+ SecureContext* sc,
144
+ UnderlyingStreamWriteStatus under_stream_ws);
138
145
 
139
146
  static void SSLInfoCallback(const SSL* ssl_, int where, int ret);
140
147
  void InitSSL();
@@ -165,13 +172,12 @@ class TLSWrap : public AsyncWrap,
165
172
 
166
173
  int SetCACerts(SecureContext* sc);
167
174
 
168
- v8::MaybeLocal<v8::Value> GetSSLError(int status, int* err, std::string* msg);
169
-
170
175
  static int SelectSNIContextCallback(SSL* s, int* ad, void* arg);
171
176
 
172
177
  static void CertCbDone(const v8::FunctionCallbackInfo<v8::Value>& args);
173
178
  static void DestroySSL(const v8::FunctionCallbackInfo<v8::Value>& args);
174
179
  static void EnableCertCb(const v8::FunctionCallbackInfo<v8::Value>& args);
180
+ static void EnableALPNCb(const v8::FunctionCallbackInfo<v8::Value>& args);
175
181
  static void EnableKeylogCallback(
176
182
  const v8::FunctionCallbackInfo<v8::Value>& args);
177
183
  static void EnableSessionCallbacks(
@@ -209,6 +215,7 @@ class TLSWrap : public AsyncWrap,
209
215
  static void Renegotiate(const v8::FunctionCallbackInfo<v8::Value>& args);
210
216
  static void RequestOCSP(const v8::FunctionCallbackInfo<v8::Value>& args);
211
217
  static void SetALPNProtocols(const v8::FunctionCallbackInfo<v8::Value>& args);
218
+ static void SetKeyCert(const v8::FunctionCallbackInfo<v8::Value>& args);
212
219
  static void SetOCSPResponse(const v8::FunctionCallbackInfo<v8::Value>& args);
213
220
  static void SetServername(const v8::FunctionCallbackInfo<v8::Value>& args);
214
221
  static void SetSession(const v8::FunctionCallbackInfo<v8::Value>& args);
@@ -216,6 +223,8 @@ class TLSWrap : public AsyncWrap,
216
223
  static void Start(const v8::FunctionCallbackInfo<v8::Value>& args);
217
224
  static void VerifyError(const v8::FunctionCallbackInfo<v8::Value>& args);
218
225
  static void Wrap(const v8::FunctionCallbackInfo<v8::Value>& args);
226
+ static void WritesIssuedByPrevListenerDone(
227
+ const v8::FunctionCallbackInfo<v8::Value>& args);
219
228
 
220
229
  #ifdef SSL_set_max_send_fragment
221
230
  static void SetMaxSendFragment(
@@ -241,8 +250,10 @@ class TLSWrap : public AsyncWrap,
241
250
 
242
251
  Environment* const env_;
243
252
  Kind kind_;
244
- SSLSessionPointer next_sess_;
245
- SSLPointer ssl_;
253
+ ncrypto::SSLSessionPointer next_sess_;
254
+ public:
255
+ ncrypto::SSLPointer ssl_;
256
+ private:
246
257
  ClientHelloParser hello_parser_;
247
258
  v8::Global<v8::ArrayBufferView> ocsp_response_;
248
259
  BaseObjectPtr<SecureContext> sni_context_;
@@ -252,7 +263,7 @@ class TLSWrap : public AsyncWrap,
252
263
  BIO* enc_in_ = nullptr; // StreamListener fills this for SSL_read().
253
264
  BIO* enc_out_ = nullptr; // SSL_write()/handshake fills this for EncOut().
254
265
  // Waiting for ClearIn() to pass to SSL_write().
255
- AllocatedBuffer pending_cleartext_input_;
266
+ std::unique_ptr<v8::BackingStore> pending_cleartext_input_;
256
267
  size_t write_size_ = 0;
257
268
  BaseObjectPtr<AsyncWrap> current_write_;
258
269
  BaseObjectPtr<AsyncWrap> current_empty_write_;
@@ -281,7 +292,13 @@ class TLSWrap : public AsyncWrap,
281
292
  CertCb cert_cb_ = nullptr;
282
293
  void* cert_cb_arg_ = nullptr;
283
294
 
284
- BIOPointer bio_trace_;
295
+ ncrypto::BIOPointer bio_trace_;
296
+
297
+ bool has_active_write_issued_by_prev_listener_ = false;
298
+
299
+ public:
300
+ std::vector<unsigned char> alpn_protos_; // Accessed by SelectALPNCallback.
301
+ bool alpn_callback_enabled_ = false; // Accessed by SelectALPNCallback.
285
302
  };
286
303
 
287
304
  } // namespace crypto