From 472a37064071c66cd1311cdea2e78de8d2bc0641 Mon Sep 17 00:00:00 2001 From: Matt Mastracci Date: Fri, 19 Apr 2024 18:12:03 -0600 Subject: feat(runtime): Allow embedders to perform additional access checks on file open (#23208) Embedders may have special requirements around file opening, so we add a new `check_open` permission check that is called as part of the file open process. --- ext/node/ops/require.rs | 2 +- ext/node/package_json.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'ext/node') diff --git a/ext/node/ops/require.rs b/ext/node/ops/require.rs index 426c41995..176d64e56 100644 --- a/ext/node/ops/require.rs +++ b/ext/node/ops/require.rs @@ -452,7 +452,7 @@ where let file_path = PathBuf::from(file_path); ensure_read_permission::

(state, &file_path)?; let fs = state.borrow::(); - Ok(fs.read_text_file_sync(&file_path)?) + Ok(fs.read_text_file_sync(&file_path, None)?) } #[op2] diff --git a/ext/node/package_json.rs b/ext/node/package_json.rs index 77352ae1d..d4ffc80d6 100644 --- a/ext/node/package_json.rs +++ b/ext/node/package_json.rs @@ -82,7 +82,7 @@ impl PackageJson { return Ok(CACHE.with(|cache| cache.borrow()[&path].clone())); } - let source = match fs.read_text_file_sync(&path) { + let source = match fs.read_text_file_sync(&path, None) { Ok(source) => source, Err(err) if err.kind() == ErrorKind::NotFound => { return Ok(Rc::new(PackageJson::empty(path))); -- cgit v1.2.3