Imported gnutls based branch.
[tinc] / src / tincd.c
index ebee1b3..ce22b7b 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: tincd.c,v 1.10.4.88 2003/09/25 10:34:16 guus Exp $
+    $Id: tincd.c,v 1.10.4.90 2003/12/07 14:31:09 guus Exp $
 */
 
 #include "system.h"
 #include <sys/mman.h>
 #endif
 
-#include <openssl/rand.h>
-#include <openssl/rsa.h>
-#include <openssl/pem.h>
-#include <openssl/evp.h>
+#include <gnutls/gnutls.h>
 
 #include <lzo1x.h>
 
 #include <getopt.h>
+#include <pidfile.h>
 
 #include "conf.h"
 #include "device.h"
@@ -285,6 +283,10 @@ static void indicator(int a, int b, void *p)
 */
 static bool keygen(int bits)
 {
+       fprintf(stderr, _("Use certtool!\n"));
+       return false;
+
+#if 0
        RSA *rsa_key;
        FILE *f;
        char *name = NULL;
@@ -337,6 +339,7 @@ static bool keygen(int bits)
        free(filename);
 
        return true;
+#endif
 }
 
 /*
@@ -436,7 +439,7 @@ int main(int argc, char **argv)
        {
                logger(LOG_ERR, _("mlockall() not supported on this platform!"));
 #endif
-               return -1;
+               return 1;
        }
 
        g_argv = argv;
@@ -445,9 +448,7 @@ int main(int argc, char **argv)
 
        /* Slllluuuuuuurrrrp! */
 
-       RAND_load_file("/dev/urandom", 1024);
-
-       OpenSSL_add_all_algorithms();
+       gnutls_global_init();
 
        if(generate_keys) {
                read_server_config();
@@ -482,17 +483,10 @@ int main2(int argc, char **argv)
                return 1;
                
 
-       /* Setup sockets and open device. If it doesn't work, don't give up but try again. */
+       /* Setup sockets and open device. */
 
-       while(!setup_network_connections()) {
-               if(do_detach) {
-                       logger(LOG_NOTICE, _("Restarting in %d seconds!"), maxtimeout);
-                       sleep(maxtimeout);
-               } else {
-                       logger(LOG_ERR, _("Not restarting."));
-                       return 1;
-               }
-       }
+       if(!setup_network_connections())
+               goto end;
 
        /* Start main loop. It only exits when tinc is killed. */
 
@@ -505,6 +499,7 @@ int main2(int argc, char **argv)
        ifdebug(CONNECTIONS)
                dump_device_stats();
 
+end:
        logger(LOG_NOTICE, _("Terminating"));
 
 #ifndef HAVE_MINGW