BUG: Wide Links - does not work as documented
jjaakkol at cs.helsinki.fi
Thu Apr 13 18:53:35 GMT 2000
On Thu, 13 Apr 2000, Jeremy Allison wrote:
> Not at all portable I'm afraid.
Right. So for systems which do not have O_NOFOLLOW:
1. lstat() the filename. If it is a symlink, return failure
2. open the file (without O_NOFOLLOW)
3. fstat() the filedescriptor returned by open.
4. If the fstat() and lstat() did not agree (they did not point to same
inode), we had a race condition situation. Close the
already opened file and return failure.
That will be a lot of syscalls and complexity for a simple thing. Symlinks
and security don't mix well :(
Does anybody know a better way to do the same thing?
Is there anybody else besides me, who would need a feature like this?
More information about the samba-technical