X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fprotocol.c;h=dfb6ad97135c7c3d5b83a323b4cb80cca7d168c3;hp=0728ea1a1b104e0f6b9971f40ae0e1ba64538794;hb=9024e01ce649b89d304a4aa5b1d6ef0b56b5a12c;hpb=afc05797077641baa33b024ffeaafd6cad3ff7a7 diff --git a/src/protocol.c b/src/protocol.c index 0728ea1a..dfb6ad97 100644 --- a/src/protocol.c +++ b/src/protocol.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.c,v 1.28.4.57 2000/11/04 20:44:28 guus Exp $ + $Id: protocol.c,v 1.28.4.61 2000/11/15 13:33:27 guus Exp $ */ #include "config.h" @@ -30,15 +30,31 @@ #include #include #include +#include #include #include #include -#include -#include -#include +#ifdef HAVE_OPENSSL_SHA_H +# include +#else +# include +#endif + +#ifdef HAVE_OPENSSL_RAND_H +# include +#else +# include +#endif + +#ifdef HAVE_OPENSSL_EVP_H +# include +#else +# include +#endif + #include "conf.h" #include "net.h" @@ -225,7 +241,7 @@ cp } } cp - if((cfg = get_config_val(cl->config, publickey))) + if((cfg = get_config_val(cl->config, config_publickey))) { cl->rsa_key = RSA_new(); BN_hex2bn(&cl->rsa_key->n, cfg->data.ptr); @@ -561,6 +577,8 @@ cp if(cl->status.outgoing) cl->allow_request = ACK; + setup_vpn_connection(cl); + x = send_request(cl, "%d", ACK); cl->status.encryptout = 1; cp @@ -875,6 +893,11 @@ cp new->cipher_pkttype = EVP_bf_cfb(); new->cipher_pktkeylength = cl->cipher_pkttype->key_len + cl->cipher_pkttype->iv_len; + /* Okay this is a bit ugly... it would be better to setup UDP sockets dynamically, or + * perhaps just one UDP socket... but then again, this has benefits too... + */ + + setup_vpn_connection(new); cp return 0; }