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

Re: Merge ra-reuse-session branch to trunk or not?

From: Ivan Zhakov <ivan_at_visualsvn.com>
Date: Sat, 19 Sep 2015 21:04:06 +0200

On 19 September 2015 at 19:49, Evgeny Kotkov
<evgeny.kotkov_at_visualsvn.com> wrote:
> Ivan Zhakov <ivan_at_visualsvn.com> writes:
>
>> Otherwise, here are my ideas at the moment:
>> 1. Add svn_client_ctx2_t with svn_client_context_create3() that's
>> accept AUTH_BATON as parameter. This will require revv all
>> svn_client_*() functions to create new svn_client_ctx2_t() on every
>> invocation of deprecated function.
>>
>> 2. Add svn_ra_set_auth_baton() function to change AUTH_BATON in
>> existing RA session. But in this case RA session implementation should
>> re-authenticate after every reuse because new AUTH_BATON may have
>> different credentials.
>>
>> 3. Revert r1704048 and wait until next hackathon for better ideas :)
>
> As a random idea:
>
> 4. Make each svn_auth_baton_t have a unique ID generated upon creation with
> svn_auth_open(). Place this ID alongside with the baton in the RA session
> pool. Open a new RA session in case the baton's ID does not match the ID
> within the cached session — i.e., do not try to reuse the session if the
> auth baton IDs do not match.
>
I've tried this idea and it seems to solve problem with AUTH_BATON,
but then I got similar problem with OPEN_TUNNEL_FUNC callbacks: JavaHL
implementation is not ready that tunnel created but JavaHL implemented
callback assumes that created tunnel will not be used after
svn_client_*() call complete.

Given all these problems I'm inclined to revert r1704048 and continue
fixing this problems in branch to keep trunk in stable state. It's
very unlikely that I will be able to solve these problems in next few
weeks.

-- 
Ivan Zhakov
Received on 2015-09-19 21:04:50 CEST

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