libmount ignores "ambivalent probing result" from libblkid and tries
filesystems /etc/filesystems. This is incorrect behavior.
Reported-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
Presently, libmount-mount completely prohibits the use of -t by non-root
users. This breaks using -t in listing mode as a user, which represents
a regression against mount-deprecated, macosx and presumably *BSD.
This commit fixes the issue by deferring the mnt_context_is_restricted
check for -t until we know we're not in listing mode.
Signed-off-by: Rich Tollerton <rich.tollerton@ni.com>
$ mount /root/.ssh/../../dev/sda2
mount: only root can mount UUID=17bc65ec-4125-4e7c-8a7d-e2795064c736 on /boot
this is too promiscuous. It seems better to ignore on command line
specified paths which are not resolve-able for non-root users.
Fixed version:
$ mount /root/.ssh/../../dev/sda2
mount: /root/.ssh/../../dev/sda2: Permission denied
$ mount /dev/sda2
mount: only root can mount UUID=17bc65ec-4125-4e7c-8a7d-e2795064c736 on /boot
Note that this bug has no relation to mount(2) permissions evaluation
in suid mode. The way how non-root user specifies paths on command
line is completely irrelevant for comparison with fstab entries.
Signed-off-by: Karel Zak <kzak@redhat.com>
kernel cryptoloop is deprecated since ages and support for cryptoloop
in util-linux is incomplete/broken.
- no password hashing
- last 8 bit of key are always set to zero
- no binary keys possible (stops reading key at \n and \0)
In the past some Distros added the above features with patches. So
remove cryptoloop support from util-linux completely to make sure
people won't try using it.
Signed-off-by: Ludwig Nussel <ludwig.nussel@suse.de>
Signed-off-by: Karel Zak <kzak@redhat.com>
For compatibility with coreutils and to avoid complex solutions in
mount output mount replaces control characters with '?'.
Note that the listing mode in mount(8) is in maintenance mode --
findmnt(8) provides more robust and better solutions.
Signed-off-by: Karel Zak <kzak@redhat.com>
In some cases (for example if only one mount argument is given) may be
mount request ambivalent:
# mount /foo
and fstab:
/dev/sda5 /foo rw 0 0
/foo /bar bind 0 0
the new options allows to be more explicit
# mount --target /foo (mounts /dev/sda5)
# mount --source /foo (binds /foo to /bar)
It's possible to use the options together
# mount --source /dev/sda2 --target /home
Signed-off-by: Karel Zak <kzak@redhat.com>
# mount -R /mnt/test /mnt/test
mount: propagation flags (--make-* or --bind options) are mutually exclusive
Reported-by: Dave Reisner <dreisner@archlinux.org>
Signed-off-by: Karel Zak <kzak@redhat.com>
We have to be careful with "none" or another dummy sources for pseudo
filesystems. These strings should be canonicalized or compared as a
paths.
The function is not exported by library API.
Signed-off-by: Karel Zak <kzak@redhat.com>
Commit ce433404 introduced the change, which causes something like mount -i
<user-mount-path> to break which worked well before util-linux-2.21, now it
gives message 'mount: only root can use "--internal-only" option' when that
shouldn't be the case when it is already in fstab.
Signed-off-by: Raghavendra D Prabhu <rprabhu@wnohang.net>
New return codes:
0 : all mounted (or all ignored)
64 : some mounted, some failed
32 : all failed
Note that already mounted or ignored (filtered out by -t or -O)
filesystems don't affect the final return code.
The original mount(8) returns 0 instead of 64, so the situation
"some mounted, some failed" cannot be detected.
Signed-off-by: Karel Zak <kzak@redhat.com>
well, this is free-before-exit, but let's use mount(8) as test
application for libmount and keep it without leaks.
Signed-off-by: Karel Zak <kzak@redhat.com>
This fixes a display bug in the new mount wherein a psuedofs existing in
$PWD by name will be resolved and shown as a real mount point.
$ cd /tmp; mkdir nfsd; mount | grep nfsd
/tmp/nfsd on /proc/fs/nfsd type nfsd (rw,relatime)
Signed-off-by: Dave Reisner <dreisner@archlinux.org>