New function read_rsa_public_key();
[oweals/tinc.git] / src / protocol.c
index 735a14c1f187c2ff21e1f466d3f051c6a39fbbd3..a46894d0af349679eb6b0349bf680e64e688d2f6 100644 (file)
@@ -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.65 2000/11/22 20:25:27 guus Exp $
+    $Id: protocol.c,v 1.28.4.68 2000/11/30 23:18:21 zarq Exp $
 */
 
 #include "config.h"
@@ -255,8 +255,8 @@ cp
   if((cfg = get_config_val(cl->config, config_publickey)))
     {
       cl->rsa_key = RSA_new();
-      BN_hex2bn(&cl->rsa_key->n, cfg->data.ptr);
-      BN_hex2bn(&cl->rsa_key->e, "FFFF");
+      if(read_rsa_public_key(&(cl->rsa_key), cfg->data.ptr) < 0)
+       return -1;
     }
   else
     {
@@ -575,8 +575,6 @@ cp
   if(cl->status.outgoing)
     cl->allow_request = ACK;
 
-  setup_vpn_connection(cl);
-
   x = send_request(cl, "%d", ACK);
   cl->status.encryptout = 1;
 cp
@@ -846,7 +844,7 @@ cp
 
   /* Check if somebody tries to add ourself */
 
-  if(!strcmp(new->name, myself->name))
+  if(!strcmp(name, myself->name))
     {
       syslog(LOG_ERR, _("Warning: got ADD_HOST from %s (%s) for ourself, restarting"), cl->name, cl->hostname);
       sighup = 1;
@@ -901,12 +899,6 @@ cp
   new->status.active = 1;
   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;
 }