[OTR-dev] Re: Requirements for libotr4
Uli M
a.sporto+bee at gmail.com
Tue Jul 8 07:47:51 EDT 2008
On 2008-07-06, Ian Goldberg <ian at cypherpunks.ca> wrote:
> On Sat, Jun 21, 2008 at 10:52:05AM -0400, Ian Goldberg wrote:
>> With the specified division of threads, the callbacks are now
>> unnecessary.
>
> I've checked in the support for background privkey generation. Here are the
> new functions in privkey.h.
>
> Uli, does this do what you want?
>
> - Ian
>
> /* Begin a private key generation that will potentially take place in
> * a background thread. This routine must be called from the main
> * thread. It will set *newkeyp, which you can pass to
> * otrl_privkey_generate_calculate in a background thread. If it
> * returns gcry_error(GPG_ERR_EEXIST), then a privkey creation for
> * this accountname/protocol is already in progress, and *newkeyp will
> * be set to NULL. */
> gcry_error_t otrl_privkey_generate_start(OtrlUserState us,
> const char *accountname, const char *protocol, void **newkeyp);
>
> /* Do the private key generation calculation. You may call this from a
> * background thread. When it completes, call
> * otrl_privkey_generate_finish from the _main_ thread. */
> gcry_error_t otrl_privkey_generate_calculate(void *newkey);
>
> /* Call this from the main thread only. It will write the newly created
> * private key into the given file and store it in the OtrlUserState. */
> gcry_error_t otrl_privkey_generate_finish(OtrlUserState us,
> void *newkey, const char *filename);
>
> /* Call this from the main thread only. It will write the newly created
> * private key into the given FILE* (which must be open for reading and
> * writing) and store it in the OtrlUserState. */
> gcry_error_t otrl_privkey_generate_finish_FILEp(OtrlUserState us,
> void *newkey, FILE *privf);
More information about the OTR-dev
mailing list