[Pkg-gnupg-commit] [gnupg2] 175/185: agent: Make --ssh-fingerprint-digest re-readable.

Daniel Kahn Gillmor dkg at fifthhorseman.net
Mon Aug 7 11:55:34 UTC 2017


This is an automated email from the git hooks/post-receive script.

dkg pushed a commit to branch experimental
in repository gnupg2.

commit 6c9899bede6ecb2ccf7336d12724090f36a6aa3d
Author: Werner Koch <wk at gnupg.org>
Date:   Fri Jul 28 18:23:34 2017 +0200

    agent: Make --ssh-fingerprint-digest re-readable.
    
    * agent/gpg-agent.c (main): Move oSSHFingerprintDigest to ...
    (parse_rereadable_options): here.
    (opts): Change its description.
    (main) <aGPGConfList>: Include this option.
    * tools/gpgconf-comp.c (gc_options_gpg_agent): Add option at expert
    level.
    
    Signed-off-by: Werner Koch <wk at gnupg.org>
---
 agent/gpg-agent.c    | 21 +++++++++++++++------
 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 e4fdf2e..603f707 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 a8ecb07..cfc9fa3 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 },

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/gnupg2.git



More information about the Pkg-gnupg-commit mailing list