1761efaa7SDag-Erling Smørgrav /* $Id: openssl-compat.c,v 1.4 2006/02/22 11:24:47 dtucker Exp $ */ 2043840dfSDag-Erling Smørgrav 3043840dfSDag-Erling Smørgrav /* 4043840dfSDag-Erling Smørgrav * Copyright (c) 2005 Darren Tucker <dtucker@zip.com.au> 5043840dfSDag-Erling Smørgrav * 6043840dfSDag-Erling Smørgrav * Permission to use, copy, modify, and distribute this software for any 7043840dfSDag-Erling Smørgrav * purpose with or without fee is hereby granted, provided that the above 8043840dfSDag-Erling Smørgrav * copyright notice and this permission notice appear in all copies. 9043840dfSDag-Erling Smørgrav * 10043840dfSDag-Erling Smørgrav * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11043840dfSDag-Erling Smørgrav * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12043840dfSDag-Erling Smørgrav * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13043840dfSDag-Erling Smørgrav * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14043840dfSDag-Erling Smørgrav * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER 15043840dfSDag-Erling Smørgrav * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING 16043840dfSDag-Erling Smørgrav * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17043840dfSDag-Erling Smørgrav */ 18043840dfSDag-Erling Smørgrav 19043840dfSDag-Erling Smørgrav #include "includes.h" 20043840dfSDag-Erling Smørgrav 21761efaa7SDag-Erling Smørgrav #ifdef USE_OPENSSL_ENGINE 22761efaa7SDag-Erling Smørgrav # include <openssl/engine.h> 23761efaa7SDag-Erling Smørgrav #endif 24761efaa7SDag-Erling Smørgrav 25761efaa7SDag-Erling Smørgrav #define SSH_DONT_OVERLOAD_OPENSSL_FUNCS 26043840dfSDag-Erling Smørgrav #include "openssl-compat.h" 27043840dfSDag-Erling Smørgrav 28043840dfSDag-Erling Smørgrav #ifdef SSH_OLD_EVP 29043840dfSDag-Erling Smørgrav int 30043840dfSDag-Erling Smørgrav ssh_EVP_CipherInit(EVP_CIPHER_CTX *evp, const EVP_CIPHER *type, 31043840dfSDag-Erling Smørgrav unsigned char *key, unsigned char *iv, int enc) 32043840dfSDag-Erling Smørgrav { 33043840dfSDag-Erling Smørgrav EVP_CipherInit(evp, type, key, iv, enc); 34043840dfSDag-Erling Smørgrav return 1; 35043840dfSDag-Erling Smørgrav } 36043840dfSDag-Erling Smørgrav 37043840dfSDag-Erling Smørgrav int 38043840dfSDag-Erling Smørgrav ssh_EVP_Cipher(EVP_CIPHER_CTX *evp, char *dst, char *src, int len) 39043840dfSDag-Erling Smørgrav { 40043840dfSDag-Erling Smørgrav EVP_Cipher(evp, dst, src, len); 41043840dfSDag-Erling Smørgrav return 1; 42043840dfSDag-Erling Smørgrav } 43043840dfSDag-Erling Smørgrav 44043840dfSDag-Erling Smørgrav int 45043840dfSDag-Erling Smørgrav ssh_EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *evp) 46043840dfSDag-Erling Smørgrav { 47043840dfSDag-Erling Smørgrav EVP_CIPHER_CTX_cleanup(evp); 48043840dfSDag-Erling Smørgrav return 1; 49043840dfSDag-Erling Smørgrav } 50043840dfSDag-Erling Smørgrav #endif 51761efaa7SDag-Erling Smørgrav 52761efaa7SDag-Erling Smørgrav #ifdef USE_OPENSSL_ENGINE 53761efaa7SDag-Erling Smørgrav void 54761efaa7SDag-Erling Smørgrav ssh_SSLeay_add_all_algorithms(void) 55761efaa7SDag-Erling Smørgrav { 56761efaa7SDag-Erling Smørgrav SSLeay_add_all_algorithms(); 57761efaa7SDag-Erling Smørgrav 58761efaa7SDag-Erling Smørgrav /* Enable use of crypto hardware */ 59761efaa7SDag-Erling Smørgrav ENGINE_load_builtin_engines(); 60761efaa7SDag-Erling Smørgrav ENGINE_register_all_complete(); 61761efaa7SDag-Erling Smørgrav } 62761efaa7SDag-Erling Smørgrav #endif 63