X-Git-Url: https://www.tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fnet.c;h=24f520c0c268d005d31a0c7d5c44225bfb385127;hb=refs%2Fheads%2F1.0-gnutls;hp=e0b5e6f42e725bc3f8dab49cfb1519c80662dcb1;hpb=e3220cacb5bc79fc56167e61b7a342f88a33a479;p=tinc diff --git a/src/net.c b/src/net.c index e0b5e6f4..24f520c0 100644 --- a/src/net.c +++ b/src/net.c @@ -17,12 +17,12 @@ 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.201 2003/11/17 15:30:17 guus Exp $ + $Id: net.c,v 1.35.4.203 2003/12/20 19:47:52 guus Exp $ */ #include "system.h" -#include +#include #include "utils.h" #include "avl_tree.h" @@ -270,7 +270,7 @@ static void check_network_activity(fd_set * f) if(FD_ISSET(device_fd, f)) { if(read_packet(&packet)) - route_outgoing(&packet); + route(myself, &packet); } for(node = connection_tree->head; node; node = node->next) { @@ -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); @@ -367,7 +368,7 @@ int main_loop(void) last_ping_check = now; if(routing_mode == RMODE_SWITCH) - age_mac(); + age_subnets(); age_past_requests(); @@ -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; }