@encharm/cws 4.4.1 → 4.5.1
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/dist/bindings/cws_darwin_arm64_node115.node +0 -0
- package/dist/bindings/cws_darwin_arm64_node127.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_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 +8 -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/{16 → 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/{18 → 22}/js_native_api.h +78 -30
- package/src/headers/{18 → 22}/js_native_api_types.h +46 -1
- package/src/headers/{18 → 22}/js_native_api_v8.h +206 -161
- 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/{18 → 22}/node_version.h +20 -8
- 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/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-inl.h +0 -94
- 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-inl.h +0 -223
- 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_buffer.h +0 -92
- package/src/headers/14/node_constants.h +0 -84
- 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_http2_state.h +0 -149
- 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_main_instance.h +0 -96
- 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/threadpoolwork-inl.h +0 -57
- package/src/headers/14/tls_wrap.h +0 -222
- package/src/headers/14/tracing/agent.h +0 -195
- package/src/headers/14/tracing/node_trace_buffer.h +0 -83
- package/src/headers/14/tracing/node_trace_writer.h +0 -75
- package/src/headers/14/tracing/trace_event.h +0 -720
- 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/aliased_struct-inl.h +0 -54
- package/src/headers/16/aliased_struct.h +0 -63
- 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/async_wrap.h +0 -246
- package/src/headers/16/base64-inl.h +0 -189
- package/src/headers/16/base64.h +0 -69
- package/src/headers/16/base_object.h +0 -294
- package/src/headers/16/connect_wrap.h +0 -26
- package/src/headers/16/connection_wrap.h +0 -30
- package/src/headers/16/crypto/crypto_aes.h +0 -89
- package/src/headers/16/crypto/crypto_bio.h +0 -194
- package/src/headers/16/crypto/crypto_cipher.h +0 -286
- package/src/headers/16/crypto/crypto_clienthello-inl.h +0 -90
- package/src/headers/16/crypto/crypto_clienthello.h +0 -131
- package/src/headers/16/crypto/crypto_common.h +0 -187
- package/src/headers/16/crypto/crypto_context.h +0 -147
- 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_keys.h +0 -412
- 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_tls.h +0 -292
- package/src/headers/16/crypto/crypto_util.h +0 -736
- package/src/headers/16/crypto/crypto_x509.h +0 -141
- package/src/headers/16/debug_utils.h +0 -184
- package/src/headers/16/diagnosticfilename-inl.h +0 -33
- package/src/headers/16/env-inl.h +0 -1277
- package/src/headers/16/env.h +0 -1629
- package/src/headers/16/handle_wrap.h +0 -121
- package/src/headers/16/histogram-inl.h +0 -88
- package/src/headers/16/histogram.h +0 -216
- package/src/headers/16/inspector_io.h +0 -78
- package/src/headers/16/inspector_socket.h +0 -60
- package/src/headers/16/inspector_socket_server.h +0 -110
- package/src/headers/16/js_native_api.h +0 -561
- package/src/headers/16/js_native_api_types.h +0 -160
- package/src/headers/16/js_native_api_v8.h +0 -451
- package/src/headers/16/js_native_api_v8_internals.h +0 -39
- package/src/headers/16/js_stream.h +0 -52
- package/src/headers/16/memory_tracker-inl.h +0 -356
- package/src/headers/16/memory_tracker.h +0 -284
- package/src/headers/16/node.d +0 -315
- package/src/headers/16/node.h +0 -1132
- 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_api_types.h +0 -50
- package/src/headers/16/node_binding.h +0 -99
- package/src/headers/16/node_blob.h +0 -191
- package/src/headers/16/node_bob-inl.h +0 -37
- package/src/headers/16/node_bob.h +0 -111
- 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_dir.h +0 -52
- package/src/headers/16/node_dtrace.h +0 -86
- package/src/headers/16/node_errors.h +0 -277
- package/src/headers/16/node_external_reference.h +0 -129
- package/src/headers/16/node_file-inl.h +0 -306
- package/src/headers/16/node_http2.h +0 -1140
- package/src/headers/16/node_http_common-inl.h +0 -200
- package/src/headers/16/node_http_common.h +0 -531
- package/src/headers/16/node_internals.h +0 -421
- package/src/headers/16/node_main_instance.h +0 -103
- package/src/headers/16/node_mem-inl.h +0 -112
- package/src/headers/16/node_messaging.h +0 -373
- package/src/headers/16/node_metadata.h +0 -122
- 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_object_wrap.h +0 -132
- package/src/headers/16/node_options-inl.h +0 -477
- package/src/headers/16/node_options.h +0 -494
- package/src/headers/16/node_perf.h +0 -185
- package/src/headers/16/node_perf_common.h +0 -89
- 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_sockaddr-inl.h +0 -266
- package/src/headers/16/node_sockaddr.h +0 -405
- 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_version.h +0 -98
- 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/node_worker.h +0 -145
- package/src/headers/16/req_wrap.h +0 -77
- package/src/headers/16/spawn_sync.h +0 -242
- package/src/headers/16/stream_base-inl.h +0 -303
- package/src/headers/16/stream_base.h +0 -454
- package/src/headers/16/stream_pipe.h +0 -73
- package/src/headers/16/string_bytes.h +0 -122
- package/src/headers/16/string_decoder-inl.h +0 -37
- package/src/headers/16/string_search.h +0 -638
- package/src/headers/16/tcp_wrap.h +0 -103
- package/src/headers/16/threadpoolwork-inl.h +0 -57
- package/src/headers/16/timer_wrap.h +0 -84
- package/src/headers/16/tracing/agent.h +0 -195
- 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/trace_event_common.h +0 -1109
- package/src/headers/16/tracing/traced_value.h +0 -70
- package/src/headers/16/tty_wrap.h +0 -66
- package/src/headers/16/util-inl.h +0 -575
- package/src/headers/16/util.h +0 -824
- 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/base_object-inl.h +0 -374
- package/src/headers/18/callback_queue-inl.h +0 -97
- package/src/headers/18/callback_queue.h +0 -78
- package/src/headers/18/cares_wrap.h +0 -523
- 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_cipher.h +0 -291
- 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_dh.h +0 -156
- package/src/headers/18/crypto/crypto_dsa.h +0 -77
- package/src/headers/18/crypto/crypto_ec.h +0 -170
- package/src/headers/18/crypto/crypto_groups.h +0 -415
- package/src/headers/18/crypto/crypto_hash.h +0 -89
- package/src/headers/18/crypto/crypto_hkdf.h +0 -65
- package/src/headers/18/crypto/crypto_hmac.h +0 -94
- package/src/headers/18/crypto/crypto_keygen.h +0 -305
- package/src/headers/18/crypto/crypto_pbkdf2.h +0 -76
- package/src/headers/18/crypto/crypto_random.h +0 -130
- package/src/headers/18/crypto/crypto_rsa.h +0 -141
- package/src/headers/18/crypto/crypto_scrypt.h +0 -87
- package/src/headers/18/crypto/crypto_sig.h +0 -168
- package/src/headers/18/crypto/crypto_spkac.h +0 -21
- package/src/headers/18/crypto/crypto_timing.h +0 -20
- 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_agent.h +0 -144
- package/src/headers/18/inspector_io.h +0 -78
- package/src/headers/18/inspector_profiler.h +0 -149
- 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/json_utils.h +0 -161
- 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_crypto.h +0 -57
- package/src/headers/18/node_dir.h +0 -52
- package/src/headers/18/node_dtrace.h +0 -86
- package/src/headers/18/node_external_reference.h +0 -145
- package/src/headers/18/node_file.h +0 -426
- package/src/headers/18/node_http2_state.h +0 -149
- package/src/headers/18/node_i18n.h +0 -145
- package/src/headers/18/node_mem-inl.h +0 -112
- package/src/headers/18/node_mem.h +0 -45
- package/src/headers/18/node_mutex.h +0 -323
- 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_process-inl.h +0 -26
- package/src/headers/18/node_report.h +0 -47
- package/src/headers/18/node_revert.h +0 -82
- package/src/headers/18/node_root_certs.h +0 -3246
- package/src/headers/18/node_snapshot_builder.h +0 -43
- package/src/headers/18/node_snapshotable.h +0 -130
- package/src/headers/18/node_stat_watcher.h +0 -72
- 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_v8_platform-inl.h +0 -194
- package/src/headers/18/node_wasi.h +0 -108
- package/src/headers/18/node_watchdog.h +0 -152
- 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/pipe_wrap.h +0 -80
- package/src/headers/18/req_wrap-inl.h +0 -170
- package/src/headers/18/spawn_sync.h +0 -242
- package/src/headers/18/stream_wrap.h +0 -133
- package/src/headers/18/string_decoder-inl.h +0 -37
- package/src/headers/18/string_decoder.h +0 -50
- 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/udp_wrap.h +0 -227
- 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
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
#include "v8.h"
|
|
9
9
|
|
|
10
10
|
#include <algorithm>
|
|
11
|
+
#include "nbytes.h"
|
|
11
12
|
|
|
12
13
|
namespace node {
|
|
13
14
|
|
|
@@ -31,7 +32,7 @@ NgHeaders<T>::NgHeaders(Environment* env, v8::Local<v8::Array> headers) {
|
|
|
31
32
|
count_ * sizeof(nv_t) +
|
|
32
33
|
header_string_len);
|
|
33
34
|
|
|
34
|
-
char* start = AlignUp(buf_.out(), alignof(nv_t));
|
|
35
|
+
char* start = nbytes::AlignUp(buf_.out(), alignof(nv_t));
|
|
35
36
|
char* header_contents = start + (count_ * sizeof(nv_t));
|
|
36
37
|
nv_t* const nva = reinterpret_cast<nv_t*>(start);
|
|
37
38
|
|
|
@@ -24,61 +24,62 @@ class Environment;
|
|
|
24
24
|
V(PATH, ":path") \
|
|
25
25
|
V(PROTOCOL, ":protocol")
|
|
26
26
|
|
|
27
|
-
#define HTTP_REGULAR_HEADERS(V)
|
|
28
|
-
V(ACCEPT_ENCODING, "accept-encoding")
|
|
29
|
-
V(ACCEPT_LANGUAGE, "accept-language")
|
|
30
|
-
V(ACCEPT_RANGES, "accept-ranges")
|
|
31
|
-
V(ACCEPT, "accept")
|
|
32
|
-
V(ACCESS_CONTROL_ALLOW_CREDENTIALS, "access-control-allow-credentials")
|
|
33
|
-
V(ACCESS_CONTROL_ALLOW_HEADERS, "access-control-allow-headers")
|
|
34
|
-
V(ACCESS_CONTROL_ALLOW_METHODS, "access-control-allow-methods")
|
|
35
|
-
V(ACCESS_CONTROL_ALLOW_ORIGIN, "access-control-allow-origin")
|
|
36
|
-
V(ACCESS_CONTROL_EXPOSE_HEADERS, "access-control-expose-headers")
|
|
37
|
-
V(ACCESS_CONTROL_REQUEST_HEADERS, "access-control-request-headers")
|
|
38
|
-
V(ACCESS_CONTROL_REQUEST_METHOD, "access-control-request-method")
|
|
39
|
-
V(AGE, "age")
|
|
40
|
-
V(AUTHORIZATION, "authorization")
|
|
41
|
-
V(CACHE_CONTROL, "cache-control")
|
|
42
|
-
V(CONNECTION, "connection")
|
|
43
|
-
V(CONTENT_DISPOSITION, "content-disposition")
|
|
44
|
-
V(CONTENT_ENCODING, "content-encoding")
|
|
45
|
-
V(CONTENT_LENGTH, "content-length")
|
|
46
|
-
V(CONTENT_TYPE, "content-type")
|
|
47
|
-
V(COOKIE, "cookie")
|
|
48
|
-
V(DATE, "date")
|
|
49
|
-
V(ETAG, "etag")
|
|
50
|
-
V(FORWARDED, "forwarded")
|
|
51
|
-
V(HOST, "host")
|
|
52
|
-
V(IF_MODIFIED_SINCE, "if-modified-since")
|
|
53
|
-
V(IF_NONE_MATCH, "if-none-match")
|
|
54
|
-
V(IF_RANGE, "if-range")
|
|
55
|
-
V(LAST_MODIFIED, "last-modified")
|
|
56
|
-
V(LINK, "link")
|
|
57
|
-
V(LOCATION, "location")
|
|
58
|
-
V(RANGE, "range")
|
|
59
|
-
V(REFERER, "referer")
|
|
60
|
-
V(SERVER, "server")
|
|
61
|
-
V(SET_COOKIE, "set-cookie")
|
|
62
|
-
V(STRICT_TRANSPORT_SECURITY, "strict-transport-security")
|
|
63
|
-
V(TRANSFER_ENCODING, "transfer-encoding")
|
|
64
|
-
V(TE, "te")
|
|
65
|
-
V(UPGRADE_INSECURE_REQUESTS, "upgrade-insecure-requests")
|
|
66
|
-
V(UPGRADE, "upgrade")
|
|
67
|
-
V(USER_AGENT, "user-agent")
|
|
68
|
-
V(VARY, "vary")
|
|
69
|
-
V(X_CONTENT_TYPE_OPTIONS, "x-content-type-options")
|
|
70
|
-
V(X_FRAME_OPTIONS, "x-frame-options")
|
|
71
|
-
V(KEEP_ALIVE, "keep-alive")
|
|
72
|
-
V(PROXY_CONNECTION, "proxy-connection")
|
|
73
|
-
V(X_XSS_PROTECTION, "x-xss-protection")
|
|
74
|
-
V(ALT_SVC, "alt-svc")
|
|
75
|
-
V(CONTENT_SECURITY_POLICY, "content-security-policy")
|
|
76
|
-
V(EARLY_DATA, "early-data")
|
|
77
|
-
V(EXPECT_CT, "expect-ct")
|
|
78
|
-
V(ORIGIN, "origin")
|
|
79
|
-
V(PURPOSE, "purpose")
|
|
80
|
-
V(TIMING_ALLOW_ORIGIN, "timing-allow-origin")
|
|
81
|
-
V(X_FORWARDED_FOR, "x-forwarded-for")
|
|
27
|
+
#define HTTP_REGULAR_HEADERS(V) \
|
|
28
|
+
V(ACCEPT_ENCODING, "accept-encoding") \
|
|
29
|
+
V(ACCEPT_LANGUAGE, "accept-language") \
|
|
30
|
+
V(ACCEPT_RANGES, "accept-ranges") \
|
|
31
|
+
V(ACCEPT, "accept") \
|
|
32
|
+
V(ACCESS_CONTROL_ALLOW_CREDENTIALS, "access-control-allow-credentials") \
|
|
33
|
+
V(ACCESS_CONTROL_ALLOW_HEADERS, "access-control-allow-headers") \
|
|
34
|
+
V(ACCESS_CONTROL_ALLOW_METHODS, "access-control-allow-methods") \
|
|
35
|
+
V(ACCESS_CONTROL_ALLOW_ORIGIN, "access-control-allow-origin") \
|
|
36
|
+
V(ACCESS_CONTROL_EXPOSE_HEADERS, "access-control-expose-headers") \
|
|
37
|
+
V(ACCESS_CONTROL_REQUEST_HEADERS, "access-control-request-headers") \
|
|
38
|
+
V(ACCESS_CONTROL_REQUEST_METHOD, "access-control-request-method") \
|
|
39
|
+
V(AGE, "age") \
|
|
40
|
+
V(AUTHORIZATION, "authorization") \
|
|
41
|
+
V(CACHE_CONTROL, "cache-control") \
|
|
42
|
+
V(CONNECTION, "connection") \
|
|
43
|
+
V(CONTENT_DISPOSITION, "content-disposition") \
|
|
44
|
+
V(CONTENT_ENCODING, "content-encoding") \
|
|
45
|
+
V(CONTENT_LENGTH, "content-length") \
|
|
46
|
+
V(CONTENT_TYPE, "content-type") \
|
|
47
|
+
V(COOKIE, "cookie") \
|
|
48
|
+
V(DATE, "date") \
|
|
49
|
+
V(ETAG, "etag") \
|
|
50
|
+
V(FORWARDED, "forwarded") \
|
|
51
|
+
V(HOST, "host") \
|
|
52
|
+
V(IF_MODIFIED_SINCE, "if-modified-since") \
|
|
53
|
+
V(IF_NONE_MATCH, "if-none-match") \
|
|
54
|
+
V(IF_RANGE, "if-range") \
|
|
55
|
+
V(LAST_MODIFIED, "last-modified") \
|
|
56
|
+
V(LINK, "link") \
|
|
57
|
+
V(LOCATION, "location") \
|
|
58
|
+
V(RANGE, "range") \
|
|
59
|
+
V(REFERER, "referer") \
|
|
60
|
+
V(SERVER, "server") \
|
|
61
|
+
V(SET_COOKIE, "set-cookie") \
|
|
62
|
+
V(STRICT_TRANSPORT_SECURITY, "strict-transport-security") \
|
|
63
|
+
V(TRANSFER_ENCODING, "transfer-encoding") \
|
|
64
|
+
V(TE, "te") \
|
|
65
|
+
V(UPGRADE_INSECURE_REQUESTS, "upgrade-insecure-requests") \
|
|
66
|
+
V(UPGRADE, "upgrade") \
|
|
67
|
+
V(USER_AGENT, "user-agent") \
|
|
68
|
+
V(VARY, "vary") \
|
|
69
|
+
V(X_CONTENT_TYPE_OPTIONS, "x-content-type-options") \
|
|
70
|
+
V(X_FRAME_OPTIONS, "x-frame-options") \
|
|
71
|
+
V(KEEP_ALIVE, "keep-alive") \
|
|
72
|
+
V(PROXY_CONNECTION, "proxy-connection") \
|
|
73
|
+
V(X_XSS_PROTECTION, "x-xss-protection") \
|
|
74
|
+
V(ALT_SVC, "alt-svc") \
|
|
75
|
+
V(CONTENT_SECURITY_POLICY, "content-security-policy") \
|
|
76
|
+
V(EARLY_DATA, "early-data") \
|
|
77
|
+
V(EXPECT_CT, "expect-ct") \
|
|
78
|
+
V(ORIGIN, "origin") \
|
|
79
|
+
V(PURPOSE, "purpose") \
|
|
80
|
+
V(TIMING_ALLOW_ORIGIN, "timing-allow-origin") \
|
|
81
|
+
V(X_FORWARDED_FOR, "x-forwarded-for") \
|
|
82
|
+
V(PRIORITY, "priority")
|
|
82
83
|
|
|
83
84
|
#define HTTP_ADDITIONAL_HEADERS(V) \
|
|
84
85
|
V(ACCEPT_CHARSET, "accept-charset") \
|
|
@@ -38,34 +38,21 @@
|
|
|
38
38
|
namespace node {
|
|
39
39
|
namespace i18n {
|
|
40
40
|
|
|
41
|
-
bool InitializeICUDirectory(const std::string& path);
|
|
41
|
+
bool InitializeICUDirectory(const std::string& path, std::string* error);
|
|
42
42
|
|
|
43
43
|
void SetDefaultTimeZone(const char* tzid);
|
|
44
44
|
|
|
45
|
-
enum idna_mode {
|
|
45
|
+
enum class idna_mode {
|
|
46
46
|
// Default mode for maximum compatibility.
|
|
47
|
-
|
|
47
|
+
kDefault,
|
|
48
48
|
// Ignore all errors in IDNA conversion, if possible.
|
|
49
|
-
|
|
49
|
+
kLenient,
|
|
50
50
|
// Enforce STD3 rules (UseSTD3ASCIIRules) and DNS length restrictions
|
|
51
51
|
// (VerifyDnsLength). Corresponds to `beStrict` flag in the "domain to ASCII"
|
|
52
52
|
// algorithm.
|
|
53
|
-
|
|
53
|
+
kStrict
|
|
54
54
|
};
|
|
55
55
|
|
|
56
|
-
// Implements the WHATWG URL Standard "domain to ASCII" algorithm.
|
|
57
|
-
// https://url.spec.whatwg.org/#concept-domain-to-ascii
|
|
58
|
-
int32_t ToASCII(MaybeStackBuffer<char>* buf,
|
|
59
|
-
const char* input,
|
|
60
|
-
size_t length,
|
|
61
|
-
enum idna_mode mode = IDNA_DEFAULT);
|
|
62
|
-
|
|
63
|
-
// Implements the WHATWG URL Standard "domain to Unicode" algorithm.
|
|
64
|
-
// https://url.spec.whatwg.org/#concept-domain-to-unicode
|
|
65
|
-
int32_t ToUnicode(MaybeStackBuffer<char>* buf,
|
|
66
|
-
const char* input,
|
|
67
|
-
size_t length);
|
|
68
|
-
|
|
69
56
|
struct ConverterDeleter {
|
|
70
57
|
void operator()(UConverter* pointer) const { ucnv_close(pointer); }
|
|
71
58
|
};
|
|
@@ -43,8 +43,8 @@ struct sockaddr;
|
|
|
43
43
|
|
|
44
44
|
namespace node {
|
|
45
45
|
|
|
46
|
-
namespace
|
|
47
|
-
class
|
|
46
|
+
namespace builtins {
|
|
47
|
+
class BuiltinLoader;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
namespace per_process {
|
|
@@ -66,9 +66,8 @@ v8::MaybeLocal<v8::Object> AddressToJS(
|
|
|
66
66
|
template <typename T, int (*F)(const typename T::HandleType*, sockaddr*, int*)>
|
|
67
67
|
void GetSockOrPeerName(const v8::FunctionCallbackInfo<v8::Value>& args) {
|
|
68
68
|
T* wrap;
|
|
69
|
-
ASSIGN_OR_RETURN_UNWRAP(
|
|
70
|
-
|
|
71
|
-
args.GetReturnValue().Set(UV_EBADF));
|
|
69
|
+
ASSIGN_OR_RETURN_UNWRAP(
|
|
70
|
+
&wrap, args.This(), args.GetReturnValue().Set(UV_EBADF));
|
|
72
71
|
CHECK(args[0]->IsObject());
|
|
73
72
|
sockaddr_storage storage;
|
|
74
73
|
int addrlen = sizeof(storage);
|
|
@@ -79,11 +78,30 @@ void GetSockOrPeerName(const v8::FunctionCallbackInfo<v8::Value>& args) {
|
|
|
79
78
|
args.GetReturnValue().Set(err);
|
|
80
79
|
}
|
|
81
80
|
|
|
82
|
-
|
|
81
|
+
constexpr int kMaxFrameCountForLogging = 10;
|
|
82
|
+
v8::MaybeLocal<v8::StackTrace> GetCurrentStackTrace(
|
|
83
|
+
v8::Isolate* isolate, int frame_count = kMaxFrameCountForLogging);
|
|
84
|
+
|
|
85
|
+
enum class StackTracePrefix {
|
|
86
|
+
kAt, // " at "
|
|
87
|
+
kNumber
|
|
88
|
+
};
|
|
89
|
+
void PrintCurrentStackTrace(v8::Isolate* isolate,
|
|
90
|
+
StackTracePrefix prefix = StackTracePrefix::kAt);
|
|
91
|
+
void PrintStackTrace(v8::Isolate* isolate,
|
|
92
|
+
v8::Local<v8::StackTrace> stack,
|
|
93
|
+
StackTracePrefix prefix = StackTracePrefix::kAt);
|
|
83
94
|
void PrintCaughtException(v8::Isolate* isolate,
|
|
84
95
|
v8::Local<v8::Context> context,
|
|
85
96
|
const v8::TryCatch& try_catch);
|
|
86
|
-
|
|
97
|
+
std::string FormatCaughtException(v8::Isolate* isolate,
|
|
98
|
+
v8::Local<v8::Context> context,
|
|
99
|
+
const v8::TryCatch& try_catch);
|
|
100
|
+
std::string FormatErrorMessage(v8::Isolate* isolate,
|
|
101
|
+
v8::Local<v8::Context> context,
|
|
102
|
+
const std::string& reason,
|
|
103
|
+
v8::Local<v8::Message> message,
|
|
104
|
+
bool add_source_line = true);
|
|
87
105
|
void ResetStdio(); // Safe to call more than once and from signal handlers.
|
|
88
106
|
#ifdef __POSIX__
|
|
89
107
|
void SignalExit(int signal, siginfo_t* info, void* ucontext);
|
|
@@ -92,8 +110,10 @@ void SignalExit(int signal, siginfo_t* info, void* ucontext);
|
|
|
92
110
|
std::string GetProcessTitle(const char* default_title);
|
|
93
111
|
std::string GetHumanReadableProcessName();
|
|
94
112
|
|
|
95
|
-
v8::Maybe<
|
|
96
|
-
v8::
|
|
113
|
+
v8::Maybe<void> InitializeBaseContextForSnapshot(
|
|
114
|
+
v8::Local<v8::Context> context);
|
|
115
|
+
v8::Maybe<void> InitializeContextRuntime(v8::Local<v8::Context> context);
|
|
116
|
+
v8::Maybe<void> InitializePrimordials(v8::Local<v8::Context> context);
|
|
97
117
|
|
|
98
118
|
class NodeArrayBufferAllocator : public ArrayBufferAllocator {
|
|
99
119
|
public:
|
|
@@ -102,7 +122,6 @@ class NodeArrayBufferAllocator : public ArrayBufferAllocator {
|
|
|
102
122
|
void* Allocate(size_t size) override; // Defined in src/node.cc
|
|
103
123
|
void* AllocateUninitialized(size_t size) override;
|
|
104
124
|
void Free(void* data, size_t size) override;
|
|
105
|
-
void* Reallocate(void* data, size_t old_size, size_t size) override;
|
|
106
125
|
virtual void RegisterPointer(void* data, size_t size) {
|
|
107
126
|
total_mem_usage_.fetch_add(size, std::memory_order_relaxed);
|
|
108
127
|
}
|
|
@@ -118,6 +137,10 @@ class NodeArrayBufferAllocator : public ArrayBufferAllocator {
|
|
|
118
137
|
private:
|
|
119
138
|
uint32_t zero_fill_field_ = 1; // Boolean but exposed as uint32 to JS land.
|
|
120
139
|
std::atomic<size_t> total_mem_usage_ {0};
|
|
140
|
+
|
|
141
|
+
// Delegate to V8's allocator for compatibility with the V8 memory cage.
|
|
142
|
+
std::unique_ptr<v8::ArrayBuffer::Allocator> allocator_{
|
|
143
|
+
v8::ArrayBuffer::Allocator::NewDefaultAllocator()};
|
|
121
144
|
};
|
|
122
145
|
|
|
123
146
|
class DebuggingArrayBufferAllocator final : public NodeArrayBufferAllocator {
|
|
@@ -126,7 +149,6 @@ class DebuggingArrayBufferAllocator final : public NodeArrayBufferAllocator {
|
|
|
126
149
|
void* Allocate(size_t size) override;
|
|
127
150
|
void* AllocateUninitialized(size_t size) override;
|
|
128
151
|
void Free(void* data, size_t size) override;
|
|
129
|
-
void* Reallocate(void* data, size_t old_size, size_t size) override;
|
|
130
152
|
void RegisterPointer(void* data, size_t size) override;
|
|
131
153
|
void UnregisterPointer(void* data, size_t size) override;
|
|
132
154
|
|
|
@@ -171,16 +193,13 @@ static v8::MaybeLocal<v8::Object> New(Environment* env,
|
|
|
171
193
|
char* src = reinterpret_cast<char*>(buf->out());
|
|
172
194
|
const size_t len_in_bytes = buf->length() * sizeof(buf->out()[0]);
|
|
173
195
|
|
|
174
|
-
if (buf->IsAllocated())
|
|
196
|
+
if (buf->IsAllocated()) {
|
|
175
197
|
ret = New(env, src, len_in_bytes);
|
|
176
|
-
|
|
177
|
-
ret = Copy(env, src, len_in_bytes);
|
|
178
|
-
|
|
179
|
-
if (ret.IsEmpty())
|
|
180
|
-
return ret;
|
|
181
|
-
|
|
182
|
-
if (buf->IsAllocated())
|
|
198
|
+
// new always takes ownership of src
|
|
183
199
|
buf->Release();
|
|
200
|
+
} else if (!buf->IsInvalidated()) {
|
|
201
|
+
ret = Copy(env, src, len_in_bytes);
|
|
202
|
+
}
|
|
184
203
|
|
|
185
204
|
return ret;
|
|
186
205
|
}
|
|
@@ -193,7 +212,17 @@ v8::MaybeLocal<v8::Value> InternalMakeCallback(
|
|
|
193
212
|
const v8::Local<v8::Function> callback,
|
|
194
213
|
int argc,
|
|
195
214
|
v8::Local<v8::Value> argv[],
|
|
196
|
-
async_context asyncContext
|
|
215
|
+
async_context asyncContext,
|
|
216
|
+
v8::Local<v8::Value> context_frame);
|
|
217
|
+
|
|
218
|
+
v8::MaybeLocal<v8::Value> InternalMakeCallback(
|
|
219
|
+
v8::Isolate* isolate,
|
|
220
|
+
v8::Local<v8::Object> recv,
|
|
221
|
+
const v8::Local<v8::Function> callback,
|
|
222
|
+
int argc,
|
|
223
|
+
v8::Local<v8::Value> argv[],
|
|
224
|
+
async_context asyncContext,
|
|
225
|
+
v8::Local<v8::Value> context_frame);
|
|
197
226
|
|
|
198
227
|
v8::MaybeLocal<v8::Value> MakeSyncCallback(v8::Isolate* isolate,
|
|
199
228
|
v8::Local<v8::Object> recv,
|
|
@@ -213,10 +242,13 @@ class InternalCallbackScope {
|
|
|
213
242
|
// compatibility issues, but it shouldn't.)
|
|
214
243
|
kSkipTaskQueues = 2
|
|
215
244
|
};
|
|
216
|
-
InternalCallbackScope(
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
245
|
+
InternalCallbackScope(
|
|
246
|
+
Environment* env,
|
|
247
|
+
v8::Local<v8::Object> object,
|
|
248
|
+
const async_context& asyncContext,
|
|
249
|
+
int flags = kNoFlags,
|
|
250
|
+
v8::Local<v8::Value> context_frame = v8::Local<v8::Value>());
|
|
251
|
+
|
|
220
252
|
// Utility that can be used by AsyncWrap classes.
|
|
221
253
|
explicit InternalCallbackScope(AsyncWrap* async_wrap, int flags = 0);
|
|
222
254
|
~InternalCallbackScope();
|
|
@@ -234,6 +266,7 @@ class InternalCallbackScope {
|
|
|
234
266
|
bool failed_ = false;
|
|
235
267
|
bool pushed_ids_ = false;
|
|
236
268
|
bool closed_ = false;
|
|
269
|
+
v8::Global<v8::Value> prior_context_frame_;
|
|
237
270
|
};
|
|
238
271
|
|
|
239
272
|
class DebugSealHandleScope {
|
|
@@ -252,7 +285,8 @@ class DebugSealHandleScope {
|
|
|
252
285
|
|
|
253
286
|
class ThreadPoolWork {
|
|
254
287
|
public:
|
|
255
|
-
explicit inline ThreadPoolWork(Environment* env
|
|
288
|
+
explicit inline ThreadPoolWork(Environment* env, const char* type)
|
|
289
|
+
: env_(env), type_(type) {
|
|
256
290
|
CHECK_NOT_NULL(env);
|
|
257
291
|
}
|
|
258
292
|
inline virtual ~ThreadPoolWork() = default;
|
|
@@ -268,6 +302,7 @@ class ThreadPoolWork {
|
|
|
268
302
|
private:
|
|
269
303
|
Environment* env_;
|
|
270
304
|
uv_work_t work_req_;
|
|
305
|
+
const char* type_;
|
|
271
306
|
};
|
|
272
307
|
|
|
273
308
|
#define TRACING_CATEGORY_NODE "node"
|
|
@@ -286,48 +321,43 @@ class ThreadPoolWork {
|
|
|
286
321
|
#endif // defined(__POSIX__) && !defined(__ANDROID__) && !defined(__CloudABI__)
|
|
287
322
|
|
|
288
323
|
namespace credentials {
|
|
289
|
-
bool SafeGetenv(const char* key,
|
|
324
|
+
bool SafeGetenv(const char* key,
|
|
325
|
+
std::string* text,
|
|
326
|
+
std::shared_ptr<KVStore> env_vars = nullptr);
|
|
290
327
|
} // namespace credentials
|
|
291
328
|
|
|
292
329
|
void DefineZlibConstants(v8::Local<v8::Object> target);
|
|
293
330
|
v8::Isolate* NewIsolate(v8::Isolate::CreateParams* params,
|
|
294
331
|
uv_loop_t* event_loop,
|
|
295
|
-
MultiIsolatePlatform* platform
|
|
332
|
+
MultiIsolatePlatform* platform,
|
|
333
|
+
const SnapshotData* snapshot_data = nullptr,
|
|
334
|
+
const IsolateSettings& settings = {});
|
|
296
335
|
// This overload automatically picks the right 'main_script_id' if no callback
|
|
297
336
|
// was provided by the embedder.
|
|
298
337
|
v8::MaybeLocal<v8::Value> StartExecution(Environment* env,
|
|
299
338
|
StartExecutionCallback cb = nullptr);
|
|
300
339
|
v8::MaybeLocal<v8::Object> GetPerContextExports(v8::Local<v8::Context> context);
|
|
301
|
-
v8::MaybeLocal<v8::Value> ExecuteBootstrapper(
|
|
302
|
-
Environment* env,
|
|
303
|
-
const char* id,
|
|
304
|
-
std::vector<v8::Local<v8::String>>* parameters,
|
|
305
|
-
std::vector<v8::Local<v8::Value>>* arguments);
|
|
306
340
|
void MarkBootstrapComplete(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
307
341
|
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
342
|
+
class InitializationResultImpl final : public InitializationResult {
|
|
343
|
+
public:
|
|
344
|
+
~InitializationResultImpl() = default;
|
|
345
|
+
int exit_code() const { return static_cast<int>(exit_code_enum()); }
|
|
346
|
+
ExitCode exit_code_enum() const { return exit_code_; }
|
|
347
|
+
bool early_return() const { return early_return_; }
|
|
348
|
+
const std::vector<std::string>& args() const { return args_; }
|
|
349
|
+
const std::vector<std::string>& exec_args() const { return exec_args_; }
|
|
350
|
+
const std::vector<std::string>& errors() const { return errors_; }
|
|
351
|
+
MultiIsolatePlatform* platform() const { return platform_; }
|
|
352
|
+
|
|
353
|
+
ExitCode exit_code_ = ExitCode::kNoFailure;
|
|
354
|
+
std::vector<std::string> args_;
|
|
355
|
+
std::vector<std::string> exec_args_;
|
|
356
|
+
std::vector<std::string> errors_;
|
|
357
|
+
bool early_return_ = false;
|
|
358
|
+
MultiIsolatePlatform* platform_ = nullptr;
|
|
320
359
|
};
|
|
321
360
|
|
|
322
|
-
// TODO(codebytere): eventually document and expose to embedders.
|
|
323
|
-
InitializationResult NODE_EXTERN_PRIVATE InitializeOncePerProcess(int argc,
|
|
324
|
-
char** argv);
|
|
325
|
-
InitializationResult NODE_EXTERN_PRIVATE InitializeOncePerProcess(
|
|
326
|
-
int argc,
|
|
327
|
-
char** argv,
|
|
328
|
-
InitializationSettingsFlags flags,
|
|
329
|
-
ProcessFlags::Flags process_flags = ProcessFlags::kNoFlags);
|
|
330
|
-
void NODE_EXTERN_PRIVATE TearDownOncePerProcess();
|
|
331
361
|
void SetIsolateErrorHandlers(v8::Isolate* isolate, const IsolateSettings& s);
|
|
332
362
|
void SetIsolateMiscHandlers(v8::Isolate* isolate, const IsolateSettings& s);
|
|
333
363
|
void SetIsolateCreateParamsForNode(v8::Isolate::CreateParams* params);
|
|
@@ -346,11 +376,12 @@ bool HasSignalJSHandler(int signum);
|
|
|
346
376
|
|
|
347
377
|
#ifdef _WIN32
|
|
348
378
|
typedef SYSTEMTIME TIME_TYPE;
|
|
349
|
-
#else // UNIX,
|
|
379
|
+
#else // UNIX, macOS
|
|
350
380
|
typedef struct tm TIME_TYPE;
|
|
351
381
|
#endif
|
|
352
382
|
|
|
353
383
|
double GetCurrentTimeInMicroseconds();
|
|
384
|
+
int WriteFileSync(const char* path, uv_buf_t* bufs, size_t buf_count);
|
|
354
385
|
int WriteFileSync(const char* path, uv_buf_t buf);
|
|
355
386
|
int WriteFileSync(v8::Isolate* isolate,
|
|
356
387
|
const char* path,
|
|
@@ -380,7 +411,9 @@ class DiagnosticFilename {
|
|
|
380
411
|
};
|
|
381
412
|
|
|
382
413
|
namespace heap {
|
|
383
|
-
v8::Maybe<void> WriteSnapshot(Environment* env,
|
|
414
|
+
v8::Maybe<void> WriteSnapshot(Environment* env,
|
|
415
|
+
const char* filename,
|
|
416
|
+
v8::HeapProfiler::HeapSnapshotOptions options);
|
|
384
417
|
}
|
|
385
418
|
|
|
386
419
|
namespace heap {
|
|
@@ -393,12 +426,41 @@ BaseObjectPtr<AsyncWrap> CreateHeapSnapshotStream(
|
|
|
393
426
|
Environment* env, HeapSnapshotPointer&& snapshot);
|
|
394
427
|
} // namespace heap
|
|
395
428
|
|
|
396
|
-
namespace fs {
|
|
397
|
-
std::string Basename(const std::string& str, const std::string& extension);
|
|
398
|
-
} // namespace fs
|
|
399
|
-
|
|
400
429
|
node_module napi_module_to_node_module(const napi_module* mod);
|
|
401
430
|
|
|
431
|
+
std::ostream& operator<<(std::ostream& output, const SnapshotFlags& flags);
|
|
432
|
+
std::ostream& operator<<(std::ostream& output,
|
|
433
|
+
const std::vector<SnapshotIndex>& v);
|
|
434
|
+
std::ostream& operator<<(std::ostream& output,
|
|
435
|
+
const std::vector<std::string>& vec);
|
|
436
|
+
std::ostream& operator<<(std::ostream& output,
|
|
437
|
+
const std::vector<PropInfo>& vec);
|
|
438
|
+
std::ostream& operator<<(std::ostream& output, const PropInfo& d);
|
|
439
|
+
std::ostream& operator<<(std::ostream& output, const EnvSerializeInfo& d);
|
|
440
|
+
std::ostream& operator<<(std::ostream& output,
|
|
441
|
+
const ImmediateInfo::SerializeInfo& d);
|
|
442
|
+
std::ostream& operator<<(std::ostream& output,
|
|
443
|
+
const TickInfo::SerializeInfo& d);
|
|
444
|
+
std::ostream& operator<<(std::ostream& output,
|
|
445
|
+
const AsyncHooks::SerializeInfo& d);
|
|
446
|
+
std::ostream& operator<<(std::ostream& output, const SnapshotMetadata& d);
|
|
447
|
+
|
|
448
|
+
namespace performance {
|
|
449
|
+
std::ostream& operator<<(std::ostream& output,
|
|
450
|
+
const PerformanceState::SerializeInfo& d);
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
bool linux_at_secure();
|
|
454
|
+
|
|
455
|
+
namespace heap {
|
|
456
|
+
v8::HeapProfiler::HeapSnapshotOptions GetHeapSnapshotOptions(
|
|
457
|
+
v8::Local<v8::Value> options);
|
|
458
|
+
} // namespace heap
|
|
459
|
+
|
|
460
|
+
enum encoding ParseEncoding(v8::Isolate* isolate,
|
|
461
|
+
v8::Local<v8::Value> encoding_v,
|
|
462
|
+
v8::Local<v8::Value> encoding_id,
|
|
463
|
+
enum encoding default_encoding);
|
|
402
464
|
} // namespace node
|
|
403
465
|
|
|
404
466
|
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
#include <memory>
|
|
8
8
|
|
|
9
9
|
#include "node.h"
|
|
10
|
+
#include "node_exit_code.h"
|
|
10
11
|
#include "util.h"
|
|
11
12
|
#include "uv.h"
|
|
12
13
|
#include "v8.h"
|
|
@@ -21,33 +22,6 @@ struct SnapshotData;
|
|
|
21
22
|
// We may be able to create an abstract class to reuse some of the routines.
|
|
22
23
|
class NodeMainInstance {
|
|
23
24
|
public:
|
|
24
|
-
// To create a main instance that does not own the isolate,
|
|
25
|
-
// The caller needs to do:
|
|
26
|
-
//
|
|
27
|
-
// Isolate* isolate = Isolate::Allocate();
|
|
28
|
-
// platform->RegisterIsolate(isolate, loop);
|
|
29
|
-
// isolate->Initialize(...);
|
|
30
|
-
// isolate->Enter();
|
|
31
|
-
// std::unique_ptr<NodeMainInstance> main_instance =
|
|
32
|
-
// NodeMainInstance::Create(isolate, loop, args, exec_args);
|
|
33
|
-
//
|
|
34
|
-
// When tearing it down:
|
|
35
|
-
//
|
|
36
|
-
// main_instance->Cleanup(); // While the isolate is entered
|
|
37
|
-
// isolate->Exit();
|
|
38
|
-
// isolate->Dispose();
|
|
39
|
-
// platform->UnregisterIsolate(isolate);
|
|
40
|
-
//
|
|
41
|
-
// After calling Dispose() the main_instance is no longer accessible.
|
|
42
|
-
static std::unique_ptr<NodeMainInstance> Create(
|
|
43
|
-
v8::Isolate* isolate,
|
|
44
|
-
uv_loop_t* event_loop,
|
|
45
|
-
MultiIsolatePlatform* platform,
|
|
46
|
-
const std::vector<std::string>& args,
|
|
47
|
-
const std::vector<std::string>& exec_args);
|
|
48
|
-
|
|
49
|
-
void Dispose();
|
|
50
|
-
|
|
51
25
|
// Create a main instance that owns the isolate
|
|
52
26
|
NodeMainInstance(const SnapshotData* snapshot_data,
|
|
53
27
|
uv_loop_t* event_loop,
|
|
@@ -57,13 +31,13 @@ class NodeMainInstance {
|
|
|
57
31
|
~NodeMainInstance();
|
|
58
32
|
|
|
59
33
|
// Start running the Node.js instances, return the exit code when finished.
|
|
60
|
-
|
|
61
|
-
void Run(
|
|
34
|
+
ExitCode Run();
|
|
35
|
+
void Run(ExitCode* exit_code, Environment* env);
|
|
62
36
|
|
|
63
37
|
IsolateData* isolate_data() { return isolate_data_.get(); }
|
|
64
38
|
|
|
65
39
|
DeleteFnPtr<Environment, FreeEnvironment> CreateMainEnvironment(
|
|
66
|
-
|
|
40
|
+
ExitCode* exit_code);
|
|
67
41
|
|
|
68
42
|
NodeMainInstance(const NodeMainInstance&) = delete;
|
|
69
43
|
NodeMainInstance& operator=(const NodeMainInstance&) = delete;
|
|
@@ -77,7 +51,6 @@ class NodeMainInstance {
|
|
|
77
51
|
const std::vector<std::string>& args,
|
|
78
52
|
const std::vector<std::string>& exec_args);
|
|
79
53
|
|
|
80
|
-
static std::unique_ptr<ExternalReferenceRegistry> registry_;
|
|
81
54
|
std::vector<std::string> args_;
|
|
82
55
|
std::vector<std::string> exec_args_;
|
|
83
56
|
std::unique_ptr<ArrayBufferAllocator> array_buffer_allocator_;
|
|
@@ -88,6 +88,9 @@ class Message : public MemoryRetainer {
|
|
|
88
88
|
// Internal method of Message that is called when a new WebAssembly.Module
|
|
89
89
|
// object is encountered in the incoming value's structure.
|
|
90
90
|
uint32_t AddWASMModule(v8::CompiledWasmModule&& mod);
|
|
91
|
+
// Internal method of Message that is called when a shared value is
|
|
92
|
+
// encountered for the first time in the incoming value's structure.
|
|
93
|
+
void AdoptSharedValueConveyor(v8::SharedValueConveyor&& conveyor);
|
|
91
94
|
|
|
92
95
|
// The host objects that will be transferred, as recorded by Serialize()
|
|
93
96
|
// (e.g. MessagePorts).
|
|
@@ -114,6 +117,7 @@ class Message : public MemoryRetainer {
|
|
|
114
117
|
std::vector<std::shared_ptr<v8::BackingStore>> shared_array_buffers_;
|
|
115
118
|
std::vector<std::unique_ptr<TransferData>> transferables_;
|
|
116
119
|
std::vector<v8::CompiledWasmModule> wasm_modules_;
|
|
120
|
+
std::optional<v8::SharedValueConveyor> shared_value_conveyor_;
|
|
117
121
|
|
|
118
122
|
friend class MessagePort;
|
|
119
123
|
};
|
|
@@ -286,7 +290,7 @@ class MessagePort : public HandleWrap {
|
|
|
286
290
|
// NULL pointer to the C++ MessagePort object is also detached.
|
|
287
291
|
inline bool IsDetached() const;
|
|
288
292
|
|
|
289
|
-
TransferMode GetTransferMode() const override;
|
|
293
|
+
BaseObject::TransferMode GetTransferMode() const override;
|
|
290
294
|
std::unique_ptr<TransferData> TransferForMessaging() override;
|
|
291
295
|
|
|
292
296
|
void MemoryInfo(MemoryTracker* tracker) const override;
|
|
@@ -315,20 +319,28 @@ class MessagePort : public HandleWrap {
|
|
|
315
319
|
friend class MessagePortData;
|
|
316
320
|
};
|
|
317
321
|
|
|
318
|
-
// Provide a
|
|
319
|
-
// cloneable by
|
|
322
|
+
// Provide a wrapper class created when a built-in JS classes that being
|
|
323
|
+
// transferable or cloneable by postMessage().
|
|
320
324
|
// See e.g. FileHandle in internal/fs/promises.js for an example.
|
|
321
325
|
class JSTransferable : public BaseObject {
|
|
322
326
|
public:
|
|
323
|
-
JSTransferable(Environment* env,
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
+
static BaseObjectPtr<JSTransferable> Wrap(Environment* env,
|
|
328
|
+
v8::Local<v8::Object> target);
|
|
329
|
+
static bool IsJSTransferable(Environment* env,
|
|
330
|
+
v8::Local<v8::Context> context,
|
|
331
|
+
v8::Local<v8::Object> object);
|
|
332
|
+
|
|
333
|
+
JSTransferable(Environment* env,
|
|
334
|
+
v8::Local<v8::Object> obj,
|
|
335
|
+
v8::Local<v8::Object> target);
|
|
336
|
+
~JSTransferable();
|
|
337
|
+
|
|
338
|
+
BaseObject::TransferMode GetTransferMode() const override;
|
|
327
339
|
std::unique_ptr<TransferData> TransferForMessaging() override;
|
|
328
340
|
std::unique_ptr<TransferData> CloneForMessaging() const override;
|
|
329
341
|
v8::Maybe<std::vector<BaseObjectPtr<BaseObject>>>
|
|
330
342
|
NestedTransferables() const override;
|
|
331
|
-
v8::Maybe<
|
|
343
|
+
v8::Maybe<void> FinalizeTransferRead(
|
|
332
344
|
v8::Local<v8::Context> context,
|
|
333
345
|
v8::ValueDeserializer* deserializer) override;
|
|
334
346
|
|
|
@@ -336,8 +348,13 @@ class JSTransferable : public BaseObject {
|
|
|
336
348
|
SET_MEMORY_INFO_NAME(JSTransferable)
|
|
337
349
|
SET_SELF_SIZE(JSTransferable)
|
|
338
350
|
|
|
351
|
+
v8::Local<v8::Object> target() const;
|
|
352
|
+
|
|
339
353
|
private:
|
|
340
|
-
|
|
354
|
+
template <TransferMode mode>
|
|
355
|
+
std::unique_ptr<TransferData> TransferOrClone() const;
|
|
356
|
+
|
|
357
|
+
v8::Global<v8::Object> target_;
|
|
341
358
|
|
|
342
359
|
class Data : public TransferData {
|
|
343
360
|
public:
|
|
@@ -362,7 +379,7 @@ class JSTransferable : public BaseObject {
|
|
|
362
379
|
};
|
|
363
380
|
|
|
364
381
|
v8::Local<v8::FunctionTemplate> GetMessagePortConstructorTemplate(
|
|
365
|
-
|
|
382
|
+
IsolateData* isolate_data);
|
|
366
383
|
|
|
367
384
|
} // namespace worker
|
|
368
385
|
} // namespace node
|