subversion-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Branko ─îibej <br...@apache.org>
Subject Re: New canonicalization functions [was: Subversion Exception!]
Date Fri, 14 Dec 2018 18:05:13 GMT
On Fri, 14 Dec 2018, 18:14 Julian Foad <julianfoad@apache.org wrote:

> Julian Foad wrote:
> > Are you willing to add random-input testing for them?
>
> The attached patch 'dirent-uri-test-random-2.patch' tests rules like:
>
>   * every result should pass an X_is_canonical() test (obvious by code
> inspection);
>   * every other input should produce SVN_ERR_CANONICALIZATION_FAILED;
>   * when a path is "canonical", it should be unchanged by "canonicalize".
>
> Some findings:
>
>   * svn_uri_canonicalize_safe("") aborts;
>   * svn_uri_canonicalize_safe("/foo") aborts;
>


We can fix this in the private "canonicalize()" function that all these
eventually call. As before, I didn't have time to unknit the internal
implementation.


  * upper/lower case inconsistencies in URIs
>



What inconsistencies? A canonical URI has the scheme and host name in
lowercase, but the path, query, fragment and user info parts are
case-sensitive.



> I previously also found upper/lower case inconsistencies in dirent drive
> letters, when running these tests with "#define SVN_USE_DOS_PATHS" set in
> dirent_uri.c, but am right now failing to replicate that.
>


Similarly, I think we (or APR?) make drive letters lowercase.


-- Brane

Mime
View raw message