Imported gnutls based branch.
[tinc] / src / net.c
index 1644976..24f520c 100644 (file)
--- a/src/net.c
+++ b/src/net.c
     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.202 2003/12/12 19:52:24 guus Exp $
+    $Id: net.c,v 1.35.4.203 2003/12/20 19:47:52 guus Exp $
 */
 
 #include "system.h"
 
-#include <openssl/rand.h>
+#include <gcrypt.h>
 
 #include "utils.h"
 #include "avl_tree.h"
@@ -334,7 +334,8 @@ int main_loop(void)
        while(running) {
                now = time(NULL);
 
-               tv.tv_sec = 1 + (rand() & 7);   /* Approx. 5 seconds, randomized to prevent global synchronisation effects */
+       //      tv.tv_sec = 1 + (rand() & 7);   /* Approx. 5 seconds, randomized to prevent global synchronisation effects */
+               tv.tv_sec = 1;
                tv.tv_usec = 0;
 
                maxfd = build_fdset(&fset);
@@ -376,9 +377,9 @@ int main_loop(void)
                        if(keyexpires < now) {
                                ifdebug(STATUS) logger(LOG_INFO, _("Regenerating symmetric key"));
 
-                               RAND_pseudo_bytes(myself->key, myself->keylength);
+                               gcry_randomize(myself->cipherkey, myself->cipherkeylen, GCRY_STRONG_RANDOM);
                                if(myself->cipher)
-                                       EVP_DecryptInit_ex(&packet_ctx, myself->cipher, NULL, myself->key, myself->key + myself->cipher->key_len);
+                                       gcry_cipher_setkey(myself->cipher_ctx, myself->cipherkey, myself->cipherkeylen);
                                send_key_changed(broadcast, myself);
                                keyexpires = now + keylifetime;
                        }