Add a DECRYPTION_INFO status.

DECRYPTION_INFO <mdc_method> <sym_algo>
        Print information about the symmetric encryption algorithm and
        the MDC method.  This will be emitted even if the decryption
        fails.
This commit is contained in:
Werner Koch 2011-02-03 20:59:01 +01:00
parent 71e7a1644e
commit 5667e33290
5 changed files with 81 additions and 63 deletions

View File

@ -1,5 +1,7 @@
2011-02-03 Werner Koch <wk@g10code.com>
* status.h (STATUS_DECRYPTION_INFO): New.
* argparse.c (strusage): Update copyright year.
2011-01-31 Werner Koch <wk@g10code.com>

View File

@ -49,6 +49,7 @@ enum
STATUS_NO_PUBKEY,
STATUS_NO_SECKEY,
STATUS_NEED_PASSPHRASE_SYM,
STATUS_DECRYPTION_INFO,
STATUS_DECRYPTION_FAILED,
STATUS_DECRYPTION_OKAY,
STATUS_MISSING_PASSPHRASE,

View File

@ -423,17 +423,6 @@ more arguments in future versions.
The supplied passphrase was good and the secret key material
is therefore usable.
DECRYPTION_FAILED
The symmetric decryption failed - one reason could be a wrong
passphrase for a symmetrical encrypted message.
DECRYPTION_OKAY
The decryption process succeeded. This means, that either the
correct secret key has been used or the correct passphrase
for a conventional encrypted message was given. The program
itself may return an errorcode because it may not be possible to
verify a signature for some reasons.
NO_PUBKEY <long keyid>
NO_SECKEY <long keyid>
The key is not available
@ -485,6 +474,22 @@ more arguments in future versions.
Mark the start and end of the actual decryption process. These
are also emitted when in --list-only mode.
DECRYPTION_INFO <mdc_method> <sym_algo>
Print information about the symmetric encryption algorithm and
the MDC method. This will be emitted even if the decryption
fails.
DECRYPTION_FAILED
The symmetric decryption failed - one reason could be a wrong
passphrase for a symmetrical encrypted message.
DECRYPTION_OKAY
The decryption process succeeded. This means, that either the
correct secret key has been used or the correct passphrase
for a conventional encrypted message was given. The program
itself may return an errorcode because it may not be possible to
verify a signature for some reasons.
BEGIN_ENCRYPTION <mdc_method> <sym_algo>
END_ENCRYPTION
Mark the start and end of the actual encryption process.
@ -1290,4 +1295,3 @@ A better way to do this would be a request like:
This can be implemented using Hurd's translator mechanism.
However, I think the whole key server stuff has to be re-thought;
I have some ideas and probably create a white paper.

View File

@ -1,5 +1,8 @@
2011-02-03 Werner Koch <wk@g10code.com>
* decrypt-data.c: Include status.h.
(decrypt_data): Emit a DECRYPTION_INFO status line.
* misc.c (has_invalid_email_chars): Relax mailbox name checking.
Fixes bug#1315.

View File

@ -30,6 +30,7 @@
#include "cipher.h"
#include "options.h"
#include "i18n.h"
#include "status.h"
static int mdc_decode_filter ( void *opaque, int control, IOBUF a,
@ -97,6 +98,14 @@ decrypt_data (ctrl_t ctrl, void *procctx, PKT_encrypted *ed, DEK *dek)
log_info (_("encrypted with unknown algorithm %d\n"), dek->algo );
dek->algo_info_printed = 1;
}
{
char buf[20];
snprintf (buf, sizeof buf, "%d %d", ed->mdc_method, dek->algo);
write_status_text (STATUS_DECRYPTION_INFO, buf);
}
rc = openpgp_cipher_test_algo (dek->algo);
if (rc)
goto leave;
@ -443,4 +452,3 @@ decode_filter( void *opaque, int control, IOBUF a, byte *buf, size_t *ret_len)
}
return rc;
}