Don't initialise a CIPHER_CTX if cipher == NULL.
authorGuus Sliepen <guus@tinc-vpn.org>
Wed, 23 Jul 2003 22:17:31 +0000 (22:17 +0000)
committerGuus Sliepen <guus@tinc-vpn.org>
Wed, 23 Jul 2003 22:17:31 +0000 (22:17 +0000)
src/net.c
src/net_setup.c
src/protocol_key.c

index 475ea0c98e7213dce8da31532ac42310298d86af..89c6efc35c17ab0b1fd909cf389eb99fbc6ae1d1 100644 (file)
--- 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;
                        }
index e101d9de0c7d9ac1c1e9418cec730f952e7b4aaf..6f7f70adbe24a58e8fdebc96fef2121f5d557f0c 100644 (file)
@@ -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... */
 
index 3b5cd467f62bc254ae87f22d9ebde5703263082d..421e2a30c52818dda4387febb3f8d51e00a578d4 100644 (file)
@@ -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);