]> git.meshlink.io Git - meshlink/blobdiff - src/tincd.c
Disable support for detaching from the foreground.
[meshlink] / src / tincd.c
index 5f1447e612a3b919a9873614b339859be1e06092..3d521e5cfdc4b2f9997150b6bab8e80766bad9b6 100644 (file)
@@ -1,7 +1,7 @@
 /*
     tincd.c -- the main file for tincd
     Copyright (C) 1998-2005 Ivo Timmermans
-                  2000-2013 Guus Sliepen <guus@tinc-vpn.org>
+                  2000-2014 Guus Sliepen <guus@tinc-vpn.org>
                   2008      Max Rijevski <maksuf@gmail.com>
                   2009      Michael Tokarev <mjt@tls.msk.ru>
                   2010      Julien Muchembled <jm@jmuchemb.eu>
 #include <getopt.h>
 
 #include "conf.h"
-#include "control.h"
 #include "crypto.h"
-#include "device.h"
 #include "logger.h"
 #include "names.h"
 #include "net.h"
 #include "netutl.h"
-#include "process.h"
 #include "protocol.h"
 #include "utils.h"
 #include "xalloc.h"
@@ -154,10 +151,6 @@ static bool parse_options(int argc, char **argv) {
                                confbase = xstrdup(optarg);
                                break;
 
-                       case 'D': /* no detach */
-                               do_detach = false;
-                               break;
-
                        case 'L': /* no detach */
 #ifndef HAVE_MLOCKALL
                                logger(DEBUG_ALWAYS, LOG_ERR, "The %s option is not supported on this platform.", argv[optind - 1]);
@@ -321,7 +314,7 @@ int main(int argc, char **argv) {
        if(show_version) {
                printf("%s version %s (built %s %s, protocol %d.%d)\n", PACKAGE,
                           VERSION, __DATE__, __TIME__, PROT_MAJOR, PROT_MINOR);
-               printf("Copyright (C) 1998-2012 Ivo Timmermans, Guus Sliepen and others.\n"
+               printf("Copyright (C) 1998-2014 Ivo Timmermans, Guus Sliepen and others.\n"
                                "See the AUTHORS file for a complete list.\n\n"
                                "tinc comes with ABSOLUTELY NO WARRANTY.  This is free software,\n"
                                "and you are welcome to redistribute it under certain conditions;\n"
@@ -346,12 +339,6 @@ int main(int argc, char **argv) {
 
        g_argv = argv;
 
-       if(getenv("LISTEN_PID") && atoi(getenv("LISTEN_PID")) == getpid())
-               do_detach = false;
-#ifdef HAVE_UNSETENV
-       unsetenv("LISTEN_PID");
-#endif
-
        init_configuration(&config_tree);
 
        /* Slllluuuuuuurrrrp! */
@@ -370,22 +357,8 @@ int main(int argc, char **argv) {
        }
 #endif
 
-#ifdef HAVE_MINGW
-       if(!do_detach || !init_service())
-               return main2(argc, argv);
-       else
-               return 1;
-}
-
-int main2(int argc, char **argv) {
-       InitializeCriticalSection(&mutex);
-       EnterCriticalSection(&mutex);
-#endif
        char *priority = NULL;
 
-       if(!detach())
-               return 1;
-
 #ifdef HAVE_MLOCKALL
        /* Lock all pages into memory if requested.
         * This has to be done after daemon()/fork() so it works for child.
@@ -397,17 +370,10 @@ int main2(int argc, char **argv) {
        }
 #endif
 
-       /* Setup sockets and open device. */
+       /* Setup sockets. */
 
        if(!setup_network())
-               goto end_nonet;
-
-       if(!init_control())
-               goto end_nonet;
-
-       /* Initiate all outgoing connections. */
-
-       try_outgoing_connections();
+               goto end;
 
        /* Change process priority */
 
@@ -439,19 +405,17 @@ int main2(int argc, char **argv) {
 
        /* Start main loop. It only exits when tinc is killed. */
 
-       status = main_loop();
+       logger(DEBUG_ALWAYS, LOG_NOTICE, "Ready");
 
-       /* Shutdown properly. */
+       try_outgoing_connections();
 
-       if(debug_level >= DEBUG_CONNECTIONS)
-               devops.dump_stats();
+       status = main_loop();
 
-       close_network_connections();
+       /* Shutdown properly. */
 
 end:
-       exit_control();
+       close_network_connections();
 
-end_nonet:
        logger(DEBUG_ALWAYS, LOG_NOTICE, "Terminating");
 
        free(priority);