Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 31 Oct 2011 14:02:42 +0400
From: Solar Designer <solar@...nwall.com>
To: owl-dev@...ts.openwall.com
Subject: Re: syslinux

Vasiliy,

On Mon, Oct 31, 2011 at 01:28:45PM +0400, Solar Designer wrote:
> On Mon, Oct 31, 2011 at 01:20:25PM +0400, Vasiliy Kulikov wrote:
> > I don't know yet why symlinks and filenames with dash don't work, but
> > creating a file with a dash and creating symlinks to both a filename
> > with dash and without it don't work.  No changes with absolute vs. relative
> > symlink either.
> 
> I suspect that these are limitations in ISO-specific methods called from
> searchdir() and the like (via function pointers).  I did not look at
> those yet.

Confirmed.  Here's what vmlinuz-iso looks like inside the ISO file:

VMLINUZ_ISO.;1

core/fs/iso9660/iso9660.c: iso_convert_name() takes care of the ".;1"
part (removing it), but not of the "-" to "_" conversion.  If we enhance
iso_tolower() to convert "_" to "-", that should do the trick.

There's also the original vmlinuz-iso filename inside the ISO image, but
it is part of the Rock Ridge and Joliet extensions, which ISOLINUX
apparently does not use.  When I mount the ISO with -onorock,nojoliet, I
see vmlinuz_iso in place of vmlinuz-iso.  Omitting any one of these no*
options makes vmlinuz-iso seen under its original name.

I think the same happens to symlinks - they're part of an unsupported
extension (I think they're part of Rock Ridge).

Summary: we can easily add support for dashes and submit the patch
upstream.  We probably should.  We can't easily add support for symlinks
on ISO filesystems, but it's not terribly important.  Symlinks on ext4fs
(for installed systems) should work.

Alexander

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