httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brad Nicholes" <BNICHO...@novell.com>
Subject Re: Netware 1.3.15 canonical names
Date Thu, 02 Nov 2000 15:58:31 GMT
     I don't think so.  NetWare doesn't care about whether you have a '/' or '\' in the path.
 You can even mix them.  Basically all I need is to make sure that the path including the
direction of the slashes matches what was specified by the user.  I think if I start messing
with the slashes and assuming a direction, the comparison will fail.  I will look into some
more to make sure that I am correct.

>>> "William A. Rowe, Jr." <wrowe@rowe-clan.net> Wednesday, November 01, 2000
9:08:28 PM >>>
Brad (or other Netware Users),

  I was reviewing the state of things

== snip == src/os/netware/os.c ==

char *bslash2slash(char* str)
{
    int i, len = strlen(str);    
  
    for (i=0; i<len; i++) {
        if (str[i] == '\\') {
            str[i] = '/';
            break;
        }
    }
    return str;
}

void init_name_space()
{
    UnAugmentAsterisk(TRUE);
    SetCurrentNameSpace(NW_NS_LONG);
    SetTargetNameSpace(NW_NS_LONG);
}

/*  Perform complete canonicalization.  On NetWare we are just
	lower casing the file name so that the comparisons will match.
	NetWare assumes that all physical paths are fully qualified.  
	Each file path must include a volume name.
 */
char *ap_os_canonical_filename(pool *pPool, const char *szFile)
{
    char *pNewName;
    
    pNewName = ap_pstrdup(pPool, szFile);
    strlwr(pNewName);
    return pNewName;
}

== end snip ==

Don't you mean to call bslash2slash in ap_os_canonical_filename to
assure that the path is clean when comparing for security?


Mime
View raw message