aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/gpg-wks-client.c10
-rw-r--r--tools/gpg-wks-server.c2
-rw-r--r--tools/gpg-wks.h1
-rw-r--r--tools/wks-util.c3
4 files changed, 12 insertions, 4 deletions
diff --git a/tools/gpg-wks-client.c b/tools/gpg-wks-client.c
index d3d1b522a..c172fcc77 100644
--- a/tools/gpg-wks-client.c
+++ b/tools/gpg-wks-client.c
@@ -78,6 +78,7 @@ enum cmd_and_opt_values
oNoAutostart,
oAddRevocs,
oNoAddRevocs,
+ oRealClean,
oDummy
};
@@ -121,8 +122,9 @@ static gpgrt_opt_t opts[] = {
ARGPARSE_s_n (oWithColons, "with-colons", "@"),
ARGPARSE_s_s (oBlacklist, "blacklist", "@"),
ARGPARSE_s_s (oDirectory, "directory", "@"),
- ARGPARSE_s_n (oAddRevocs, "add-revocs", "add revocation certificates"),
+ ARGPARSE_s_n (oAddRevocs, "add-revocs", "@"),
ARGPARSE_s_n (oNoAddRevocs, "no-add-revocs", "do not add revocation certificates"),
+ ARGPARSE_s_n (oRealClean, "realclean", "remove most key signatures"),
ARGPARSE_s_s (oFakeSubmissionAddr, "fake-submission-addr", "@"),
@@ -273,6 +275,10 @@ parse_arguments (gpgrt_argparse_t *pargs, gpgrt_opt_t *popts)
opt.add_revocs = 0;
break;
+ case oRealClean:
+ opt.realclean = 1;
+ break;
+
case aSupported:
case aCreate:
case aReceive:
@@ -358,7 +364,7 @@ main (int argc, char **argv)
/* Set defaults for non given options. */
if (!opt.gpg_program)
- opt.gpg_program = gnupg_module_name (GNUPG_MODULE_NAME_GPG);
+ opt.gpg_program = xstrdup (gnupg_module_name (GNUPG_MODULE_NAME_GPG));
if (!opt.directory)
opt.directory = "openpgpkey";
diff --git a/tools/gpg-wks-server.c b/tools/gpg-wks-server.c
index d3406bd79..31de67618 100644
--- a/tools/gpg-wks-server.c
+++ b/tools/gpg-wks-server.c
@@ -308,7 +308,7 @@ main (int argc, char **argv)
/* Set defaults for non given options. */
if (!opt.gpg_program)
- opt.gpg_program = gnupg_module_name (GNUPG_MODULE_NAME_GPG);
+ opt.gpg_program = xstrdup (gnupg_module_name (GNUPG_MODULE_NAME_GPG));
if (!opt.directory)
opt.directory = "/var/lib/gnupg/wks";
diff --git a/tools/gpg-wks.h b/tools/gpg-wks.h
index 4a33c5bec..0601d48fe 100644
--- a/tools/gpg-wks.h
+++ b/tools/gpg-wks.h
@@ -40,6 +40,7 @@ struct
int with_colons;
int no_autostart;
int add_revocs;
+ int realclean;
char *output;
char *gpg_program;
char *directory;
diff --git a/tools/wks-util.c b/tools/wks-util.c
index ee1305b00..640116ce8 100644
--- a/tools/wks-util.c
+++ b/tools/wks-util.c
@@ -246,7 +246,8 @@ wks_get_key (estream_t *r_key, const char *fingerprint, const char *addrspec,
ccparray_put (&ccp, "--always-trust");
if (!binary)
ccparray_put (&ccp, "--armor");
- ccparray_put (&ccp, "--export-options=export-clean");
+ ccparray_put (&ccp, opt.realclean? "--export-options=export-realclean"
+ /* */ : "--export-options=export-clean");
ccparray_put (&ccp, "--export-filter");
ccparray_put (&ccp, filterexp);
ccparray_put (&ccp, "--export");