You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

98 lines
2.3 KiB

From 5e0e401dc69b9c25e5f85de7484a70ea97862e16 Mon Sep 17 00:00:00 2001
From: Rosen Penev <rosenp@gmail.com>
Date: Wed, 12 Dec 2018 13:45:59 -0800
Subject: [PATCH 2/2] Fix compilation without deprecated OpenSSL APIs
This is an optional part of OpenWrt designed to save space.
---
src/connection.c | 4 ++--
src/connection.h | 4 ++++
src/net_setup.c | 1 +
src/tincd.c | 5 +++++
4 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/connection.c b/src/connection.c
index 38b3ccfe..d137af12 100644
--- a/src/connection.c
+++ b/src/connection.c
@@ -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;
}
diff --git a/src/connection.h b/src/connection.h
index 629e16b9..4f554672 100644
--- a/src/connection.h
+++ b/src/connection.h
@@ -24,6 +24,10 @@
#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
diff --git a/src/net_setup.c b/src/net_setup.c
index cac7455d..f26007bd 100644
--- a/src/net_setup.c
+++ b/src/net_setup.c
@@ -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"
diff --git a/src/tincd.c b/src/tincd.c
index bdac0c9d..e8a60449 100644
--- a/src/tincd.c
+++ b/src/tincd.c
@@ -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,10 +814,12 @@ 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);
--
2.20.0