diff options
author | Poul-Henning Kamp <phk@FreeBSD.org> | 1999-10-09 11:54:14 +0000 |
---|---|---|
committer | Poul-Henning Kamp <phk@FreeBSD.org> | 1999-10-09 11:54:14 +0000 |
commit | 73dd3167345391095dd7c75aefa870a5bce92397 (patch) | |
tree | 33cadf04c808cb0644aedaa306f8f3c0987ba3fe /sbin/mount_cd9660 | |
parent | 1d64c295bbdb773ca3d62cdb5a9eec06e12799c8 (diff) | |
download | src-73dd3167345391095dd7c75aefa870a5bce92397.tar.gz src-73dd3167345391095dd7c75aefa870a5bce92397.zip |
mount* fixes from Martin Blapp <mb@imp.ch>:
Made mount more userfriendly (bad slashes are now filtered out)
and we remove in mount_nfs trailing slashes if there are any.
Fixed mount_xxx binarys to resolve with realpath(3)
the mountpoint.
Translate the deprecated nfs-syntax with '@' to ':' .
The ':' syntax has now precedence, but '@' still works.
Notify the user that the '@' syntax should not be used.
PR: 7846
PR: 13692
Submitted by: Martin Blapp <mb@imp.ch>
Reviewed by: phk
Notes
Notes:
svn path=/head/; revision=52055
Diffstat (limited to 'sbin/mount_cd9660')
-rw-r--r-- | sbin/mount_cd9660/mount_cd9660.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/sbin/mount_cd9660/mount_cd9660.c b/sbin/mount_cd9660/mount_cd9660.c index a3185d7f9f3c..665d22f64787 100644 --- a/sbin/mount_cd9660/mount_cd9660.c +++ b/sbin/mount_cd9660/mount_cd9660.c @@ -85,7 +85,7 @@ main(int argc, char **argv) { struct iso_args args; int ch, mntflags, opts; - char *dev, *dir; + char *dev, *dir, mntpath[MAXPATHLEN]; struct vfsconf vfc; int error, verbose; @@ -128,6 +128,13 @@ main(int argc, char **argv) dev = argv[0]; dir = argv[1]; + /* + * Resolve the mountpoint with realpath(3) and remove unnecessary + * slashes from the devicename if there are any. + */ + (void)checkpath(dir, mntpath); + (void)rmslashes(dev, dev); + #define DEFAULT_ROOTUID -2 /* * ISO 9660 filesystems are not writeable. @@ -168,7 +175,7 @@ main(int argc, char **argv) if (error) errx(1, "cd9660 filesystem is not available"); - if (mount(vfc.vfc_name, dir, mntflags, &args) < 0) + if (mount(vfc.vfc_name, mntpath, mntflags, &args) < 0) err(1, NULL); exit(0); } |