X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fnet_setup.c;h=fcbc8c5ddacaee12d86009543cf889d18aff727a;hp=ec47f60dd694b50465aad502430803270428f193;hb=9792ba2cac35cb50cc99b72dd4cb9d3ef350dbd4;hpb=5eca9520d93bced1275d45e5e2a933d69354cd6d diff --git a/src/net_setup.c b/src/net_setup.c index ec47f60d..fcbc8c5d 100644 --- a/src/net_setup.c +++ b/src/net_setup.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_setup.c,v 1.1.2.27 2002/09/15 14:55:53 guus Exp $ + $Id: net_setup.c,v 1.1.2.30 2003/03/28 13:41:49 guus Exp $ */ #include "config.h" @@ -85,8 +85,10 @@ int read_rsa_public_key(connection_t *c) cp(); - if(!c->rsa_key) + if(!c->rsa_key) { c->rsa_key = RSA_new(); +// RSA_blinding_on(c->rsa_key, NULL); + } /* First, check for simple PublicKey statement */ @@ -132,8 +134,10 @@ int read_rsa_public_key(connection_t *c) c->rsa_key = PEM_read_RSA_PUBKEY(fp, &c->rsa_key, NULL, NULL); fclose(fp); - if(c->rsa_key) + if(c->rsa_key) { +// RSA_blinding_on(c->rsa_key, NULL); return 0; + } syslog(LOG_ERR, _("Reading RSA public key file `%s' failed: %s"), fname, strerror(errno)); @@ -166,6 +170,7 @@ int read_rsa_public_key(connection_t *c) if(fp) { c->rsa_key = PEM_read_RSA_PUBKEY(fp, &c->rsa_key, NULL, NULL); +// RSA_blinding_on(c->rsa_key, NULL); fclose(fp); } @@ -188,6 +193,7 @@ int read_rsa_private_key(void) if(get_config_string(lookup_config(config_tree, "PrivateKey"), &key)) { myself->connection->rsa_key = RSA_new(); +// RSA_blinding_on(myself->connection->rsa_key, NULL); BN_hex2bn(&myself->connection->rsa_key->d, key); BN_hex2bn(&myself->connection->rsa_key->e, "FFFF"); free(key); @@ -398,6 +404,8 @@ int setup_myself(void) keylifetime = 3600; keyexpires = now + keylifetime; + + EVP_CIPHER_CTX_init(&packet_ctx); /* Check if we want to use message authentication codes... */ @@ -520,7 +528,7 @@ int setup_myself(void) */ int setup_network_connections(void) { - char *envp[4]; + char *envp[5]; int i; cp(); @@ -544,20 +552,21 @@ int setup_network_connections(void) if(setup_device() < 0) return -1; + if(setup_myself() < 0) + return -1; + /* Run tinc-up script to further initialize the tap interface */ asprintf(&envp[0], "NETNAME=%s", netname ? : ""); asprintf(&envp[1], "DEVICE=%s", device ? : ""); asprintf(&envp[2], "INTERFACE=%s", interface ? : ""); - envp[3] = NULL; + asprintf(&envp[3], "NAME=%s", myself->name); + envp[4] = NULL; execute_script("tinc-up", envp); - for(i = 0; i < 4; i++) + for(i = 0; i < 5; i++) free(envp[i]); - if(setup_myself() < 0) - return -1; - try_outgoing_connections(); return 0; @@ -570,7 +579,7 @@ void close_network_connections(void) { avl_node_t *node, *next; connection_t *c; - char *envp[4]; + char *envp[5]; int i; cp(); @@ -602,7 +611,8 @@ void close_network_connections(void) asprintf(&envp[0], "NETNAME=%s", netname ? : ""); asprintf(&envp[1], "DEVICE=%s", device ? : ""); asprintf(&envp[2], "INTERFACE=%s", interface ? : ""); - envp[3] = NULL; + asprintf(&envp[3], "NAME=%s", myself->name); + envp[4] = NULL; execute_script("tinc-down", envp);