Fix compilation without deprecated OpenSSL APIs
authorRosen Penev <rosenp@gmail.com>
Wed, 12 Dec 2018 21:45:59 +0000 (13:45 -0800)
committerGuus Sliepen <guus@tinc-vpn.org>
Tue, 18 Dec 2018 15:50:31 +0000 (16:50 +0100)
This is an optional part of OpenWrt designed to save space.

src/connection.c
src/connection.h
src/net_setup.c
src/tincd.c

index 38b3ccf..d137af1 100644 (file)
@@ -96,13 +96,13 @@ void free_connection_partially(connection_t *c) {
        c->outbudget = 0;
 
        if(c->inctx) {
-               EVP_CIPHER_CTX_cleanup(c->inctx);
+               EVP_CIPHER_CTX_reset(c->inctx);
                free(c->inctx);
                c->inctx = NULL;
        }
 
        if(c->outctx) {
-               EVP_CIPHER_CTX_cleanup(c->outctx);
+               EVP_CIPHER_CTX_reset(c->outctx);
                free(c->outctx);
                c->outctx = NULL;
        }
index 629e16b..4f55467 100644 (file)
 #include <openssl/rsa.h>
 #include <openssl/evp.h>
 
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#define EVP_CIPHER_CTX_reset(c)        EVP_CIPHER_CTX_cleanup(c)
+#endif
+
 #include "avl_tree.h"
 
 #define OPTION_INDIRECT         0x0001
index cac7455..f26007b 100644 (file)
@@ -27,6 +27,7 @@
 #include <openssl/rand.h>
 #include <openssl/err.h>
 #include <openssl/evp.h>
+#include <openssl/bn.h>
 
 #include "avl_tree.h"
 #include "conf.h"
index bdac0c9..e8a6044 100644 (file)
@@ -40,6 +40,7 @@
 #ifndef OPENSSL_NO_ENGINE
 #include <openssl/engine.h>
 #endif
+#include <openssl/bn.h>
 
 #ifdef HAVE_LZO
 #include LZO1X_H
@@ -692,7 +693,9 @@ int main(int argc, char **argv) {
        ENGINE_register_all_complete();
 #endif
 
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
        OpenSSL_add_all_algorithms();
+#endif
 
        if(generate_keys) {
                read_server_config();
@@ -811,11 +814,13 @@ end:
 
        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);