Package: hurd
Version: 20000803

Hi,

I have found another symlink bug in isofs. The attached cdimg.gz file
contains the first 400kb of a Debian source package CD ROM, which contains
in the root dir:

ulysses:/cdrom# ls -l
total 39
-r--r--r--    1 root     root         2309 Mai 17  1999 CHANGES.txt
-r--r--r--    1 root     root         3842 Mai 17  1999 INSTALL.txt
-r--r--r--    1 root     root        21178 Mai 17  1999 Release-Notes
-r--r--r--    1 root     root          367 Mai 17  1999 TRANS.TBL
lr-xr-xr-x    1 root     root            1 Mai 17  1999 debian -> ./
dr-xr-xr-x    3 root     root         2048 Mär 21  1999 dists/
dr-xr-xr-x    4 root     root         4096 Mai 17  1999 doc/
dr-xr-xr-x    8 root     root         2048 Feb  2  1999 project/

Now, under the Hurd, stat()'ing INSTALL.txt makes the inode "debian" a copy
of the file! See what I mean in the following transcript (stat()'ing any of
the other directory entries doesn't change the status of "debian")

Script started on Thu Aug 17 02:48:25 2000
hurd:/tmp# ls -l cdimg
-rw-r--r--    1 root     root       409600 Aug 17 02:47 cdimg
hurd:/tmp# settrans x /hurd/isofs cdimg
hurd:/tmp# ls x
CHANGES.txt  INSTALL.txt  Release-Notes  TRANS.TBL  debian  dists  doc  project
hurd:/tmp# ls -l x/debian
lr-xr-xr-x    1 root     root            1 May 17  1999 x/debian -> .
hurd:/tmp# ls -l x/debian
lr-xr-xr-x    1 root     root            1 May 17  1999 x/debian -> .
hurd:/tmp# ls -l x/INSTALL.txt
-r--r--r--    1 root     root         3842 May 17  1999 x/INSTALL.txt
hurd:/tmp# ls -l x/debian
-r--r--r--    1 root     root         3842 May 17  1999 x/debian
hurd:/tmp# exit

Script done on Thu Aug 17 02:50:21 2000

You see that the file size of debian is now the same as of INSTALL.txt, and
the content is identical (not shown in the typescript, but verified by me).

I have not had time yet to track this down. It is not related to my isofs
symlink fixes, because you get the same behaviour with the CVS version of
isofs, just that debian is not a link with this version in the first place,
but a zero-size executable.

This is also most likely not related to the get_directs weirdness I reported
in #63373, because I made a quick attempt to fix that, and it doesn't change
the above behaviour.

This is the root directory content of the CD in binary format:

F CHANGES.TXT;1                         CHANGES.txt
L DEBIAN.;1                             debian  .
D DISTS                                 dists
D DOC                                   doc
F INSTALL.TXT;1                         INSTALL.txt
D PROJECT                               project
F RELEASE-.;1                           Release-Notes
D _DISK                                 .disk

Thanks,
Marcus

-- 
`Rhubarb is no Egyptian god.' Debian http://www.debian.org Check Key server 
Marcus Brinkmann              GNU    http://www.gnu.org    for public PGP Key 
[EMAIL PROTECTED],     [EMAIL PROTECTED]    PGP Key ID 36E7CD09
http://homepage.ruhr-uni-bochum.de/Marcus.Brinkmann/       [EMAIL PROTECTED]

cdimg.gz

Reply via email to