On Thu, Jun 09, 2011 at 07:56:47PM +0200, Stefan Küng wrote:
> Hi,
>
> The callback for client certs currently has the following format:
> svn_error_t* callback(svn_auth_cred_ssl_client_cert_t **cred, void
> *baton, const char * realm, svn_boolean_t /*may_save*/, apr_pool_t
> *pool);
>
> As you can see, the callback expects a path to a file.
>
> Would it be possible to extend that callback so that not a file but
> the *content* of that cert file can be passed back? Maybe with two
> more parameters, one the pointer to the data and the second the
> length of the data in bytes.
>
> The reason I would like this extension is that I can get the client
> certificates from the Windows cert store, but there I get the
> certificates in memory only. So now I have to save that memory cert
> first to a file so I can pass it back in the callback.
>
> Thoughts?
The API would need to be rev'd of course so this would be for 1.7 only.
Maybe change svn_auth_cred_ssl_client_cert_t to contain an svn_stream_t
instead of a file name? That would solve both use cases.
TSVN could create a stream to wrap the buffer, and existing callers
(and the compat code) would wrap the file in a stream.
Received on 2011-06-09 20:50:58 CEST