aboutsummaryrefslogtreecommitdiffstats
path: root/sm/server.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2002-01-25 16:41:13 +0000
committerWerner Koch <[email protected]>2002-01-25 16:41:13 +0000
commit151deac0dfcc712a00844943445cbde7c6b0eb38 (patch)
treefa0b13b368613ba2ec69d7261377d4e4f54d84a9 /sm/server.c
parent* assuan-socket-connect.c (LOGERRORX): and removed typo. (diff)
downloadgnupg-151deac0dfcc712a00844943445cbde7c6b0eb38.tar.gz
gnupg-151deac0dfcc712a00844943445cbde7c6b0eb38.zip
* gpgsm.c (main): Disable core dumps.
* sign.c (add_certificate_list): New. (gpgsm_sign): Add the certificates to the CMS object. * certpath.c (gpgsm_walk_cert_chain): New. * gpgsm.h (server_control_s): Add included_certs. * gpgsm.c: Add option --include-certs. (gpgsm_init_default_ctrl): New. (main): Call it. * server.c (gpgsm_server): Ditto. (option_handler): Support --include-certs.
Diffstat (limited to 'sm/server.c')
-rw-r--r--sm/server.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/sm/server.c b/sm/server.c
index e05f5da0b..616ae9bfe 100644
--- a/sm/server.c
+++ b/sm/server.c
@@ -57,7 +57,18 @@ close_message_fd (CTRL ctrl)
static int
option_handler (ASSUAN_CONTEXT ctx, const char *key, const char *value)
{
- log_debug ("got option key=`%s' value=`%s'\n", key, value);
+ CTRL ctrl = assuan_get_pointer (ctx);
+
+ if (!strcmp (key, "include-certs"))
+ {
+ int i = *value? atoi (value) : -1;
+ if (ctrl->include_certs < -1)
+ return ASSUAN_Parameter_Error;
+ ctrl->include_certs = i;
+ }
+ else
+ return ASSUAN_Invalid_Option;
+
return 0;
}
@@ -458,6 +469,7 @@ gpgsm_server (void)
struct server_control_s ctrl;
memset (&ctrl, 0, sizeof ctrl);
+ gpgsm_init_default_ctrl (&ctrl);
/* For now we use a simple pipe based server so that we can work
from scripts. We will later add options to run as a daemon and