* options.h, g10.c (main), mainproc.c (proc_encrypted): --ignore-mdc-error

option to turn a MDC check error into a warning.
This commit is contained in:
David Shaw 2002-08-06 17:57:53 +00:00
parent 58b0a36d6b
commit 63a71c1ff9
5 changed files with 11 additions and 3 deletions

View File

@ -1,5 +1,9 @@
2002-08-06 David Shaw <dshaw@jabberwocky.com>
* options.h, g10.c (main), mainproc.c (proc_encrypted):
--ignore-mdc-error option to turn a MDC check error into a
warning.
* encode.c (encode_crypt), g10.c (main), sign.c (sign_file,
clearsign_file): Use the same --pgpX warning string everywhere to
ease translations.

View File

@ -630,7 +630,7 @@ write_pubkey_enc_from_list( PK_LIST pk_list, DEK *dek, IOBUF out )
if(opt.throw_keyid && (opt.pgp2 || opt.pgp6 || opt.pgp7))
{
log_info(_("you may not use %s while in %s mode\n"),
"throw-keyid",
"--throw-keyid",
opt.pgp2?"--pgp2":opt.pgp6?"--pgp6":"--pgp7");
log_info(_("this message may not be usable by %s\n"),

View File

@ -266,6 +266,7 @@ enum cmd_and_opt_values { aNull = 0,
oIgnoreTimeConflict,
oIgnoreValidFrom,
oIgnoreCrcError,
oIgnoreMDCError,
oShowSessionKey,
oOverrideSessionKey,
oNoRandomSeedFile,
@ -555,6 +556,7 @@ static ARGPARSE_OPTS opts[] = {
{ oIgnoreTimeConflict, "ignore-time-conflict", 0, "@" },
{ oIgnoreValidFrom, "ignore-valid-from", 0, "@" },
{ oIgnoreCrcError, "ignore-crc-error", 0,"@" },
{ oIgnoreMDCError, "ignore-mdc-error", 0,"@" },
{ oShowSessionKey, "show-session-key", 0, "@" },
{ oOverrideSessionKey, "override-session-key", 2, "@" },
{ oNoRandomSeedFile, "no-random-seed-file", 0, "@" },
@ -1420,6 +1422,7 @@ main( int argc, char **argv )
case oIgnoreTimeConflict: opt.ignore_time_conflict = 1; break;
case oIgnoreValidFrom: opt.ignore_valid_from = 1; break;
case oIgnoreCrcError: opt.ignore_crc_error = 1; break;
case oIgnoreMDCError: opt.ignore_mdc_error = 1; break;
case oNoRandomSeedFile: use_random_seed = 0; break;
case oAutoKeyRetrieve:
case oNoAutoKeyRetrieve:

View File

@ -492,11 +492,11 @@ proc_encrypted( CTX c, PACKET *pkt )
m_free(c->dek); c->dek = NULL;
if( result == -1 )
;
else if( !result ) {
else if( !result || (result==G10ERR_BAD_SIGN && opt.ignore_mdc_error)) {
write_status( STATUS_DECRYPTION_OKAY );
if( opt.verbose > 1 )
log_info(_("decryption okay\n"));
if( pkt->pkt.encrypted->mdc_method )
if( pkt->pkt.encrypted->mdc_method && !result )
write_status( STATUS_GOODMDC );
else if(!opt.no_mdc_warn)
log_info ("WARNING: message was not integrity protected\n");

View File

@ -161,6 +161,7 @@ struct {
int ignore_time_conflict;
int ignore_valid_from;
int ignore_crc_error;
int ignore_mdc_error;
int command_fd;
const char *override_session_key;
int show_session_key;