summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2016-11-07 09:09:14 -0500
committerNick Mathewson <nickm@torproject.org>2016-11-07 09:09:14 -0500
commit96cd6c402871625ad6a063c9ba4830315109a701 (patch)
tree35b6d3a811ea5d6946f4f59c52f2a05db69efa51
parent27039cbc26ff6a115ed89cf4f0f985c31b2bb9e6 (diff)
parentce8a1e25a2a7ea7f4c7ce72932b7ee08fa05b7d3 (diff)
downloadtor-96cd6c402871625ad6a063c9ba4830315109a701.tar.gz
tor-96cd6c402871625ad6a063c9ba4830315109a701.zip
Merge branch 'maint-0.2.9' into release-0.2.9
-rw-r--r--changes/bug205883
-rw-r--r--src/common/aes.c9
2 files changed, 11 insertions, 1 deletions
diff --git a/changes/bug20588 b/changes/bug20588
new file mode 100644
index 0000000000..be199b2de0
--- /dev/null
+++ b/changes/bug20588
@@ -0,0 +1,3 @@
+ o Minor bugfixes (portability):
+ - Fix compilation with OpenSSL 1.1 and less commonly-used
+ CPU architectures. Closes ticket 20588.
diff --git a/src/common/aes.c b/src/common/aes.c
index ef94d8a75c..35c2d1e3a5 100644
--- a/src/common/aes.c
+++ b/src/common/aes.c
@@ -56,7 +56,14 @@ ENABLE_GCC_WARNING(redundant-decls)
* gives us, and the best possible counter-mode implementation, and combine
* them.
*/
-#if OPENSSL_VERSION_NUMBER >= OPENSSL_V_NOPATCH(1,0,1) && \
+#if OPENSSL_VERSION_NUMBER >= OPENSSL_V_NOPATCH(1,1,0)
+
+/* With newer OpenSSL versions, the older fallback modes don't compile. So
+ * don't use them, even if we lack specific acceleration. */
+
+#define USE_EVP_AES_CTR
+
+#elif OPENSSL_VERSION_NUMBER >= OPENSSL_V_NOPATCH(1,0,1) && \
(defined(__i386) || defined(__i386__) || defined(_M_IX86) || \
defined(__x86_64) || defined(__x86_64__) || \
defined(_M_AMD64) || defined(_M_X64) || defined(__INTEL__)) \