Sat, 21 Feb 2009 16:39:01 +0100
Patch gnupg and its dependency gcrypt to accept use of the IDEA cipher.
This effort seems to be flawed, as runtime tests of generating a
revokation certificate for a IDEA encrypted key were inconclusive.
Suspicion rests on a flawed implementation or patch logic.
michael@30 | 1 | Index: agent/genkey.c |
michael@30 | 2 | --- agent/genkey.c.orig 2007-11-19 16:11:31 +0100 |
michael@30 | 3 | +++ agent/genkey.c 2007-12-21 09:17:46 +0100 |
michael@30 | 4 | @@ -188,11 +188,9 @@ |
michael@30 | 5 | return gpg_error (GPG_ERR_INV_PASSPHRASE); |
michael@30 | 6 | |
michael@30 | 7 | desc = xtryasprintf |
michael@30 | 8 | - ( ngettext ("Warning: You have entered an insecure passphrase.%%0A" |
michael@30 | 9 | + ( "Warning: You have entered an insecure passphrase.%%0A" |
michael@30 | 10 | "A passphrase should be at least %u character long.", |
michael@30 | 11 | - "Warning: You have entered an insecure passphrase.%%0A" |
michael@30 | 12 | - "A passphrase should be at least %u characters long.", |
michael@30 | 13 | - minlen), minlen ); |
michael@30 | 14 | + minlen); |
michael@30 | 15 | if (!desc) |
michael@30 | 16 | return gpg_error_from_syserror (); |
michael@30 | 17 | err = take_this_one_anyway (ctrl, desc); |
michael@30 | 18 | Index: configure |
michael@30 | 19 | --- configure.orig 2007-12-20 09:40:04 +0100 |
michael@30 | 20 | +++ configure 2007-12-21 09:08:55 +0100 |
michael@30 | 21 | @@ -6909,13 +6909,13 @@ |
michael@30 | 22 | # Check wether it is necessary to link against libdl. |
michael@30 | 23 | # |
michael@30 | 24 | gnupg_dlopen_save_libs="$LIBS" |
michael@30 | 25 | -LIBS="" |
michael@30 | 26 | { echo "$as_me:$LINENO: checking for library containing dlopen" >&5 |
michael@30 | 27 | echo $ECHO_N "checking for library containing dlopen... $ECHO_C" >&6; } |
michael@30 | 28 | if test "${ac_cv_search_dlopen+set}" = set; then |
michael@30 | 29 | echo $ECHO_N "(cached) $ECHO_C" >&6 |
michael@30 | 30 | else |
michael@30 | 31 | ac_func_search_save_LIBS=$LIBS |
michael@30 | 32 | + LIBS="" |
michael@30 | 33 | cat >conftest.$ac_ext <<_ACEOF |
michael@30 | 34 | /* confdefs.h. */ |
michael@30 | 35 | _ACEOF |
michael@107 | 36 | Index: configure |
michael@107 | 37 | --- g10/seckey-cert.c.orig 2008-03-18 17:46:32.000000000 +0100 |
michael@107 | 38 | +++ g10/seckey-cert.c 2009-02-18 21:25:25.508715635 +0100 |
michael@107 | 39 | @@ -209,6 +209,11 @@ |
michael@107 | 40 | csum += checksum (buffer, ndata); |
michael@107 | 41 | gcry_mpi_release (sk->skey[i]); |
michael@107 | 42 | |
michael@107 | 43 | + if (sk->protect.algo==CIPHER_ALGO_IDEA) { |
michael@107 | 44 | + buffer[0] = 0; |
michael@107 | 45 | + buffer[1] = 0; |
michael@107 | 46 | + } |
michael@107 | 47 | + |
michael@107 | 48 | err = gcry_mpi_scan( &sk->skey[i], GCRYMPI_FMT_PGP, |
michael@107 | 49 | buffer, ndata, &ndata ); |
michael@107 | 50 | xfree (buffer); |