From: Marcus Brinkmann Date: Thu, 22 Nov 2001 15:22:27 +0000 (+0000) Subject: 2001-11-22 Marcus Brinkmann X-Git-Tag: gpgme-1.2.0@1385~1249 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=7866a4ced110ba15a463e92b4baf50e438a928fe;p=gpgme.git 2001-11-22 Marcus Brinkmann * engine-gpgsm.c (_gpgme_gpgsm_op_decrypt): New function. (_gpgme_gpgsm_op_import): Likewise. --- diff --git a/trunk/gpgme/ChangeLog b/trunk/gpgme/ChangeLog index 97098b0..419eda8 100644 --- a/trunk/gpgme/ChangeLog +++ b/trunk/gpgme/ChangeLog @@ -1,3 +1,8 @@ +2001-11-22 Marcus Brinkmann + + * engine-gpgsm.c (_gpgme_gpgsm_op_decrypt): New function. + (_gpgme_gpgsm_op_import): Likewise. + 2001-11-22 Marcus Brinkmann * engine-gpgsm.c: Shuffle around header inclusion a bit, to still diff --git a/trunk/gpgme/engine-gpgsm.c b/trunk/gpgme/engine-gpgsm.c index 0b09f18..fcdb667 100644 --- a/trunk/gpgme/engine-gpgsm.c +++ b/trunk/gpgme/engine-gpgsm.c @@ -206,6 +206,50 @@ gpgsm_set_fd (ASSUAN_CONTEXT ctx, const char *which, int fd) return ASSUAN_General_Error; } +GpgmeError +_gpgme_gpgsm_op_decrypt (GpgsmObject gpgsm, GpgmeData ciph, GpgmeData plain) +{ + AssuanError err; + + if (!gpgsm) + return mk_error (Invalid_Value); + + gpgsm->input_data = ciph; + err = gpgsm_set_fd (gpgsm->assuan_ctx, "INPUT", gpgsm->input_fd_server); + if (err) + return mk_error (General_Error); /* FIXME */ + gpgsm->output_data = plain; + err = gpgsm_set_fd (gpgsm->assuan_ctx, "OUTPUT", gpgsm->output_fd_server); + if (err) + return mk_error (General_Error); /* FIXME */ + _gpgme_io_close (gpgsm->message_fd); + gpgsm->message_fd = -1; + + gpgsm->command = "DECRYPT"; + return 0; +} + +GpgmeError +_gpgme_gpgsm_op_import (GpgsmObject gpgsm, GpgmeData keydata) +{ + AssuanError err; + + if (!gpgsm) + return mk_error (Invalid_Value); + + gpgsm->input_data = keydata; + err = gpgsm_set_fd (gpgsm->assuan_ctx, "INPUT", gpgsm->input_fd_server); + if (err) + return mk_error (General_Error); /* FIXME */ + _gpgme_io_close (gpgsm->output_fd); + gpgsm->output_fd = -1; + _gpgme_io_close (gpgsm->message_fd); + gpgsm->message_fd = -1; + + gpgsm->command = "DECRYPT"; + return 0; +} + GpgmeError _gpgme_gpgsm_op_verify (GpgsmObject gpgsm, GpgmeData sig, GpgmeData text) { @@ -347,7 +391,19 @@ _gpgme_gpgsm_set_status_handler (GpgsmObject gpgsm, } GpgmeError - _gpgme_gpgsm_op_verify (GpgsmObject gpgsm, GpgmeData sig, GpgmeData text) +_gpgme_gpgsm_op_decrypt (GpgsmObject gpgsm, GpgmeData ciph, GpgmeData plain) +{ + return mk_error (Invalid_Engine); +} + +GpgmeError +_gpgme_gpgsm_op_import (GpgsmObject gpgsm, GpgmeData keydata) +{ + return mk_error (Invalid_Engine); +} + +GpgmeError +_gpgme_gpgsm_op_verify (GpgsmObject gpgsm, GpgmeData sig, GpgmeData text) { return mk_error (Invalid_Engine); }