X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fnet.c;h=ea2bb01d57a1447b139d46fd1b9caab2cae984ae;hp=4a369ff737e7b5eec4163b6a27d154de55d97f10;hb=24fa68585923d2b52718390f3f38d1aaacef12f0;hpb=9de5787574b21e94c80ddc60def2b3e514aff755 diff --git a/src/net.c b/src/net.c index 4a369ff7..ea2bb01d 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.95 2001/02/25 16:04:00 guus Exp $ + $Id: net.c,v 1.35.4.98 2001/02/27 15:33:39 guus Exp $ */ #include "config.h" @@ -112,7 +112,7 @@ int xsend(connection_t *cl, vpn_packet_t *inpkt) cp outpkt.len = inpkt->len; - /* Encrypt the packet. FIXME: we should use CBC, not CFB. */ + /* Encrypt the packet. */ EVP_EncryptInit(&ctx, cl->cipher_pkttype, cl->cipher_pktkey, cl->cipher_pktkey + cl->cipher_pkttype->key_len); EVP_EncryptUpdate(&ctx, outpkt.data, &outlen, inpkt->data, inpkt->len); @@ -816,7 +816,7 @@ cp cp /* Generate packet encryption key */ - myself->cipher_pkttype = EVP_bf_cfb(); + myself->cipher_pkttype = EVP_bf_cbc(); myself->cipher_pktkeylength = myself->cipher_pkttype->key_len + myself->cipher_pkttype->iv_len; @@ -1217,8 +1217,9 @@ cp /* Check if this was our outgoing connection */ - if(cl->status.outgoing && cl->status.active) + if(cl->status.outgoing) { + cl->status.outgoing = 0; signal(SIGALRM, sigalrm_handler); seconds_till_retry = 5; alarm(seconds_till_retry); @@ -1297,6 +1298,8 @@ cp } connection_add(ncn); + + send_id(ncn); cp return 0; }