From b79e90f6ba9426158cf305655590f70d3ae89875 Mon Sep 17 00:00:00 2001 From: Nick Mathewson 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 +#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 ])