s/AES/AES128/ in diagnostics and --list-config
authorWerner Koch <wk@gnupg.org>
Thu, 2 Dec 2010 15:49:02 +0000 (15:49 +0000)
committerWerner Koch <wk@gnupg.org>
Thu, 2 Dec 2010 15:49:02 +0000 (15:49 +0000)
12 files changed:
NEWS
agent/cvt-openpgp.c
common/ChangeLog
common/audit.c
common/miscellaneous.c
common/util.h
g10/ChangeLog
g10/misc.c
sm/encrypt.c
sm/gpgsm.c
tools/ChangeLog
tools/no-libgcrypt.c

diff --git a/NEWS b/NEWS
index e2627fb..afd9053 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -7,6 +7,11 @@ Noteworthy changes in version 2.1.0beta2 (unreleased)
  * Fixed a bug where SCdaemon sends a signal to Gpg-agent running in
    non-daemon mode.
 
+ * Print "AES128" instead of "AES".  This change introduces a little
+   incompatibility for tools using "gpg --list-config".  We hope that
+   these tools are written robust enough to accept this new algorithm
+   name as well.
+
 
 Noteworthy changes in version 2.1.0beta1 (2010-10-26)
 -----------------------------------------------------
index 6cedc88..e6a14c4 100644 (file)
@@ -283,7 +283,7 @@ do_unprotect (const char *passphrase,
          the OpenPGP algorithm numbers map one-to-one to the Libgcrypt
          numbers.  */
       log_info (_("protection algorithm %d (%s) is not supported\n"),
-                protect_algo, gcry_cipher_algo_name (protect_algo));
+                protect_algo, gnupg_cipher_algo_name (protect_algo));
       return gpg_error (GPG_ERR_CIPHER_ALGO);
     }
 
index 8d03e35..5b4f107 100644 (file)
@@ -1,5 +1,8 @@
 2010-12-02  Werner Koch  <wk@g10code.com>
 
+       * miscellaneous.c (gnupg_cipher_algo_name): New.  Replace all
+       users of gcry_cipher_algo_name by this one.
+
        * logging.c (fun_cookie_s) [W32CE]: Add field USE_WRITEFILE.
        (fun_writer) [W32CE]: Make use of it.
        (set_file_fd) [W32CE]: Implement special filename "GPG2:".
