GNU bug report logs -
#29167
tests/ls/readdir-mountpoint-inode.sh is unstable and should require root privileges
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Mon, 6 Nov 2017 21:37:25 -0800
with message-id <9793b374-0b21-eaaa-46c9-f276bb825c7f <at> draigBrady.com>
and subject line Re: bug#29167: Acknowledgement (tests/ls/readdir-mountpoint-inode.sh is unstable and should require root privileges)
has caused the debbugs.gnu.org bug report #29167,
regarding tests/ls/readdir-mountpoint-inode.sh is unstable and should require root privileges
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
29167: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=29167
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Hi,
test "tests/ls/readdir-mountpoint-inode.sh" is unstable and should
require root privileges because it will fail when it encounters
permissions like
> # df --local --out=target | sed -n '/^\/./p'
> /dev
> /run
> /dev/shm
> /sys/fs/cgroup
> /boot
> /usr/portage
> /usr/portage/distfiles
> /var/log
> /backup
> /srv
> /srv/mysql
Where "/srv" isn't readable for the user currently running the test:
> # stat --format=%A /srv
> drwxr-x--x
> # stat --format=%A /srv/mysql/
> drwxrwx---
Test output:
> +++ dirname /srv/mysql
> ++ parent_dir=/srv
> ++ eval 'ls -i -I '\''.?*'\'' -I '\''mysql?*'\'' -I '\''mysq[^l]*'\'' -I '\''????'\'' -I '\''mys[^q]*'\'' -I '\''???'\'' -I '\''my[^s]*'\'' -I '\''??'\'' -I '\''m[^y]*'\'' -I '\''?'\'' -I '\''[^m]*'\'' '\''/srv'\'''
> ++ sed 's/ .*//'
> +++ ls -i -I '.?*' -I 'mysql?*' -I 'mysq[^l]*' -I '????' -I 'mys[^q]*' -I '???' -I 'my[^s]*' -I '??' -I 'm[^y]*' -I '?' -I '[^m]*' /srv
> ls: cannot open directory '/srv': Permission denied
> + readdir_inode=
> + test 0 = 77
> ++ timeout 1 stat --format=%i /srv/mysql
> + stat_inode=96
> + case $stat_inode in
> + test '' = 96
> + fail=1
Full test output: https://paste.pound-python.org/show/VRD8hTfErxNtrqkZ3Muj
Tested with coreutils-8.28.
Suggested patch:
diff --git a/tests/ls/readdir-mountpoint-inode.sh b/tests/ls/readdir-mountpoint-inode.sh
index b4ca9e46e..57ec74740 100755
--- a/tests/ls/readdir-mountpoint-inode.sh
+++ b/tests/ls/readdir-mountpoint-inode.sh
@@ -18,6 +18,7 @@
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
print_ver_ ls
+require_root_
# We use --local here so as to not activate
# potentially very many remote mounts.
--
Regards,
Thomas Deutschmann / Gentoo Linux Developer
C4DD 695F A713 8F24 2AA1 5638 5849 7EE5 1D5D 74A5
[Message part 3 (message/rfc822, inline)]
On 06/11/17 04:06, Thomas Deutschmann wrote:
> Hi,
>
> here's a better fix (from Sebastian Kühn via
> https://bugs.gentoo.org/353164):
>
> diff --git a/tests/ls/readdir-mountpoint-inode.sh
> b/tests/ls/readdir-mountpoint-inode.sh
> index b4ca9e46e..5270df079 100755
> --- a/tests/ls/readdir-mountpoint-inode.sh
> +++ b/tests/ls/readdir-mountpoint-inode.sh
> @@ -55,7 +55,10 @@ inode_via_readdir()
> esac
> opts=$(ls_ignore_options "$base")
> parent_dir=$(dirname "$mount_point")
> - eval "ls -i $opts '$parent_dir'" | sed 's/ .*//'
> + ls_out=$(eval "ls -i $opts '$parent_dir'")
> + test $? -eq 0 || \
> + skip_ "'$parent_dir' is not readable for current user"
> + echo $ls_out | sed 's/ .*//'
> }
>
> while read dir; do
Pushed at:
https://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=v8.28-29-gaebefc2
Marking this as done.
thanks,
Pádraig
This bug report was last modified 7 years and 257 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.