You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Philip Martin <ph...@codematters.co.uk> on 2005/08/11 20:20:42 UTC

Re: 1.2.2 is not ready

Branko Čibej <br...@xbc.nu> writes:

> With write access to the tsvn repo, I can confirm this -- both 1.2.2
> and trunk.
>
> Stefan, thanks, you can revoke my write access now.

I appear to have (write?) access, and yes I also get a crash.

I don't get a crash when I try to reproduce the problem against a
local 1.1.4 server.

-- 
Philip Martin

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


Re: 1.2.2 is not ready

Posted by Daniel Rall <dl...@finemaltcoding.com>.
On Thu, 11 Aug 2005, Philip Martin wrote:

> Branko ?ibej <br...@xbc.nu> writes:
... 
> tigris.org claims to be running httpd 2.0.50 with mod_dav_svn 1.1.1,
> my local server is Debian's httpd 2.0.54-4 with mod_dav_svn 1.1.4-2.

It is what it claims to be, with a small patch to httpd's mod_headers,
and some bug fix patches to subversion (from 1.1.2+).

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

Re: 1.2.2 is not ready

Posted by Philip Martin <ph...@codematters.co.uk>.
Branko Čibej <br...@xbc.nu> writes:

> Philip Martin wrote:
>>
>>I don't get a crash when I try to reproduce the problem against a
>>local 1.1.4 server.
>>
> I didn't get a crash when I tested against a local server, either, but
> then I probably have a newer httpd than the one that's running on
> tigris.org. That could make a difference.

I suppose it could be mod_dav_svn or httpd.

tigris.org claims to be running httpd 2.0.50 with mod_dav_svn 1.1.1,
my local server is Debian's httpd 2.0.54-4 with mod_dav_svn 1.1.4-2.

-- 
Philip Martin

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


Re: 1.2.2 is not ready

Posted by Branko Čibej <br...@xbc.nu>.
Philip Martin wrote:

>Branko Čibej <br...@xbc.nu> writes:
>
>  
>
>>With write access to the tsvn repo, I can confirm this -- both 1.2.2
>>and trunk.
>>
>>Stefan, thanks, you can revoke my write access now.
>>    
>>
>
>I appear to have (write?) access, and yes I also get a crash.
>
>I don't get a crash when I try to reproduce the problem against a
>local 1.1.4 server.
>  
>
I didn't get a crash when I tested against a local server, either, but 
then I probably have a newer httpd than the one that's running on 
tigris.org. That could make a difference.

-- Brane


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

Re: [PATCH] storing auth after auth failure

Posted by Branko Čibej <br...@xbc.nu>.
Philip Martin wrote:

>Branko Čibej <br...@xbc.nu> writes:
>
>  
>
>>>-  if (! state)
>>>+  if (! state || state->table->providers->nelts == state->provider_idx)
>>>    return SVN_NO_ERROR;
>>>
>>>
>>>      
>>>
>>I think we should go ahead and store the auth info anyway, as I do in
>>my patch.
>>    
>>
>
>Hmm, as far as I can see your patch doesn't store the auth info
>either.  I don't mind which patch you commit as I think they have the
>same effect :)
>  
>
Your patch makes save_creds bail out if the initial provider index is 
out of range. My patch just skips the initial creds save with the 
"default" provider, but still goes through the loop -- which, 
presumably, will save the authn info.

Maybe we can toss a coin to decide which patch goes in. :)

-- Brane


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

Re: [PATCH] storing auth after auth failure

Posted by Philip Martin <ph...@codematters.co.uk>.
Branko Čibej <br...@xbc.nu> writes:

>>-  if (! state)
>>+  if (! state || state->table->providers->nelts == state->provider_idx)
>>     return SVN_NO_ERROR;
>>
>>
> I think we should go ahead and store the auth info anyway, as I do in
> my patch.

Hmm, as far as I can see your patch doesn't store the auth info
either.  I don't mind which patch you commit as I think they have the
same effect :)

-- 
Philip Martin

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


Re: [PATCH] storing auth after auth failure

Posted by Branko Čibej <br...@xbc.nu>.
Philip Martin wrote:

>Philip Martin <ph...@codematters.co.uk> writes:
>
>  
>
>>Branko Čibej <br...@xbc.nu> writes:
>>
>>    
>>
>>>With write access to the tsvn repo, I can confirm this -- both 1.2.2
>>>and trunk.
>>>
>>>Stefan, thanks, you can revoke my write access now.
>>>      
>>>
>>I appear to have (write?) access, and yes I also get a crash.
>>    
>>
>
>I stepped through trunk client aginst tsvn server:
>  
>
[...]

Well! Beat me by 8 minutes. :)

>-  if (! state)
>+  if (! state || state->table->providers->nelts == state->provider_idx)
>     return SVN_NO_ERROR;
>  
>
I think we should go ahead and store the auth info anyway, as I do in my 
patch. What we're seeing here is a server bug that we can't really 
detect and work around in the client.

-- Brane


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

[PATCH] storing auth after auth failure

Posted by Philip Martin <ph...@codematters.co.uk>.
Philip Martin <ph...@codematters.co.uk> writes:

