From 4a20959d2e3c90e9d66897c0b4032c785672d815 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Thu, 13 Feb 2014 16:38:32 +1100 Subject: - (dtucker) [configure.ac openbsd-compat/openssl-compat.{c,h}] Add compat code for older OpenSSL versions that don't have EVP_MD_CTX_copy_ex. --- ChangeLog | 4 ++++ configure.ac | 5 +++-- openbsd-compat/openssl-compat.c | 10 +++++++++- openbsd-compat/openssl-compat.h | 6 +++++- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index e3b5fd28a..2542215ca 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +20140213 + - (dtucker) [configure.ac openbsd-compat/openssl-compat.{c,h}] Add compat + code for older OpenSSL versions that don't have EVP_MD_CTX_copy_ex. + 20140207 - OpenBSD CVS Sync - naddy@cvs.openbsd.org 2014/02/05 20:13:25 diff --git a/configure.ac b/configure.ac index a350a2a55..0dd3f4541 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -# $Id: configure.ac,v 1.569 2014/02/04 00:18:21 djm Exp $ +# $Id: configure.ac,v 1.570 2014/02/13 05:38:33 dtucker Exp $ # # Copyright (c) 1999-2004 Damien Miller # @@ -15,7 +15,7 @@ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. AC_INIT([OpenSSH], [Portable], [openssh-unix-dev@mindrot.org]) -AC_REVISION($Revision: 1.569 $) +AC_REVISION($Revision: 1.570 $) AC_CONFIG_SRCDIR([ssh.c]) AC_LANG([C]) @@ -2430,6 +2430,7 @@ AC_CHECK_FUNCS([ \ EVP_DigestFinal_ex \ EVP_MD_CTX_init \ EVP_MD_CTX_cleanup \ + EVP_MD_CTX_copy_ex \ HMAC_CTX_init \ RSA_generate_key_ex \ RSA_get_default_method \ diff --git a/openbsd-compat/openssl-compat.c b/openbsd-compat/openssl-compat.c index 60eac4b17..885c121f2 100644 --- a/openbsd-compat/openssl-compat.c +++ b/openbsd-compat/openssl-compat.c @@ -1,4 +1,4 @@ -/* $Id: openssl-compat.c,v 1.16 2014/01/17 07:00:41 dtucker Exp $ */ +/* $Id: openssl-compat.c,v 1.17 2014/02/13 05:38:33 dtucker Exp $ */ /* * Copyright (c) 2005 Darren Tucker @@ -96,6 +96,14 @@ ssh_EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *d, unsigned int cnt) } #endif +#ifndef HAVE_EVP_MD_CTX_COPY_EX +int +EVP_MD_CTX_copy_ex(EVP_MD_CTX *out, const EVP_MD_CTX *in) +{ + return EVP_MD_CTX_copy(out, in); +} +#endif + #ifndef HAVE_BN_IS_PRIME_EX int BN_is_prime_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, void *cb) diff --git a/openbsd-compat/openssl-compat.h b/openbsd-compat/openssl-compat.h index 021ea98f5..276b9706d 100644 --- a/openbsd-compat/openssl-compat.h +++ b/openbsd-compat/openssl-compat.h @@ -1,4 +1,4 @@ -/* $Id: openssl-compat.h,v 1.25 2014/01/17 06:32:31 dtucker Exp $ */ +/* $Id: openssl-compat.h,v 1.26 2014/02/13 05:38:33 dtucker Exp $ */ /* * Copyright (c) 2005 Darren Tucker @@ -156,6 +156,10 @@ int EVP_DigestInit_ex(EVP_MD_CTX *, const EVP_MD *, void *); int EVP_DigestFinal_ex(EVP_MD_CTX *, unsigned char *, unsigned int *); # endif +# ifndef EVP_MD_CTX_COPY_EX +int EVP_MD_CTX_copy_ex(EVP_MD_CTX *, const EVP_MD_CTX *); +# endif + int ssh_EVP_CipherInit(EVP_CIPHER_CTX *, const EVP_CIPHER *, unsigned char *, unsigned char *, int); int ssh_EVP_Cipher(EVP_CIPHER_CTX *, char *, char *, int); -- cgit v1.2.3