[git] GnuPG - branch, master, updated. gnupg-2.2.7-137-g257661d

by Werner Koch cvs at cvs.gnupg.org
Wed Jun 6 12:06:21 CEST 2018


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The GNU Privacy Guard".

The branch, master has been updated
       via  257661d6ae0ca376df758c38fabab2316d10e3a9 (commit)
      from  d2e6b3ea1d70db1039a828fb3a978a4504f8f0c5 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 257661d6ae0ca376df758c38fabab2316d10e3a9
Author: Werner Koch <wk at gnupg.org>
Date:   Wed Jun 6 11:50:58 2018 +0200

    gpg: New command --show-keys.
    
    * g10/gpg.c (aShowKeys): New const.
    (opts): New command --show-keys.
    (main): Implement command.
    * g10/import.c (import_keys_internal): Don't print stats in show-only
    mode.
    (import_one): Be silent in show-only mode.
    --
    
    Using
    
      --import --import-options show-only
    
    to look at a key is too cumbersome.  Provide this shortcut and also
    remove some diagnostic cruft in this case.
    
    Signed-off-by: Werner Koch <wk at gnupg.org>

diff --git a/doc/gpg.texi b/doc/gpg.texi
index a12b5af..642805f 100644
--- a/doc/gpg.texi
+++ b/doc/gpg.texi
@@ -353,6 +353,14 @@ may thus be used to see what keys @command{@gpgname} might use.  In
 particular external methods as defined by @option{--auto-key-locate} may
 be used to locate a key.  Only public keys are listed.
 
+ at item --show-keys
+ at opindex show-keys
+This commands takes OpenPGP keys as input and prints information about
+them in the same way the command @option{--list-keys} does for
+imported key.  No internal state is changed.  For automated processing
+this command should be combined with the option
+ at option{--with-colons}.
+
 @item --fingerprint
 @opindex fingerprint
 List all keys (or the specified ones) along with their
@@ -2305,7 +2313,8 @@ opposite meaning. The options are:
   Show a listing of the key as imported right before it is stored.
   This can be combined with the option @option{--dry-run} to only look
   at keys; the option @option{show-only} is a shortcut for this
-  combination.  Note that suffixes like '#' for "sec" and "sbb" lines
+  combination.  The command @option{--show-keys} is another shortcut
+  for this.  Note that suffixes like '#' for "sec" and "sbb" lines
   may or may not be printed.
 
   @item import-export
diff --git a/g10/gpg.c b/g10/gpg.c
index 70bdddf..499c005 100644
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -150,6 +150,7 @@ enum cmd_and_opt_values
     aSearchKeys,
     aRefreshKeys,
     aFetchKeys,
+    aShowKeys,
     aExport,
     aExportSecret,
     aExportSecretSub,
@@ -500,6 +501,7 @@ static ARGPARSE_OPTS opts[] = {
               N_("update all keys from a keyserver")),
   ARGPARSE_c (aLocateKeys, "locate-keys", "@"),
   ARGPARSE_c (aFetchKeys, "fetch-keys" , "@" ),
+  ARGPARSE_c (aShowKeys, "show-keys" , "@" ),
   ARGPARSE_c (aExportSecret, "export-secret-keys" , "@" ),
   ARGPARSE_c (aExportSecretSub, "export-secret-subkeys" , "@" ),
   ARGPARSE_c (aExportSshKey, "export-ssh-key", "@" ),
@@ -740,6 +742,7 @@ static ARGPARSE_OPTS opts[] = {
   ARGPARSE_c (aListKeys, "list-key", "@"),   /* alias */
   ARGPARSE_c (aListSigs, "list-sig", "@"),   /* alias */
   ARGPARSE_c (aCheckKeys, "check-sig", "@"), /* alias */
+  ARGPARSE_c (aShowKeys,  "show-key", "@"), /* alias */
   ARGPARSE_s_n (oSkipVerify, "skip-verify", "@"),
   ARGPARSE_s_n (oSkipHiddenRecipients, "skip-hidden-recipients", "@"),
   ARGPARSE_s_n (oNoSkipHiddenRecipients, "no-skip-hidden-recipients", "@"),
@@ -2642,6 +2645,13 @@ main (int argc, char **argv)
             greeting=1;
             break;
 
+	  case aShowKeys:
+            set_cmd (&cmd, pargs.r_opt);
+            opt.import_options |= IMPORT_SHOW;
+            opt.import_options |= IMPORT_DRY_RUN;
+            opt.import_options &= ~IMPORT_REPAIR_KEYS;
+            break;
+
 	  case aDetachedSign: detached_sig = 1; set_cmd( &cmd, aSign ); break;
 
 	  case aDecryptFiles: multifile=1; /* fall through */
@@ -4638,6 +4648,7 @@ main (int argc, char **argv)
       case aFastImport:
         opt.import_options |= IMPORT_FAST; /* fall through */
       case aImport:
+      case aShowKeys:
 	import_keys (ctrl, argc? argv:NULL, argc, NULL,
                      opt.import_options, opt.key_origin, opt.key_origin_url);
 	break;
diff --git a/g10/import.c b/g10/import.c
index 9fc769d..d35c720 100644
--- a/g10/import.c
+++ b/g10/import.c
@@ -494,7 +494,9 @@ import_keys_internal (ctrl_t ctrl, iobuf_t inp, char **fnames, int nnames,
 
   if (!stats_handle)
     {
-      import_print_stats (stats);
+      if ((options & (IMPORT_SHOW | IMPORT_DRY_RUN))
+          != (IMPORT_SHOW | IMPORT_DRY_RUN))
+        import_print_stats (stats);
       import_release_stats_handle (stats);
     }
 
@@ -1653,6 +1655,10 @@ import_one (ctrl_t ctrl,
   int any_filter = 0;
   KEYDB_HANDLE hd = NULL;
 
+  /* If show-only is active we don't won't any extra output.  */
+  if ((options & (IMPORT_SHOW | IMPORT_DRY_RUN)))
+    silent = 1;
+
   /* Get the key and print some info about it. */
   node = find_kbnode( keyblock, PKT_PUBLIC_KEY );
   if (!node )

-----------------------------------------------------------------------

Summary of changes:
 doc/gpg.texi | 11 ++++++++++-
 g10/gpg.c    | 11 +++++++++++
 g10/import.c |  8 +++++++-
 3 files changed, 28 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
The GNU Privacy Guard
http://git.gnupg.org




More information about the Gnupg-commits mailing list