Tiny bits of code beautifying
[oweals/tinc.git] / src / protocol.c
index 11ce65f04782fa65dfcf0ad9465f62950f17c269..8a3d1c3831b8464623a1bfbc8605b69990522084 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.66 2000/11/22 22:05:37 guus Exp $
+    $Id: protocol.c,v 1.28.4.69 2000/12/05 08:59:30 zarq Exp $
 */
 
 #include "config.h"
@@ -72,11 +72,12 @@ int check_id(char *id)
   for (i = 0; i < strlen(id); i++)
     if(!isalnum(id[i]) && id[i] != '_')
       return -1;
-          
+  
   return 0;
 }
 
-/* Generic request routines - takes care of logging and error detection as well */
+/* Generic request routines - takes care of logging and error
+   detection as well */
 
 int send_request(connection_t *cl, const char *format, ...)
 {
@@ -85,8 +86,9 @@ int send_request(connection_t *cl, const char *format, ...)
   int len, request;
 
 cp
-  /* Use vsnprintf instead of vasprintf: faster, no memory fragmentation, cleanup is automatic,
-     and there is a limit on the input buffer anyway */
+  /* Use vsnprintf instead of vasprintf: faster, no memory
+     fragmentation, cleanup is automatic, and there is a limit on the
+     input buffer anyway */
 
   va_start(args, format);
   len = vsnprintf(buffer, MAXBUFSIZE, format, args);
@@ -174,9 +176,10 @@ cp
    (H) SHA1,
    (E) Encrypted with symmetric cipher.
 
-   Part of the challenge is directly used to set the symmetric cipher key and the initial vector.
-   Since a man-in-the-middle cannot decrypt the RSA challenges, this means that he cannot get or
-   forge the key for the symmetric cipher.
+   Part of the challenge is directly used to set the symmetric cipher
+   key and the initial vector.  Since a man-in-the-middle cannot
+   decrypt the RSA challenges, this means that he cannot get or forge
+   the key for the symmetric cipher.
 */
 
 int send_id(connection_t *cl)
@@ -255,8 +258,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 +578,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
@@ -901,12 +902,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;
 }