summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortedu <tedu@openbsd.org>2003-04-18 22:16:24 +0000
committertedu <tedu@openbsd.org>2003-04-18 22:16:24 +0000
commit99dc29516f9d03366e640469deec16eec5fc7df7 (patch)
treedb70e6e4f1262324558b7c7222481340bbbf23a6
parentsupport for making directories +x without affecting normal files (diff)
downloadwireguard-openbsd-99dc29516f9d03366e640469deec16eec5fc7df7.tar.xz
wireguard-openbsd-99dc29516f9d03366e640469deec16eec5fc7df7.zip
support for making directories executable if readable.
to use this, you want to run mount_msdos with -m 0644 -x or so. ok millert@
-rw-r--r--sbin/mount_msdos/mount_msdos.85
-rw-r--r--sbin/mount_msdos/mount_msdos.c9
2 files changed, 10 insertions, 4 deletions
diff --git a/sbin/mount_msdos/mount_msdos.8 b/sbin/mount_msdos/mount_msdos.8
index ec38a1131d3..0b6c46817f1 100644
--- a/sbin/mount_msdos/mount_msdos.8
+++ b/sbin/mount_msdos/mount_msdos.8
@@ -1,4 +1,4 @@
-.\" $OpenBSD: mount_msdos.8,v 1.16 2003/02/09 07:26:45 jmc Exp $
+.\" $OpenBSD: mount_msdos.8,v 1.17 2003/04/18 22:16:24 tedu Exp $
.\" $NetBSD: mount_msdos.8,v 1.10 1996/01/19 21:14:43 leo Exp $
.\"
.\" Copyright (c) 1993,1994 Christopher G. Demetriou
@@ -45,6 +45,7 @@
.Op Fl l
.Op Fl 9
.Op Fl G
+.Op Fl x
.Ar special
.Ar node
.Sh DESCRIPTION
@@ -139,6 +140,8 @@ The differences to the msdos filesystem are minimal and
limited to the boot block.
This option enforces
.Fl s .
+.It Fl x
+If a directory is readable, it inherits the x attribute as well.
.El
.Sh SEE ALSO
.Xr mount 2 ,
diff --git a/sbin/mount_msdos/mount_msdos.c b/sbin/mount_msdos/mount_msdos.c
index 80c42abf239..d7aa882386c 100644
--- a/sbin/mount_msdos/mount_msdos.c
+++ b/sbin/mount_msdos/mount_msdos.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mount_msdos.c,v 1.14 2002/04/23 18:54:12 espie Exp $ */
+/* $OpenBSD: mount_msdos.c,v 1.15 2003/04/18 22:16:24 tedu Exp $ */
/* $NetBSD: mount_msdos.c,v 1.16 1996/10/24 00:12:50 cgd Exp $ */
/*
@@ -32,7 +32,7 @@
*/
#ifndef lint
-static char rcsid[] = "$OpenBSD: mount_msdos.c,v 1.14 2002/04/23 18:54:12 espie Exp $";
+static char rcsid[] = "$OpenBSD: mount_msdos.c,v 1.15 2003/04/18 22:16:24 tedu Exp $";
#endif /* not lint */
#include <sys/cdefs.h>
@@ -76,7 +76,7 @@ main(argc, argv)
mntflags = set_gid = set_uid = set_mask = 0;
(void)memset(&args, '\0', sizeof(args));
- while ((c = getopt(argc, argv, "Gsl9u:g:m:o:")) != -1) {
+ while ((c = getopt(argc, argv, "Gsl9xu:g:m:o:")) != -1) {
switch (c) {
case 'G':
args.flags |= MSDOSFSMNT_GEMDOSFS;
@@ -90,6 +90,9 @@ main(argc, argv)
case '9':
args.flags |= MSDOSFSMNT_NOWIN95;
break;
+ case 'x':
+ args.flags |= MSDOSFSMNT_ALLOWDIRX;
+ break;
case 'u':
args.uid = a_uid(optarg);
set_uid = 1;