aboutsummaryrefslogtreecommitdiffstats
path: root/sm/gpgsm.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2004-04-28 08:59:34 +0000
committerWerner Koch <[email protected]>2004-04-28 08:59:34 +0000
commit236d241aed4c21a89157add693cef23ad66405be (patch)
treebedcf9be67f533bcf13813ae4267d09e76de0ed1 /sm/gpgsm.c
parent* app-common.h: New members FNC.DEINIT and APP_LOCAL. (diff)
downloadgnupg-236d241aed4c21a89157add693cef23ad66405be.tar.gz
gnupg-236d241aed4c21a89157add693cef23ad66405be.zip
* gpgsm.c: New command --keydb-clear-some-cert-flags.
* keydb.c (keydb_clear_some_cert_flags): New. (keydb_update_keyblock, keydb_set_flags): Change error code CONFLICT to NOT_LOCKED.
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;