You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by cm...@apache.org on 2011/01/11 18:52:45 UTC
svn commit: r1057771 - in /subversion/trunk/subversion:
libsvn_subr/dirent_uri.c tests/libsvn_subr/dirent_uri-test.c
Author: cmpilato
Date: Tue Jan 11 17:52:44 2011
New Revision: 1057771
URL: http://svn.apache.org/viewvc?rev=1057771&view=rev
Log:
* subversion/libsvn_subr/dirent_uri.c
(svn_uri_is_canonical): List another requirement of canonicalized
URIs, namely that hex-encoded pairs use uppercase A-F.
* subversion/tests/libsvn_subr/dirent_uri-test.c
(test_uri_is_canonical): Expand test to verify the above requirement.
Modified:
subversion/trunk/subversion/libsvn_subr/dirent_uri.c
subversion/trunk/subversion/tests/libsvn_subr/dirent_uri-test.c
Modified: subversion/trunk/subversion/libsvn_subr/dirent_uri.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/dirent_uri.c?rev=1057771&r1=1057770&r2=1057771&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/dirent_uri.c (original)
+++ subversion/trunk/subversion/libsvn_subr/dirent_uri.c Tue Jan 11 17:52:44 2011
@@ -1819,6 +1819,7 @@ svn_uri_is_canonical(const char *uri, ap
* - no '//'
* - lowercase URL scheme
* - lowercase URL hostname
+ * - uppercase hex-encoded pair digits ("%AB", not "%ab")
*/
if (*uri == '\0')
Modified: subversion/trunk/subversion/tests/libsvn_subr/dirent_uri-test.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/libsvn_subr/dirent_uri-test.c?rev=1057771&r1=1057770&r2=1057771&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/libsvn_subr/dirent_uri-test.c (original)
+++ subversion/trunk/subversion/tests/libsvn_subr/dirent_uri-test.c Tue Jan 11 17:52:44 2011
@@ -1269,6 +1269,9 @@ test_uri_is_canonical(apr_pool_t *pool)
{ "file:///folder/c#", FALSE }, /* # needs escaping */
{ "file:///fld/with space", FALSE }, /* # needs escaping */
{ "file:///fld/c%23", TRUE }, /* Properly escaped C# */
+ { "file:///%DE%AD%BE%EF", TRUE },
+ { "file:///%de%ad%be%ef", FALSE },
+ { "file:///%DE%ad%BE%ef", FALSE },
#ifdef SVN_USE_DOS_PATHS
{ "file:///c:/temp/repos", FALSE },
{ "file:///c:/temp/REPOS", FALSE },