aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2008-04-02 18:03:04 +0000
committerWerner Koch <[email protected]>2008-04-02 18:03:04 +0000
commit5e755a2222e06faade41718f09fc58b9a1c690d5 (patch)
tree52f0d36923e1013c5ad9be33dbd6da934127c613
parentFix a problem with dirmngr looked up certificates. (diff)
downloadgnupg-5e755a2222e06faade41718f09fc58b9a1c690d5.tar.gz
gnupg-5e755a2222e06faade41718f09fc58b9a1c690d5.zip
disable DSA2 for old Libgcrypts.
-rw-r--r--g10/ChangeLog4
-rw-r--r--g10/gpg.c9
2 files changed, 13 insertions, 0 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog
index c8e650f80..b4f2720b3 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,7 @@
+2008-04-02 Werner Koch <[email protected]>
+
+ * gpg.c (main): Do not allow DSA2 with a too old Libgcrypt.
+
2008-03-26 Werner Koch <[email protected]>
* tdbio.c (lookup_hashtable): Make cmp args const.
diff --git a/g10/gpg.c b/g10/gpg.c
index 1a033ebd9..8ec3f337a 100644
--- 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 ());