Browse Source

Don't initialise a CIPHER_CTX if cipher == NULL.

Guus Sliepen 21 years ago
parent
commit
5cb1471351
3 changed files with 11 additions and 7 deletions
  1. 3 2
      src/net.c
  2. 5 3
      src/net_setup.c
  3. 3 2
      src/protocol_key.c

+ 3 - 2
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;
 			}

+ 5 - 3
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... */
 

+ 3 - 2
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);