On Thu, Feb 25, 2010 at 12:11 AM, Bert Huijben <bert_at_qqmail.nl> wrote:
>
>
>> -----Original Message-----
>> From: lieven.govaerts_at_gmail.com [mailto:lieven.govaerts_at_gmail.com] On
>> Behalf Of Lieven Govaerts
>> Sent: woensdag 24 februari 2010 23:39
>> To: C. Michael Pilato
>> Cc: Subversion Development
>> Subject: Re: bug report: ra_serf gets PROPFIND failure on certain non-
>> ASCII paths
>
>
>> These paths are canonicalized before being used, but
>> svn_uri_canonicalize doesn't touch the encoded characters. Maybe it
>> should just convert those letters to lowercase? I don't really see a
>> better fix.
>
> svn_uri_canonicalize is still used for more than urls/uris, so it doesn't handle any encoding itself.
>
> But besides that, I also think this is not the right way to fix this. For several characters in uris it is optional if they are escaped or not. We need a better fix than just fixing the casing of the escaped characters...
>
> Unescaping the paths would be an option that resolves it in the generic case, or unescape followed by a specific standard escaping. (This last method is used in some class libraries to avoid similar issues, but to provide a useful uri anyway)
Attached patch fixes the problem. Better suggestions are welcome, I'll
commit tonight.
Lieven
[[[
ra_serf: Fix support for international characters in paths.
Found by: cmpilato
* subversion/libsvn_ra_serf/property.c
(end_propfind): Replace call to svn_uri_canonicalize with a call to
svn_ra_serf__uri_to_internal.
* subversion/libsvn_ra_serf/merge.c
(end_merge): Here too.
* subversion/libsvn_ra_serf/ra_serf.h
(svn_ra_serf__uri_to_internal): New function declaration.
* subversion/libsvn_ra_serf/util.c
(svn_ra_serf__uri_to_internal): New function definition.
]]]
Received on 2010-02-25 12:37:39 CET