aboutsummaryrefslogtreecommitdiffstats
path: root/g10/server.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2009-09-30 18:47:11 +0000
committerWerner Koch <[email protected]>2009-09-30 18:47:11 +0000
commitfafe852c336de9bf26695bab055199509a4ea195 (patch)
treeeae24a02063b061bbafd815a025b4c4f0afc0639 /g10/server.c
parentSome changes to suport g13. (diff)
downloadgnupg-fafe852c336de9bf26695bab055199509a4ea195.tar.gz
gnupg-fafe852c336de9bf26695bab055199509a4ea195.zip
Re-indentation
Diffstat (limited to 'g10/server.c')
-rw-r--r--g10/server.c31
1 files changed, 26 insertions, 5 deletions
diff --git a/g10/server.c b/g10/server.c
index 87a52d21f..33f9bb6ed 100644
--- a/g10/server.c
+++ b/g10/server.c
@@ -345,14 +345,33 @@ cmd_encrypt (assuan_context_t ctx, char *line)
/* DECRYPT
- This performs the decrypt operation after doing some checks on the
- internal state (e.g. that only needed data has been set). */
+ This performs the decrypt operation. */
static gpg_error_t
cmd_decrypt (assuan_context_t ctx, char *line)
{
- (void)ctx;
- (void)line;
- return gpg_error (GPG_ERR_NOT_SUPPORTED);
+ ctrl_t ctrl = assuan_get_pointer (ctx);
+ gpg_error_t err;
+ int inp_fd, out_fd;
+
+ (void)line; /* LINE is not used. */
+
+ inp_fd = translate_sys2libc_fd (assuan_get_input_fd (ctx), 0);
+ if (inp_fd == -1)
+ return set_error (GPG_ERR_ASS_NO_INPUT, NULL);
+ out_fd = translate_sys2libc_fd (assuan_get_output_fd (ctx), 1);
+ if (out_fd == -1)
+ return set_error (GPG_ERR_ASS_NO_OUTPUT, NULL);
+
+ err = gpg_error (GPG_ERR_NOT_IMPLEMENTED);
+
+ /* Close and reset the fds. */
+ close_message_fd (ctrl);
+ assuan_close_input_fd (ctx);
+ assuan_close_output_fd (ctx);
+
+ if (err)
+ log_error ("command '%s' failed: %s\n", "DECRYPT", gpg_strerror (err));
+ return err;
}
@@ -406,6 +425,8 @@ cmd_verify (assuan_context_t ctx, char *line)
assuan_close_input_fd (ctx);
assuan_close_output_fd (ctx);
+ if (rc)
+ log_error ("command '%s' failed: %s\n", "VERIFY", gpg_strerror (rc));
return rc;
}