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:
parent
a1dcec76c1
commit
3983f30bd2
24 changed files with 378 additions and 182 deletions
|
@ -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 )
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue