Move RSA key generation into the wrappers.
[tinc] / src / tincd.c
index 95c45d3..3e3b7b0 100644 (file)
 #include <sys/mman.h>
 #endif
 
-#include <openssl/rand.h>
-#include <openssl/rsa.h>
-#include <openssl/pem.h>
-#include <openssl/evp.h>
-#include <openssl/engine.h>
-
 #include LZO1X_H
 
 #include <getopt.h>
 
 #include "conf.h"
 #include "control.h"
+#include "crypto.h"
 #include "device.h"
 #include "logger.h"
 #include "net.h"
@@ -102,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"));
@@ -190,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)
@@ -217,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);
@@ -294,12 +290,7 @@ int main(int argc, char **argv)
        /* Slllluuuuuuurrrrp! */
 
        srand(time(NULL));
-       RAND_load_file("/dev/urandom", 1024);
-
-       ENGINE_load_builtin_engines();
-       ENGINE_register_all_complete();
-
-       OpenSSL_add_all_algorithms();
+       crypto_init();
 
        if(!read_server_config())
                return 1;
@@ -352,7 +343,7 @@ end:
        exit_control();
 #endif
 
-       EVP_cleanup();
-       
+       crypto_exit();
+
        return status;
 }