emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debbugs-tracker] bug#29167: closed (tests/ls/readdir-mountpoint-inode.s


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#29167: closed (tests/ls/readdir-mountpoint-inode.sh is unstable and should require root privileges)
Date: Tue, 07 Nov 2017 05:38:02 +0000

Your message dated Mon, 6 Nov 2017 21:37:25 -0800
with message-id <address@hidden>
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
address@hidden)


-- 
29167: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=29167
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: tests/ls/readdir-mountpoint-inode.sh is unstable and should require root privileges Date: Mon, 6 Nov 2017 11:42:23 +0100 User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:21.0) Gecko/20100101 Thunderbird/52.4.0
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



--- End Message ---
--- Begin Message --- Subject: Re: bug#29167: Acknowledgement (tests/ls/readdir-mountpoint-inode.sh is unstable and should require root privileges) Date: Mon, 6 Nov 2017 21:37:25 -0800 User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
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


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]