summaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2022-08-24 18:07:49 +0200
committerGitHub <noreply@github.com>2022-08-24 18:07:49 +0200
commit6bb72a80863ac3913d32ea21aae32dd327ce6b71 (patch)
tree9a94d2df9ba46eec6a992fc749c4b80fbe62c11b /runtime
parent684aabbc252fe895e8f5de82c5fa4b7b6290f3ea (diff)
feat(unstable): add more permission checks for ext/node/ (#15581)
Diffstat (limited to 'runtime')
-rw-r--r--runtime/build.rs11
-rw-r--r--runtime/permissions.rs6
-rw-r--r--runtime/web_worker.rs2
-rw-r--r--runtime/worker.rs2
4 files changed, 18 insertions, 3 deletions
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<T: AsRef<str>>(
&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::<Permissions>(false, None), // No --unstable.
deno_ffi::init::<Permissions>(false),
deno_net::init::<Permissions>(
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<T: AsRef<str>>(
&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::<Permissions>(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::<Permissions>(unstable, options.npm_resolver),
ops::os::init(exit_code.clone()),
ops::permissions::init(),
ops::process::init(),