aboutsummaryrefslogtreecommitdiffstats
path: root/sm/gpgsm.c
diff options
context:
space:
mode:
Diffstat (limited to 'sm/gpgsm.c')
-rw-r--r--sm/gpgsm.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/sm/gpgsm.c b/sm/gpgsm.c
index 33d8a2c48..61307701a 100644
--- a/sm/gpgsm.c
+++ b/sm/gpgsm.c
@@ -85,6 +85,7 @@ enum cmd_and_opt_values {
aDumpKeys,
aDumpSecretKeys,
aDumpExternalKeys,
+ aKeydbClearSomeCertFlags,
oOptions,
oDebug,
@@ -252,6 +253,7 @@ static ARGPARSE_OPTS opts[] = {
{ aDumpKeys, "dump-keys", 256, "@"},
{ aDumpExternalKeys, "dump-external-keys", 256, "@"},
{ aDumpSecretKeys, "dump-secret-keys", 256, "@"},
+ { aKeydbClearSomeCertFlags, "keydb-clear-some-cert-flags", 256, "@"},
{ 301, NULL, 0, N_("@\nOptions:\n ") },
@@ -894,6 +896,7 @@ main ( int argc, char **argv)
case aListSigs:
case aLearnCard:
case aPasswd:
+ case aKeydbClearSomeCertFlags:
do_not_setup_keys = 1;
set_cmd (&cmd, pargs.r_opt);
break;
@@ -1531,6 +1534,14 @@ main ( int argc, char **argv)
}
break;
+ case aKeydbClearSomeCertFlags:
+ for (sl=NULL; argc; argc--, argv++)
+ add_to_strlist (&sl, *argv);
+ keydb_clear_some_cert_flags (&ctrl, sl);
+ free_strlist(sl);
+ break;
+
+
default:
log_error ("invalid command (there is no implicit command)\n");
break;