Skip to content

Commit

Permalink
also fix the public api
Browse files Browse the repository at this point in the history
  • Loading branch information
amrbashir committed Sep 19, 2022
1 parent 36e6f04 commit e1b0c9a
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 15 deletions.
13 changes: 9 additions & 4 deletions core/tauri/src/scope/fs.rs
Expand Up @@ -139,7 +139,7 @@ impl Scope {
/// After this function has been called, the frontend will be able to use the Tauri API to read
/// the directory and all of its files and subdirectories.
pub fn allow_directory<P: AsRef<Path>>(&self, path: P, recursive: bool) -> crate::Result<()> {
let path = path.as_ref().to_path_buf();
let path = escape_pattern_in_path(path);
{
let mut list = self.allowed_patterns.lock().unwrap();

Expand All @@ -156,7 +156,7 @@ impl Scope {
///
/// After this function has been called, the frontend will be able to use the Tauri API to read the contents of this file.
pub fn allow_file<P: AsRef<Path>>(&self, path: P) -> crate::Result<()> {
let path = path.as_ref();
let path = escape_pattern_in_path(path);
push_pattern(&mut self.allowed_patterns.lock().unwrap(), &path)?;
self.trigger(Event::PathAllowed(path.to_path_buf()));
Ok(())
Expand All @@ -166,7 +166,7 @@ impl Scope {
///
/// **Note:** this takes precedence over allowed paths, so its access gets denied **always**.
pub fn forbid_directory<P: AsRef<Path>>(&self, path: P, recursive: bool) -> crate::Result<()> {
let path = path.as_ref().to_path_buf();
let path = escape_pattern_in_path(path);
{
let mut list = self.forbidden_patterns.lock().unwrap();

Expand All @@ -183,7 +183,7 @@ impl Scope {
///
/// **Note:** this takes precedence over allowed paths, so its access gets denied **always**.
pub fn forbid_file<P: AsRef<Path>>(&self, path: P) -> crate::Result<()> {
let path = path.as_ref();
let path = escape_pattern_in_path(path);
push_pattern(&mut self.forbidden_patterns.lock().unwrap(), &path)?;
self.trigger(Event::PathForbidden(path.to_path_buf()));
Ok(())
Expand Down Expand Up @@ -224,3 +224,8 @@ impl Scope {
}
}
}

fn escape_pattern_in_path<P: AsRef<Path>>(p: P) -> PathBuf {
let p = p.as_ref().to_string_lossy();
PathBuf::from(glob::Pattern::escape(&p))
}
15 changes: 4 additions & 11 deletions core/tauri/src/scope/mod.rs
Expand Up @@ -30,24 +30,17 @@ pub(crate) struct Scopes {
impl Scopes {
#[allow(dead_code)]
pub(crate) fn allow_directory(&self, path: &Path, recursive: bool) -> crate::Result<()> {
let path = path.to_string_lossy();
let escaped_path = glob::Pattern::escape(&path);

self.fs.allow_directory(&escaped_path, recursive)?;
self.fs.allow_directory(path, recursive)?;
#[cfg(protocol_asset)]
self
.asset_protocol
.allow_directory(&escaped_path, recursive)?;
self.asset_protocol.allow_directory(path, recursive)?;
Ok(())
}

#[allow(dead_code)]
pub(crate) fn allow_file(&self, path: &Path) -> crate::Result<()> {
let path = path.to_string_lossy();
let escaped_path = glob::Pattern::escape(&path);
self.fs.allow_file(&escaped_path)?;
self.fs.allow_file(path)?;
#[cfg(protocol_asset)]
self.asset_protocol.allow_file(&escaped_path)?;
self.asset_protocol.allow_file(path)?;
Ok(())
}
}

0 comments on commit e1b0c9a

Please sign in to comment.