[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: Wed, 24 May 2017 19:59:59 +0200

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)
Received on 2017-05-24 20:00:05 CEST

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