/etc/passwd and symlinks
Paul Fox
pgf at brightstareng.com
Wed Nov 7 17:02:30 PST 2007
> >
> > readlink() (and also xmalloc_readlink()) simply returns the value
> > of the named symlink.
>
> I did understand this difference.
>
> > (which makes the switch from realpath()
> > to xmalloc_readlink() somewhat suspicious, by the way.)
>
> ?
sorry - i left out a word: it makes the switch from realpath()
to xmalloc_readlink() in insmod.c somewhat suspicious, because
the variable being assigned to is "absolute_filename". i didn't
look closely to see if it mattered.
>
> > i've written xmalloc_readlink_follow(char *path) which iteratively
> > does textual expansion of path, expanding symlinks at the tail end
> > of path. no other canonicalization is done, and the result is not
> > necessarily absolute. this is the minimum needed for my "allow
> > /etc/passwd to be a symlink" change, and it's probably useful for
> > most of the other current uses of xmalloc_readlink().
>
> Yes. Feel free to fix syslogd's use of xmalloc_readlink() too
> (currently it will break if /dev/log is a link to link).
okay. i'll commit my current changes, and then propose a separate
patch to the list in case someone recognizes a case where full symlink
expansion isn't right (unlikely, i suppose).
paul
=---------------------
paul fox, pgf at brightstareng.com
More information about the busybox
mailing list