Stefan Sperling <stsp_at_elego.de> writes:
> I'm not really happy with this, but I found no better way to do it.
> This is a hack to deal with a rare corner case.
>
> Pools are reused per RA session, and all the RA callbacks are called
> per RA session. This means that when users pass the same URL twice,
> like this:
>
> svn ls svn://example.com svn://example.com
>
> svn_auth_save_credentials is called twice, because two RA sessions
> are opened. Since this function may end up prompting the user about
> storing plaintext passwords, we can either have the user answer the same
> prompt twice (quite silly), or expand the life time of the pool passed
> to svn_auth_save_credentials so we can reuse the answer given during the
> first RA session for the second one. Not passing a pool with extended
> lifetime and naively trying to use it across RA sessions anyway is what
> was causing the crash mentioned in the log message.
>
> [...]
>
> So I sneaked in this bit:
>
> [...]
>
> I hope this is acceptable?
As long as public doc strings also say it. Should the doc string for
svn_auth_save_credentials() also mention it, therefore?
I think your solution is actually fine, by the way. Part of what's
useful about pools is that they indicate operation scope/lifetime. IOW,
your solution is a feature, not a bug :-).
-K
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-04-28 22:11:36 CEST