summaryrefslogtreecommitdiffstats
path: root/sm/server.c
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2018-03-23 15:07:56 +0100
committerWerner Koch <wk@gnupg.org>2018-03-23 15:07:56 +0100
commit137644c9cb58deaaba6850f2763d9c5f9241cb0b (patch)
tree216b76a9eba6c447747714a2d3a4846569022f1a /sm/server.c
parentgpg,sm: New option --request-origin. (diff)
downloadgnupg2-137644c9cb58deaaba6850f2763d9c5f9241cb0b.tar.xz
gnupg2-137644c9cb58deaaba6850f2763d9c5f9241cb0b.zip
sm: Add OPTION request-origin.
* sm/server.c: Include shareddefs.h. (option_handler): Add option. -- This is required when running gpgsm in server mode as done by GPGME. Noet that a command line option takes precedence. Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to 'sm/server.c')
-rw-r--r--sm/server.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/sm/server.c b/sm/server.c
index 721f3faf0..98505e26d 100644
--- a/sm/server.c
+++ b/sm/server.c
@@ -32,6 +32,7 @@
#include "../common/sysutils.h"
#include "../common/server-help.h"
#include "../common/asshelp.h"
+#include "../common/shareddefs.h"
#define set_error(e,t) assuan_set_error (ctx, gpg_error (e), (t))
@@ -289,6 +290,17 @@ option_handler (assuan_context_t ctx, const char *key, const char *value)
ctrl->offline = i;
}
}
+ else if (!strcmp (key, "request-origin"))
+ {
+ if (!opt.request_origin)
+ {
+ int i = parse_request_origin (value);
+ if (i == -1)
+ err = gpg_error (GPG_ERR_INV_VALUE);
+ else
+ opt.request_origin = i;
+ }
+ }
else
err = gpg_error (GPG_ERR_UNKNOWN_OPTION);