sm: Always print the keygrip in colon mode.
authorWerner Koch <wk@gnupg.org>
Tue, 8 Aug 2017 11:04:12 +0000 (13:04 +0200)
committerWerner Koch <wk@gnupg.org>
Tue, 8 Aug 2017 11:05:50 +0000 (13:05 +0200)
* sm/keylist.c (list_cert_colon): Always print the keygrip as
described in the manual.

Signed-off-by: Werner Koch <wk@gnupg.org>
doc/tools.texi
sm/keylist.c

index d05018b..332fb01 100644 (file)
@@ -1189,10 +1189,12 @@ gpg-preset-passphrase [options] [command] @var{cacheid}
 @var{cacheid} is either a 40 character keygrip of hexadecimal
 characters identifying the key for which the passphrase should be set
 or cleared.  The keygrip is listed along with the key when running the
-command: @code{gpgsm --dump-secret-keys}.  Alternatively an arbitrary
-string may be used to identify a passphrase; it is suggested that such
-a string is prefixed with the name of the application (e.g
-@code{foo:12346}).
+command: @code{gpgsm --with-keygrip --list-secret-keys}.
+Alternatively an arbitrary string may be used to identify a
+passphrase; it is suggested that such a string is prefixed with the
+name of the application (e.g @code{foo:12346}).  Scripts should always
+use the option @option{--with-colons}, which provides the keygrip in a
+"grp" line (cf. @file{doc/DETAILS})/
 
 @noindent
 One of the following command options must be given:
index abec049..24c86e1 100644 (file)
@@ -541,16 +541,16 @@ list_cert_colon (ctrl_t ctrl, ksba_cert_t cert, unsigned int validity,
   xfree (fpr); fpr = NULL; chain_id = NULL;
   xfree (chain_id_buffer); chain_id_buffer = NULL;
 
-  if (opt.with_key_data)
+  /* Always print the keygrip.  */
+  if ( (p = gpgsm_get_keygrip_hexstring (cert)))
     {
-      if ( (p = gpgsm_get_keygrip_hexstring (cert)))
-        {
-          es_fprintf (fp, "grp:::::::::%s:\n", p);
-          xfree (p);
-        }
-      print_key_data (cert, fp);
+      es_fprintf (fp, "grp:::::::::%s:\n", p);
+      xfree (p);
     }
 
+  if (opt.with_key_data)
+    print_key_data (cert, fp);
+
   kludge_uid = NULL;
   for (idx=0; (p = ksba_cert_get_subject (cert,idx)); idx++)
     {