diff options
Diffstat (limited to '')
-rw-r--r-- | agent/gpg-agent.c | 21 | ||||
-rw-r--r-- | tools/gpgconf-comp.c | 4 |
2 files changed, 19 insertions, 6 deletions
diff --git a/agent/gpg-agent.c b/agent/gpg-agent.c index e4fdf2efd..603f70739 100644 --- a/agent/gpg-agent.c +++ b/agent/gpg-agent.c @@ -234,7 +234,7 @@ static ARGPARSE_OPTS opts[] = { ARGPARSE_s_n (oSSHSupport, "enable-ssh-support", N_("enable ssh support")), ARGPARSE_s_s (oSSHFingerprintDigest, "ssh-fingerprint-digest", - N_("digest to use when communicating ssh fingerprints")), + N_("|ALGO|use ALGO to show ssh fingerprints")), ARGPARSE_s_n (oPuttySupport, "enable-putty-support", #ifdef HAVE_W32_SYSTEM /* */ N_("enable putty support") @@ -780,6 +780,8 @@ cleanup (void) static int parse_rereadable_options (ARGPARSE_ARGS *pargs, int reread) { + int i; + if (!pargs) { /* reset mode */ opt.quiet = 0; @@ -811,6 +813,7 @@ parse_rereadable_options (ARGPARSE_ARGS *pargs, int reread) opt.allow_emacs_pinentry = 0; opt.disable_scdaemon = 0; disable_check_own_socket = 0; + /* Note: When changing the next line, change also gpgconf_list. */ opt.ssh_fingerprint_digest = GCRY_MD_MD5; return 1; } @@ -894,6 +897,14 @@ parse_rereadable_options (ARGPARSE_ARGS *pargs, int reread) case oAllowEmacsPinentry: opt.allow_emacs_pinentry = 1; break; + case oSSHFingerprintDigest: + i = gcry_md_map_name (pargs->r.ret_str); + if (!i) + log_error (_("selected digest algorithm is invalid\n")); + else + opt.ssh_fingerprint_digest = i; + break; + default: return 0; /* not handled */ } @@ -1188,11 +1199,7 @@ main (int argc, char **argv ) case oSSHSupport: ssh_support = 1; break; - case oSSHFingerprintDigest: - opt.ssh_fingerprint_digest = gcry_md_map_name (pargs.r.ret_str); - if (opt.ssh_fingerprint_digest == 0) - log_error ("Unknown digest algorithm: %s\n", pargs.r.ret_str); - break; + case oPuttySupport: # ifdef HAVE_W32_SYSTEM putty_support = 1; @@ -1386,6 +1393,8 @@ main (int argc, char **argv ) es_printf ("disable-scdaemon:%lu:\n", GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME); es_printf ("enable-ssh-support:%lu:\n", GC_OPT_FLAG_NONE); + es_printf ("ssh-fingerprint-digest:%lu:\"%s:\n", + GC_OPT_FLAG_DEFAULT|GC_OPT_FLAG_RUNTIME, "md5"); #ifdef HAVE_W32_SYSTEM es_printf ("enable-putty-support:%lu:\n", GC_OPT_FLAG_NONE); #endif diff --git a/tools/gpgconf-comp.c b/tools/gpgconf-comp.c index a8ecb076e..cfc9fa3b7 100644 --- a/tools/gpgconf-comp.c +++ b/tools/gpgconf-comp.c @@ -500,6 +500,10 @@ static gc_option_t gc_options_gpg_agent[] = { "enable-ssh-support", GC_OPT_FLAG_NONE, GC_LEVEL_BASIC, "gnupg", "enable ssh support", GC_ARG_TYPE_NONE, GC_BACKEND_GPG_AGENT }, + { "ssh-fingerprint-digest", + GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME, GC_LEVEL_EXPERT, + "gnupg", "|ALGO|use ALGO to show ssh fingerprints", + GC_ARG_TYPE_STRING, GC_BACKEND_GPG_AGENT }, { "enable-putty-support", GC_OPT_FLAG_NONE, GC_LEVEL_BASIC, "gnupg", "enable putty support", GC_ARG_TYPE_NONE, GC_BACKEND_GPG_AGENT }, |