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

Re: JavaHL: redirect cycle detected for non-cyclic redirects

From: Branko Čibej <brane_at_apache.org>
Date: Mon, 29 May 2017 14:57:02 +0200

On 29.05.2017 10:31, Marc Strapetz wrote:
> On 24.05.2017 19:59, Branko Čibej wrote:
>> On 24.05.2017 19:37, Branko Čibej wrote:
>>> On 24.05.2017 12:19, Marc Strapetz wrote:
>>>> I have following Apache virtual host configuration which contains a
>>>> redirect:
>>>>
>>>> RedirectMatch 301 ^/svntest/(.*)$ /svntests/$1
>>>>
>>>> <Location /svntests>
>>>> DAV svn
>>>> SVNParentPath /misc/svntests
>>>> ...
>>>> </Location>
>>>>
>>>> When trying to access a redirected repository from command line, this
>>>> works fine:
>>>>
>>>> $ svn ls https://host/svntest/test1
>>>> Redirecting to URL 'https://host/svntests/test1':
>>>> project1/
>>>>
>>>> When trying to access using JavaHL, a "Redirect cycle detected for
>>>> URL" SubversionException is thrown. Code snippet:
>>>>
>>>> RemoteFactory remoteFactory = new RemoteFactory();
>>>> remoteFactory.openRemoteSession("https://host/svntest/test1", 100);
>>>>
>>>> As the definition is not cyclic and retryAttempts=100 should be
>>>> sufficient, it looks like there is a JavaHL problem related to
>>>> redirects?
>>> Could be a bug in the redirect detection logic in JavaHL. I'll take
>>> a look.
>>
>> Can you try this patch, please?
>>
>> Index: subversion/bindings/javahl/native/RemoteSession.cpp
>> ===================================================================
>> --- subversion/bindings/javahl/native/RemoteSession.cpp (revision
>> 1796083)
>> +++ subversion/bindings/javahl/native/RemoteSession.cpp (working
>> copy)
>> @@ -214,8 +214,9 @@ RemoteSession::RemoteSession(int retryAttempts,
>> cycle_detected = true;
>> break;
>> }
>> - /* ### Shouldn't url be updated for the next attempt?
>> - ### There is no real cycle if we just do the same thing
>> twice? */
>> +
>> + url = corrected_url;
>> + corrected_url = NULL;
>> }
>>
>> if (cycle_detected)
>
> Thanks, Brane! We have applied the patch to 1.9.x branch and I can
> confirm that it's working.

Great, thanks for checking.

> Will it be possible to backport the patch to 1.9.x branch in the
> Subversion repository, too?

Yes, since there's no API change, just an implementation bug fix.

-- Brane
Received on 2017-05-29 14:57:08 CEST

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