diff --git a/src/fuse_operations.c b/src/fuse_operations.c index 8c147cf..3ba81cb 100644 --- a/src/fuse_operations.c +++ b/src/fuse_operations.c @@ -468,9 +468,11 @@ static int xmp_create(const char *path, mode_t mode, // fprintf(stderr, "%s, %d\n", path, ask_access(path, pi)); - if (!interactive_access(path, pi, auto_create_perm)) { - free(pi.name); - return -EACCES; + if (auto_create_perm != 0) { + if (!interactive_access(path, pi, auto_create_perm)) { + free(pi.name); + return -EACCES; + } } free(pi.name); diff --git a/src/gui/icfs_dialogue.c b/src/gui/icfs_dialogue.c index d6be0cc..490af8b 100644 --- a/src/gui/icfs_dialogue.c +++ b/src/gui/icfs_dialogue.c @@ -143,6 +143,9 @@ int main(int argc, char **argv) { fprintf(stdout, "icfs_dialogue 1.0.0"); } + // disable accessibility features to prevent attacks + g_setenv("NO_AT_BRIDGE", "1", TRUE); + // Create a new application AdwApplication *app = adw_application_new("de.umbrasolis.icfs_dialogue", G_APPLICATION_HANDLES_COMMAND_LINE); diff --git a/src/main.c b/src/main.c index 6a5a515..f57fff9 100644 --- a/src/main.c +++ b/src/main.c @@ -31,11 +31,12 @@ int main(int argc, char *argv[]) { if (argc < 3) { fprintf(stderr, "Usage: icfs [target directory] [path to " "the permanent permissions database] \n\t--no-perm-on-create - reqire access " - "permissions to create new files " - "(incompatible with --perm-on-create)\n\t--perm-on-create " - "- give permanent permissions to files a process creates " - "automatically (incompatible with --no-perm-on-create)\n"); + "arguments>\n\t--no-perm-on-create - do not give any " + "access permissions on file creation" + "(incompatible with --temp-on-create)\n\t--perm-on-create " + "- automatically give permanent access permission to files " + "a process creates " + "(incompatible with --no-perm-on-create)\n"); return EXIT_FAILURE; } @@ -45,11 +46,12 @@ int main(int argc, char *argv[]) { 0 == strcmp(argv[argc - 1], "--temp-on-create"))) { fprintf(stderr, "Usage: icfs [target directory] [path to " "the permanent permissions database] \n\t--no-perm-on-create - reqire access " - "permissions to create new files" + "arguments>\n\t--no-perm-on-create - do not give any " + "access permissions on file creation" "(incompatible with --temp-on-create)\n\t--perm-on-create " - "- give permanent permissions to files a process creates " - "automatically (incompatible with --no-perm-on-create)\n"); + "- automatically give permanent access permission to files " + "a process creates " + "(incompatible with --no-perm-on-create)\n"); return EXIT_FAILURE; }