@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.
- package/binding.gyp +1 -1
- package/dist/bindings/cws_darwin_arm64_node115.node +0 -0
- package/dist/bindings/cws_darwin_arm64_node127.node +0 -0
- package/dist/bindings/cws_darwin_arm64_node137.node +0 -0
- package/dist/bindings/cws_linux_arm64_node115.node +0 -0
- package/dist/bindings/cws_linux_arm64_node127.node +0 -0
- package/dist/bindings/cws_linux_x64_node115.node +0 -0
- package/dist/bindings/cws_linux_x64_node127.node +0 -0
- package/dist/bindings/cws_linux_x64_node137.node +0 -0
- package/dist/bindings/cws_win32_x64_node108.node +0 -0
- package/dist/bindings/cws_win32_x64_node115.node +0 -0
- package/dist/bindings/cws_win32_x64_node127.node +0 -0
- package/dist/bindings/cws_win32_x64_node83.node +0 -0
- package/dist/bindings/cws_win32_x64_node93.node +0 -0
- package/package.json +1 -1
- package/src/Addon.h +13 -23
- package/src/Socket.h +0 -1
- package/src/headers/22/acorn_version.h +6 -0
- package/src/headers/22/aliased_buffer-inl.h +243 -0
- package/src/headers/22/aliased_buffer.h +206 -0
- package/src/headers/{18 → 22}/async_wrap-inl.h +8 -6
- package/src/headers/{18 → 22}/async_wrap.h +65 -59
- package/src/headers/{18 → 22}/base_object-inl.h +57 -117
- package/src/headers/{18 → 22}/base_object.h +58 -30
- package/src/headers/22/base_object_types.h +74 -0
- package/src/headers/22/blob_serializer_deserializer-inl.h +385 -0
- package/src/headers/22/blob_serializer_deserializer.h +132 -0
- package/src/headers/{16 → 22}/callback_queue.h +1 -0
- package/src/headers/{16 → 22}/cares_wrap.h +27 -20
- package/src/headers/22/cjs_module_lexer_version.h +6 -0
- package/src/headers/22/cleanup_queue-inl.h +62 -0
- package/src/headers/22/cleanup_queue.h +85 -0
- package/src/headers/22/compile_cache.h +104 -0
- package/src/headers/{18 → 22}/crypto/crypto_clienthello.h +1 -1
- package/src/headers/{18 → 22}/crypto/crypto_context.h +31 -7
- package/src/headers/{18 → 22}/crypto/crypto_keys.h +118 -148
- package/src/headers/{18 → 22}/crypto/crypto_tls.h +20 -5
- package/src/headers/{18 → 22}/crypto/crypto_util.h +219 -263
- package/src/headers/22/crypto/ncrypto.h +752 -0
- package/src/headers/{16 → 22}/debug_utils-inl.h +15 -7
- package/src/headers/{18 → 22}/debug_utils.h +25 -19
- package/src/headers/22/encoding_binding.h +59 -0
- package/src/headers/{14 → 22}/env-inl.h +276 -409
- package/src/headers/22/env.h +1266 -0
- package/src/headers/22/env_properties.h +497 -0
- package/src/headers/{18 → 22}/handle_wrap.h +2 -0
- package/src/headers/{18 → 22}/histogram.h +88 -48
- package/src/headers/{16 → 22}/inspector_agent.h +17 -1
- package/src/headers/{16 → 22}/inspector_profiler.h +15 -13
- package/src/headers/22/js_native_api.h +619 -0
- package/src/headers/{18 → 22}/js_native_api_types.h +46 -1
- package/src/headers/22/js_native_api_v8.h +485 -0
- package/src/headers/{18 → 22}/js_native_api_v8_internals.h +6 -0
- package/src/headers/22/json_parser.h +40 -0
- package/src/headers/{16 → 22}/json_utils.h +19 -8
- package/src/headers/{18 → 22}/memory_tracker-inl.h +16 -13
- package/src/headers/{14 → 22}/memory_tracker.h +13 -8
- package/src/headers/{16 → 22}/module_wrap.h +49 -19
- package/src/headers/22/ncrypto/ncrypto.h +752 -0
- package/src/headers/{18 → 22}/node.h +465 -68
- package/src/headers/{18 → 22}/node_api.h +66 -81
- package/src/headers/{18 → 22}/node_api_internals.h +8 -4
- package/src/headers/{18 → 22}/node_api_types.h +5 -0
- package/src/headers/22/node_binding.h +154 -0
- package/src/headers/{18 → 22}/node_blob.h +46 -78
- package/src/headers/{18 → 22}/node_bob-inl.h +1 -2
- package/src/headers/{18 → 22}/node_bob.h +2 -6
- package/src/headers/{18 → 22}/node_buffer.h +1 -1
- package/src/headers/22/node_builtins.h +220 -0
- package/src/headers/{18 → 22}/node_constants.h +3 -5
- package/src/headers/22/node_context_data.h +168 -0
- package/src/headers/22/node_contextify.h +199 -0
- package/src/headers/{16 → 22}/node_crypto.h +1 -2
- package/src/headers/22/node_dotenv.h +45 -0
- package/src/headers/{18 → 22}/node_errors.h +86 -27
- package/src/headers/22/node_exit_code.h +54 -0
- package/src/headers/22/node_external_reference.h +249 -0
- package/src/headers/{18 → 22}/node_file-inl.h +127 -30
- package/src/headers/{16 → 22}/node_file.h +122 -11
- package/src/headers/{18 → 22}/node_http2.h +28 -11
- package/src/headers/{16 → 22}/node_http2_state.h +34 -25
- package/src/headers/{18 → 22}/node_http_common-inl.h +2 -1
- package/src/headers/{18 → 22}/node_http_common.h +56 -55
- package/src/headers/{16 → 22}/node_i18n.h +5 -18
- package/src/headers/{18 → 22}/node_internals.h +121 -59
- package/src/headers/{18 → 22}/node_main_instance.h +4 -31
- package/src/headers/{18 → 22}/node_messaging.h +27 -10
- package/src/headers/{18 → 22}/node_metadata.h +23 -1
- package/src/headers/{18 → 22}/node_options-inl.h +24 -11
- package/src/headers/{18 → 22}/node_options.h +124 -39
- package/src/headers/{18 → 22}/node_perf.h +0 -2
- package/src/headers/{18 → 22}/node_perf_common.h +20 -9
- package/src/headers/{18 → 22}/node_platform.h +11 -5
- package/src/headers/{18 → 22}/node_process.h +26 -14
- package/src/headers/22/node_realm-inl.h +145 -0
- package/src/headers/22/node_realm.h +184 -0
- package/src/headers/{16 → 22}/node_report.h +13 -17
- package/src/headers/{16 → 22}/node_revert.h +3 -3
- package/src/headers/{16 → 22}/node_root_certs.h +902 -461
- package/src/headers/22/node_sea.h +64 -0
- package/src/headers/22/node_shadow_realm.h +46 -0
- package/src/headers/22/node_snapshot_builder.h +57 -0
- package/src/headers/22/node_snapshotable.h +174 -0
- package/src/headers/{18 → 22}/node_sockaddr.h +2 -2
- package/src/headers/{16 → 22}/node_stat_watcher.h +2 -1
- package/src/headers/22/node_threadsafe_cow-inl.h +54 -0
- package/src/headers/22/node_threadsafe_cow.h +105 -0
- package/src/headers/22/node_union_bytes.h +81 -0
- package/src/headers/22/node_url.h +96 -0
- package/src/headers/22/node_v8.h +77 -0
- package/src/headers/{14 → 22}/node_v8_platform-inl.h +17 -6
- package/src/headers/{16 → 22}/node_version.h +21 -9
- package/src/headers/22/node_wasi.h +185 -0
- package/src/headers/{14 → 22}/node_watchdog.h +2 -0
- package/src/headers/{18 → 22}/node_worker.h +7 -2
- package/src/headers/22/permission/child_process_permission.h +31 -0
- package/src/headers/22/permission/fs_permission.h +167 -0
- package/src/headers/22/permission/inspector_permission.h +31 -0
- package/src/headers/22/permission/permission.h +99 -0
- package/src/headers/22/permission/permission_base.h +60 -0
- package/src/headers/22/permission/wasi_permission.h +31 -0
- package/src/headers/22/permission/worker_permission.h +31 -0
- package/src/headers/{16 → 22}/req_wrap-inl.h +7 -6
- package/src/headers/{14 → 22}/spawn_sync.h +3 -3
- package/src/headers/{18 → 22}/stream_base-inl.h +0 -135
- package/src/headers/{18 → 22}/stream_base.h +35 -16
- package/src/headers/{18 → 22}/stream_pipe.h +3 -4
- package/src/headers/{16 → 22}/stream_wrap.h +2 -1
- package/src/headers/{18 → 22}/string_bytes.h +5 -14
- package/src/headers/{14 → 22}/string_decoder-inl.h +0 -6
- package/src/headers/{16 → 22}/string_decoder.h +0 -1
- package/src/headers/{18 → 22}/tcp_wrap.h +1 -1
- package/src/headers/{18 → 22}/threadpoolwork-inl.h +14 -1
- package/src/headers/22/timers.h +76 -0
- package/src/headers/{18 → 22}/tracing/trace_event.h +7 -5
- package/src/headers/{16 → 22}/udp_wrap.h +8 -5
- package/src/headers/22/undici_version.h +6 -0
- package/src/headers/{18 → 22}/util-inl.h +97 -127
- package/src/headers/{18 → 22}/util.h +293 -106
- package/src/headers/{18 → 22}/v8-fast-api-calls.h +103 -58
- package/src/headers/24/acorn_version.h +6 -0
- package/src/headers/24/addon_permission.h +31 -0
- package/src/headers/{16/tracing → 24}/agent.h +1 -1
- package/src/headers/24/aliased_buffer-inl.h +244 -0
- package/src/headers/24/aliased_buffer.h +206 -0
- package/src/headers/24/amaro_version.h +6 -0
- package/src/headers/24/application.h +165 -0
- package/src/headers/24/async_context_frame.h +33 -0
- package/src/headers/{14 → 24}/async_wrap-inl.h +8 -6
- package/src/headers/{16 → 24}/async_wrap.h +86 -88
- package/src/headers/{16 → 24}/base_object-inl.h +75 -119
- package/src/headers/{16 → 24}/base_object.h +84 -40
- package/src/headers/24/base_object_types.h +74 -0
- package/src/headers/24/bindingdata.h +272 -0
- package/src/headers/24/blob_serializer_deserializer-inl.h +385 -0
- package/src/headers/24/blob_serializer_deserializer.h +132 -0
- package/src/headers/{18 → 24}/callback_queue.h +1 -0
- package/src/headers/{18 → 24}/cares_wrap.h +68 -144
- package/src/headers/24/child_process_permission.h +31 -0
- package/src/headers/24/cid.h +127 -0
- package/src/headers/24/cjs_module_lexer_version.h +6 -0
- package/src/headers/24/cleanup_queue-inl.h +36 -0
- package/src/headers/24/cleanup_queue.h +79 -0
- package/src/headers/24/compile_cache.h +113 -0
- package/src/headers/24/cppgc_helpers-inl.h +65 -0
- package/src/headers/24/cppgc_helpers.h +162 -0
- package/src/headers/24/crypto/crypto_aes.h +97 -0
- package/src/headers/24/crypto/crypto_argon2.h +86 -0
- package/src/headers/{16 → 24}/crypto/crypto_bio.h +8 -9
- package/src/headers/24/crypto/crypto_chacha20_poly1305.h +64 -0
- package/src/headers/{18 → 24}/crypto/crypto_cipher.h +48 -58
- package/src/headers/{16 → 24}/crypto/crypto_clienthello-inl.h +2 -2
- package/src/headers/{16 → 24}/crypto/crypto_clienthello.h +1 -1
- package/src/headers/24/crypto/crypto_common.h +48 -0
- package/src/headers/{16 → 24}/crypto/crypto_context.h +46 -22
- package/src/headers/{18 → 24}/crypto/crypto_dh.h +27 -57
- package/src/headers/{18 → 24}/crypto/crypto_dsa.h +7 -34
- package/src/headers/{18 → 24}/crypto/crypto_ec.h +42 -49
- package/src/headers/{18 → 24}/crypto/crypto_hash.h +11 -11
- package/src/headers/{18 → 24}/crypto/crypto_hkdf.h +10 -14
- package/src/headers/{18 → 24}/crypto/crypto_hmac.h +11 -13
- package/src/headers/24/crypto/crypto_kem.h +113 -0
- package/src/headers/{18 → 24}/crypto/crypto_keygen.h +59 -74
- package/src/headers/{16 → 24}/crypto/crypto_keys.h +134 -154
- package/src/headers/24/crypto/crypto_ml_dsa.h +21 -0
- package/src/headers/{18 → 24}/crypto/crypto_pbkdf2.h +9 -11
- package/src/headers/{18 → 24}/crypto/crypto_random.h +28 -34
- package/src/headers/{18 → 24}/crypto/crypto_rsa.h +30 -35
- package/src/headers/{18 → 24}/crypto/crypto_scrypt.h +8 -10
- package/src/headers/{18 → 24}/crypto/crypto_sig.h +36 -48
- package/src/headers/{16 → 24}/crypto/crypto_tls.h +35 -18
- package/src/headers/{16 → 24}/crypto/crypto_util.h +183 -321
- package/src/headers/24/crypto/crypto_x509.h +140 -0
- package/src/headers/24/data.h +148 -0
- package/src/headers/{14 → 24}/debug_utils-inl.h +17 -8
- package/src/headers/{16 → 24}/debug_utils.h +31 -22
- package/src/headers/24/defs.h +254 -0
- package/src/headers/24/embedded_data.h +17 -0
- package/src/headers/24/encoding_binding.h +60 -0
- package/src/headers/24/endpoint.h +421 -0
- package/src/headers/{16 → 24}/env-inl.h +198 -540
- package/src/headers/24/env.h +1257 -0
- package/src/headers/24/env_properties.h +561 -0
- package/src/headers/24/fs_permission.h +167 -0
- package/src/headers/{16 → 24}/handle_wrap.h +4 -2
- package/src/headers/{16 → 24}/histogram-inl.h +34 -15
- package/src/headers/24/histogram.h +279 -0
- package/src/headers/24/http3.h +44 -0
- package/src/headers/{18 → 24}/inspector_agent.h +23 -2
- package/src/headers/24/inspector_permission.h +31 -0
- package/src/headers/{18 → 24}/inspector_profiler.h +15 -15
- package/src/headers/24/io_agent.h +30 -0
- package/src/headers/{18 → 24}/js_native_api.h +74 -30
- package/src/headers/{16 → 24}/js_native_api_types.h +61 -10
- package/src/headers/{18 → 24}/js_native_api_v8.h +205 -160
- package/src/headers/{16 → 24}/js_native_api_v8_internals.h +12 -6
- package/src/headers/24/json_parser.h +40 -0
- package/src/headers/{18 → 24}/json_utils.h +19 -8
- package/src/headers/24/logstream.h +81 -0
- package/src/headers/24/main_thread_interface.h +116 -0
- package/src/headers/{16 → 24}/memory_tracker-inl.h +115 -17
- package/src/headers/{16 → 24}/memory_tracker.h +58 -9
- package/src/headers/24/module_wrap.h +229 -0
- package/src/headers/24/ncrypto.h +1625 -0
- package/src/headers/24/network_agent.h +118 -0
- package/src/headers/24/network_inspector.h +45 -0
- package/src/headers/24/network_resource_manager.h +29 -0
- package/src/headers/{16 → 24}/node.h +560 -72
- package/src/headers/24/node_api.h +269 -0
- package/src/headers/24/node_api_internals.h +46 -0
- package/src/headers/{16 → 24}/node_api_types.h +13 -11
- package/src/headers/24/node_binding.h +163 -0
- package/src/headers/{16 → 24}/node_blob.h +46 -78
- package/src/headers/{16 → 24}/node_bob-inl.h +1 -2
- package/src/headers/{16 → 24}/node_bob.h +2 -6
- package/src/headers/{14 → 24}/node_buffer.h +1 -1
- package/src/headers/24/node_builtins.h +223 -0
- package/src/headers/24/node_config_file.h +65 -0
- package/src/headers/{14 → 24}/node_constants.h +3 -5
- package/src/headers/24/node_context_data.h +168 -0
- package/src/headers/24/node_contextify.h +261 -0
- package/src/headers/{18 → 24}/node_crypto.h +7 -2
- package/src/headers/24/node_debug.h +25 -0
- package/src/headers/24/node_dotenv.h +45 -0
- package/src/headers/{16 → 24}/node_errors.h +146 -32
- package/src/headers/24/node_exit_code.h +54 -0
- package/src/headers/{18 → 24}/node_external_reference.h +44 -22
- package/src/headers/{16 → 24}/node_file-inl.h +156 -50
- package/src/headers/{18 → 24}/node_file.h +129 -15
- package/src/headers/{16 → 24}/node_http2.h +53 -18
- package/src/headers/{14 → 24}/node_http2_state.h +35 -25
- package/src/headers/{16 → 24}/node_http_common-inl.h +8 -10
- package/src/headers/{16 → 24}/node_http_common.h +63 -59
- package/src/headers/{18 → 24}/node_i18n.h +5 -18
- package/src/headers/{16 → 24}/node_internals.h +131 -76
- package/src/headers/24/node_json.h +24 -0
- package/src/headers/24/node_large_page.h +34 -0
- package/src/headers/24/node_locks.h +180 -0
- package/src/headers/{14 → 24}/node_main_instance.h +15 -44
- package/src/headers/{16 → 24}/node_mem-inl.h +7 -7
- package/src/headers/{16 → 24}/node_messaging.h +27 -11
- package/src/headers/{16 → 24}/node_metadata.h +44 -2
- package/src/headers/24/node_modules.h +93 -0
- package/src/headers/{16 → 24}/node_options-inl.h +93 -46
- package/src/headers/{16 → 24}/node_options.h +251 -63
- package/src/headers/{16 → 24}/node_perf.h +6 -25
- package/src/headers/{16 → 24}/node_perf_common.h +23 -10
- package/src/headers/24/node_platform.h +286 -0
- package/src/headers/24/node_process.h +111 -0
- package/src/headers/24/node_realm-inl.h +153 -0
- package/src/headers/24/node_realm.h +236 -0
- package/src/headers/{18 → 24}/node_report.h +13 -17
- package/src/headers/{18 → 24}/node_revert.h +3 -3
- package/src/headers/{18 → 24}/node_root_certs.h +1010 -710
- package/src/headers/24/node_sea.h +74 -0
- package/src/headers/24/node_shadow_realm.h +46 -0
- package/src/headers/24/node_snapshot_builder.h +57 -0
- package/src/headers/24/node_snapshotable.h +174 -0
- package/src/headers/{16 → 24}/node_sockaddr-inl.h +11 -20
- package/src/headers/{16 → 24}/node_sockaddr.h +9 -20
- package/src/headers/24/node_sqlite.h +270 -0
- package/src/headers/{18 → 24}/node_stat_watcher.h +2 -1
- package/src/headers/24/node_string.h +101 -0
- package/src/headers/24/node_task_runner.h +92 -0
- package/src/headers/24/node_threadsafe_cow-inl.h +54 -0
- package/src/headers/24/node_threadsafe_cow.h +105 -0
- package/src/headers/24/node_union_bytes.h +81 -0
- package/src/headers/24/node_url.h +101 -0
- package/src/headers/24/node_url_pattern.h +118 -0
- package/src/headers/24/node_v8.h +77 -0
- package/src/headers/{18 → 24}/node_v8_platform-inl.h +22 -31
- package/src/headers/{18 → 24}/node_version.h +18 -6
- package/src/headers/24/node_wasi.h +185 -0
- package/src/headers/24/node_wasm_web_api.h +55 -0
- package/src/headers/{18 → 24}/node_watchdog.h +2 -0
- package/src/headers/24/node_webstorage.h +60 -0
- package/src/headers/{16 → 24}/node_worker.h +24 -10
- package/src/headers/24/packet.h +155 -0
- package/src/headers/24/path.h +33 -0
- package/src/headers/24/permission/addon_permission.h +31 -0
- package/src/headers/24/permission/child_process_permission.h +31 -0
- package/src/headers/24/permission/fs_permission.h +167 -0
- package/src/headers/24/permission/inspector_permission.h +31 -0
- package/src/headers/24/permission/permission.h +100 -0
- package/src/headers/24/permission/permission_base.h +65 -0
- package/src/headers/24/permission/wasi_permission.h +31 -0
- package/src/headers/24/permission/worker_permission.h +31 -0
- package/src/headers/24/permission.h +100 -0
- package/src/headers/24/permission_base.h +65 -0
- package/src/headers/24/preferredaddress.h +72 -0
- package/src/headers/24/protocol_helper.h +27 -0
- package/src/headers/24/queue.h +306 -0
- package/src/headers/{18 → 24}/req_wrap-inl.h +12 -6
- package/src/headers/{16 → 24}/req_wrap.h +3 -1
- package/src/headers/24/runtime_agent.h +41 -0
- package/src/headers/24/session.h +528 -0
- package/src/headers/24/sessionticket.h +108 -0
- package/src/headers/{18 → 24}/spawn_sync.h +9 -8
- package/src/headers/{16 → 24}/stream_base-inl.h +3 -133
- package/src/headers/{16 → 24}/stream_base.h +43 -19
- package/src/headers/{16 → 24}/stream_pipe.h +7 -4
- package/src/headers/{18 → 24}/stream_wrap.h +2 -3
- package/src/headers/24/streams.h +370 -0
- package/src/headers/{16 → 24}/string_bytes.h +8 -21
- package/src/headers/{18 → 24}/string_decoder-inl.h +0 -6
- package/src/headers/{18 → 24}/string_decoder.h +0 -1
- package/src/headers/24/target_agent.h +75 -0
- package/src/headers/{16 → 24}/tcp_wrap.h +3 -1
- package/src/headers/{14 → 24}/threadpoolwork-inl.h +14 -1
- package/src/headers/24/timer_wrap-inl.h +32 -0
- package/src/headers/{16 → 24}/timer_wrap.h +7 -4
- package/src/headers/24/timers.h +75 -0
- package/src/headers/24/tlscontext.h +228 -0
- package/src/headers/24/tokens.h +256 -0
- package/src/headers/{14/tracing → 24}/trace_event.h +7 -5
- package/src/headers/24/traced_value.h +129 -0
- package/src/headers/24/tracing_agent.h +43 -0
- package/src/headers/24/transportparams.h +166 -0
- package/src/headers/{16 → 24}/tty_wrap.h +0 -1
- package/src/headers/{18 → 24}/udp_wrap.h +8 -5
- package/src/headers/24/undici_version.h +6 -0
- package/src/headers/{16 → 24}/util-inl.h +267 -131
- package/src/headers/{16 → 24}/util.h +338 -146
- package/src/headers/24/v8-external-memory-accounter.h +60 -0
- package/src/headers/24/v8-fast-api-calls.h +819 -0
- package/src/headers/24/v8-inspector.h +426 -0
- package/src/headers/24/wasi_permission.h +31 -0
- package/src/headers/24/worker_agent.h +40 -0
- package/src/headers/24/worker_inspector.h +124 -0
- package/src/headers/24/worker_permission.h +31 -0
- package/src/headers/24/zlib_version.h +6 -0
- package/dist/bindings/cws_darwin_arm64_node83.node +0 -0
- package/dist/bindings/cws_darwin_arm64_node93.node +0 -0
- package/dist/bindings/cws_darwin_x64_node83.node +0 -0
- package/dist/bindings/cws_darwin_x64_node93.node +0 -0
- package/dist/bindings/cws_linux_arm64_node83.node +0 -0
- package/dist/bindings/cws_linux_arm64_node93.node +0 -0
- package/dist/bindings/cws_linux_x64_node83.node +0 -0
- package/dist/bindings/cws_linux_x64_node93.node +0 -0
- package/src/headers/14/aliased_buffer.h +0 -263
- package/src/headers/14/allocated_buffer-inl.h +0 -110
- package/src/headers/14/allocated_buffer.h +0 -73
- package/src/headers/14/async_wrap.h +0 -230
- package/src/headers/14/base64.h +0 -183
- package/src/headers/14/base_object-inl.h +0 -371
- package/src/headers/14/base_object.h +0 -281
- package/src/headers/14/callback_queue-inl.h +0 -97
- package/src/headers/14/callback_queue.h +0 -78
- package/src/headers/14/debug_utils.h +0 -181
- package/src/headers/14/env.h +0 -1388
- package/src/headers/14/handle_wrap.h +0 -117
- package/src/headers/14/histogram-inl.h +0 -83
- package/src/headers/14/histogram.h +0 -98
- package/src/headers/14/inspector_agent.h +0 -149
- package/src/headers/14/inspector_profiler.h +0 -137
- package/src/headers/14/js_native_api.h +0 -544
- package/src/headers/14/js_native_api_types.h +0 -143
- package/src/headers/14/js_native_api_v8.h +0 -301
- package/src/headers/14/js_native_api_v8_internals.h +0 -38
- package/src/headers/14/json_utils.h +0 -161
- package/src/headers/14/memory_tracker-inl.h +0 -355
- package/src/headers/14/module_wrap.h +0 -99
- package/src/headers/14/node.h +0 -1032
- package/src/headers/14/node_api.h +0 -255
- package/src/headers/14/node_api_types.h +0 -44
- package/src/headers/14/node_binding.h +0 -99
- package/src/headers/14/node_context_data.h +0 -44
- package/src/headers/14/node_contextify.h +0 -161
- package/src/headers/14/node_crypto.h +0 -865
- package/src/headers/14/node_crypto_bio.h +0 -195
- package/src/headers/14/node_crypto_clienthello-inl.h +0 -91
- package/src/headers/14/node_crypto_clienthello.h +0 -132
- package/src/headers/14/node_crypto_common.h +0 -138
- package/src/headers/14/node_crypto_groups.h +0 -415
- package/src/headers/14/node_dtrace.h +0 -86
- package/src/headers/14/node_errors.h +0 -214
- package/src/headers/14/node_file-inl.h +0 -306
- package/src/headers/14/node_file.h +0 -417
- package/src/headers/14/node_http2.h +0 -1191
- package/src/headers/14/node_http_common-inl.h +0 -194
- package/src/headers/14/node_http_common.h +0 -529
- package/src/headers/14/node_i18n.h +0 -144
- package/src/headers/14/node_internals.h +0 -405
- package/src/headers/14/node_mem.h +0 -45
- package/src/headers/14/node_messaging.h +0 -303
- package/src/headers/14/node_metadata.h +0 -109
- package/src/headers/14/node_mutex.h +0 -247
- package/src/headers/14/node_native_module.h +0 -101
- package/src/headers/14/node_native_module_env.h +0 -66
- package/src/headers/14/node_options-inl.h +0 -451
- package/src/headers/14/node_options.h +0 -481
- package/src/headers/14/node_perf.h +0 -181
- package/src/headers/14/node_perf_common.h +0 -97
- package/src/headers/14/node_platform.h +0 -189
- package/src/headers/14/node_process.h +0 -40
- package/src/headers/14/node_report.h +0 -47
- package/src/headers/14/node_revert.h +0 -72
- package/src/headers/14/node_root_certs.h +0 -3458
- package/src/headers/14/node_sockaddr-inl.h +0 -170
- package/src/headers/14/node_sockaddr.h +0 -123
- package/src/headers/14/node_stat_watcher.h +0 -70
- package/src/headers/14/node_union_bytes.h +0 -103
- package/src/headers/14/node_url.h +0 -188
- package/src/headers/14/node_version.h +0 -98
- package/src/headers/14/node_wasi.h +0 -108
- package/src/headers/14/node_win32_etw_provider-inl.h +0 -287
- package/src/headers/14/node_win32_etw_provider.h +0 -99
- package/src/headers/14/node_worker.h +0 -141
- package/src/headers/14/pipe_wrap.h +0 -78
- package/src/headers/14/req_wrap-inl.h +0 -170
- package/src/headers/14/req_wrap.h +0 -77
- package/src/headers/14/stream_base-inl.h +0 -275
- package/src/headers/14/stream_base.h +0 -434
- package/src/headers/14/stream_pipe.h +0 -73
- package/src/headers/14/stream_wrap.h +0 -130
- package/src/headers/14/string_bytes.h +0 -129
- package/src/headers/14/string_decoder.h +0 -50
- package/src/headers/14/string_search.h +0 -638
- package/src/headers/14/tcp_wrap.h +0 -101
- package/src/headers/14/tls_wrap.h +0 -222
- package/src/headers/14/tracing/agent.h +0 -195
- package/src/headers/14/tracing/traced_value.h +0 -70
- package/src/headers/14/tty_wrap.h +0 -64
- package/src/headers/14/udp_wrap.h +0 -227
- package/src/headers/14/util-inl.h +0 -566
- package/src/headers/14/util.h +0 -804
- package/src/headers/14/v8abbr.h +0 -124
- package/src/headers/16/aliased_buffer.h +0 -315
- package/src/headers/16/allocated_buffer-inl.h +0 -110
- package/src/headers/16/allocated_buffer.h +0 -73
- package/src/headers/16/async_wrap-inl.h +0 -94
- package/src/headers/16/base64-inl.h +0 -189
- package/src/headers/16/base64.h +0 -69
- package/src/headers/16/crypto/crypto_aes.h +0 -89
- package/src/headers/16/crypto/crypto_cipher.h +0 -286
- package/src/headers/16/crypto/crypto_common.h +0 -187
- package/src/headers/16/crypto/crypto_dh.h +0 -157
- package/src/headers/16/crypto/crypto_dsa.h +0 -76
- package/src/headers/16/crypto/crypto_ec.h +0 -169
- package/src/headers/16/crypto/crypto_groups.h +0 -415
- package/src/headers/16/crypto/crypto_hash.h +0 -89
- package/src/headers/16/crypto/crypto_hkdf.h +0 -66
- package/src/headers/16/crypto/crypto_hmac.h +0 -94
- package/src/headers/16/crypto/crypto_keygen.h +0 -301
- package/src/headers/16/crypto/crypto_pbkdf2.h +0 -76
- package/src/headers/16/crypto/crypto_random.h +0 -130
- package/src/headers/16/crypto/crypto_rsa.h +0 -141
- package/src/headers/16/crypto/crypto_scrypt.h +0 -87
- package/src/headers/16/crypto/crypto_sig.h +0 -167
- package/src/headers/16/crypto/crypto_spkac.h +0 -20
- package/src/headers/16/crypto/crypto_timing.h +0 -20
- package/src/headers/16/crypto/crypto_x509.h +0 -141
- package/src/headers/16/env.h +0 -1629
- package/src/headers/16/histogram.h +0 -216
- package/src/headers/16/js_native_api.h +0 -561
- package/src/headers/16/js_native_api_v8.h +0 -451
- package/src/headers/16/node.d +0 -315
- package/src/headers/16/node.stp +0 -146
- package/src/headers/16/node_api.h +0 -275
- package/src/headers/16/node_api_internals.h +0 -30
- package/src/headers/16/node_binding.h +0 -99
- package/src/headers/16/node_buffer.h +0 -92
- package/src/headers/16/node_constants.h +0 -84
- package/src/headers/16/node_context_data.h +0 -44
- package/src/headers/16/node_contextify.h +0 -196
- package/src/headers/16/node_dtrace.h +0 -86
- package/src/headers/16/node_external_reference.h +0 -129
- package/src/headers/16/node_main_instance.h +0 -103
- package/src/headers/16/node_native_module.h +0 -101
- package/src/headers/16/node_native_module_env.h +0 -68
- package/src/headers/16/node_platform.h +0 -192
- package/src/headers/16/node_process.h +0 -43
- package/src/headers/16/node_provider.d +0 -80
- package/src/headers/16/node_snapshotable.h +0 -137
- package/src/headers/16/node_union_bytes.h +0 -103
- package/src/headers/16/node_url.h +0 -205
- package/src/headers/16/node_v8.h +0 -41
- package/src/headers/16/node_v8_platform-inl.h +0 -194
- package/src/headers/16/node_wasi.h +0 -108
- package/src/headers/16/node_watchdog.h +0 -152
- package/src/headers/16/node_win32_etw_provider-inl.h +0 -288
- package/src/headers/16/node_win32_etw_provider.h +0 -99
- package/src/headers/16/spawn_sync.h +0 -242
- package/src/headers/16/string_decoder-inl.h +0 -37
- package/src/headers/16/string_search.h +0 -638
- package/src/headers/16/threadpoolwork-inl.h +0 -57
- package/src/headers/16/tracing/node_trace_buffer.h +0 -83
- package/src/headers/16/tracing/node_trace_writer.h +0 -75
- package/src/headers/16/tracing/trace_event.h +0 -720
- package/src/headers/16/tracing/traced_value.h +0 -70
- package/src/headers/16/v8abbr.h +0 -123
- package/src/headers/16/v8ustack.d +0 -695
- package/src/headers/18/aliased_buffer.h +0 -315
- package/src/headers/18/aliased_struct-inl.h +0 -54
- package/src/headers/18/aliased_struct.h +0 -63
- package/src/headers/18/base64-inl.h +0 -189
- package/src/headers/18/base64.h +0 -69
- package/src/headers/18/connect_wrap.h +0 -26
- package/src/headers/18/connection_wrap.h +0 -30
- package/src/headers/18/crypto/crypto_aes.h +0 -89
- package/src/headers/18/crypto/crypto_bio.h +0 -194
- package/src/headers/18/crypto/crypto_clienthello-inl.h +0 -90
- package/src/headers/18/crypto/crypto_common.h +0 -151
- package/src/headers/18/crypto/crypto_groups.h +0 -415
- package/src/headers/18/crypto/crypto_x509.h +0 -143
- package/src/headers/18/debug_utils-inl.h +0 -223
- package/src/headers/18/diagnosticfilename-inl.h +0 -33
- package/src/headers/18/env-inl.h +0 -1308
- package/src/headers/18/env.h +0 -1667
- package/src/headers/18/inspector_io.h +0 -78
- package/src/headers/18/inspector_socket.h +0 -60
- package/src/headers/18/inspector_socket_server.h +0 -110
- package/src/headers/18/js_stream.h +0 -52
- package/src/headers/18/memory_tracker.h +0 -284
- package/src/headers/18/module_wrap.h +0 -116
- package/src/headers/18/node_binding.h +0 -99
- package/src/headers/18/node_context_data.h +0 -44
- package/src/headers/18/node_contextify.h +0 -196
- package/src/headers/18/node_dir.h +0 -52
- package/src/headers/18/node_dtrace.h +0 -86
- package/src/headers/18/node_http2_state.h +0 -149
- package/src/headers/18/node_mem-inl.h +0 -112
- package/src/headers/18/node_native_module.h +0 -109
- package/src/headers/18/node_native_module_env.h +0 -71
- package/src/headers/18/node_object_wrap.h +0 -132
- package/src/headers/18/node_snapshot_builder.h +0 -43
- package/src/headers/18/node_snapshotable.h +0 -130
- package/src/headers/18/node_union_bytes.h +0 -103
- package/src/headers/18/node_url.h +0 -205
- package/src/headers/18/node_v8.h +0 -41
- package/src/headers/18/node_wasi.h +0 -108
- package/src/headers/18/node_win32_etw_provider-inl.h +0 -288
- package/src/headers/18/node_win32_etw_provider.h +0 -99
- package/src/headers/18/string_search.h +0 -638
- package/src/headers/18/tracing/node_trace_buffer.h +0 -83
- package/src/headers/18/tracing/node_trace_writer.h +0 -75
- package/src/headers/18/tracing/trace_event_common.h +0 -1109
- package/src/headers/18/tracing/traced_value.h +0 -70
- package/src/headers/18/v8abbr.h +0 -123
- /package/src/headers/{14 → 22}/aliased_struct-inl.h +0 -0
- /package/src/headers/{14 → 22}/aliased_struct.h +0 -0
- /package/src/headers/{16 → 22}/callback_queue-inl.h +0 -0
- /package/src/headers/{14 → 22}/connect_wrap.h +0 -0
- /package/src/headers/{14 → 22}/connection_wrap.h +0 -0
- /package/src/headers/{14 → 22}/diagnosticfilename-inl.h +0 -0
- /package/src/headers/{18 → 22}/histogram-inl.h +0 -0
- /package/src/headers/{14 → 22}/inspector_io.h +0 -0
- /package/src/headers/{14 → 22}/inspector_socket.h +0 -0
- /package/src/headers/{14 → 22}/inspector_socket_server.h +0 -0
- /package/src/headers/{14 → 22}/js_stream.h +0 -0
- /package/src/headers/{14 → 22}/node_dir.h +0 -0
- /package/src/headers/{14 → 22}/node_mem-inl.h +0 -0
- /package/src/headers/{16 → 22}/node_mem.h +0 -0
- /package/src/headers/{16 → 22}/node_mutex.h +0 -0
- /package/src/headers/{14 → 22}/node_object_wrap.h +0 -0
- /package/src/headers/{16 → 22}/node_process-inl.h +0 -0
- /package/src/headers/{18 → 22}/node_sockaddr-inl.h +0 -0
- /package/src/headers/{18 → 22}/node_wasm_web_api.h +0 -0
- /package/src/headers/{16 → 22}/pipe_wrap.h +0 -0
- /package/src/headers/{18 → 22}/req_wrap.h +0 -0
- /package/src/headers/{18 → 22}/timer_wrap-inl.h +0 -0
- /package/src/headers/{18 → 22}/timer_wrap.h +0 -0
- /package/src/headers/{18 → 22}/tracing/agent.h +0 -0
- /package/src/headers/{14 → 22}/tracing/trace_event_common.h +0 -0
- /package/src/headers/{18 → 22}/tty_wrap.h +0 -0
- /package/src/headers/{16 → 24}/aliased_struct-inl.h +0 -0
- /package/src/headers/{16 → 24}/aliased_struct.h +0 -0
- /package/src/headers/{18 → 24}/callback_queue-inl.h +0 -0
- /package/src/headers/{16 → 24}/connect_wrap.h +0 -0
- /package/src/headers/{16 → 24}/connection_wrap.h +0 -0
- /package/src/headers/{18 → 24}/crypto/crypto_spkac.h +0 -0
- /package/src/headers/{18 → 24}/crypto/crypto_timing.h +0 -0
- /package/src/headers/{16 → 24}/diagnosticfilename-inl.h +0 -0
- /package/src/headers/{16 → 24}/inspector_io.h +0 -0
- /package/src/headers/{16 → 24}/inspector_socket.h +0 -0
- /package/src/headers/{16 → 24}/inspector_socket_server.h +0 -0
- /package/src/headers/{16 → 24}/js_stream.h +0 -0
- /package/src/headers/{16 → 24}/node_dir.h +0 -0
- /package/src/headers/{18 → 24}/node_mem.h +0 -0
- /package/src/headers/{18 → 24}/node_mutex.h +0 -0
- /package/src/headers/{16 → 24}/node_object_wrap.h +0 -0
- /package/src/headers/{18 → 24}/node_process-inl.h +0 -0
- /package/src/headers/{14/tracing → 24}/node_trace_buffer.h +0 -0
- /package/src/headers/{14/tracing → 24}/node_trace_writer.h +0 -0
- /package/src/headers/{18 → 24}/pipe_wrap.h +0 -0
- /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_
|
|
@@ -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
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
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
|
-
|
|
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
|
-
|
|
208
|
+
uint8_t order() const { return order_; }
|
|
204
209
|
|
|
205
210
|
private:
|
|
206
|
-
const
|
|
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,
|
|
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
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
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
|
-
|
|
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
|
-
|
|
305
|
-
|
|
306
|
-
|
|
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
|
-
|
|
315
|
-
|
|
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
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
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_
|