[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: New canonicalization functions [was: Subversion Exception!]

From: Julian Foad <julianfoad_at_apache.org>
Date: Fri, 14 Dec 2018 17:14:05 +0000

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;
  * upper/lower case inconsistencies in URIs

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.

> * the 'relpath' one is not needed because, AFAIK, it's possible to canonicalize any
> relpath and we already do;

Maybe that will no longer be true if we decide to disallow some characters (control characters) and/or check for valid UTF-8 in the future.

-- 
- Julian

Received on 2018-12-14 18:14:18 CET

This is an archived mail posted to the Subversion Dev mailing list.