X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fopenssl%2Fcipher.h;h=e5404a60382004956e6f77107f4c06661b292a54;hb=28be4baae016a5a771d0d9ec6e97ef38a4fc9e46;hp=482f1a6d476f2b481389e87603f73fb9c18896f3;hpb=a22041922f160667573e9a5ae3f4195e1668906a;p=tinc diff --git a/src/openssl/cipher.h b/src/openssl/cipher.h index 482f1a6d..e5404a60 100644 --- a/src/openssl/cipher.h +++ b/src/openssl/cipher.h @@ -1,6 +1,9 @@ +#ifndef TINC_OPENSSL_CIPHER_H +#define TINC_OPENSSL_CIPHER_H + /* cipher.h -- header file cipher.c - Copyright (C) 2007 Guus Sliepen + Copyright (C) 2007-2022 Guus Sliepen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,35 +20,13 @@ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#ifndef __TINC_CIPHER_H__ -#define __TINC_CIPHER_H__ - #include -#define CIPHER_MAX_BLOCK_SIZE EVP_MAX_BLOCK_LENGTH -#define CIPHER_MAX_KEY_SIZE EVP_MAX_KEY_LENGTH -#define CIPHER_MAX_IV_SIZE EVP_MAX_IV_LENGTH +#include "../legacy.h" typedef struct cipher { - EVP_CIPHER_CTX ctx; + EVP_CIPHER_CTX *ctx; const EVP_CIPHER *cipher; - char *key; - uint16_t keylen; - uint16_t blklen; } cipher_t; -extern bool cipher_open_by_name(cipher_t *, const char *); -extern bool cipher_open_by_nid(cipher_t *, int); -extern bool cipher_open_blowfish_ofb(cipher_t *); -extern void cipher_close(cipher_t *); -extern size_t cipher_keylength(const cipher_t *); -extern void cipher_get_key(const cipher_t *, void *); -extern bool cipher_set_key(cipher_t *, void *, bool); -extern bool cipher_set_key_from_rsa(cipher_t *, void *, size_t, bool); -extern bool cipher_regenerate_key(cipher_t *, bool); -extern bool cipher_encrypt(cipher_t *, const void *indata, size_t inlen, void *outdata, size_t *outlen, bool); -extern bool cipher_decrypt(cipher_t *, const void *indata, size_t inlen, void *outdata, size_t *outlen, bool); -extern int cipher_get_nid(const cipher_t *); -extern bool cipher_active(const cipher_t *); - #endif