@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,132 @@
1
+ #ifndef SRC_BLOB_SERIALIZER_DESERIALIZER_H_
2
+ #define SRC_BLOB_SERIALIZER_DESERIALIZER_H_
3
+
4
+ #include <string>
5
+ #include <vector>
6
+
7
+ #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
8
+
9
+ // This is related to the blob that is used in snapshots and single executable
10
+ // applications and has nothing to do with `node_blob.h`.
11
+
12
+ namespace node {
13
+
14
+ class BlobSerializerDeserializer {
15
+ public:
16
+ explicit BlobSerializerDeserializer(bool is_debug_v) : is_debug(is_debug_v) {}
17
+
18
+ template <typename... Args>
19
+ void Debug(const char* format, Args&&... args) const;
20
+
21
+ template <typename T>
22
+ std::string ToStr(const T& arg) const;
23
+
24
+ template <typename T>
25
+ std::string GetName() const;
26
+
27
+ bool is_debug = false;
28
+ };
29
+
30
+ enum class StringLogMode {
31
+ kAddressOnly, // Can be used when the string contains binary content.
32
+ kAddressAndContent,
33
+ };
34
+
35
+ // Child classes are expected to implement T Read<T>() where
36
+ // !std::is_arithmetic_v<T> && !std::is_same_v<T, std::string>
37
+ template <typename Impl>
38
+ class BlobDeserializer : public BlobSerializerDeserializer {
39
+ public:
40
+ explicit BlobDeserializer(bool is_debug_v, std::string_view s)
41
+ : BlobSerializerDeserializer(is_debug_v), sink(s) {}
42
+ ~BlobDeserializer() = default;
43
+
44
+ size_t read_total = 0;
45
+ std::string_view sink;
46
+
47
+ Impl* impl() { return static_cast<Impl*>(this); }
48
+ const Impl* impl() const { return static_cast<const Impl*>(this); }
49
+
50
+ // Helper for reading numeric types.
51
+ template <typename T>
52
+ T ReadArithmetic();
53
+
54
+ // Layout of vectors:
55
+ // [ 4/8 bytes ] count
56
+ // [ ... ] contents (count * size of individual elements)
57
+ template <typename T>
58
+ std::vector<T> ReadVector();
59
+
60
+ // ReadString() creates a copy of the data. ReadStringView() doesn't.
61
+ std::string ReadString();
62
+ std::string_view ReadStringView(StringLogMode mode);
63
+
64
+ // Helper for reading an array of numeric types.
65
+ template <typename T>
66
+ void ReadArithmetic(T* out, size_t count);
67
+
68
+ // Helper for reading numeric vectors.
69
+ template <typename Number>
70
+ std::vector<Number> ReadArithmeticVector(size_t count);
71
+
72
+ private:
73
+ // Helper for reading non-numeric vectors.
74
+ template <typename T>
75
+ std::vector<T> ReadNonArithmeticVector(size_t count);
76
+
77
+ template <typename T>
78
+ T ReadElement();
79
+ };
80
+
81
+ // Child classes are expected to implement size_t Write<T>(const T&) where
82
+ // !std::is_arithmetic_v<T> && !std::is_same_v<T, std::string>
83
+ template <typename Impl>
84
+ class BlobSerializer : public BlobSerializerDeserializer {
85
+ public:
86
+ explicit BlobSerializer(bool is_debug_v)
87
+ : BlobSerializerDeserializer(is_debug_v) {}
88
+ ~BlobSerializer() = default;
89
+
90
+ Impl* impl() { return static_cast<Impl*>(this); }
91
+ const Impl* impl() const { return static_cast<const Impl*>(this); }
92
+
93
+ std::vector<char> sink;
94
+
95
+ // Helper for writing numeric types.
96
+ template <typename T>
97
+ size_t WriteArithmetic(const T& data);
98
+
99
+ // Layout of vectors:
100
+ // [ 4/8 bytes ] count
101
+ // [ ... ] contents (count * size of individual elements)
102
+ template <typename T>
103
+ size_t WriteVector(const std::vector<T>& data);
104
+
105
+ // The layout of a written string:
106
+ // [ 4/8 bytes ] length
107
+ // [ |length| bytes ] contents
108
+ size_t WriteStringView(std::string_view data, StringLogMode mode);
109
+ size_t WriteString(const std::string& data);
110
+
111
+ // Helper for writing an array of numeric types.
112
+ template <typename T>
113
+ size_t WriteArithmetic(const T* data, size_t count);
114
+
115
+ // Helper for writing numeric vectors.
116
+ template <typename Number>
117
+ size_t WriteArithmeticVector(const std::vector<Number>& data);
118
+
119
+ private:
120
+ // Helper for writing non-numeric vectors.
121
+ template <typename T>
122
+ size_t WriteNonArithmeticVector(const std::vector<T>& data);
123
+
124
+ template <typename T>
125
+ size_t WriteElement(const T& data);
126
+ };
127
+
128
+ } // namespace node
129
+
130
+ #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
131
+
132
+ #endif // SRC_BLOB_SERIALIZER_DESERIALIZER_H_
@@ -4,6 +4,7 @@
4
4
  #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
