The following reply was made to PR os-unixware/1357; it has been noted by GNATS.
From: Dean Gaudet <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Cc: Subject: Re: os-unixware/1357: Server incorrectly interprets whether file
is a symlink. (fwd)
Date: Sat, 7 Feb 1998 04:17:42 -0800 (PST)
---------- Forwarded message ----------
To: Dean Gaudet <[EMAIL PROTECTED]>
Subject: Re: os-unixware/1357: Server incorrectly interprets whether file is a
symlink. (fwd)
From: Tom Hughes <[EMAIL PROTECTED]>
Date: 22 Jan 1998 08:43:12 +0000
Lines: 46
In article <[EMAIL PROTECTED]>, Dean Gaudet <[EMAIL PROTECTED]> writes:
> I wonder if you could do us a favour and help us with this PR? Since you
> seem to be familiar with unixware I thought I'd give you a try :)
I'm happy to try and help but I will admit to being a bit baffled by it
at the moment...
It is true that sys/stat.h on Unixware 2 is a little odd as it sometimes
causes little static functions to be included as veneers. In fact lstat
is one of these cases when _POSIX_SOURCE is defined. Specifically,
without it you get this:
#define lstat(p,b) _lxstat(_STAT_VER, p, b)
and with it you get this:
static int
lstat(const char *path, struct stat *buf)
{
int ret;
ret = _lxstat(_STAT_VER, path, buf);
return ret;
}
Those look like they should be equivalent to me though so I don't
understand why they are both there unless POSIX requires lstat() to be a
real function perhaps? Besides which it still doesn't explain the bug or
why the server should look at the wrong part of the struct...
What we really need is a test case - a file whose attributes are such
that it is misidentified as a link.
> If you want to see the current state of 1.3b4-dev with your patch applied
> you'll be able to grab it in a few hours from
> <ftp://dev.apache.org/httpd/from-cvs/>.
I'll grab a copy tonight and see what I make of it tomorrow.
Tom
--
Tom Hughes : [EMAIL PROTECTED] : [EMAIL PROTECTED]
Software Engineer, Cyberscience Corporation
Rawdon House, High Street, Hoddesdon, Hertfordshire EN11 8BD
... Logic is the art of going wrong with confidence