]> git.meshlink.io Git - meshlink/blobdiff - src/tincd.c
Merge branch 'master' into 1.1
[meshlink] / src / tincd.c
index d5942ce0c2f396ba7c5b20566d31452487390090..ac0cbc6c39cbe2683249b7119158d7cd80e74766 100644 (file)
@@ -1,7 +1,7 @@
 /*
     tincd.c -- the main file for tincd
     Copyright (C) 1998-2005 Ivo Timmermans
-                  2000-2007 Guus Sliepen <guus@tinc-vpn.org>
+                  2000-2009 Guus Sliepen <guus@tinc-vpn.org>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -97,13 +97,14 @@ static void usage(bool status)
                                program_name);
        else {
                printf(_("Usage: %s [option]...\n\n"), program_name);
-               printf(_("  -c, --config=DIR                     Read configuration options from DIR.\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"
                                "  -n, --net=NETNAME             Connect to net NETNAME.\n"
                                "  -L, --mlock                   Lock tinc into main memory.\n"
                                "      --logfile[=FILENAME]      Write log entries to a logfile.\n"
                                "      --controlsocket=FILENAME  Open control socket at FILENAME.\n"
+                               "      --bypass-security         Disables meta protocol security, for debugging.\n"
                                "      --help                    Display this help and exit.\n"
                                "      --version                 Output version information and exit.\n\n"));
                printf(_("Report bugs to tinc@tinc-vpn.org.\n"));
@@ -185,7 +186,7 @@ static void make_names(void)
 #ifdef HAVE_MINGW
        HKEY key;
        char installdir[1024] = "";
-       long len = sizeof(installdir);
+       long len = sizeof installdir;
 #endif
 
        if(netname)
@@ -212,7 +213,7 @@ static void make_names(void)
 #endif
 
        if(!controlsocketname)
-               asprintf(&controlsocketname, LOCALSTATEDIR "/run/%s.control", identname);
+               asprintf(&controlsocketname, "%s/run/%s.control/socket", LOCALSTATEDIR, identname);
 
        if(!logfilename)
                asprintf(&logfilename, LOCALSTATEDIR "/log/%s.log", identname);
@@ -228,6 +229,14 @@ static void make_names(void)
        }
 }
 
+static void free_names() {
+       if (identname) free(identname);
+       if (netname) free(netname);
+       if (controlsocketname) free(controlsocketname);
+       if (logfilename) free(logfilename);
+       if (confbase) free(confbase);
+}
+
 int main(int argc, char **argv)
 {
        program_name = argv[0];
@@ -244,7 +253,7 @@ int main(int argc, char **argv)
        if(show_version) {
                printf(_("%s version %s (built %s %s, protocol %d)\n"), PACKAGE,
                           VERSION, __DATE__, __TIME__, PROT_CURRENT);
-               printf(_("Copyright (C) 1998-2007 Ivo Timmermans, Guus Sliepen and others.\n"
+               printf(_("Copyright (C) 1998-2009 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"
@@ -330,11 +339,11 @@ int main2(int argc, char **argv)
 
        /* Shutdown properly. */
 
-       close_network_connections();
-
        ifdebug(CONNECTIONS)
                dump_device_stats();
 
+       close_network_connections();
+
 end:
        logger(LOG_NOTICE, _("Terminating"));