diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | configure.ac | 15 | ||||
-rw-r--r-- | openbsd-compat/openssl-compat.h | 11 |
3 files changed, 26 insertions, 4 deletions
@@ -1,3 +1,7 @@ | |||
1 | 20130211 | ||
2 | - (djm) [configure.ac openbsd-compat/openssl-compat.h] Repair build on old | ||
3 | libcrypto that lacks EVP_CIPHER_CTX_ctrl | ||
4 | |||
1 | 20130208 | 5 | 20130208 |
2 | - (djm) [contrib/redhat/sshd.init] treat RETVAL as an integer; | 6 | - (djm) [contrib/redhat/sshd.init] treat RETVAL as an integer; |
3 | patch from Iain Morgan in bz#2059 | 7 | patch from Iain Morgan in bz#2059 |
diff --git a/configure.ac b/configure.ac index 6df09e210..e96e81e64 100644 --- a/configure.ac +++ b/configure.ac | |||
@@ -1,4 +1,4 @@ | |||
1 | # $Id: configure.ac,v 1.502 2013/02/08 00:50:09 dtucker Exp $ | 1 | # $Id: configure.ac,v 1.503 2013/02/10 23:39:13 djm Exp $ |
2 | # | 2 | # |
3 | # Copyright (c) 1999-2004 Damien Miller | 3 | # Copyright (c) 1999-2004 Damien Miller |
4 | # | 4 | # |
@@ -15,7 +15,7 @@ | |||
15 | # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | 15 | # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
16 | 16 | ||
17 | AC_INIT([OpenSSH], [Portable], [openssh-unix-dev@mindrot.org]) | 17 | AC_INIT([OpenSSH], [Portable], [openssh-unix-dev@mindrot.org]) |
18 | AC_REVISION($Revision: 1.502 $) | 18 | AC_REVISION($Revision: 1.503 $) |
19 | AC_CONFIG_SRCDIR([ssh.c]) | 19 | AC_CONFIG_SRCDIR([ssh.c]) |
20 | AC_LANG([C]) | 20 | AC_LANG([C]) |
21 | 21 | ||
@@ -2339,7 +2339,12 @@ AC_LINK_IFELSE( | |||
2339 | #include <openssl/evp.h> | 2339 | #include <openssl/evp.h> |
2340 | ]], [[ | 2340 | ]], [[ |
2341 | exit(EVP_aes_128_gcm() == NULL || | 2341 | exit(EVP_aes_128_gcm() == NULL || |
2342 | EVP_aes_256_gcm() == NULL); | 2342 | EVP_aes_256_gcm() == NULL || |
2343 | EVP_CTRL_GCM_SET_IV_FIXED == 0 || | ||
2344 | EVP_CTRL_GCM_IV_GEN == 0 || | ||
2345 | EVP_CTRL_GCM_SET_TAG == 0 || | ||
2346 | EVP_CTRL_GCM_GET_TAG == 0 || | ||
2347 | EVP_CIPHER_CTX_ctrl(NULL, 0, 0, NULL) == 0); | ||
2343 | ]])], | 2348 | ]])], |
2344 | [ | 2349 | [ |
2345 | AC_MSG_RESULT([yes]) | 2350 | AC_MSG_RESULT([yes]) |
@@ -2351,6 +2356,10 @@ AC_LINK_IFELSE( | |||
2351 | ] | 2356 | ] |
2352 | ) | 2357 | ) |
2353 | 2358 | ||
2359 | AC_SEARCH_LIBS([EVP_CIPHER_CTX_ctrl], [crypto], | ||
2360 | [AC_DEFINE([HAVE_EVP_CIPHER_CTX_CTRL], [1], | ||
2361 | [Define if libcrypto has EVP_CIPHER_CTX_ctrl])]) | ||
2362 | |||
2354 | AC_MSG_CHECKING([if EVP_DigestUpdate returns an int]) | 2363 | AC_MSG_CHECKING([if EVP_DigestUpdate returns an int]) |
2355 | AC_LINK_IFELSE( | 2364 | AC_LINK_IFELSE( |
2356 | [AC_LANG_PROGRAM([[ | 2365 | [AC_LANG_PROGRAM([[ |
diff --git a/openbsd-compat/openssl-compat.h b/openbsd-compat/openssl-compat.h index eca62769e..6c4d68def 100644 --- a/openbsd-compat/openssl-compat.h +++ b/openbsd-compat/openssl-compat.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $Id: openssl-compat.h,v 1.22 2013/01/20 11:31:37 djm Exp $ */ | 1 | /* $Id: openssl-compat.h,v 1.23 2013/02/10 23:39:15 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright (c) 2005 Darren Tucker <dtucker@zip.com.au> | 4 | * Copyright (c) 2005 Darren Tucker <dtucker@zip.com.au> |
@@ -79,6 +79,15 @@ void ssh_aes_ctr_iv(EVP_CIPHER_CTX *, int, u_char *, size_t); | |||
79 | # define EVP_CTRL_GCM_GET_TAG -1 | 79 | # define EVP_CTRL_GCM_GET_TAG -1 |
80 | #endif | 80 | #endif |
81 | 81 | ||
82 | /* Replace missing EVP_CIPHER_CTX_ctrl() with something that returns failure */ | ||
83 | #ifndef HAVE_EVP_CIPHER_CTX_CTRL | ||
84 | # ifdef OPENSSL_HAVE_EVPGCM | ||
85 | # error AES-GCM enabled without EVP_CIPHER_CTX_ctrl /* shouldn't happen */ | ||
86 | # else | ||
87 | # define EVP_CIPHER_CTX_ctrl(a,b,c,d) (0) | ||
88 | # endif | ||
89 | #endif | ||
90 | |||
82 | #if OPENSSL_VERSION_NUMBER < 0x00907000L | 91 | #if OPENSSL_VERSION_NUMBER < 0x00907000L |
83 | #define EVP_X_STATE(evp) &(evp).c | 92 | #define EVP_X_STATE(evp) &(evp).c |
84 | #define EVP_X_STATE_LEN(evp) sizeof((evp).c) | 93 | #define EVP_X_STATE_LEN(evp) sizeof((evp).c) |