summary refs log tree commit diff
path: root/ripple/fossil
diff options
context:
space:
mode:
authoredef <edef@unfathomable.blue>2022-04-15 21:05:43 +0000
committeredef <edef@unfathomable.blue>2022-04-15 21:05:43 +0000
commit43b662bdd466131882d312802bb6e6c0d788950d (patch)
tree55ca174e92651fe91c770320fdc759cdc5e5f9f8 /ripple/fossil
parentadf5bbf98ef392a92869cdb280766d8c9dc5e840 (diff)
ripple/fossil/mount: correctly serve executable files
Change-Id: I1bc7c0db7a0feeb5cb809e9382bf51816ec082c1
Diffstat (limited to 'ripple/fossil')
-rw-r--r--ripple/fossil/src/bin/mount.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/ripple/fossil/src/bin/mount.rs b/ripple/fossil/src/bin/mount.rs
index 601b594..f37c7db 100644
--- a/ripple/fossil/src/bin/mount.rs
+++ b/ripple/fossil/src/bin/mount.rs
@@ -2,7 +2,7 @@
 // SPDX-License-Identifier: OSL-3.0
 
 use {
-	fossil::store,
+	fossil::{store, FileRef},
 	lazy_static::lazy_static,
 	libc::{c_int, EINVAL, ENOENT, ENOSYS, EROFS},
 	log::debug,
@@ -49,7 +49,10 @@ fn file_attr(ino: u64, node: &memtree::Node) -> fuser::FileAttr {
 		},
 		// Permissions
 		perm: match node {
-			memtree::Node::Directory(_) => 0o755,
+			memtree::Node::Directory(_)
+			| memtree::Node::File(FileRef {
+				executable: true, ..
+			}) => 0o755,
 			_ => 0o644,
 		},
 		// Number of hard links