bad, so let's not check OPENSSL_NO_ENGINE in those places. Fortunately, all
the header files where the problem existed include ossl_typ.h, which makes
a 'forward declaration' of the ENGINE type.
int references;
CRYPTO_EX_DATA ex_data;
const DH_METHOD *meth;
-#ifndef OPENSSL_NO_ENGINE
ENGINE *engine;
-#endif
};
#define DH_GENERATOR_2 2
int references;
CRYPTO_EX_DATA ex_data;
const DSA_METHOD *meth;
-#ifndef OPENSSL_NO_ENGINE
/* functional reference if 'meth' is ENGINE-provided */
ENGINE *engine;
-#endif
};
#define DSAparams_dup(x) (DSA *)ASN1_dup((int (*)())i2d_DSAparams, \
struct env_md_ctx_st
{
const EVP_MD *digest;
-#ifndef OPENSSL_NO_ENGINE
ENGINE *engine; /* functional reference if 'digest' is ENGINE-provided */
-#endif
unsigned long flags;
void *md_data;
} /* EVP_MD_CTX */;
struct evp_cipher_ctx_st
{
const EVP_CIPHER *cipher;
-#ifndef OPENSSL_NO_ENGINE
ENGINE *engine; /* functional reference if 'cipher' is ENGINE-provided */
-#endif
int encrypt; /* encrypt or decrypt */
int buf_len; /* number we have left */
int pad;
long version;
const RSA_METHOD *meth;
-#ifndef OPENSSL_NO_ENGINE
/* functional reference if 'meth' is ENGINE-provided */
ENGINE *engine;
-#endif
BIGNUM *n;
BIGNUM *e;
BIGNUM *d;