2001-11-22 Marcus Brinkmann <marcus@g10code.de>
authorMarcus Brinkmann <mb@g10code.com>
Thu, 22 Nov 2001 15:22:27 +0000 (15:22 +0000)
committerMarcus Brinkmann <mb@g10code.com>
Thu, 22 Nov 2001 15:22:27 +0000 (15:22 +0000)
* engine-gpgsm.c (_gpgme_gpgsm_op_decrypt): New function.
(_gpgme_gpgsm_op_import): Likewise.

gpgme/ChangeLog
gpgme/engine-gpgsm.c

index 97098b0665bce8d66828144d07b48b1bf61fa74c..419eda8b0d1525767929b01530aab22768838ca0 100644 (file)
@@ -1,3 +1,8 @@
+2001-11-22  Marcus Brinkmann  <marcus@g10code.de>
+
+       * engine-gpgsm.c (_gpgme_gpgsm_op_decrypt): New function.
+       (_gpgme_gpgsm_op_import): Likewise.
+
 2001-11-22  Marcus Brinkmann  <marcus@gnu.org>
 
        * engine-gpgsm.c: Shuffle around header inclusion a bit, to still
index 0b09f18a4d12e52586fcb5a34f857992d3df646b..fcdb667c738cb46cfd39e4b4273d1d60240960a4 100644 (file)
@@ -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);
 }