From 5cb147135184e3748c6f5e6e6203d22ab9f904f8 Mon Sep 17 00:00:00 2001 From: Guus Sliepen Date: Wed, 23 Jul 2003 22:17:31 +0000 Subject: [PATCH] Don't initialise a CIPHER_CTX if cipher == NULL. --- src/net.c | 5 +++-- src/net_setup.c | 8 +++++--- src/protocol_key.c | 5 +++-- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/net.c b/src/net.c index 475ea0c..89c6efc 100644 --- a/src/net.c +++ b/src/net.c @@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: net.c,v 1.35.4.192 2003/07/22 20:55:19 guus Exp $ + $Id: net.c,v 1.35.4.193 2003/07/23 22:17:31 guus Exp $ */ #include "system.h" @@ -339,7 +339,8 @@ void main_loop(void) ifdebug(STATUS) logger(LOG_INFO, _("Regenerating symmetric key")); RAND_pseudo_bytes(myself->key, myself->keylength); - EVP_DecryptInit_ex(&packet_ctx, myself->cipher, NULL, myself->key, myself->key + myself->cipher->key_len); + if(myself->cipher) + EVP_DecryptInit_ex(&packet_ctx, myself->cipher, NULL, myself->key, myself->key + myself->cipher->key_len); send_key_changed(broadcast, myself); keyexpires = now + keylifetime; } diff --git a/src/net_setup.c b/src/net_setup.c index e101d9d..6f7f70a 100644 --- a/src/net_setup.c +++ b/src/net_setup.c @@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: net_setup.c,v 1.1.2.38 2003/07/22 21:13:23 guus Exp $ + $Id: net_setup.c,v 1.1.2.39 2003/07/23 22:17:31 guus Exp $ */ #include "system.h" @@ -362,8 +362,10 @@ bool setup_myself(void) keyexpires = now + keylifetime; - EVP_CIPHER_CTX_init(&packet_ctx); - EVP_DecryptInit_ex(&packet_ctx, myself->cipher, NULL, myself->key, myself->key + myself->cipher->key_len); + if(myself->cipher) { + EVP_CIPHER_CTX_init(&packet_ctx); + EVP_DecryptInit_ex(&packet_ctx, myself->cipher, NULL, myself->key, myself->key + myself->cipher->key_len); + } /* Check if we want to use message authentication codes... */ diff --git a/src/protocol_key.c b/src/protocol_key.c index 3b5cd46..421e2a3 100644 --- a/src/protocol_key.c +++ b/src/protocol_key.c @@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: protocol_key.c,v 1.1.4.20 2003/07/22 20:55:20 guus Exp $ + $Id: protocol_key.c,v 1.1.4.21 2003/07/23 22:17:31 guus Exp $ */ #include "system.h" @@ -250,7 +250,8 @@ bool ans_key_h(connection_t *c) from->compression = compression; - EVP_EncryptInit_ex(&from->packet_ctx, from->cipher, NULL, from->key, from->key + from->cipher->key_len); + if(from->cipher) + EVP_EncryptInit_ex(&from->packet_ctx, from->cipher, NULL, from->key, from->key + from->cipher->key_len); flush_queue(from); -- 2.25.1