Small fixes to make LZO compression work.
[tinc] / src / tincd.c
index 2aa16dd..f3ffc19 100644 (file)
@@ -17,7 +17,7 @@
     along with this program; if not, write to the Free Software
     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-    $Id: tincd.c,v 1.10.4.65 2002/09/15 14:55:54 guus Exp $
+    $Id: tincd.c,v 1.10.4.67 2003/05/06 23:14:45 guus Exp $
 */
 
 #include "config.h"
@@ -50,6 +50,8 @@
 #include <openssl/pem.h>
 #include <openssl/evp.h>
 
+#include <lzo1x.h>
+
 #include <utils.h>
 #include <xalloc.h>
 
@@ -361,6 +363,9 @@ int main(int argc, char **argv, char **envp)
        if(show_help)
                usage(0);
 
+       if(kill_tincd)
+               exit(kill_other(kill_tincd));
+
 #ifndef LOG_PERROR
        openlog("tinc", LOG_CONS, LOG_DAEMON);  /* Catch all syslog() calls issued before detaching */
 #else
@@ -390,10 +395,18 @@ int main(int argc, char **argv, char **envp)
 
        RAND_load_file("/dev/urandom", 1024);
 
+#ifdef HAVE_OPENSSL_ADD_ALL_ALGORITHMS_NOCONF
+       OPENSSL_add_all_algorithms_noconf();
+#else
+#ifdef HAVE_OPENSSL_ADD_ALL_ALGORITHMS
+       OpenSSL_add_all_algorithms();
+#else
 #ifdef HAVE_SSLEAY_ADD_ALL_ALGORITHMS
        SSLeay_add_all_algorithms();
 #else
-       OpenSSL_add_all_algorithms();
+#error No add_all_algorithms function available!
+#endif
+#endif
 #endif
 
        if(generate_keys) {
@@ -401,15 +414,17 @@ int main(int argc, char **argv, char **envp)
                exit(keygen(generate_keys));
        }
 
-       if(kill_tincd)
-               exit(kill_other(kill_tincd));
-
        if(read_server_config())
                exit(1);
 
+       if(lzo_init() != LZO_E_OK) {
+               syslog(LOG_ERR, _("Error initializing LZO compressor!"));
+               exit(1);
+       }
+
        if(detach())
                exit(0);
-
+               
        for(;;) {
                if(!setup_network_connections()) {
                        main_loop();