You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Stefan Küng <to...@gmail.com> on 2008/04/04 20:35:23 UTC

regression in 1.5 accessing server root

Hi,

I've reported this a few hours ago, but it appears that my mail didn't 
get through. So here goes again, but this time with an actual 
reproduction recipe:

set up apache (only tried with https, not http but it shouldn't make a 
difference), use this location block:

<Location />
	DAV svn
	SVNPath D:/Development/repos/test
	AuthType Basic
	AuthName "Subversion repositories"
	AuthUserFile passwd
	Require valid-user
	#AuthzSVNAccessFile conf/svnaccessfile
</Location>

(my server is running on Vista, svn 1.4.5)

Then, with an 1.4.x client, do
$ svn co https://server/ workingcopy

it will succeed.

But with an 1.5 client, this doesn't work:
$ svn co https://server/ workingcopy
svn: OPTIONS of 'https://server': Could not parse response status line 
(https://server)

Tried both with the 1.5 client from 
http://merge-tracking.open.collab.net/files/documents/147/440/CollabNetSubversion-client-EA-1.5.0-10.win32.exe
and one built myself from the 1.5.x branch about an hour ago.
(and of course with TSVN, just in case you're wondering)


Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net


Re: regression in 1.5 accessing server root

Posted by Stefan Küng <to...@gmail.com>.
Lieven Govaerts wrote:
> Stefan Küng wrote:
>> Lieven Govaerts wrote:
>>> Stefan Küng wrote:
>>>> Hi,
>>>>
>>>> I've reported this a few hours ago, but it appears that my mail 
>>>> didn't get through. So here goes again, but this time with an actual 
>>>> reproduction recipe:
>>>>
>>>> set up apache (only tried with https, not http but it shouldn't make 
>>>> a difference), use this location block:
>>>>
>>>> <Location />
>>>>     DAV svn
>>>>     SVNPath D:/Development/repos/test
>>>>     AuthType Basic
>>>>     AuthName "Subversion repositories"
>>>>     AuthUserFile passwd
>>>>     Require valid-user
>>>>     #AuthzSVNAccessFile conf/svnaccessfile
>>>> </Location>
>>>>
>>>> (my server is running on Vista, svn 1.4.5)
>>>>
>>>> Then, with an 1.4.x client, do
>>>> $ svn co https://server/ workingcopy
>>>>
>>>> it will succeed.
>>>>
>>>> But with an 1.5 client, this doesn't work:
>>>> $ svn co https://server/ workingcopy
>>>> svn: OPTIONS of 'https://server': Could not parse response status 
>>>> line (https://server)
>>>>
>>>> Tried both with the 1.5 client from 
>>>> http://merge-tracking.open.collab.net/files/documents/147/440/CollabNetSubversion-client-EA-1.5.0-10.win32.exe 
>>>>
>>>> and one built myself from the 1.5.x branch about an hour ago.
>>>> (and of course with TSVN, just in case you're wondering)
>>>
>>> I get the same error with a trunk server & client on Linux using 
>>> ra_neon. With ra_serf I even get a segfault.
>>>
>>> Do you mind creating a issue for this Stefan? Milestone 1.5. I will 
>>> look at it later today if possible, but this shouldn't be forgotten.
>>
>> Filed as issue #3167:
>> http://subversion.tigris.org/issues/show_bug.cgi?id=3167
>>
> 
> Thanks for the report Stefan, issue has been fixed in r30373 (ra_neon) 
> and r30375 (ra_serf). Please validate.

Tested your patch with svn.exe and TSVN. I can confirm that the issue is 
fixed.

Thanks a lot for your patch!

Stefan


-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net


Re: regression in 1.5 accessing server root

Posted by Lieven Govaerts <sv...@mobsol.be>.
Stefan Küng wrote:
> Lieven Govaerts wrote:
>> Stefan Küng wrote:
>>> Hi,
>>>
>>> I've reported this a few hours ago, but it appears that my mail 
>>> didn't get through. So here goes again, but this time with an actual 
>>> reproduction recipe:
>>>
>>> set up apache (only tried with https, not http but it shouldn't make 
>>> a difference), use this location block:
>>>
>>> <Location />
>>>     DAV svn
>>>     SVNPath D:/Development/repos/test
>>>     AuthType Basic
>>>     AuthName "Subversion repositories"
>>>     AuthUserFile passwd
>>>     Require valid-user
>>>     #AuthzSVNAccessFile conf/svnaccessfile
>>> </Location>
>>>
>>> (my server is running on Vista, svn 1.4.5)
>>>
>>> Then, with an 1.4.x client, do
>>> $ svn co https://server/ workingcopy
>>>
>>> it will succeed.
>>>
>>> But with an 1.5 client, this doesn't work:
>>> $ svn co https://server/ workingcopy
>>> svn: OPTIONS of 'https://server': Could not parse response status 
>>> line (https://server)
>>>
>>> Tried both with the 1.5 client from 
>>> http://merge-tracking.open.collab.net/files/documents/147/440/CollabNetSubversion-client-EA-1.5.0-10.win32.exe 
>>>
>>> and one built myself from the 1.5.x branch about an hour ago.
>>> (and of course with TSVN, just in case you're wondering)
>>
>> I get the same error with a trunk server & client on Linux using 
>> ra_neon. With ra_serf I even get a segfault.
>>
>> Do you mind creating a issue for this Stefan? Milestone 1.5. I will 
>> look at it later today if possible, but this shouldn't be forgotten.
> 
> Filed as issue #3167:
> http://subversion.tigris.org/issues/show_bug.cgi?id=3167
> 

Thanks for the report Stefan, issue has been fixed in r30373 (ra_neon) 
and r30375 (ra_serf). Please validate.

Lieven


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: regression in 1.5 accessing server root

Posted by Stefan Küng <to...@gmail.com>.
Lieven Govaerts wrote:
> Stefan Küng wrote:
>> Hi,
>>
>> I've reported this a few hours ago, but it appears that my mail didn't 
>> get through. So here goes again, but this time with an actual 
>> reproduction recipe:
>>
>> set up apache (only tried with https, not http but it shouldn't make a 
>> difference), use this location block:
>>
>> <Location />
>>     DAV svn
>>     SVNPath D:/Development/repos/test
>>     AuthType Basic
>>     AuthName "Subversion repositories"
>>     AuthUserFile passwd
>>     Require valid-user
>>     #AuthzSVNAccessFile conf/svnaccessfile
>> </Location>
>>
>> (my server is running on Vista, svn 1.4.5)
>>
>> Then, with an 1.4.x client, do
>> $ svn co https://server/ workingcopy
>>
>> it will succeed.
>>
>> But with an 1.5 client, this doesn't work:
>> $ svn co https://server/ workingcopy
>> svn: OPTIONS of 'https://server': Could not parse response status line 
>> (https://server)
>>
>> Tried both with the 1.5 client from 
>> http://merge-tracking.open.collab.net/files/documents/147/440/CollabNetSubversion-client-EA-1.5.0-10.win32.exe 
>>
>> and one built myself from the 1.5.x branch about an hour ago.
>> (and of course with TSVN, just in case you're wondering)
> 
> I get the same error with a trunk server & client on Linux using 
> ra_neon. With ra_serf I even get a segfault.
> 
> Do you mind creating a issue for this Stefan? Milestone 1.5. I will look 
> at it later today if possible, but this shouldn't be forgotten.

Filed as issue #3167:
http://subversion.tigris.org/issues/show_bug.cgi?id=3167

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net


Re: regression in 1.5 accessing server root

Posted by Lieven Govaerts <sv...@mobsol.be>.
Stefan Küng wrote:
> Hi,
> 
> I've reported this a few hours ago, but it appears that my mail didn't 
> get through. So here goes again, but this time with an actual 
> reproduction recipe:
> 
> set up apache (only tried with https, not http but it shouldn't make a 
> difference), use this location block:
> 
> <Location />
>     DAV svn
>     SVNPath D:/Development/repos/test
>     AuthType Basic
>     AuthName "Subversion repositories"
>     AuthUserFile passwd
>     Require valid-user
>     #AuthzSVNAccessFile conf/svnaccessfile
> </Location>
> 
> (my server is running on Vista, svn 1.4.5)
> 
> Then, with an 1.4.x client, do
> $ svn co https://server/ workingcopy
> 
> it will succeed.
> 
> But with an 1.5 client, this doesn't work:
> $ svn co https://server/ workingcopy
> svn: OPTIONS of 'https://server': Could not parse response status line 
> (https://server)
> 
> Tried both with the 1.5 client from 
> http://merge-tracking.open.collab.net/files/documents/147/440/CollabNetSubversion-client-EA-1.5.0-10.win32.exe 
> 
> and one built myself from the 1.5.x branch about an hour ago.
> (and of course with TSVN, just in case you're wondering)

I get the same error with a trunk server & client on Linux using 
ra_neon. With ra_serf I even get a segfault.

Do you mind creating a issue for this Stefan? Milestone 1.5. I will look 
at it later today if possible, but this shouldn't be forgotten.

Lieven

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: regression in 1.5 accessing server root

Posted by Stefan Küng <to...@gmail.com>.
Erik Huelsmann wrote:
> On Fri, Apr 4, 2008 at 10:35 PM, Stefan Küng <to...@gmail.com> wrote:
>> Hi,
>>
>>  I've reported this a few hours ago, but it appears that my mail didn't get
>> through. So here goes again, but this time with an actual reproduction
>> recipe:
>>
>>  set up apache (only tried with https, not http but it shouldn't make a
>> difference), use this location block:
>>
>>  <Location />
>>         DAV svn
>>         SVNPath D:/Development/repos/test
>>         AuthType Basic
>>         AuthName "Subversion repositories"
>>         AuthUserFile passwd
>>         Require valid-user
>>         #AuthzSVNAccessFile conf/svnaccessfile
>>  </Location>
>>
>>  (my server is running on Vista, svn 1.4.5)
>>
>>  Then, with an 1.4.x client, do
>>  $ svn co https://server/ workingcopy
>>
>>  it will succeed.
>>
>>  But with an 1.5 client, this doesn't work:
>>  $ svn co https://server/ workingcopy
>>  svn: OPTIONS of 'https://server': Could not parse response status line
>> (https://server)
>>
>>  Tried both with the 1.5 client from
>> http://merge-tracking.open.collab.net/files/documents/147/440/CollabNetSubversion-client-EA-1.5.0-10.win32.exe
>>  and one built myself from the 1.5.x branch about an hour ago.
>>  (and of course with TSVN, just in case you're wondering)
> 
> Thanks for the report!
> 
> For any devs looking at this problem, I believe this patch should fix the issue.
> 
> Index: subversion/libsvn_ra_neon/util.c
> ===================================================================
> --- subversion/libsvn_ra_neon/util.c    (revision 30292)
> +++ subversion/libsvn_ra_neon/util.c    (working copy)
> @@ -369,7 +369,8 @@
>    req->pool = reqpool;
>    req->iterpool = svn_pool_create(req->pool);
>    req->method = apr_pstrdup(req->pool, method);
> -  req->url = apr_pstrdup(req->pool, url);
> +  req->url = /* If the URL is "", add the root slash */
> +    (*url) ? apr_pstrdup(req->pool, url) : "/";
>    req->rv = -1;
> 
>    /* Neon resources may be NULL on out-of-memory */
> 
> 
> Unfortunately, since I didn't test it, I can't commit it, but it
> should be giving someone a head start.

Just compiled svn.exe with this patch.
Unfortunately, this doesn't fix the issue. I still get the same error.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net


Re: regression in 1.5 accessing server root

Posted by Erik Huelsmann <eh...@gmail.com>.
On Fri, Apr 4, 2008 at 10:35 PM, Stefan Küng <to...@gmail.com> wrote:
> Hi,
>
>  I've reported this a few hours ago, but it appears that my mail didn't get
> through. So here goes again, but this time with an actual reproduction
> recipe:
>
>  set up apache (only tried with https, not http but it shouldn't make a
> difference), use this location block:
>
>  <Location />
>         DAV svn
>         SVNPath D:/Development/repos/test
>         AuthType Basic
>         AuthName "Subversion repositories"
>         AuthUserFile passwd
>         Require valid-user
>         #AuthzSVNAccessFile conf/svnaccessfile
>  </Location>
>
>  (my server is running on Vista, svn 1.4.5)
>
>  Then, with an 1.4.x client, do
>  $ svn co https://server/ workingcopy
>
>  it will succeed.
>
>  But with an 1.5 client, this doesn't work:
>  $ svn co https://server/ workingcopy
>  svn: OPTIONS of 'https://server': Could not parse response status line
> (https://server)
>
>  Tried both with the 1.5 client from
> http://merge-tracking.open.collab.net/files/documents/147/440/CollabNetSubversion-client-EA-1.5.0-10.win32.exe
>  and one built myself from the 1.5.x branch about an hour ago.
>  (and of course with TSVN, just in case you're wondering)

Thanks for the report!

For any devs looking at this problem, I believe this patch should fix the issue.

Index: subversion/libsvn_ra_neon/util.c
===================================================================
--- subversion/libsvn_ra_neon/util.c    (revision 30292)
+++ subversion/libsvn_ra_neon/util.c    (working copy)
@@ -369,7 +369,8 @@
   req->pool = reqpool;
   req->iterpool = svn_pool_create(req->pool);
   req->method = apr_pstrdup(req->pool, method);
-  req->url = apr_pstrdup(req->pool, url);
+  req->url = /* If the URL is "", add the root slash */
+    (*url) ? apr_pstrdup(req->pool, url) : "/";
   req->rv = -1;

   /* Neon resources may be NULL on out-of-memory */


Unfortunately, since I didn't test it, I can't commit it, but it
should be giving someone a head start.

Bye,

Erik.