Ivan Zhakov <i...@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.


Regards,
Evgeny Kotkov

Reply via email to