X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fopenssl%2Fcipher.h;h=360596c6c7d0d27758a0f2f7a59c0790d4819ce3;hb=28b7a53b693f6b4e70218a926e68a36ece54cda1;hp=482f1a6d476f2b481389e87603f73fb9c18896f3;hpb=79e46d08a46f2fef2ee4e8eac7ba487007160564;p=tinc diff --git a/src/openssl/cipher.h b/src/openssl/cipher.h index 482f1a6d..360596c6 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,11 @@ 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 - -typedef struct cipher { - EVP_CIPHER_CTX ctx; +struct cipher { + 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