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

RE: New svn_auth_cleanup_walk() API.

From: Bert Huijben <rhuijben_at_collab.net>
Date: Wed, 20 Mar 2013 21:34:10 +0000

> -----Original Message-----
> From: C. Michael Pilato [mailto:cmpilato_at_collab.net]
> Sent: woensdag 20 maart 2013 12:14
> To: Bert Huijben
> Cc: Subversion Development
> Subject: New svn_auth_cleanup_walk() API.
>
> Bert,
>
> I have some questions about the new svn_auth_cleanup_walk() API you
> introduced in trunk.
>
> First, I see that the function drives a new cleanup callback function. That
> functions has parameters named 'cred_kind' and 'provider'. Now, my
> understanding is that 'cred_kind' is one of the credential type string
> identifies we use through the svn_auth code -- "svn.simple",
> "svn.username",
> etc. 'provider', I think, is going to name one of our third-party storage
> providers -- "gnome_keyring", "keychain", "windows", etc.
>
> When I read the implementation of this function -- and specifically the
> svn_auth__simple_cleanup_walk() function that really does all the work -- I
> see this cleanup callback called with a cred_kind argument but with the
> provider always as SVN_AUTH_CRED_SIMPLE -- which is a cred_kind value!

I think our file provider uses the same name as the credential type. Not 100% sure though.
(Should be easy to debug with the auth-tests.c file)

> Another question: it appears that we disallow cleanup of creds when
> 'no-auth-cache' is set. I should think that's one of the key times when a
> user would *want* to clean out existing cached authn creds. But maybe I'm
> missing something here.

When there is no auth cache the auth baton doesn't contain the path to where the credentials are stored, so it will be kind of hard to delete them...
We can't iterate over them if we don't have the location. We could only delete the last credentials stored in ram.

This should be specific to the file based implementations though.
We could still iterate gnome and keyring if somebody adds the implementation, but I'm not sure if we hook these providers if we say that we don't want to use the cache. (On Windows there are just no caching providers in that case)

        Bert
Received on 2013-03-21 07:20:40 CET

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