aboutsummaryrefslogtreecommitdiffstats
path: root/g10/gpg.c
diff options
context:
space:
mode:
Diffstat (limited to 'g10/gpg.c')
-rw-r--r--g10/gpg.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/g10/gpg.c b/g10/gpg.c
index d6c2372d8..65b56c4d1 100644
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -130,6 +130,7 @@ enum cmd_and_opt_values
aLSignKey,
aQuickSignKey,
aQuickLSignKey,
+ aQuickTSignKey,
aQuickRevSig,
aQuickAddUid,
aQuickAddKey,
@@ -529,6 +530,8 @@ static gpgrt_opt_t opts[] = {
N_("quickly sign a key")),
ARGPARSE_c (aQuickLSignKey, "quick-lsign-key",
N_("quickly sign a key locally")),
+ ARGPARSE_c (aQuickTSignKey, "quick-tsign-key",
+ N_("quickly sign a key with a trust signature")),
ARGPARSE_c (aQuickRevSig, "quick-revoke-sig" ,
N_("quickly revoke a key signature")),
ARGPARSE_c (aSignKey, "sign-key" ,N_("sign a key")),
@@ -2734,6 +2737,7 @@ main (int argc, char **argv)
case aSign:
case aQuickSignKey:
case aQuickLSignKey:
+ case aQuickTSignKey:
case aQuickRevSig:
case aSignKey:
case aLSignKey:
@@ -4715,7 +4719,25 @@ main (int argc, char **argv)
sl = NULL;
for( ; argc; argc--, argv++)
append_to_strlist2 (&sl, *argv, utf8_strings);
- keyedit_quick_sign (ctrl, fpr, sl, locusr, (cmd == aQuickLSignKey));
+ keyedit_quick_sign (ctrl, fpr, sl, locusr,
+ NULL, (cmd == aQuickLSignKey));
+ free_strlist (sl);
+ }
+ break;
+
+ case aQuickTSignKey:
+ {
+ const char *fpr, *tsig;
+
+ if (argc < 2)
+ wrong_args ("--quick-tsign-key fingerprint"
+ " depth,[m|f][,domain] [userids]");
+ fpr = *argv++; argc--;
+ tsig = *argv++; argc--;
+ sl = NULL;
+ for( ; argc; argc--, argv++)
+ append_to_strlist2 (&sl, *argv, utf8_strings);
+ keyedit_quick_sign (ctrl, fpr, sl, locusr, tsig, 0);
free_strlist (sl);
}
break;