disable DSA2 for old Libgcrypts.
[gnupg.git] / g10 / gpg.c
index 1a033eb..8ec3f33 100644 (file)
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -2932,6 +2932,15 @@ main (int argc, char **argv)
               "use!\n");
 #endif
 
+    /* Older Libgcrypts fail with an assertion during DSA key
+       generation.  Better disable DSA2 entirely. */
+    if (opt.flags.dsa2 && !gcry_check_version ("1.4.0") )
+      {
+        log_info ("WARNING: "
+                  "DSA2 is only available with Libgcrypt 1.4 and later\n");
+        opt.flags.dsa2 = 0;
+      }
+
     if (opt.verbose > 2)
         log_info ("using character set `%s'\n", get_native_charset ());