blob: 45ebd3f668c9eaf0e43ab0e866fd3d7c957cdd99 [file] [log] [blame]
Darren Tucker94413cf2006-02-22 22:24:47 +11001/* $Id: openssl-compat.c,v 1.4 2006/02/22 11:24:47 dtucker Exp $ */
Darren Tuckera55ec772005-06-09 21:45:10 +10002
3/*
4 * Copyright (c) 2005 Darren Tucker <dtucker@zip.com.au>
5 *
6 * Permission to use, copy, modify, and distribute this software for any
7 * purpose with or without fee is hereby granted, provided that the above
8 * copyright notice and this permission notice appear in all copies.
9 *
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
15 * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
16 * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 */
18
Darren Tuckera55ec772005-06-09 21:45:10 +100019#include "includes.h"
20
Darren Tuckerfabdb6c2006-02-20 20:17:35 +110021#ifdef USE_OPENSSL_ENGINE
22# include <openssl/engine.h>
23#endif
24
25#define SSH_DONT_OVERLOAD_OPENSSL_FUNCS
Darren Tuckerf0bd3522005-06-17 21:15:20 +100026#include "openssl-compat.h"
27
Darren Tuckera55ec772005-06-09 21:45:10 +100028#ifdef SSH_OLD_EVP
29int
30ssh_EVP_CipherInit(EVP_CIPHER_CTX *evp, const EVP_CIPHER *type,
31 unsigned char *key, unsigned char *iv, int enc)
32{
33 EVP_CipherInit(evp, type, key, iv, enc);
34 return 1;
35}
36
37int
38ssh_EVP_Cipher(EVP_CIPHER_CTX *evp, char *dst, char *src, int len)
39{
40 EVP_Cipher(evp, dst, src, len);
41 return 1;
42}
43
44int
45ssh_EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *evp)
46{
47 EVP_CIPHER_CTX_cleanup(evp);
48 return 1;
49}
50#endif
Darren Tuckerfabdb6c2006-02-20 20:17:35 +110051
Darren Tucker94413cf2006-02-22 22:24:47 +110052#ifdef USE_OPENSSL_ENGINE
Darren Tuckerfabdb6c2006-02-20 20:17:35 +110053void
54ssh_SSLeay_add_all_algorithms(void)
55{
56 SSLeay_add_all_algorithms();
57
Darren Tuckerfabdb6c2006-02-20 20:17:35 +110058 /* Enable use of crypto hardware */
59 ENGINE_load_builtin_engines();
60 ENGINE_register_all_complete();
Darren Tuckerfabdb6c2006-02-20 20:17:35 +110061}
Darren Tucker94413cf2006-02-22 22:24:47 +110062#endif