summaryrefslogtreecommitdiff
path: root/openbsd-compat
diff options
context:
space:
mode:
Diffstat (limited to 'openbsd-compat')
-rw-r--r--openbsd-compat/openssl-compat.c20
-rw-r--r--openbsd-compat/openssl-compat.h15
2 files changed, 26 insertions, 9 deletions
diff --git a/openbsd-compat/openssl-compat.c b/openbsd-compat/openssl-compat.c
index b690e8fe6..763f84734 100644
--- a/openbsd-compat/openssl-compat.c
+++ b/openbsd-compat/openssl-compat.c
@@ -1,4 +1,4 @@
1/* $Id: openssl-compat.c,v 1.2 2005/06/17 11:15:21 dtucker Exp $ */ 1/* $Id: openssl-compat.c,v 1.3 2006/02/20 09:17:36 dtucker 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>
@@ -18,7 +18,11 @@
18 18
19#include "includes.h" 19#include "includes.h"
20 20
21#define SSH_DONT_REDEF_EVP 21#ifdef USE_OPENSSL_ENGINE
22# include <openssl/engine.h>
23#endif
24
25#define SSH_DONT_OVERLOAD_OPENSSL_FUNCS
22#include "openssl-compat.h" 26#include "openssl-compat.h"
23 27
24#ifdef SSH_OLD_EVP 28#ifdef SSH_OLD_EVP
@@ -44,3 +48,15 @@ ssh_EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *evp)
44 return 1; 48 return 1;
45} 49}
46#endif 50#endif
51
52void
53ssh_SSLeay_add_all_algorithms(void)
54{
55 SSLeay_add_all_algorithms();
56
57#ifdef USE_OPENSSL_ENGINE
58 /* Enable use of crypto hardware */
59 ENGINE_load_builtin_engines();
60 ENGINE_register_all_complete();
61#endif
62}
diff --git a/openbsd-compat/openssl-compat.h b/openbsd-compat/openssl-compat.h
index 8a015ec43..1196d71ea 100644
--- a/openbsd-compat/openssl-compat.h
+++ b/openbsd-compat/openssl-compat.h
@@ -1,4 +1,4 @@
1/* $Id: openssl-compat.h,v 1.3 2005/12/19 06:40:40 dtucker Exp $ */ 1/* $Id: openssl-compat.h,v 1.4 2006/02/20 09:17:36 dtucker 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>
@@ -54,21 +54,22 @@ extern const EVP_CIPHER *evp_acss(void);
54 * define SSH_DONT_OVERLOAD_OPENSSL_FUNCS before including this file and 54 * define SSH_DONT_OVERLOAD_OPENSSL_FUNCS before including this file and
55 * implement the ssh_* equivalents. 55 * implement the ssh_* equivalents.
56 */ 56 */
57#ifdef SSH_OLD_EVP 57#ifndef SSH_DONT_OVERLOAD_OPENSSL_FUNCS
58
59# ifndef SSH_DONT_REDEF_EVP
60 58
59# ifdef SSH_OLD_EVP
61# ifdef EVP_Cipher 60# ifdef EVP_Cipher
62# undef EVP_Cipher 61# undef EVP_Cipher
63# endif 62# endif
64
65# define EVP_CipherInit(a,b,c,d,e) ssh_EVP_CipherInit((a),(b),(c),(d),(e)) 63# define EVP_CipherInit(a,b,c,d,e) ssh_EVP_CipherInit((a),(b),(c),(d),(e))
66# define EVP_Cipher(a,b,c,d) ssh_EVP_Cipher((a),(b),(c),(d)) 64# define EVP_Cipher(a,b,c,d) ssh_EVP_Cipher((a),(b),(c),(d))
67# define EVP_CIPHER_CTX_cleanup(a) ssh_EVP_CIPHER_CTX_cleanup((a)) 65# define EVP_CIPHER_CTX_cleanup(a) ssh_EVP_CIPHER_CTX_cleanup((a))
68# endif 66# endif /* SSH_OLD_EVP */
67
68# define SSLeay_add_all_algorithms() ssh_SSLeay_add_all_algorithms()
69void ssh_SSLeay_add_all_algorithms(void);
69 70
70int ssh_EVP_CipherInit(EVP_CIPHER_CTX *, const EVP_CIPHER *, unsigned char *, 71int ssh_EVP_CipherInit(EVP_CIPHER_CTX *, const EVP_CIPHER *, unsigned char *,
71 unsigned char *, int); 72 unsigned char *, int);
72int ssh_EVP_Cipher(EVP_CIPHER_CTX *, char *, char *, int); 73int ssh_EVP_Cipher(EVP_CIPHER_CTX *, char *, char *, int);
73int ssh_EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *); 74int ssh_EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *);
74#endif 75#endif /* SSH_DONT_OVERLOAD_OPENSSL_FUNCS */