]> git.meshlink.io Git - meshlink/blobdiff - src/tincd.c
Merge branch 'master' into dirtydebug
[meshlink] / src / tincd.c
index 56ed2f0c1adb940bff41381c2419f243b9e71c67..8c4655cde0d39455ef182a1f7ab8c6b5cf245655 100644 (file)
 #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"
@@ -80,9 +76,6 @@ static bool do_chroot = false;
 static const char *switchuser = NULL;
 #endif
 
-/* If nonzero, write log entries to a separate file. */
-bool use_logfile = false;
-
 char **g_argv;                  /* a copy of the cmdline arguments */
 
 static int status = 1;
@@ -98,8 +91,6 @@ static struct option const long_options[] = {
        {"mlock", no_argument, NULL, 'L'},
        {"chroot", no_argument, NULL, 'R'},
        {"user", required_argument, NULL, 'U'},
-       {"logfile", optional_argument, NULL, 4},
-       {"pidfile", required_argument, NULL, 5},
        {"option", required_argument, NULL, 'o'},
        {NULL, 0, NULL, 0}
 };
@@ -112,10 +103,9 @@ int main2(int argc, char **argv);
 
 static void usage(bool status) {
        if(status)
-               fprintf(stderr, "Try `%s --help\' for more information.\n",
-                               program_name);
+               fprintf(stderr, "Try `tincd --help\' for more information.\n");
        else {
-               printf("Usage: %s [option]...\n\n", program_name);
+               printf("Usage: tincd [option]...\n\n");
                printf( "  -c, --config=DIR              Read configuration options from DIR.\n"
                                "  -D, --no-detach               Don't fork and detach.\n"
                                "  -d, --debug[=LEVEL]           Increase debug level or set it to LEVEL.\n"
@@ -123,8 +113,6 @@ static void usage(bool status) {
 #ifdef HAVE_MLOCKALL
                                "  -L, --mlock                   Lock tinc into main memory.\n"
 #endif
-                               "      --logfile[=FILENAME]      Write log entries to a logfile.\n"
-                               "      --pidfile=FILENAME        Write PID and control socket cookie to FILENAME.\n"
                                "      --bypass-security         Disables meta protocol security, for debugging.\n"
                                "  -o, --option[HOST.]KEY=VALUE  Set global/host configuration value.\n"
 #ifndef HAVE_MINGW
@@ -154,10 +142,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]);
@@ -176,10 +160,6 @@ static bool parse_options(int argc, char **argv) {
                                        debug_level++;
                                break;
 
-                       case 'n': /* net name given */
-                               netname = xstrdup(optarg);
-                               break;
-
                        case 'o': /* option */
                                cfg = parse_config_line(optarg, NULL, ++lineno);
                                if (!cfg)
@@ -214,18 +194,6 @@ static bool parse_options(int argc, char **argv) {
                                bypass_security = true;
                                break;
 
-                       case 4:   /* write log entries to a file */
-                               use_logfile = true;
-                               if(!optarg && optind < argc && *argv[optind] != '-')
-                                       optarg = argv[optind++];
-                               if(optarg)
-                                       logfilename = xstrdup(optarg);
-                               break;
-
-                       case 5:   /* open control socket here */
-                               pidfilename = xstrdup(optarg);
-                               break;
-
                        case '?': /* wrong options */
                                usage(true);
                                return false;
@@ -241,21 +209,6 @@ static bool parse_options(int argc, char **argv) {
                return false;
        }
 
-       if(!netname && (netname = getenv("NETNAME")))
-               netname = xstrdup(netname);
-
-       /* netname "." is special: a "top-level name" */
-
-       if(netname && (!*netname || !strcmp(netname, "."))) {
-               free(netname);
-               netname = NULL;
-       }
-
-       if(netname && (strpbrk(netname, "\\/") || *netname == '.')) {
-               fprintf(stderr, "Invalid character in netname!\n");
-               return false;
-       }
-
        return true;
 }
 
@@ -311,13 +264,9 @@ static bool drop_privs(void) {
 #endif
 
 int main(int argc, char **argv) {
-       program_name = argv[0];
-
        if(!parse_options(argc, argv))
                return 1;
 
-       make_names();
-
        if(show_version) {
                printf("%s version %s (built %s %s, protocol %d.%d)\n", PACKAGE,
                           VERSION, __DATE__, __TIME__, PROT_MAJOR, PROT_MINOR);
@@ -342,16 +291,10 @@ int main(int argc, char **argv) {
        }
 #endif
 
-       openlogger("tinc", use_logfile?LOGMODE_FILE:LOGMODE_STDERR);
+       openlogger("tinc", LOGMODE_STDERR);
 
        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 +313,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,7 +326,7 @@ int main2(int argc, char **argv) {
        }
 #endif
 
-       /* Setup sockets and open device. */
+       /* Setup sockets. */
 
        if(!setup_network())
                goto end;
@@ -451,7 +380,6 @@ end:
 
        exit_configuration(&config_tree);
        free(cmdline_conf);
-       free_names();
 
        return status;
 }