diff options
| author | Werner Koch <[email protected]> | 2001-12-20 16:51:06 +0000 |
|---|---|---|
| committer | Werner Koch <[email protected]> | 2001-12-20 16:51:06 +0000 |
| commit | 3b8cf6e497321577b9318e7822c7711340e06de9 (patch) | |
| tree | 62f884d0743f90373188ac87399d440222da9029 /sm/server.c | |
| parent | * keybox-blob.c (_keybox_create_x509_blob): Skip the leading (diff) | |
| download | gnupg-3b8cf6e497321577b9318e7822c7711340e06de9.tar.gz gnupg-3b8cf6e497321577b9318e7822c7711340e06de9.zip | |
* verify.c (gpgsm_verify): Implemented non-detached signature
verification. Add OUT_FP arg, initialize a writer and changed all
callers.
* server.c (cmd_verify): Pass an out_fp if one has been set.
Diffstat (limited to 'sm/server.c')
| -rw-r--r-- | sm/server.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/sm/server.c b/sm/server.c index f1d0031d2..6af69e5f4 100644 --- a/sm/server.c +++ b/sm/server.c @@ -262,12 +262,24 @@ cmd_verify (ASSUAN_CONTEXT ctx, char *line) int rc; CTRL ctrl = assuan_get_pointer (ctx); int fd = assuan_get_input_fd (ctx); + int out_fd = assuan_get_output_fd (ctx); + FILE *out_fp = NULL; if (fd == -1) return set_error (No_Input, NULL); + if (out_fd != -1) + { + out_fp = fdopen ( dup(out_fd), "w"); + if (!out_fp) + return set_error (General_Error, "fdopen() failed"); + } + rc = gpgsm_verify (assuan_get_pointer (ctx), fd, - ctrl->server_local->message_fd); + ctrl->server_local->message_fd, out_fp); + if (out_fp) + fclose (out_fp); + if (!rc) { /* close and reset the fd */ |
