@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,140 @@
|
|
|
1
|
+
#ifndef SRC_CRYPTO_CRYPTO_X509_H_
|
|
2
|
+
#define SRC_CRYPTO_CRYPTO_X509_H_
|
|
3
|
+
|
|
4
|
+
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
5
|
+
|
|
6
|
+
#include "base_object.h"
|
|
7
|
+
#include "crypto/crypto_util.h"
|
|
8
|
+
#include "env.h"
|
|
9
|
+
#include "memory_tracker.h"
|
|
10
|
+
#include "ncrypto.h"
|
|
11
|
+
#include "node_worker.h"
|
|
12
|
+
#include "v8.h"
|
|
13
|
+
|
|
14
|
+
namespace node {
|
|
15
|
+
namespace crypto {
|
|
16
|
+
|
|
17
|
+
// The ManagedX509 class is essentially a smart pointer for
|
|
18
|
+
// X509 objects that allows an X509Certificate instance to
|
|
19
|
+
// be cloned at the JS level while pointing at the same
|
|
20
|
+
// underlying X509 instance.
|
|
21
|
+
class ManagedX509 final : public MemoryRetainer {
|
|
22
|
+
public:
|
|
23
|
+
ManagedX509() = default;
|
|
24
|
+
explicit ManagedX509(ncrypto::X509Pointer&& cert);
|
|
25
|
+
ManagedX509(const ManagedX509& that);
|
|
26
|
+
ManagedX509& operator=(const ManagedX509& that);
|
|
27
|
+
|
|
28
|
+
inline operator bool() const { return !!cert_; }
|
|
29
|
+
inline X509* get() const { return cert_.get(); }
|
|
30
|
+
inline ncrypto::X509View view() const { return cert_; }
|
|
31
|
+
inline operator ncrypto::X509View() const { return cert_; }
|
|
32
|
+
|
|
33
|
+
void MemoryInfo(MemoryTracker* tracker) const override;
|
|
34
|
+
SET_MEMORY_INFO_NAME(ManagedX509)
|
|
35
|
+
SET_SELF_SIZE(ManagedX509)
|
|
36
|
+
|
|
37
|
+
private:
|
|
38
|
+
ncrypto::X509Pointer cert_;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
class X509Certificate final : public BaseObject {
|
|
42
|
+
public:
|
|
43
|
+
enum class GetPeerCertificateFlag {
|
|
44
|
+
NONE,
|
|
45
|
+
SERVER
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
static void Initialize(Environment* env, v8::Local<v8::Object> target);
|
|
49
|
+
static void RegisterExternalReferences(ExternalReferenceRegistry* registry);
|
|
50
|
+
static v8::Local<v8::FunctionTemplate> GetConstructorTemplate(
|
|
51
|
+
Environment* env);
|
|
52
|
+
static bool HasInstance(Environment* env, v8::Local<v8::Object> object);
|
|
53
|
+
|
|
54
|
+
static v8::MaybeLocal<v8::Object> New(
|
|
55
|
+
Environment* env,
|
|
56
|
+
ncrypto::X509Pointer cert,
|
|
57
|
+
STACK_OF(X509) * issuer_chain = nullptr);
|
|
58
|
+
|
|
59
|
+
static v8::MaybeLocal<v8::Object> New(
|
|
60
|
+
Environment* env,
|
|
61
|
+
std::shared_ptr<ManagedX509> cert,
|
|
62
|
+
STACK_OF(X509)* issuer_chain = nullptr);
|
|
63
|
+
|
|
64
|
+
static v8::MaybeLocal<v8::Object> GetCert(Environment* env,
|
|
65
|
+
const ncrypto::SSLPointer& ssl);
|
|
66
|
+
|
|
67
|
+
static v8::MaybeLocal<v8::Object> GetPeerCert(Environment* env,
|
|
68
|
+
const ncrypto::SSLPointer& ssl,
|
|
69
|
+
GetPeerCertificateFlag flag);
|
|
70
|
+
|
|
71
|
+
static v8::Local<v8::Object> Wrap(Environment* env,
|
|
72
|
+
v8::Local<v8::Object> object,
|
|
73
|
+
ncrypto::X509Pointer cert);
|
|
74
|
+
|
|
75
|
+
inline BaseObjectPtr<X509Certificate> getIssuerCert() const {
|
|
76
|
+
return issuer_cert_;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
inline ncrypto::X509View view() const { return *cert_; }
|
|
80
|
+
inline X509* get() { return cert_->get(); }
|
|
81
|
+
|
|
82
|
+
v8::MaybeLocal<v8::Value> toObject(Environment* env);
|
|
83
|
+
static v8::MaybeLocal<v8::Value> toObject(Environment* env,
|
|
84
|
+
const ncrypto::X509View& cert);
|
|
85
|
+
|
|
86
|
+
void MemoryInfo(MemoryTracker* tracker) const override;
|
|
87
|
+
SET_MEMORY_INFO_NAME(X509Certificate)
|
|
88
|
+
SET_SELF_SIZE(X509Certificate)
|
|
89
|
+
|
|
90
|
+
class X509CertificateTransferData : public worker::TransferData {
|
|
91
|
+
public:
|
|
92
|
+
explicit X509CertificateTransferData(
|
|
93
|
+
const std::shared_ptr<ManagedX509>& data)
|
|
94
|
+
: data_(data) {}
|
|
95
|
+
|
|
96
|
+
BaseObjectPtr<BaseObject> Deserialize(
|
|
97
|
+
Environment* env,
|
|
98
|
+
v8::Local<v8::Context> context,
|
|
99
|
+
std::unique_ptr<worker::TransferData> self) override;
|
|
100
|
+
|
|
101
|
+
SET_MEMORY_INFO_NAME(X509CertificateTransferData)
|
|
102
|
+
SET_SELF_SIZE(X509CertificateTransferData)
|
|
103
|
+
SET_NO_MEMORY_INFO()
|
|
104
|
+
|
|
105
|
+
private:
|
|
106
|
+
std::shared_ptr<ManagedX509> data_;
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
BaseObject::TransferMode GetTransferMode() const override;
|
|
110
|
+
std::unique_ptr<worker::TransferData> CloneForMessaging() const override;
|
|
111
|
+
|
|
112
|
+
private:
|
|
113
|
+
X509Certificate(Environment* env,
|
|
114
|
+
v8::Local<v8::Object> object,
|
|
115
|
+
std::shared_ptr<ManagedX509> cert,
|
|
116
|
+
v8::Local<v8::Object> issuer_chain = v8::Local<v8::Object>());
|
|
117
|
+
|
|
118
|
+
std::shared_ptr<ManagedX509> cert_;
|
|
119
|
+
BaseObjectPtr<X509Certificate> issuer_cert_;
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
inline X509Certificate::GetPeerCertificateFlag operator|(
|
|
123
|
+
X509Certificate::GetPeerCertificateFlag lhs,
|
|
124
|
+
X509Certificate::GetPeerCertificateFlag rhs) {
|
|
125
|
+
return static_cast<X509Certificate::GetPeerCertificateFlag>(
|
|
126
|
+
static_cast<int>(lhs) | static_cast<int>(rhs));
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
inline X509Certificate::GetPeerCertificateFlag operator&(
|
|
130
|
+
X509Certificate::GetPeerCertificateFlag lhs,
|
|
131
|
+
X509Certificate::GetPeerCertificateFlag rhs) {
|
|
132
|
+
return static_cast<X509Certificate::GetPeerCertificateFlag>(
|
|
133
|
+
static_cast<int>(lhs) & static_cast<int>(rhs));
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
} // namespace crypto
|
|
137
|
+
} // namespace node
|
|
138
|
+
|
|
139
|
+
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
140
|
+
#endif // SRC_CRYPTO_CRYPTO_X509_H_
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
4
|
+
#if HAVE_OPENSSL && NODE_OPENSSL_HAS_QUIC
|
|
5
|
+
|
|
6
|
+
#include <env.h>
|
|
7
|
+
#include <memory_tracker.h>
|
|
8
|
+
#include <nghttp3/nghttp3.h>
|
|
9
|
+
#include <ngtcp2/ngtcp2.h>
|
|
10
|
+
#include <node_internals.h>
|
|
11
|
+
#include <node_sockaddr.h>
|
|
12
|
+
#include <v8.h>
|
|
13
|
+
#include <string>
|
|
14
|
+
#include "defs.h"
|
|
15
|
+
|
|
16
|
+
namespace node::quic {
|
|
17
|
+
|
|
18
|
+
struct Path final : public ngtcp2_path {
|
|
19
|
+
Path(const SocketAddress& local, const SocketAddress& remote);
|
|
20
|
+
inline operator ngtcp2_path*() { return this; }
|
|
21
|
+
std::string ToString() const;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
struct PathStorage final : public ngtcp2_path_storage {
|
|
25
|
+
PathStorage();
|
|
26
|
+
operator ngtcp2_path();
|
|
27
|
+
|
|
28
|
+
void Reset();
|
|
29
|
+
void CopyTo(PathStorage* path) const;
|
|
30
|
+
|
|
31
|
+
bool operator==(const PathStorage& other) const;
|
|
32
|
+
bool operator!=(const PathStorage& other) const;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
class Store final : public MemoryRetainer {
|
|
36
|
+
public:
|
|
37
|
+
Store() = default;
|
|
38
|
+
|
|
39
|
+
Store(std::shared_ptr<v8::BackingStore> store,
|
|
40
|
+
size_t length,
|
|
41
|
+
size_t offset = 0);
|
|
42
|
+
Store(std::unique_ptr<v8::BackingStore> store,
|
|
43
|
+
size_t length,
|
|
44
|
+
size_t offset = 0);
|
|
45
|
+
|
|
46
|
+
enum class Option {
|
|
47
|
+
NONE,
|
|
48
|
+
DETACH,
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
Store(v8::Local<v8::ArrayBuffer> buffer, Option option = Option::NONE);
|
|
52
|
+
Store(v8::Local<v8::ArrayBufferView> view, Option option = Option::NONE);
|
|
53
|
+
|
|
54
|
+
v8::Local<v8::Uint8Array> ToUint8Array(Environment* env) const;
|
|
55
|
+
|
|
56
|
+
operator uv_buf_t() const;
|
|
57
|
+
operator ngtcp2_vec() const;
|
|
58
|
+
operator nghttp3_vec() const;
|
|
59
|
+
operator bool() const;
|
|
60
|
+
size_t length() const;
|
|
61
|
+
|
|
62
|
+
void MemoryInfo(MemoryTracker* tracker) const override;
|
|
63
|
+
SET_MEMORY_INFO_NAME(Store)
|
|
64
|
+
SET_SELF_SIZE(Store)
|
|
65
|
+
|
|
66
|
+
private:
|
|
67
|
+
template <typename T, typename t>
|
|
68
|
+
T convert() const;
|
|
69
|
+
std::shared_ptr<v8::BackingStore> store_;
|
|
70
|
+
size_t length_ = 0;
|
|
71
|
+
size_t offset_ = 0;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
class QuicError final : public MemoryRetainer {
|
|
75
|
+
public:
|
|
76
|
+
static constexpr error_code QUIC_NO_ERROR = NGTCP2_NO_ERROR;
|
|
77
|
+
static constexpr error_code QUIC_APP_NO_ERROR = 65280;
|
|
78
|
+
|
|
79
|
+
enum class Type {
|
|
80
|
+
TRANSPORT = NGTCP2_CCERR_TYPE_TRANSPORT,
|
|
81
|
+
APPLICATION = NGTCP2_CCERR_TYPE_APPLICATION,
|
|
82
|
+
VERSION_NEGOTIATION = NGTCP2_CCERR_TYPE_VERSION_NEGOTIATION,
|
|
83
|
+
IDLE_CLOSE = NGTCP2_CCERR_TYPE_IDLE_CLOSE,
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
explicit QuicError(const std::string& reason = "");
|
|
87
|
+
explicit QuicError(const ngtcp2_ccerr* ptr);
|
|
88
|
+
explicit QuicError(const ngtcp2_ccerr& error);
|
|
89
|
+
|
|
90
|
+
Type type() const;
|
|
91
|
+
error_code code() const;
|
|
92
|
+
const std::string_view reason() const;
|
|
93
|
+
uint64_t frame_type() const;
|
|
94
|
+
|
|
95
|
+
operator const ngtcp2_ccerr&() const;
|
|
96
|
+
operator const ngtcp2_ccerr*() const;
|
|
97
|
+
|
|
98
|
+
// Returns false if the QuicError uses a no_error code with type
|
|
99
|
+
// transport or application.
|
|
100
|
+
operator bool() const;
|
|
101
|
+
|
|
102
|
+
bool is_crypto() const;
|
|
103
|
+
std::optional<int> crypto_error() const;
|
|
104
|
+
|
|
105
|
+
bool operator==(const QuicError& other) const;
|
|
106
|
+
bool operator!=(const QuicError& other) const;
|
|
107
|
+
|
|
108
|
+
void MemoryInfo(MemoryTracker* tracker) const override;
|
|
109
|
+
SET_MEMORY_INFO_NAME(QuicError)
|
|
110
|
+
SET_SELF_SIZE(QuicError)
|
|
111
|
+
|
|
112
|
+
std::string ToString() const;
|
|
113
|
+
v8::MaybeLocal<v8::Value> ToV8Value(Environment* env) const;
|
|
114
|
+
|
|
115
|
+
static std::string reason_for_liberr(int liberr);
|
|
116
|
+
static std::string reason_for_h3_liberr(int liberr);
|
|
117
|
+
static bool is_fatal_liberror(int liberr);
|
|
118
|
+
static bool is_fatal_h3_liberror(int liberr);
|
|
119
|
+
static error_code liberr_to_code(int liberr);
|
|
120
|
+
static error_code h3_liberr_to_code(int liberr);
|
|
121
|
+
|
|
122
|
+
static QuicError ForTransport(error_code code, std::string reason = "");
|
|
123
|
+
static QuicError ForApplication(error_code code, std::string reason = "");
|
|
124
|
+
static QuicError ForVersionNegotiation(std::string reason = "");
|
|
125
|
+
static QuicError ForIdleClose(std::string reason = "");
|
|
126
|
+
static QuicError ForNgtcp2Error(int code, std::string reason = "");
|
|
127
|
+
static QuicError ForTlsAlert(int code, std::string reason = "");
|
|
128
|
+
|
|
129
|
+
static QuicError FromConnectionClose(ngtcp2_conn* session);
|
|
130
|
+
|
|
131
|
+
static QuicError TRANSPORT_NO_ERROR;
|
|
132
|
+
static QuicError APPLICATION_NO_ERROR;
|
|
133
|
+
static QuicError VERSION_NEGOTIATION;
|
|
134
|
+
static QuicError IDLE_CLOSE;
|
|
135
|
+
static QuicError INTERNAL_ERROR;
|
|
136
|
+
|
|
137
|
+
private:
|
|
138
|
+
const uint8_t* reason_c_str() const;
|
|
139
|
+
|
|
140
|
+
std::string reason_;
|
|
141
|
+
ngtcp2_ccerr error_;
|
|
142
|
+
const ngtcp2_ccerr* ptr_ = nullptr;
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
} // namespace node::quic
|
|
146
|
+
|
|
147
|
+
#endif // HAVE_OPENSSL && NODE_OPENSSL_HAS_QUIC
|
|
148
|
+
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
#include "debug_utils.h"
|
|
7
7
|
#include "env.h"
|
|
8
|
+
#include "util-inl.h"
|
|
8
9
|
|
|
9
10
|
#include <type_traits>
|
|
10
11
|
|
|
@@ -26,10 +27,13 @@ struct ToStringHelper {
|
|
|
26
27
|
return value != nullptr ? value : "(null)";
|
|
27
28
|
}
|
|
28
29
|
static std::string Convert(const std::string& value) { return value; }
|
|
30
|
+
static std::string Convert(std::string_view value) {
|
|
31
|
+
return std::string(value);
|
|
32
|
+
}
|
|
29
33
|
static std::string Convert(bool value) { return value ? "true" : "false"; }
|
|
30
34
|
template <unsigned BASE_BITS,
|
|
31
35
|
typename T,
|
|
32
|
-
typename std::
|
|
36
|
+
typename = std::enable_if_t<std::is_integral_v<T>>>
|
|
33
37
|
static std::string BaseConvert(const T& value) {
|
|
34
38
|
auto v = static_cast<uint64_t>(value);
|
|
35
39
|
char ret[3 * sizeof(T)];
|
|
@@ -45,8 +49,8 @@ struct ToStringHelper {
|
|
|
45
49
|
}
|
|
46
50
|
template <unsigned BASE_BITS,
|
|
47
51
|
typename T,
|
|
48
|
-
typename std::
|
|
49
|
-
static std::string BaseConvert(T value) {
|
|
52
|
+
typename = std::enable_if_t<!std::is_integral_v<T>>>
|
|
53
|
+
static std::string BaseConvert(T& value) { // NOLINT(runtime/references)
|
|
50
54
|
return Convert(std::forward<T>(value));
|
|
51
55
|
}
|
|
52
56
|
};
|
|
@@ -63,7 +67,8 @@ std::string ToBaseString(const T& value) {
|
|
|
63
67
|
|
|
64
68
|
inline std::string SPrintFImpl(const char* format) {
|
|
65
69
|
const char* p = strchr(format, '%');
|
|
66
|
-
if (
|
|
70
|
+
if (p == nullptr) [[unlikely]]
|
|
71
|
+
return format;
|
|
67
72
|
CHECK_EQ(p[1], '%'); // Only '%%' allowed when there are no arguments.
|
|
68
73
|
|
|
69
74
|
return std::string(format, p + 1) + SPrintFImpl(p + 2);
|
|
@@ -134,14 +139,16 @@ inline void FORCE_INLINE Debug(EnabledDebugList* list,
|
|
|
134
139
|
DebugCategory cat,
|
|
135
140
|
const char* format,
|
|
136
141
|
Args&&... args) {
|
|
137
|
-
if (!
|
|
142
|
+
if (!list->enabled(cat)) [[unlikely]]
|
|
143
|
+
return;
|
|
138
144
|
FPrintF(stderr, format, std::forward<Args>(args)...);
|
|
139
145
|
}
|
|
140
146
|
|
|
141
147
|
inline void FORCE_INLINE Debug(EnabledDebugList* list,
|
|
142
148
|
DebugCategory cat,
|
|
143
149
|
const char* message) {
|
|
144
|
-
if (!
|
|
150
|
+
if (!list->enabled(cat)) [[unlikely]]
|
|
151
|
+
return;
|
|
145
152
|
FPrintF(stderr, "%s", message);
|
|
146
153
|
}
|
|
147
154
|
|
|
@@ -190,8 +197,10 @@ inline void FORCE_INLINE Debug(AsyncWrap* async_wrap,
|
|
|
190
197
|
const char* format,
|
|
191
198
|
Args&&... args) {
|
|
192
199
|
DCHECK_NOT_NULL(async_wrap);
|
|
193
|
-
|
|
194
|
-
|
|
200
|
+
if (auto cat = static_cast<DebugCategory>(async_wrap->provider_type());
|
|
201
|
+
!async_wrap->env()->enabled_debug_list()->enabled(cat)) [[unlikely]] {
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
195
204
|
UnconditionalAsyncWrapDebug(async_wrap, format, std::forward<Args>(args)...);
|
|
196
205
|
}
|
|
197
206
|
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
5
5
|
|
|
6
6
|
#include "async_wrap.h"
|
|
7
|
+
#include "util.h"
|
|
7
8
|
|
|
8
9
|
#include <algorithm>
|
|
9
10
|
#include <sstream>
|
|
@@ -35,53 +36,61 @@ template <typename... Args>
|
|
|
35
36
|
inline std::string SPrintF(const char* format, Args&&... args);
|
|
36
37
|
template <typename... Args>
|
|
37
38
|
inline void FPrintF(FILE* file, const char* format, Args&&... args);
|
|
38
|
-
void FWrite(FILE* file, const std::string& str);
|
|
39
|
+
void NODE_EXTERN_PRIVATE FWrite(FILE* file, const std::string& str);
|
|
39
40
|
|
|
40
41
|
// Listing the AsyncWrap provider types first enables us to cast directly
|
|
41
42
|
// from a provider type to a debug category.
|
|
42
43
|
#define DEBUG_CATEGORY_NAMES(V) \
|
|
43
44
|
NODE_ASYNC_PROVIDER_TYPES(V) \
|
|
45
|
+
V(COMPILE_CACHE) \
|
|
44
46
|
V(DIAGNOSTICS) \
|
|
45
47
|
V(HUGEPAGES) \
|
|
46
48
|
V(INSPECTOR_SERVER) \
|
|
49
|
+
V(INSPECTOR_CLIENT) \
|
|
47
50
|
V(INSPECTOR_PROFILER) \
|
|
48
51
|
V(CODE_CACHE) \
|
|
49
52
|
V(NGTCP2_DEBUG) \
|
|
53
|
+
V(SEA) \
|
|
50
54
|
V(WASI) \
|
|
51
|
-
V(
|
|
52
|
-
|
|
53
|
-
|
|
55
|
+
V(MODULE) \
|
|
56
|
+
V(MKSNAPSHOT) \
|
|
57
|
+
V(SNAPSHOT_SERDES) \
|
|
58
|
+
V(PERMISSION_MODEL) \
|
|
59
|
+
V(PLATFORM_MINIMAL) \
|
|
60
|
+
V(PLATFORM_VERBOSE) \
|
|
61
|
+
V(QUIC)
|
|
62
|
+
|
|
63
|
+
enum class DebugCategory : unsigned int {
|
|
54
64
|
#define V(name) name,
|
|
55
65
|
DEBUG_CATEGORY_NAMES(V)
|
|
56
66
|
#undef V
|
|
57
|
-
CATEGORY_COUNT
|
|
58
67
|
};
|
|
59
68
|
|
|
60
|
-
|
|
69
|
+
#define V(name) +1
|
|
70
|
+
constexpr unsigned int kDebugCategoryCount = DEBUG_CATEGORY_NAMES(V);
|
|
71
|
+
#undef V
|
|
72
|
+
|
|
73
|
+
class NODE_EXTERN_PRIVATE EnabledDebugList {
|
|
61
74
|
public:
|
|
62
|
-
bool enabled(DebugCategory category) const {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
static_cast<int>(DebugCategory::CATEGORY_COUNT));
|
|
66
|
-
return enabled_[static_cast<int>(category)];
|
|
75
|
+
bool FORCE_INLINE enabled(DebugCategory category) const {
|
|
76
|
+
DCHECK_LT(static_cast<unsigned int>(category), kDebugCategoryCount);
|
|
77
|
+
return enabled_[static_cast<unsigned int>(category)];
|
|
67
78
|
}
|
|
68
79
|
|
|
69
|
-
// Uses NODE_DEBUG_NATIVE to initialize the categories.
|
|
70
|
-
//
|
|
71
|
-
//
|
|
80
|
+
// Uses NODE_DEBUG_NATIVE to initialize the categories. env->env_vars()
|
|
81
|
+
// is parsed if it is not a nullptr, otherwise the system environment
|
|
82
|
+
// variables are parsed.
|
|
72
83
|
void Parse(Environment* env);
|
|
73
84
|
|
|
74
85
|
private:
|
|
75
|
-
//
|
|
76
|
-
void Parse(const std::string& cats
|
|
77
|
-
void set_enabled(DebugCategory category
|
|
78
|
-
|
|
79
|
-
DCHECK_LT(static_cast<int>(category),
|
|
80
|
-
static_cast<int>(DebugCategory::CATEGORY_COUNT));
|
|
86
|
+
// Enable all categories matching cats.
|
|
87
|
+
void Parse(const std::string& cats);
|
|
88
|
+
void set_enabled(DebugCategory category) {
|
|
89
|
+
DCHECK_LT(static_cast<unsigned int>(category), kDebugCategoryCount);
|
|
81
90
|
enabled_[static_cast<int>(category)] = true;
|
|
82
91
|
}
|
|
83
92
|
|
|
84
|
-
bool enabled_[
|
|
93
|
+
bool enabled_[kDebugCategoryCount] = {false};
|
|
85
94
|
};
|
|
86
95
|
|
|
87
96
|
template <typename... Args>
|
|
@@ -168,7 +177,7 @@ void CheckedUvLoopClose(uv_loop_t* loop);
|
|
|
168
177
|
void PrintLibuvHandleInformation(uv_loop_t* loop, FILE* stream);
|
|
169
178
|
|
|
170
179
|
namespace per_process {
|
|
171
|
-
extern EnabledDebugList enabled_debug_list;
|
|
180
|
+
extern NODE_EXTERN_PRIVATE EnabledDebugList enabled_debug_list;
|
|
172
181
|
|
|
173
182
|
template <typename... Args>
|
|
174
183
|
inline void FORCE_INLINE Debug(DebugCategory cat,
|