> On 2 Mar 2018, at 6:11 pm, James Brown <[email protected]> wrote: > > > >> On 2 Mar 2018, at 5:59 pm, Aki Tuomi <[email protected]> wrote: >> >> >> We have attempted to compile our code with OpenSSL 1.0, 1.0.2 and 1.1.0, but >> I'll try the specific releases too. >> >> Can you try this patch? >> >> diff --git a/src/lib-dcrypt/dcrypt-openssl.c >> b/src/lib-dcrypt/dcrypt-openssl.c >> index 26c9b91..187bb75 100644 >> --- a/src/lib-dcrypt/dcrypt-openssl.c >> +++ b/src/lib-dcrypt/dcrypt-openssl.c >> @@ -9,17 +9,17 @@ >> #include "array.h" >> #include "module-dir.h" >> #include "dovecot-openssl-common.h" >> -#include <openssl/evp.h> >> -#include <openssl/sha.h> >> -#include <openssl/err.h> >> -#include <openssl/rsa.h> >> -#include <openssl/ec.h> >> -#include <openssl/bio.h> >> -#include <openssl/pem.h> >> -#include <openssl/x509.h> >> -#include <openssl/engine.h> >> -#include <openssl/hmac.h> >> -#include <openssl/objects.h> >> +#include "openssl/evp.h" >> +#include "openssl/sha.h" >> +#include "openssl/err.h" >> +#include "openssl/rsa.h" >> +#include "openssl/ec.h" >> +#include "openssl/bio.h" >> +#include "openssl/pem.h" >> +#include "openssl/x509.h" >> +#include "openssl/engine.h" >> +#include "openssl/hmac.h" >> +#include "openssl/objects.h" >> #include "dcrypt.h" >> #include "dcrypt-private.h" >> >> And if it does not work, add after the includes >> >> #pragma message("OpenSSL version is " OPENSSL_VERSION_TEXT) >> #error See above >> >> And provide output? >> >> Aki
Hi Aki,
Change src/lib-dcrypt/dcrypt-openssl.c start to:
/* Copyright (c) 2016-2017 Dovecot authors, see the included COPYING file */
#include "lib.h"
#include "buffer.h"
#include "str.h"
#include "hex-binary.h"
#include "safe-memset.h"
#include "randgen.h"
#include "array.h"
#include "module-dir.h"
#include "dovecot-openssl-common.h"
#include "openssl/evp.h"
#include "openssl/sha.h"
#include "openssl/err.h"
#include "openssl/rsa.h"
#include "openssl/ec.h"
#include "openssl/bio.h"
#include "openssl/pem.h"
#include "openssl/x509.h"
#include "openssl/engine.h"
#include "openssl/hmac.h"
#include "openssl/objects.h"
#include "dcrypt.h"
#include "dcrypt-private.h"
#pragma message("OpenSSL version is " OPENSSL_VERSION_TEXT)
#error See above
/**
Ie changed the < and > to double quotes.
Ran make clean, then ./configure and but it still fails. :-(
dcrypt-openssl.c:25: warning: ignoring #pragma message
dcrypt-openssl.c:26:2: error: #error See above
dcrypt-openssl.c:118: error: field 'ctx' has incomplete type
dcrypt-openssl.c: In function 'dcrypt_openssl_ctx_hmac_destroy':
dcrypt-openssl.c:452: warning: implicit declaration of function 'HMAC_cleanup'
dcrypt-openssl.c: In function 'dcrypt_openssl_generate_ec_key':
dcrypt-openssl.c:556: error: dereferencing pointer to incomplete type
dcrypt-openssl.c:557: error: dereferencing pointer to incomplete type
dcrypt-openssl.c: In function 'dcrypt_openssl_ecdh_derive_secret_local':
dcrypt-openssl.c:589: error: dereferencing pointer to incomplete type
dcrypt-openssl.c: In function 'dcrypt_openssl_ecdh_derive_secret_peer':
dcrypt-openssl.c:669: error: dereferencing pointer to incomplete type
dcrypt-openssl.c:698: error: dereferencing pointer to incomplete type
dcrypt-openssl.c:699: error: dereferencing pointer to incomplete type
dcrypt-openssl.c: In function 'dcrypt_openssl_store_private_key_dovecot':
dcrypt-openssl.c:1462: error: dereferencing pointer to incomplete type
dcrypt-openssl.c:1483: error: dereferencing pointer to incomplete type
dcrypt-openssl.c:1490: error: dereferencing pointer to incomplete type
dcrypt-openssl.c: In function 'dcrypt_openssl_load_private_key':
dcrypt-openssl.c:1616: error: dereferencing pointer to incomplete type
dcrypt-openssl.c: In function 'dcrypt_openssl_store_public_key':
dcrypt-openssl.c:1766: error: dereferencing pointer to incomplete type
dcrypt-openssl.c: In function 'dcrypt_openssl_private_to_public_key':
dcrypt-openssl.c:1802: error: dereferencing pointer to incomplete type
dcrypt-openssl.c: In function 'dcrypt_openssl_name2oid':
dcrypt-openssl.c:2063: error: dereferencing pointer to incomplete type
dcrypt-openssl.c: In function 'dcrypt_openssl_public_key_id_old':
dcrypt-openssl.c:2113: error: dereferencing pointer to incomplete type
dcrypt-openssl.c: In function 'dcrypt_openssl_private_key_id_old':
dcrypt-openssl.c:2136: error: dereferencing pointer to incomplete type
dcrypt-openssl.c: In function 'dcrypt_openssl_public_key_id_evp':
dcrypt-openssl.c:2154: error: dereferencing pointer to incomplete type
make[3]: *** [libdcrypt_openssl_la-dcrypt-openssl.lo] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Thanks for your help.
James.
smime.p7s
Description: S/MIME cryptographic signature
