Brad Nicholes wrote:
On 2/10/2006 at 12:59:37 pm, in message

<[EMAIL PROTECTED]>,
"William A. Rowe, Jr." <[EMAIL PROTECTED]> wrote:

Brad Nicholes wrote:

On 2/9/2006 at 5:50:29 pm, in message

<[EMAIL PROTECTED]>,
"William A. Rowe, Jr." <[EMAIL PROTECTED]> wrote:


Brad Nicholes wrote:


This doesn't quite fix it either.  For NetWare the returns are

    ABTS_INT_EQUAL(tc, APR_EINCOMPLETE, rv);
    ABTS_STR_EQUAL(tc, "/", root);

Ok I'm confused :)

APR_EINCOMPLETE is a fatal condition.  Is the path "//foo/bar"

valid?


If so, it's the result that's wrong.

Bill


So according to the logic that I am seeing for both Win32 and Unix,
NetWare is a cross between them.  NetWare does not understand UNC

paths

so returning APR_EINCOMPLETE with "//" would be incorrect.  Also,
returning APR_SUCCESS with "/" would be incorrect as well since a
complete path would require a volume specifier such as "SYS:".  So

I

believe that what it is returning now, APR_EINCOMPLETE with "/" is
correct on NetWare.

Am I missing something?

Yup.  On Win32/OS2, the path '/foo' root is 'c:/' path 'foo'.  The

result

is complete because it was rooted (to currect drive).

With UNC paths, the path '//' is incomplete because we don't know

the

machine and drive.

On Netware, is the path '/foo' sufficiently absolute?  I would think

it is.

No, not really because NetWare doesn't have a good concept of "current
working directory".  IOW, if Apache starts from vol2:/apache2, calling
getcwd() doesn't necessarily get you "vol2:/apache2" back.  Given a path
of "/foo", NetWare will assume "sys:/foo" which isn't necessarily
correct.



Of course you can use 'bar:bash/foo', and 'bar/bash' is not absolute,

while

the 'bar:/foo' or ':bash/foo' syntaxes are probably incomplete.

The incomplete root result implies that the system can't figure out

how to

break apart the path because some information is missing.  You can't,

on any

UNC path, do a directory listing of '//foo/*'.  You can for

'//foo/bar/*'
and
you can for '/bash/*'.

Bil


Bottom line is that neither of the results in the test seem valid on
NetWare.  Returning APR_SUCCESS with a path of "/" seems wrong because
an assumption is being made about what "/" means.  And returning
APR_EINCOMPLETE with a path of "//" seems wrong because the path isn't
incomplete, it is invalid.

Successive slashes are legal (and should be compressed).

But I can see where you are right, if the Netware port doesn't accept the
'/foo' path, then it's wrong (but I thought '/foo' implies local:sys/foo).
So we should special-case this result on Netware.

I'm almost of a mind that since 'machine:vol\path' is the normal syntax, and
we have several platforms which support similar, that we might want to permit
'//machine/vol/path' on Netware as a portable syntax, accepting either <shrug>.

Bill

Reply via email to