--- libaitio/inc/aitio.h 2016/08/11 12:25:51 1.41.2.3 +++ libaitio/inc/aitio.h 2019/10/08 12:58:55 1.42.2.1 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitio.h,v 1.41.2.3 2016/08/11 12:25:51 misho Exp $ +* $Id: aitio.h,v 1.42.2.1 2019/10/08 12:58:55 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -51,8 +51,12 @@ SUCH DAMAGE. #include #include -#include +#include #include +#include +#if OPENSSL_VERSION_NUMBER >= 0x10100000L + #include +#endif #include #include #include @@ -67,6 +71,28 @@ SUCH DAMAGE. #include +#ifndef evp_cipher_ctx_st +struct evp_cipher_ctx_st { + const EVP_CIPHER *cipher; + ENGINE *engine; /* functional reference if 'cipher' is + * ENGINE-provided */ + int encrypt; /* encrypt or decrypt */ + int buf_len; /* number we have left */ + unsigned char oiv[EVP_MAX_IV_LENGTH]; /* original iv */ + unsigned char iv[EVP_MAX_IV_LENGTH]; /* working iv */ + unsigned char buf[EVP_MAX_BLOCK_LENGTH]; /* saved partial block */ + int num; /* used by cfb/ofb/ctr mode */ + /* FIXME: Should this even exist? It appears unused */ + void *app_data; /* application stuff */ + int key_len; /* May change for variable length cipher */ + unsigned long flags; /* Various flags */ + void *cipher_data; /* per EVP data */ + int final_used; + int block_mask; + unsigned char final[EVP_MAX_BLOCK_LENGTH]; /* possible final block */ +} /* EVP_CIPHER_CTX */ ; +#endif + #ifndef STRSIZ #define STRSIZ 256 #endif @@ -642,7 +668,7 @@ int io_dumbFile(const char *csFile, int mode, off_t si * @csIface = interface name * @flags = open flags * @whdr = with complete headers - * @wdlt = with data link type + * @wdlt = with data link type, on Linux is protocol number * @buflen = buffer length * @zcbuf = zero copy buffer, if BPF supports it and isn't NULL * return: -1 error or >-1 bpf handle