From 01285f909e43e8d6a48fbcc77bb5af53d567d8a2 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Thu, 2 Jun 2016 18:38:10 +0200 Subject: gpg: Extend the --quick-gen-key command. * g10/keygen.c (quickgen_set_para): Add arg 'use'. (quick_generate_keypair): Add args 'algostr', 'usagestr', and 'expirestr'. Implement primary only key mode. (parse_algo_usage_expire): Set NBITS for the default algo. * g10/gpg.c (main): Extend --quick-gen-key command. Signed-off-by: Werner Koch --- g10/gpg.c | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) (limited to 'g10/gpg.c') diff --git a/g10/gpg.c b/g10/gpg.c index 279533076..b193fcdfd 100644 --- a/g10/gpg.c +++ b/g10/gpg.c @@ -4096,11 +4096,29 @@ main (int argc, char **argv) break; case aQuickKeygen: - if (argc != 1 ) - wrong_args("--gen-key user-id"); - username = make_username (fname); - quick_generate_keypair (ctrl, username); - xfree (username); + { + const char *x_algo, *x_usage, *x_expire; + + if (argc < 1 || argc > 4) + wrong_args("--quick-gen-key USER-ID [ALGO [USAGE [EXPIRE]]]"); + username = make_username (fname); + argv++, argc--; + x_algo = ""; + x_usage = ""; + x_expire = ""; + if (argc) + { + x_algo = *argv++; argc--; + if (argc) + { + x_usage = *argv++; argc--; + if (argc) + x_expire = *argv++; argc--; + } + } + quick_generate_keypair (ctrl, username, x_algo, x_usage, x_expire); + xfree (username); + } break; case aKeygen: /* generate a key */ -- cgit