From b79e90f6ba9426158cf305655590f70d3ae89875 Mon Sep 17 00:00:00 2001
From: Nick Mathewson <nickm@torproject.org>
Date: Tue, 1 Sep 2015 09:02:12 -0400
Subject: [PATCH] Fail in configure when openssl is too old. #16901.

---
 changes/bug16901 |  3 +++
 configure.ac     | 10 ++++++++++
 2 files changed, 13 insertions(+)
 create mode 100644 changes/bug16901

diff --git a/changes/bug16901 b/changes/bug16901
new file mode 100644
index 0000000000..c008ebdbd8
--- /dev/null
+++ b/changes/bug16901
@@ -0,0 +1,3 @@
+  o Minor features (compilation):
+    - Give a warning as early as possible when trying to build with an
+      unsupported OpenSSL version.  Closes ticket 16901.
diff --git a/configure.ac b/configure.ac
index 3bb70ed88f..984a7084b3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -632,6 +632,16 @@ save_CPPFLAGS="$CPPFLAGS"
 LIBS="$TOR_OPENSSL_LIBS $LIBS"
 LDFLAGS="$TOR_LDFLAGS_openssl $LDFLAGS"
 CPPFLAGS="$TOR_CPPFLAGS_openssl $CPPFLAGS"
+
+AC_TRY_COMPILE([
+#include <openssl/opensslv.h>
+#if OPENSSL_VERSION_NUMBER < 0x1000000fL
+#error "too old"
+#endif
+   ], [],
+   [ ],
+   [ AC_ERROR([OpenSSL is too old. We require 1.0.0 or later. You can specify a path to a newer one with --with-openssl-dir.]) ])
+
 AC_CHECK_MEMBERS([struct ssl_method_st.get_cipher_by_char], , ,
 [#include <openssl/ssl.h>
 ])
-- 
GitLab