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.26 2002/09/09 22:32:44 guus Exp $
+ $Id: net_setup.c,v 1.1.2.30 2003/03/28 13:41:49 guus Exp $
*/
#include "config.h"
#include <fcntl.h>
#include <netdb.h>
#include <netinet/in.h>
-#ifdef HAVE_NETINET_IN_SYSTM_H
-#include <netinet/in_systm.h>
-#endif
-#ifdef HAVE_NETINET_IP_H
-#include <netinet/ip.h>
-#endif
-#ifdef HAVE_NETINET_TCP_H
-#include <netinet/tcp.h>
-#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <net/if.h>
+#ifdef HAVE_NETINET_IN_SYSTM_H
+#include <netinet/in_systm.h>
+#endif
+#ifdef HAVE_NETINET_IP_H
+#include <netinet/ip.h>
+#endif
+#ifdef HAVE_NETINET_TCP_H
+#include <netinet/tcp.h>
+#endif
#include <openssl/pem.h>
#include <openssl/rsa.h>
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 */
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));
if(fp) {
c->rsa_key = PEM_read_RSA_PUBKEY(fp, &c->rsa_key, NULL, NULL);
+// RSA_blinding_on(c->rsa_key, NULL);
fclose(fp);
}
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);
keylifetime = 3600;
keyexpires = now + keylifetime;
+
+ EVP_CIPHER_CTX_init(&packet_ctx);
/* Check if we want to use message authentication codes... */
*/
int setup_network_connections(void)
{
- char *envp[4];
+ char *envp[5];
int i;
cp();
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;
{
avl_node_t *node, *next;
connection_t *c;
- char *envp[4];
+ char *envp[5];
int i;
cp();
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);