> Branko Čibej <br...@xbc.nu> writes:
>
>> With write access to the tsvn repo, I can confirm this -- both 1.2.2
>> and trunk.
>>
>> Stefan, thanks, you can revoke my write access now.
>
> I appear to have (write?) access, and yes I also get a crash.

I stepped through trunk client aginst tsvn server:

  a) the client calls svn_ra_dav__lock

  b) svn_ra_dav__lock calls shim_svn_ra_dav__lock

  c) shim_svn_ra_dav__lock calls svn_ra_dav__get_baseline_info which
     prompts for auth and succeeds

  d) shim_svn_ra_dav__lock calls ne_lock which prompts for auth three
     times, the first prompt is for a password, the second and third
     prompts are for both username and password.

  e) the ne_lock call fails and returns 1 (or NE_ERROR)

  f) shim_svn_ra_dav__lock calls svn_ra_dav__convert_error which
     creates an SVN_ERR_RA_DAV_REQUEST_FAILED error

  g) shim_svn_ra_dav__lock returns to svn_ra_dav__lock

  h) svn_ra_dav__lock
     calls
     svn_ra_dav__maybe_store_auth_info_after_result
     which calls
     svn_ra_dav__maybe_store_auth_info
     which calls
     svn_auth_save_credentials

  i) svn_auth_save_credentials retieves a NULL provider and then SEGVs
     accessing provider->vtable->save_credentials

I don't really understand the auth stuff, but I think the fact that
(d) prompts three times indicates that the auth is failing.  It seems
that there are two things that could be considered bugs:

   1) the ra_dav code does not recognise the error as an auth failure
      because ne_lock returns NE_ERROR rather than NE_AUTH (I'm using
      neon 0.24.7)

   2) the auth code crashes when asked to store auth after an auth
      failure

I don't know whether, or how, we should fix (1) but I can fix (2)
using this:

Index: subversion/libsvn_subr/auth.c
===================================================================
--- subversion/libsvn_subr/auth.c	(revision 15679)
+++ subversion/libsvn_subr/auth.c	(working copy)
@@ -297,7 +297,7 @@
   svn_auth_baton_t *auth_baton;
   void *creds;
 
-  if (! state)
+  if (! state || state->table->providers->nelts == state->provider_idx)
     return SVN_NO_ERROR;
 
   auth_baton = state->auth_baton;

and then the client gives me

$ svn lock wc/Doxyfile --username guest
...
svn: Lock request failed: 401 Authorization Required (http://tortoisesvn.tigris.org)

I don't know whether it's sensible to silently do nothing when storing
auth after an auth failure, perhaps an error should be returned.

-- 
Philip Martin

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


Re: 1.2.2 is not ready

Posted by Mark Phippard <Ma...@softlanding.com>.
SteveKing <st...@gmx.ch> wrote on 08/11/2005 04:36:27 PM:

> Mark Phippard wrote:
> 
> >>I appear to have (write?) access, and yes I also get a crash.
> >>
> >>I don't get a crash when I try to reproduce the problem against a
> >>local 1.1.4 server.
> > 
> > 
> > I do not think write access has anything to do with it.  I used 
> > credentials of guest/guest against TSVN repos and I got the crash.
> 
> Maybe not write access, but you must have your auth data cached on disk 
> to make it crash.

Correct.  When I did the svn co I gave it guest/guest for credentials and 
let it cache it.

As you are well aware, the tigris.org repositories require credentials 
even for reading.

Mark

_____________________________________________________________________________
Scanned for SoftLanding Systems, Inc. by IBM Email Security Management Services powered by MessageLabs. 
_____________________________________________________________________________

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

Re: 1.2.2 is not ready

Posted by SteveKing <st...@gmx.ch>.
Mark Phippard wrote:

>>I appear to have (write?) access, and yes I also get a crash.
>>
>>I don't get a crash when I try to reproduce the problem against a
>>local 1.1.4 server.
> 
> 
> I do not think write access has anything to do with it.  I used 
> credentials of guest/guest against TSVN repos and I got the crash.

Maybe not write access, but you must have your auth data cached on disk 
to make it crash.

But since other people now can reproduce the crash, I don't think that 
my build is broken anymore ;)

Stefan

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

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

Re: 1.2.2 is not ready

Posted by Mark Phippard <Ma...@softlanding.com>.
Philip Martin <ph...@codematters.co.uk> wrote on 08/11/2005 04:20:42 PM:

> Branko Čibej <br...@xbc.nu> writes:
> 
> > With write access to the tsvn repo, I can confirm this -- both 1.2.2
> > and trunk.
> >
> > Stefan, thanks, you can revoke my write access now.
> 
> I appear to have (write?) access, and yes I also get a crash.
> 
> I don't get a crash when I try to reproduce the problem against a
> local 1.1.4 server.

I do not think write access has anything to do with it.  I used 
credentials of guest/guest against TSVN repos and I got the crash.

Mark


_____________________________________________________________________________
Scanned for SoftLanding Systems, Inc. by IBM Email Security Management Services powered by MessageLabs. 
_____________________________________________________________________________

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