/*
tincd.c -- the main file for tincd
Copyright (C) 1998-2005 Ivo Timmermans
- 2000-2018 Guus Sliepen <guus@tinc-vpn.org>
+ 2000-2019 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 <openssl/rsa.h>
#include <openssl/pem.h>
#include <openssl/evp.h>
+#ifndef OPENSSL_NO_ENGINE
#include <openssl/engine.h>
+#endif
+#include <openssl/bn.h>
#ifdef HAVE_LZO
#include LZO1X_H
}
static void free_names() {
- if(identname) {
- free(identname);
- }
-
- if(netname) {
- free(netname);
- }
-
- if(pidfilename) {
- free(pidfilename);
- }
-
- if(logfilename) {
- free(logfilename);
- }
-
- if(confbase) {
- free(confbase);
- }
+ free(identname);
+ free(netname);
+ free(pidfilename);
+ free(logfilename);
+ free(confbase);
}
static bool drop_privs() {
if(show_version) {
printf("%s version %s\n", PACKAGE, VERSION);
- printf("Copyright (C) 1998-2018 Ivo Timmermans, Guus Sliepen and others.\n"
+ printf("Copyright (C) 1998-2019 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"
init_configuration(&config_tree);
- /* Slllluuuuuuurrrrp! */
-
- if(RAND_load_file("/dev/urandom", 1024) != 1024) {
- logger(LOG_ERR, "Error initializing RNG!");
- return 1;
- }
-
+#ifndef OPENSSL_NO_ENGINE
ENGINE_load_builtin_engines();
ENGINE_register_all_complete();
+#endif
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
OpenSSL_add_all_algorithms();
+#endif
if(generate_keys) {
read_server_config();
free(priority);
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
EVP_cleanup();
ERR_free_strings();
+#ifndef OPENSSL_NO_ENGINE
ENGINE_cleanup();
+#endif
+#endif
exit_configuration(&config_tree);
list_delete_list(cmdline_conf);