5
5
 
6
6
  #include <atomic>
7
+ #include <memory>
7
8
 
8
9
  namespace node {
9
10
 
@@ -9,8 +9,9 @@
9
9
  #include "base_object.h"
10
10
  #include "env.h"
11
11
  #include "memory_tracker.h"
12
- #include "util.h"
13
12
  #include "node.h"
13
+ #include "node_internals.h"
14
+ #include "util.h"
14
15
 
15
16
  #include "ares.h"
16
17
  #include "v8.h"
@@ -29,6 +30,9 @@ namespace cares_wrap {
29
30
 
30
31
  constexpr int ns_t_cname_or_a = -1;
31
32
  constexpr int DNS_ESETSRVPENDING = -1000;
33
+ constexpr uint8_t DNS_ORDER_VERBATIM = 0;
34
+ constexpr uint8_t DNS_ORDER_IPV4_FIRST = 1;
35
+ constexpr uint8_t DNS_ORDER_IPV6_FIRST = 2;
32
36
 
33
37
  class ChannelWrap;
34
38
 
@@ -147,11 +151,11 @@ struct NodeAresTask final : public MemoryRetainer {
147
151
 
148
152
  class ChannelWrap final : public AsyncWrap {
149
153
  public:
150
- ChannelWrap(
151
- Environment* env,
152
- v8::Local<v8::Object> object,
153
- int timeout,
154
- int tries);
154
+ ChannelWrap(Environment* env,
155
+ v8::Local<v8::Object> object,
156
+ int timeout,
157
+ int tries,
158
+ int max_timeout);
155
159
  ~ChannelWrap() override;
156
160
 
157
161
  static void New(const v8::FunctionCallbackInfo<v8::Value>& args);
@@ -186,6 +190,7 @@ class ChannelWrap final : public AsyncWrap {
186
190
  bool library_inited_ = false;
187
191
  int timeout_;
188
192
  int tries_;
193
+ int max_timeout_;
189
194
  int active_query_count_ = 0;
190
195
  NodeAresTask::List task_list_;
191
196
  };
@@ -194,16 +199,16 @@ class GetAddrInfoReqWrap final : public ReqWrap<uv_getaddrinfo_t> {
194
199
  public:
195
200
  GetAddrInfoReqWrap(Environment* env,
196
201
  v8::Local<v8::Object> req_wrap_obj,
197
- bool verbatim);
202
+ uint8_t order);
198
203
 
199
204
  SET_NO_MEMORY_INFO()
200
205
  SET_MEMORY_INFO_NAME(GetAddrInfoReqWrap)
201
206
  SET_SELF_SIZE(GetAddrInfoReqWrap)
202
207
 
203
- bool verbatim() const { return verbatim_; }
208
+ uint8_t order() const { return order_; }
204
209
 
205
210
  private:
206
- const bool verbatim_;
211
+ const uint8_t order_;
207
212
  };
208
213
 
209
214
  class GetNameInfoReqWrap final : public ReqWrap<uv_getnameinfo_t> {
@@ -242,18 +247,20 @@ class QueryWrap final : public AsyncWrap {
242
247
  return Traits::Send(this, name);
243
248
  }
244
249
 
245
- void AresQuery(const char* name, int dnsclass, int type) {
250
+ void AresQuery(const char* name,
251
+ ares_dns_class_t dnsclass,
252
+ ares_dns_rec_type_t type) {
246
253
  channel_->EnsureServers();
247
254
  TRACE_EVENT_NESTABLE_ASYNC_BEGIN1(
248
255
  TRACING_CATEGORY_NODE2(dns, native), trace_name_, this,
249
256
  "name", TRACE_STR_COPY(name));
250
- ares_query(
251
- channel_->cares_channel(),
252
- name,
253
- dnsclass,
254
- type,
255
- Callback,
256
- MakeCallbackPointer());
257
+ ares_query_dnsrec(channel_->cares_channel(),
258
+ name,
259
+ dnsclass,
260
+ type,
261
+ Callback,
262
+ MakeCallbackPointer(),
263
+ nullptr);
257
264
  }
258
265
 
259
266
  void ParseError(int status) {
@@ -278,7 +285,9 @@ class QueryWrap final : public AsyncWrap {
278
285
  if (status != ARES_SUCCESS)
279
286
  return ParseError(status);
280
287
 
281
- status = Traits::Parse(this, response_data_);
288
+ if (!Traits::Parse(this, response_data_).To(&status)) {
289
+ return ParseError(ARES_ECANCELLED);
290
+ }
282
291
 
283
292
  if (status != ARES_SUCCESS)
284
293
  ParseError(status);
@@ -300,19 +309,20 @@ class QueryWrap final : public AsyncWrap {
300
309
  return wrap;
301
310
  }
302
311
 
303
- static void Callback(
304
- void* arg,
305
- int status,
306
- int timeouts,
307
- unsigned char* answer_buf,
308
- int answer_len) {
312
+ static void Callback(void* arg,
313
+ ares_status_t status,
314
+ size_t timeouts,
315
+ const ares_dns_record_t* dnsrec) {
309
316
  QueryWrap<Traits>* wrap = FromCallbackPointer(arg);
310
317
  if (wrap == nullptr) return;
311
318
 
312
319
  unsigned char* buf_copy = nullptr;
320
+ size_t answer_len = 0;
313
321
  if (status == ARES_SUCCESS) {
314
- buf_copy = node::Malloc<unsigned char>(answer_len);
315
- memcpy(buf_copy, answer_buf, answer_len);
322
+ // No need to explicitly call ares_free_string here,
323
+ // as it is a wrapper around free, which is already
324
+ // invoked when MallocedBuffer is destructed.
325
+ ares_dns_write(dnsrec, &buf_copy, &answer_len);
316
326
  }
317
327
 
318
328
  wrap->response_data_ = std::make_unique<ResponseData>();
@@ -397,124 +407,38 @@ class QueryWrap final : public AsyncWrap {
397
407
  QueryWrap<Traits>** callback_ptr_ = nullptr;
398
408
  };
399
409
 
400
- struct AnyTraits final {
401
- static constexpr const char* name = "resolveAny";
402
- static int Send(QueryWrap<AnyTraits>* wrap, const char* name);
403
- static int Parse(
404
- QueryWrap<AnyTraits>* wrap,
405
- const std::unique_ptr<ResponseData>& response);
406
- };
407
-
408
- struct ATraits final {
409
- static constexpr const char* name = "resolve4";
410
- static int Send(QueryWrap<ATraits>* wrap, const char* name);
411
- static int Parse(
412
- QueryWrap<ATraits>* wrap,
413
- const std::unique_ptr<ResponseData>& response);
414
- };
415
-
416
- struct AaaaTraits final {
417
- static constexpr const char* name = "resolve6";
418
- static int Send(QueryWrap<AaaaTraits>* wrap, const char* name);
419
- static int Parse(
420
- QueryWrap<AaaaTraits>* wrap,
421
- const std::unique_ptr<ResponseData>& response);
422
- };
423
-
424
- struct CaaTraits final {
425
- static constexpr const char* name = "resolveCaa";
426
- static int Send(QueryWrap<CaaTraits>* wrap, const char* name);
427
- static int Parse(
428
- QueryWrap<CaaTraits>* wrap,
429
- const std::unique_ptr<ResponseData>& response);
430
- };
431
-
432
- struct CnameTraits final {
433
- static constexpr const char* name = "resolveCname";
434
- static int Send(QueryWrap<CnameTraits>* wrap, const char* name);
435
- static int Parse(
436
- QueryWrap<CnameTraits>* wrap,
437
- const std::unique_ptr<ResponseData>& response);
438
- };
439
-
440
- struct MxTraits final {
441
- static constexpr const char* name = "resolveMx";
442
- static int Send(QueryWrap<MxTraits>* wrap, const char* name);
443
- static int Parse(
444
- QueryWrap<MxTraits>* wrap,
445
- const std::unique_ptr<ResponseData>& response);
446
- };
447
-
448
- struct NsTraits final {
449
- static constexpr const char* name = "resolveNs";
450
- static int Send(QueryWrap<NsTraits>* wrap, const char* name);
451
- static int Parse(
452
- QueryWrap<NsTraits>* wrap,
453
- const std::unique_ptr<ResponseData>& response);
454
- };
455
-
456
- struct TxtTraits final {
457
- static constexpr const char* name = "resolveTxt";
458
- static int Send(QueryWrap<TxtTraits>* wrap, const char* name);
459
- static int Parse(
460
- QueryWrap<TxtTraits>* wrap,
461
- const std::unique_ptr<ResponseData>& response);
462
- };
463
-
464
- struct SrvTraits final {
465
- static constexpr const char* name = "resolveSrv";
466
- static int Send(QueryWrap<SrvTraits>* wrap, const char* name);
467
- static int Parse(
468
- QueryWrap<SrvTraits>* wrap,
469
- const std::unique_ptr<ResponseData>& response);
470
- };
471
-
472
- struct PtrTraits final {
473
- static constexpr const char* name = "resolvePtr";
474
- static int Send(QueryWrap<PtrTraits>* wrap, const char* name);
475
- static int Parse(
476
- QueryWrap<PtrTraits>* wrap,
477
- const std::unique_ptr<ResponseData>& response);
478
- };
479
-
480
- struct NaptrTraits final {
481
- static constexpr const char* name = "resolveNaptr";
482
- static int Send(QueryWrap<NaptrTraits>* wrap, const char* name);
483
- static int Parse(
484
- QueryWrap<NaptrTraits>* wrap,
485
- const std::unique_ptr<ResponseData>& response);
486
- };
487
-
488
- struct SoaTraits final {
489
- static constexpr const char* name = "resolveSoa";
490
- static int Send(QueryWrap<SoaTraits>* wrap, const char* name);
491
- static int Parse(
492
- QueryWrap<SoaTraits>* wrap,
493
- const std::unique_ptr<ResponseData>& response);
494
- };
495
-
496
- struct ReverseTraits final {
497
- static constexpr const char* name = "reverse";
498
- static int Send(QueryWrap<ReverseTraits>* wrap, const char* name);
499
- static int Parse(
500
- QueryWrap<ReverseTraits>* wrap,
501
- const std::unique_ptr<ResponseData>& response);
502
- };
503
-
504
- using QueryAnyWrap = QueryWrap<AnyTraits>;
505
- using QueryAWrap = QueryWrap<ATraits>;
506
- using QueryAaaaWrap = QueryWrap<AaaaTraits>;
507
- using QueryCaaWrap = QueryWrap<CaaTraits>;
508
- using QueryCnameWrap = QueryWrap<CnameTraits>;
509
- using QueryMxWrap = QueryWrap<MxTraits>;
510
- using QueryNsWrap = QueryWrap<NsTraits>;
511
- using QueryTxtWrap = QueryWrap<TxtTraits>;
512
- using QuerySrvWrap = QueryWrap<SrvTraits>;
513
- using QueryPtrWrap = QueryWrap<PtrTraits>;
514
- using QueryNaptrWrap = QueryWrap<NaptrTraits>;
515
- using QuerySoaWrap = QueryWrap<SoaTraits>;
516
- using GetHostByAddrWrap = QueryWrap<ReverseTraits>;
517
-
410
+ #define QUERY_TYPES(V) \
411
+ V(Reverse, reverse, getHostByAddr) \
412
+ V(A, resolve4, queryA) \
413
+ V(Any, resolveAny, queryAny) \
414
+ V(Aaaa, resolve6, queryAaaa) \
415
+ V(Caa, resolveCaa, queryCaa) \
416
+ V(Cname, resolveCname, queryCname) \
417
+ V(Mx, resolveMx, queryMx) \
418
+ V(Naptr, resolveNaptr, queryNaptr) \
419
+ V(Ns, resolveNs, queryNs) \
420
+ V(Ptr, resolvePtr, queryPtr) \
421
+ V(Srv, resolveSrv, querySrv) \
422
+ V(Soa, resolveSoa, querySoa) \
423
+ V(Tlsa, resolveTlsa, queryTlsa) \
424
+ V(Txt, resolveTxt, queryTxt)
425
+
426
+ // All query type handlers share the same basic structure, so we can simplify
427
+ // the code a bit by using a macro to define that structure.
428
+ #define TYPE_TRAITS(Name, label) \
429
+ struct Name##Traits final { \
430
+ static constexpr const char* name = #label; \
431
+ static int Send(QueryWrap<Name##Traits>* wrap, const char* name); \
432
+ static v8::Maybe<int> Parse( \
433
+ QueryWrap<Name##Traits>* wrap, \
434
+ const std::unique_ptr<ResponseData>& response); \
435
+ }; \
436
+ using Query##Name##Wrap = QueryWrap<Name##Traits>;
437
+
438
+ #define V(NAME, LABEL, _) TYPE_TRAITS(NAME, LABEL)
439
+ QUERY_TYPES(V)
440
+ #undef V
441
+ #undef TYPE_TRAITS
518
442
  } // namespace cares_wrap
519
443
  } // namespace node
520
444
 
@@ -0,0 +1,31 @@
1
+ #ifndef SRC_PERMISSION_CHILD_PROCESS_PERMISSION_H_
2
+ #define SRC_PERMISSION_CHILD_PROCESS_PERMISSION_H_
3
+
4
+ #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
5
+
6
+ #include <vector>
7
+ #include "permission/permission_base.h"
8
+
9
+ namespace node {
10
+
11
+ namespace permission {
12
+
13
+ class ChildProcessPermission final : public PermissionBase {
14
+ public:
15
+ void Apply(Environment* env,
16
+ const std::vector<std::string>& allow,
17
+ PermissionScope scope) override;
18
+ bool is_granted(Environment* env,
19
+ PermissionScope perm,
20
+ const std::string_view& param = "") const override;
21
+
22
+ private:
23
+ bool deny_all_;
24
+ };
25
+
26
+ } // namespace permission
27
+
28
+ } // namespace node
29
+
30
+ #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
31
+ #endif // SRC_PERMISSION_CHILD_PROCESS_PERMISSION_H_
@@ -0,0 +1,127 @@
1
+ #pragma once
2
+
3
+ #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
4
+ #if HAVE_OPENSSL && NODE_OPENSSL_HAS_QUIC
5
+ #include <memory_tracker.h>
6
+ #include <ngtcp2/ngtcp2.h>
7
+ #include <string>
8
+ #include "defs.h"
9
+
10
+ namespace node::quic {
11
+
12
+ // CIDS are used to identify endpoints participating in a QUIC session.
13
+ // Once created, CID instances are immutable.
14
+ //
15
+ // CIDs contain between 1 to 20 bytes. Most typically they are selected
16
+ // randomly but there is a spec for creating "routable" CIDs that encode
17
+ // a specific structure that is meaningful only to the side that creates
18
+ // the CID. For most purposes, CIDs should be treated as opaque tokens.
19
+ //
20
+ // Each peer in a QUIC session generates one or more CIDs that the *other*
21
+ // peer will use to identify the session. When a QUIC client initiates a
22
+ // brand new session, it will initially generates a CID of its own (its
23
+ // source CID) and a random placeholder CID for the server (the original
24
+ // destination CID). When the server receives the initial packet, it will
25
+ // generate its own source CID and use the clients source CID as the
26
+ // server's destination CID.
27
+ //
28
+ // Client Server
29
+ // -------------------------------------------
30
+ // Source CID <====> Destination CID
31
+ // Destination CID <====> Source CID
32
+ //
33
+ // While the connection is being established, it is possible for either
34
+ // peer to generate additional CIDs that are also associated with the
35
+ // connection.
36
+ class CID final : public MemoryRetainer {
37
+ public:
38
+ static constexpr size_t kMinLength = NGTCP2_MIN_CIDLEN;
39
+ static constexpr size_t kMaxLength = NGTCP2_MAX_CIDLEN;
40
+
41
+ // Copy the given ngtcp2_cid.
42
+ explicit CID(const ngtcp2_cid& cid);
43
+
44
+ // Copy the given buffer as a CID. The len must be within
45
+ // kMinLength and kMaxLength.
46
+ explicit CID(const uint8_t* data, size_t len);
47
+
48
+ // Wrap the given ngtcp2_cid. The CID does not take ownership
49
+ // of the underlying ngtcp2_cid.
50
+ explicit CID(const ngtcp2_cid* cid);
51
+
52
+ CID(const CID& other);
53
+ CID& operator=(const CID& other);
54
+ CID(CID&&) = delete;
55
+
56
+ struct Hash final {
57
+ size_t operator()(const CID& cid) const;
58
+ };
59
+
60
+ bool operator==(const CID& other) const noexcept;
61
+ bool operator!=(const CID& other) const noexcept;
62
+
63
+ operator const uint8_t*() const;
64
+ operator const ngtcp2_cid&() const;
65
+ operator const ngtcp2_cid*() const;
66
+
67
+ // True if the CID length is at least kMinLength;
68
+ operator bool() const;
69
+ size_t length() const;
70
+
71
+ std::string ToString() const;
72
+
73
+ SET_NO_MEMORY_INFO()
74
+ SET_MEMORY_INFO_NAME(CID)
75
+ SET_SELF_SIZE(CID)
76
+
77
+ template <typename T>
78
+ using Map = std::unordered_map<CID, T, CID::Hash>;
79
+
80
+ // A CID::Factory, as the name suggests, is used to create new CIDs.
81
+ // Per https://datatracker.ietf.org/doc/draft-ietf-quic-load-balancers/, QUIC
82
+ // implementations MAY use the Connection ID associated with a QUIC session
83
+ // as a routing mechanism, with each CID instance securely encoding the
84
+ // routing information. By default, our implementation creates CIDs randomly
85
+ // but will allow user code to provide their own CID::Factory implementation.
86
+ class Factory;
87
+
88
+ static CID kInvalid;
89
+
90
+ // The default constructor creates an empty, zero-length CID.
91
+ // Zero-length CIDs are not usable. We use them as a placeholder
92
+ // for a missing or empty CID value. This is public only because
93
+ // it is required for the CID::Map implementation. It should not
94
+ // be used. Use kInvalid instead.
95
+ CID();
96
+
97
+ private:
98
+ ngtcp2_cid cid_;
99
+ const ngtcp2_cid* ptr_;
100
+
101
+ friend struct Hash;
102
+ };
103
+
104
+ class CID::Factory {
105
+ public:
106
+ virtual ~Factory() = default;
107
+
108
+ // Generate a new CID. The length_hint must be between CID::kMinLength
109
+ // and CID::kMaxLength. The implementation can choose to ignore the length.
110
+ virtual CID Generate(size_t length_hint = CID::kMaxLength) const = 0;
111
+
112
+ // Generate a new CID into the given ngtcp2_cid. This variation of
113
+ // Generate should be used far less commonly.
114
+ virtual CID GenerateInto(ngtcp2_cid* cid,
115
+ size_t length_hint = CID::kMaxLength) const = 0;
116
+
117
+ // The default random CID generator instance.
118
+ static const Factory& random();
119
+
120
+ // TODO(@jasnell): This will soon also include additional implementations
121
+ // of CID::Factory that implement the QUIC Load Balancers spec.
122
+ };
123
+
124
+ } // namespace node::quic
125
+
126
+ #endif // HAVE_OPENSSL && NODE_OPENSSL_HAS_QUIC
127
+ #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
@@ -0,0 +1,6 @@
1
+ // This is an auto generated file, please do not edit.
2
+ // Refer to tools/dep_updaters/update-cjs-module-lexer.sh
3
+ #ifndef SRC_CJS_MODULE_LEXER_VERSION_H_
4
+ #define SRC_CJS_MODULE_LEXER_VERSION_H_
5
+ #define CJS_MODULE_LEXER_VERSION "2.1.0"
6
+ #endif // SRC_CJS_MODULE_LEXER_VERSION_H_
@@ -0,0 +1,36 @@
1
+ #ifndef SRC_CLEANUP_QUEUE_INL_H_
2
+ #define SRC_CLEANUP_QUEUE_INL_H_
3
+
4
+ #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
5
+
6
+ #include "cleanup_queue.h"
7
+ #include "util.h"
8
+
9
+ namespace node {
10
+
11
+ inline size_t CleanupQueue::SelfSize() const {
12
+ return sizeof(CleanupQueue) +
13
+ cleanup_hooks_.size() * sizeof(CleanupHookCallback);
14
+ }
15
+
16
+ bool CleanupQueue::empty() const {
17
+ return cleanup_hooks_.empty();
18
+ }
19
+
20
+ void CleanupQueue::Add(Callback cb, void* arg) {
21
+ auto insertion_info =
22
+ cleanup_hooks_.emplace(cb, arg, cleanup_hook_counter_++);
23
+ // Make sure there was no existing element with these values.
24
+ CHECK_EQ(insertion_info.second, true);
25
+ }
26
+
27
+ void CleanupQueue::Remove(Callback cb, void* arg) {
28
+ CleanupHookCallback search{cb, arg, 0};
29
+ cleanup_hooks_.erase(search);
30
+ }
31
+
32
+ } // namespace node
33
+
34
+ #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
35
+
36
+ #endif // SRC_CLEANUP_QUEUE_INL_H_