[git] GnuPG - branch, master, updated. gnupg-2.1.2-8-gae09515

by Werner Koch cvs at cvs.gnupg.org
Mon Feb 23 17:55:42 CET 2015


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  ae09515b9d3aae653b62a32ea5b4a9b9e557fc52 (commit)
      from  a8116aacd91b7e775762a62c268fab6cc3c77438 (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 ae09515b9d3aae653b62a32ea5b4a9b9e557fc52
Author: Werner Koch <wk at gnupg.org>
Date:   Mon Feb 23 17:54:05 2015 +0100

    gpg: Add option to print fingerprints in ICAO spelling.
    
    * g10/gpg.c: Add option --with-icao-spelling.
    * g10/options.h (struct opt): Add with_icao_spelling.
    * g10/keylist.c (print_icao_hexdigit): New.
    (print_fingerprint): Print ICAO spelling.
    
    Signed-off-by: Werner Koch <wk at gnupg.org>

diff --git a/doc/gpg.texi b/doc/gpg.texi
index 77df55c..79fe234 100644
--- a/doc/gpg.texi
+++ b/doc/gpg.texi
@@ -2136,6 +2136,11 @@ Same as the command @option{--fingerprint} but changes only the format
 of the output and may be used together with another command.
 
 @ifset gpgtwoone
+
+ at item --with-icao-spelling
+ at opindex with-icao-spelling
+Print the ICAO spelling of the fingerprint in addition to the hex digits.
+
 @item --with-keygrip
 @opindex with-keygrip
 Include the keygrip in the key listings.
diff --git a/g10/gpg.c b/g10/gpg.c
index b8d621d..df67d4f 100644
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -176,6 +176,7 @@ enum cmd_and_opt_values
     oNoAskCertLevel,
     oFingerprint,
     oWithFingerprint,
+    oWithICAOSpelling,
     oWithKeygrip,
     oWithSecret,
     oAnswerYes,
@@ -692,6 +693,7 @@ static ARGPARSE_OPTS opts[] = {
   ARGPARSE_s_n (oUtf8Strings,      "utf8-strings", "@"),
   ARGPARSE_s_n (oNoUtf8Strings, "no-utf8-strings", "@"),
   ARGPARSE_s_n (oWithFingerprint, "with-fingerprint", "@"),
+  ARGPARSE_s_n (oWithICAOSpelling, "with-icao-spelling", "@"),
   ARGPARSE_s_n (oWithKeygrip,     "with-keygrip", "@"),
   ARGPARSE_s_n (oWithSecret,      "with-secret", "@"),
   ARGPARSE_s_s (oDisableCipherAlgo,  "disable-cipher-algo", "@"),
@@ -2421,6 +2423,9 @@ main (int argc, char **argv)
             opt.with_fingerprint = 1;
             opt.fingerprint++;
             break;
+	  case oWithICAOSpelling:
+            opt.with_icao_spelling = 1;
+            break;
 	  case oFingerprint:
             opt.fingerprint++;
             fpr_maybe_cmd = 1;
diff --git a/g10/keylist.c b/g10/keylist.c
index 5fd9eb8..da933ca 100644
--- a/g10/keylist.c
+++ b/g10/keylist.c
@@ -1580,6 +1580,20 @@ list_keyblock (KBNODE keyblock, int secret, int has_secret, int fpr,
     es_fflush (es_stdout);
 }
 
+
+/* Print an hex digit in ICAO spelling.  */
+static void
+print_icao_hexdigit (estream_t fp, int c)
+{
+  static const char *list[16] = {
+    "Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven",
+    "Eight", "Niner", "Alfa", "Bravo", "Charlie", "Delta", "Echo", "Foxtrot"
+  };
+
+  tty_fprintf (fp, "%s", list[c&15]);
+}
+
+
 /*
  * Function to print the finperprint.
  * mode 0: as used in key listings, opt.with_colons is honored
@@ -1675,6 +1689,26 @@ print_fingerprint (estream_t override_fp, PKT_public_key *pk, int mode)
 	}
     }
   tty_fprintf (fp, "\n");
+  if (!opt.with_colons && opt.with_icao_spelling)
+    {
+      p = array;
+      tty_fprintf (fp, "%*s\"", (int)strlen(text)+1, "");
+      for (i = 0; i < n; i++, p++)
+        {
+          if (!i)
+            ;
+          else if (!(i%4))
+            tty_fprintf (fp, "\n%*s ", (int)strlen(text)+1, "");
+          else if (!(i%2))
+            tty_fprintf (fp, "  ");
+          else
+            tty_fprintf (fp, " ");
+          print_icao_hexdigit (fp, *p >> 4);
+          tty_fprintf (fp, " ");
+          print_icao_hexdigit (fp, *p & 15);
+        }
+      tty_fprintf (fp, "\"\n");
+    }
 }
 
 /* Print the serial number of an OpenPGP card if available.  */
diff --git a/g10/options.h b/g10/options.h
index 7b9f366..a09d3d5 100644
--- a/g10/options.h
+++ b/g10/options.h
@@ -67,6 +67,7 @@ struct
   int check_sigs; /* check key signatures */
   int with_colons;
   int with_key_data;
+  int with_icao_spelling; /* Print ICAO spelling with fingerprints.  */
   int with_fingerprint; /* Option --with-fingerprint active.  */
   int with_keygrip;     /* Option --with-keygrip active.  */
   int with_secret;      /* Option --with-secret active.  */

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

Summary of changes:
 doc/gpg.texi  |  5 +++++
 g10/gpg.c     |  5 +++++
 g10/keylist.c | 34 ++++++++++++++++++++++++++++++++++
 g10/options.h |  1 +
 4 files changed, 45 insertions(+)


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




More information about the Gnupg-commits mailing list