From 6bb72a80863ac3913d32ea21aae32dd327ce6b71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Wed, 24 Aug 2022 18:07:49 +0200 Subject: feat(unstable): add more permission checks for ext/node/ (#15581) --- runtime/build.rs | 11 ++++++++++- runtime/permissions.rs | 6 ++++++ runtime/web_worker.rs | 2 +- runtime/worker.rs | 2 +- 4 files changed, 18 insertions(+), 3 deletions(-) (limited to 'runtime') diff --git a/runtime/build.rs b/runtime/build.rs index 5e8132656..a9ba09825 100644 --- a/runtime/build.rs +++ b/runtime/build.rs @@ -125,6 +125,15 @@ mod not_docs { } } + impl deno_node::NodePermissions for Permissions { + fn check_read( + &mut self, + _p: &Path, + ) -> Result<(), deno_core::error::AnyError> { + unreachable!("snapshotting!") + } + } + impl deno_net::NetPermissions for Permissions { fn check_net>( &mut self, @@ -167,7 +176,7 @@ mod not_docs { deno_broadcast_channel::InMemoryBroadcastChannel::default(), false, // No --unstable. ), - deno_node::init(false, None), // No --unstable. + deno_node::init::(false, None), // No --unstable. deno_ffi::init::(false), deno_net::init::( None, false, // No --unstable. diff --git a/runtime/permissions.rs b/runtime/permissions.rs index 0a5560833..5893f44d4 100644 --- a/runtime/permissions.rs +++ b/runtime/permissions.rs @@ -1322,6 +1322,12 @@ impl deno_flash::FlashPermissions for Permissions { } } +impl deno_node::NodePermissions for Permissions { + fn check_read(&mut self, path: &Path) -> Result<(), AnyError> { + self.read.check(path) + } +} + impl deno_net::NetPermissions for Permissions { fn check_net>( &mut self, diff --git a/runtime/web_worker.rs b/runtime/web_worker.rs index 7ef280252..d4a96633d 100644 --- a/runtime/web_worker.rs +++ b/runtime/web_worker.rs @@ -423,7 +423,7 @@ impl WebWorker { unstable, options.unsafely_ignore_certificate_errors.clone(), ), - deno_node::init(unstable, options.npm_resolver), + deno_node::init::(unstable, options.npm_resolver), ops::os::init_for_worker(), ops::permissions::init(), ops::process::init(), diff --git a/runtime/worker.rs b/runtime/worker.rs index ad2bcdc17..e0f54e09d 100644 --- a/runtime/worker.rs +++ b/runtime/worker.rs @@ -165,7 +165,7 @@ impl MainWorker { unstable, options.unsafely_ignore_certificate_errors.clone(), ), - deno_node::init(unstable, options.npm_resolver), + deno_node::init::(unstable, options.npm_resolver), ops::os::init(exit_code.clone()), ops::permissions::init(), ops::process::init(), -- cgit v1.2.3