index 02a0a2b..38d0c0c 100644 (file)
@@ -769,7 +769,7 @@ proc_type_encrypt (audit_ctx_t ctx)
     {
       algo = gcry_cipher_map_name (item->string);
       if (algo)
-        writeout_rem (ctx, _("algorithm: %s"), gcry_cipher_algo_name (algo));
+        writeout_rem (ctx, _("algorithm: %s"), gnupg_cipher_algo_name (algo));
       else if (item->string && !strcmp (item->string, "1.2.840.113549.3.2"))
         writeout_rem (ctx, _("unsupported algorithm: %s"), "RC2");
       else if (item->string)
@@ -909,14 +909,14 @@ proc_type_decrypt (audit_ctx_t ctx)
   algo = item? item->intvalue : 0;
   writeout_li (ctx, algo?"Yes":"No", "%s", _("Encryption algorithm supported"));
   if (algo)
-    writeout_rem (ctx, _("algorithm: %s"), gcry_cipher_algo_name (algo));
+    writeout_rem (ctx, _("algorithm: %s"), gnupg_cipher_algo_name (algo));
 
   item = find_log_item (ctx, AUDIT_BAD_DATA_CIPHER_ALGO, 0);
   if (item && item->string)
     {
       algo = gcry_cipher_map_name (item->string);
       if (algo)
-        writeout_rem (ctx, _("algorithm: %s"), gcry_cipher_algo_name (algo));
+        writeout_rem (ctx, _("algorithm: %s"), gnupg_cipher_algo_name (algo));
       else if (item->string && !strcmp (item->string, "1.2.840.113549.3.2"))
         writeout_rem (ctx, _("unsupported algorithm: %s"), "RC2");
       else if (item->string)
index fe065e6..0ff7d98 100644 (file)
@@ -95,6 +95,23 @@ setup_libgcrypt_logging (void)
   gcry_set_outofcore_handler (my_gcry_outofcore_handler, NULL);
 }
 
+/* A wrapper around gcry_cipher_algo_name to return the string
+   "AES-128" instead of "AES".  Given that we have an alias in
+   libgcrypt for it, it does not harm to too much to return this other
+   string.  Some users complained that we print "AES" but "AES192"
+   and "AES256".  We can't fix that in libgcrypt but it is pretty
+   safe to do it in an application. */
+const char *
+gnupg_cipher_algo_name (int algo) 
+{
+  const char *s;
+
+  s = gcry_cipher_algo_name (algo);
+  if (!strcmp (s, "AES"))
+    s = "AES128";
+  return s;
+}
+
 
 /* Decide whether the filename is stdout or a real filename and return
  * an appropriate string.  */
index 10fac88..7c58b15 100644 (file)
@@ -255,6 +255,9 @@ char *xasprintf (const char *fmt, ...) JNLIB_GCC_A_PRINTF(1,2);
 /* This is now an alias to estream_asprintf.  */
 char *xtryasprintf (const char *fmt, ...) JNLIB_GCC_A_PRINTF(1,2);
 
+/* Replacement for gcry_cipher_algo_name.  */
+const char *gnupg_cipher_algo_name (int algo);
+
 const char *print_fname_stdout (const char *s);
 const char *print_fname_stdin (const char *s);
 void print_utf8_buffer2 (estream_t fp, const void *p, size_t n, int delim);
index ddc9ba0..0af97c4 100644 (file)
@@ -1,3 +1,7 @@
+2010-12-02  Werner Koch  <wk@g10code.com>
+
+       * misc.c (openpgp_cipher_algo_name): Use gnupg_cipher_algo_name.
+
 2010-11-23  Werner Koch  <wk@g10code.com>
 
        * Makefile.am (gpg2_LDFLAGS, gpgv2_LDFLAGS): Add extra_bin_ldflags.
index b3b73ed..1725258 100644 (file)
@@ -409,7 +409,7 @@ openpgp_cipher_test_algo( int algo )
 const char *
 openpgp_cipher_algo_name (int algo) 
 {
-  return gcry_cipher_algo_name (map_cipher_openpgp_to_gcry (algo));
+  return gnupg_cipher_algo_name (map_cipher_openpgp_to_gcry (algo));
 }
 
 int
index a049a50..ffe88a7 100644 (file)
@@ -86,7 +86,7 @@ init_dek (DEK dek)
     case GCRY_CIPHER_DES:
     case GCRY_CIPHER_RFC2268_40:
       log_error ("cipher algorithm `%s' not allowed: too weak\n",
-                 gcry_cipher_algo_name (dek->algo));
+                 gnupg_cipher_algo_name (dek->algo));
       return gpg_error (GPG_ERR_UNSUPPORTED_ALGORITHM);
     default:
       break;
index d1b09f4..f3718ae 100644 (file)
@@ -553,7 +553,7 @@ my_strusage( int level )
     case 33: p = _("\nSupported algorithms:\n"); break;
     case 34:
       if (!ciphers)
-        ciphers = build_list ("Cipher: ", gcry_cipher_algo_name,
+        ciphers = build_list ("Cipher: ", gnupg_cipher_algo_name,
                               our_cipher_test_algo );
       p = ciphers;
       break;
index 98e2329..c6ac332 100644 (file)
@@ -1,3 +1,7 @@
+2010-12-02  Werner Koch  <wk@g10code.com>
+
+       * no-libgcrypt.c (gcry_cipher_algo_name): New.
+
 2010-11-23  Werner Koch  <wk@g10code.com>
 
        * Makefile.am (gpgconf_LDFLAGS): Add extra_bin_ldflags.
 2004-01-10  Werner Koch  <wk@gnupg.org>
 
        * Makefile.am: Use GPG_ERROR_CFLAGS
-       
+
 2004-01-05  Werner Koch  <wk@gnupg.org>
 
        * Manifest: New.
index fbbfd40..e4b304a 100644 (file)
@@ -152,3 +152,10 @@ gcry_create_nonce (void *buffer, size_t length)
   
   log_fatal ("unexpected call to gcry_create_nonce\n");
 }
+
+
+const char *
+gcry_cipher_algo_name (int algo)
+{
+  return "?";
+}