1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-02 22:46:30 +02:00

See ChangeLog: Mon May 17 21:54:43 CEST 1999 Werner Koch

This commit is contained in:
Werner Koch 1999-05-17 20:03:24 +00:00
parent a1dcec76c1
commit 3983f30bd2
24 changed files with 378 additions and 182 deletions

View file

@ -1,4 +1,4 @@
/* mainproc.c - handle packets
/* maPPPPinproc.c - handle packets
* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
*
* This file is part of GnuPG.
@ -44,7 +44,7 @@
*/
typedef struct mainproc_context *CTX;
struct mainproc_context {
struct mainproc_context *anchor;
struct mainproc_context *anchor; /* may be useful in the future */
PKT_public_key *last_pubkey;
PKT_secret_key *last_seckey;
PKT_user_id *last_user_id;
@ -60,7 +60,6 @@ struct mainproc_context {
IOBUF iobuf; /* used to get the filename etc. */
int trustletter; /* temp usage in list_node */
ulong local_id; /* ditto */
int is_encrypted; /* used to check the MDC */
};
@ -229,7 +228,6 @@ proc_encrypted( CTX c, PACKET *pkt )
int result = 0;
/*log_debug("dat: %sencrypted data\n", c->dek?"":"conventional ");*/
c->is_encrypted = 1;
if( !c->dek && !c->last_was_session_key ) {
/* assume this is old conventional encrypted data */
c->dek = passphrase_to_dek( NULL,
@ -247,6 +245,12 @@ proc_encrypted( CTX c, PACKET *pkt )
write_status( STATUS_DECRYPTION_OKAY );
if( opt.verbose > 1 )
log_info(_("decryption okay\n"));
if( pkt->pkt.encrypted->mdc_method )
write_status( STATUS_GOODMDC );
}
else if( result == G10ERR_BAD_SIGN ) {
log_error(_("WARNING: encrypted message has been manipulated!\n"));
write_status( STATUS_BADMDC );
}
else {
write_status( STATUS_DECRYPTION_FAILED );
@ -259,6 +263,7 @@ proc_encrypted( CTX c, PACKET *pkt )
}
static void
proc_plaintext( CTX c, PACKET *pkt )
{
@ -353,16 +358,6 @@ proc_compressed( CTX c, PACKET *pkt )
c->last_was_session_key = 0;
}
static int
is_encrypted( CTX c )
{
for( ; c; c = c->anchor ) {
if( c->is_encrypted )
return 1;
}
return 0;
}
/****************
* check the signature
* Returns: 0 = valid signature or an error code
@ -763,7 +758,8 @@ do_proc_packets( CTX c, IOBUF a )
switch( pkt->pkttype ) {
case PKT_PUBKEY_ENC: proc_pubkey_enc( c, pkt ); break;
case PKT_SYMKEY_ENC: proc_symkey_enc( c, pkt ); break;
case PKT_ENCRYPTED: proc_encrypted( c, pkt ); break;
case PKT_ENCRYPTED:
case PKT_ENCRYPTED_MDC: proc_encrypted( c, pkt ); break;
case PKT_COMPRESSED: proc_compressed( c, pkt ); break;
default: newpkt = 0; break;
}
@ -776,6 +772,7 @@ do_proc_packets( CTX c, IOBUF a )
case PKT_SYMKEY_ENC:
case PKT_PUBKEY_ENC:
case PKT_ENCRYPTED:
case PKT_ENCRYPTED_MDC:
rc = G10ERR_UNEXPECTED;
goto leave;
case PKT_SIGNATURE: newpkt = add_signature( c, pkt ); break;
@ -795,7 +792,8 @@ do_proc_packets( CTX c, IOBUF a )
case PKT_SIGNATURE: newpkt = add_signature( c, pkt ); break;
case PKT_SYMKEY_ENC: proc_symkey_enc( c, pkt ); break;
case PKT_PUBKEY_ENC: proc_pubkey_enc( c, pkt ); break;
case PKT_ENCRYPTED: proc_encrypted( c, pkt ); break;
case PKT_ENCRYPTED:
case PKT_ENCRYPTED_MDC: proc_encrypted( c, pkt ); break;
case PKT_PLAINTEXT: proc_plaintext( c, pkt ); break;
case PKT_COMPRESSED: proc_compressed( c, pkt ); break;
case PKT_ONEPASS_SIG: newpkt = add_onepass_sig( c, pkt ); break;
@ -818,7 +816,8 @@ do_proc_packets( CTX c, IOBUF a )
case PKT_SIGNATURE: newpkt = add_signature( c, pkt ); break;
case PKT_PUBKEY_ENC: proc_pubkey_enc( c, pkt ); break;
case PKT_SYMKEY_ENC: proc_symkey_enc( c, pkt ); break;
case PKT_ENCRYPTED: proc_encrypted( c, pkt ); break;
case PKT_ENCRYPTED:
case PKT_ENCRYPTED_MDC: proc_encrypted( c, pkt ); break;
case PKT_PLAINTEXT: proc_plaintext( c, pkt ); break;
case PKT_COMPRESSED: proc_compressed( c, pkt ); break;
case PKT_ONEPASS_SIG: newpkt = add_onepass_sig( c, pkt ); break;
@ -855,22 +854,6 @@ do_proc_packets( CTX c, IOBUF a )
}
#if 0 /* old MDC hack code preserved to reuse the messages later */
if( !rc ) {
if( opt.verbose )
log_info(_("encrypted message is valid\n"));
write_status( STATUS_GOODMDC );
}
else if( rc == G10ERR_BAD_SIGN ) {
log_error(_("WARNING: encrypted message has been manipulated!\n"));
write_status( STATUS_BADMDC );
}
else {
write_status( STATUS_ERRMDC );
log_error(_("Can't check MDC: %s\n"), g10_errstr(rc) );
}
#endif
static int
check_sig_and_print( CTX c, KBNODE node )
{