aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--g10/ChangeLog5
-rw-r--r--g10/encr-data.c15
2 files changed, 15 insertions, 5 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog
index c506f217e..0ae89aefb 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,8 @@
+2004-10-08 David Shaw <[email protected]>
+
+ * encr-data.c (decrypt_data): Give a warning with a weak key, but
+ still allow to decrypt the message.
+
2004-10-07 David Shaw <[email protected]>
* pkclist.c (build_pk_list): Keystrify.
diff --git a/g10/encr-data.c b/g10/encr-data.c
index c8a8c85db..e05994535 100644
--- a/g10/encr-data.c
+++ b/g10/encr-data.c
@@ -85,15 +85,20 @@ decrypt_data( void *procctx, PKT_encrypted *ed, DEK *dek )
dfx.cipher_hd = cipher_open( dek->algo,
ed->mdc_method? CIPHER_MODE_CFB
: CIPHER_MODE_AUTO_CFB, 1 );
-/* log_hexdump( "thekey", dek->key, dek->keylen );*/
+ /* log_hexdump( "thekey", dek->key, dek->keylen );*/
rc = cipher_setkey( dfx.cipher_hd, dek->key, dek->keylen );
if( rc == G10ERR_WEAK_KEY )
- log_info(_("WARNING: message was encrypted with "
- "a weak key in the symmetric cipher.\n"));
- else if( rc ) {
+ {
+ log_info(_("WARNING: message was encrypted with"
+ " a weak key in the symmetric cipher.\n"));
+ rc=0;
+ }
+ else if( rc )
+ {
log_error("key setup failed: %s\n", g10_errstr(rc) );
goto leave;
- }
+
+}
if (!ed->buf) {
log_error(_("problem handling encrypted packet\n"));
goto leave;