cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joerg Heinicke <joerg.heini...@gmx.de>
Subject Re: NetUtils / StringUtils / Tokenizer
Date Thu, 29 Apr 2004 22:13:37 GMT
On 29.04.2004 23:36, Joerg Heinicke wrote:

> "/../" results in "/../" instead of "/" and I don't know ...

http://www.ietf.org/rfc/rfc2396.txt

5.2. Resolving Relative References to Absolute Form

6) a) All but the last segment of the base URI's path component is
       copied to the buffer.  In other words, any characters after the
       last (right-most) slash character, if any, are excluded.

    b) The reference's path component is appended to the buffer
       string.

    c) All occurrences of "./", where "." is a complete path segment,
       are removed from the buffer string.

    d) If the buffer string ends with "." as a complete path segment,
       that "." is removed.

    e) All occurrences of "<segment>/../", where <segment> is a
       complete path segment not equal to "..", are removed from the
       buffer string.  Removal of these path segments is performed
       iteratively, removing the leftmost matching pattern on each
       iteration, until no matching pattern remains.

    f) If the buffer string ends with "<segment>/..", where <segment>
       is a complete path segment not equal to "..", that
       "<segment>/.." is removed.

    g) If the resulting buffer string still begins with one or more
       complete path segments of "..", then the reference is
       considered to be in error.  Implementations may handle this
       error by retaining these components in the resolved path (i.e.,
       treating them as part of the final URI), by removing them from
       the resolved path (i.e., discarding relative levels above the
       root), or by avoiding traversal of the reference.

    h) The remaining buffer string is the reference URI's new path
       component.

g) means it's an error, but may be handled as /../ or / - 
jakarta.commons.io.FilenameUtils' null in the sense of notifying an 
error is also correct. Hmm ...

Joerg

Mime
View raw message