Skip to content

OpenSSL 1.1.0 Compatibility #23

@will-bastian

Description

@will-bastian

The openssl project underwent significant change from 1.0.2 -> 1.1.0 and one of the most visible is that types are now opaque:
openssl/openssl#962 (comment)

After sorting through some initial compile failures (SHA_INIT -> SHA1_INIT, etc), we encounter the same error described in the the initial issue report, above: openssl/openssl#962

vagrant@ubuntu-bionic:~/build$ make
Scanning dependencies of target mordor
[  0%] Building CXX object mordor/CMakeFiles/mordor.dir/zip.cpp.o
[  1%] Building CXX object mordor/CMakeFiles/mordor.dir/http/auth.cpp.o
[  1%] Building CXX object mordor/CMakeFiles/mordor.dir/http/basic.cpp.o
[  2%] Building CXX object mordor/CMakeFiles/mordor.dir/http/broker.cpp.o
[  3%] Building CXX object mordor/CMakeFiles/mordor.dir/http/chunked.cpp.o
[  3%] Building CXX object mordor/CMakeFiles/mordor.dir/http/client.cpp.o
[  4%] Building CXX object mordor/CMakeFiles/mordor.dir/http/connection.cpp.o
[  5%] Building CXX object mordor/CMakeFiles/mordor.dir/http/digest.cpp.o
[  5%] Building CXX object mordor/CMakeFiles/mordor.dir/http/http.cpp.o
[  6%] Building CXX object mordor/CMakeFiles/mordor.dir/http/multipart.cpp.o
[  6%] Building CXX object mordor/CMakeFiles/mordor.dir/http/oauth.cpp.o
[  7%] Building CXX object mordor/CMakeFiles/mordor.dir/http/oauth2.cpp.o
[  8%] Building CXX object mordor/CMakeFiles/mordor.dir/http/proxy.cpp.o
[  8%] Building CXX object mordor/CMakeFiles/mordor.dir/http/server.cpp.o
[  9%] Building CXX object mordor/CMakeFiles/mordor.dir/http/servlet.cpp.o
[ 10%] Building CXX object mordor/CMakeFiles/mordor.dir/http/servlets/config.cpp.o
[ 10%] Building CXX object mordor/CMakeFiles/mordor.dir/streams/buffer.cpp.o
[ 11%] Building CXX object mordor/CMakeFiles/mordor.dir/streams/buffered.cpp.o
[ 11%] Building CXX object mordor/CMakeFiles/mordor.dir/streams/cat.cpp.o
[ 12%] Building CXX object mordor/CMakeFiles/mordor.dir/streams/counter.cpp.o
[ 13%] Building CXX object mordor/CMakeFiles/mordor.dir/streams/crypto.cpp.o
In file included from /home/vagrant/mordor/mordor/streams/crypto.cpp:1:0:
/home/vagrant/mordor/mordor/streams/crypto.h:74:20: error: field ‘m_ctx’ has incomplete type ‘EVP_CIPHER_CTX {aka evp_cipher_ctx_st}’
     EVP_CIPHER_CTX m_ctx;
                    ^~~~~
In file included from /usr/include/openssl/crypto.h:31:0,
                 from /usr/include/openssl/bio.h:20,
                 from /home/vagrant/mordor/mordor/pch.h:119,
                 from <command-line>:0:
/usr/include/openssl/ossl_typ.h:90:16: note: forward declaration of ‘EVP_CIPHER_CTX {aka struct evp_cipher_ctx_st}’
 typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX;
                ^~~~~~~~~~~~~~~~~
mordor/CMakeFiles/mordor.dir/build.make:1138: recipe for target 'mordor/CMakeFiles/mordor.dir/streams/crypto.cpp.o' failed
make[2]: *** [mordor/CMakeFiles/mordor.dir/streams/crypto.cpp.o] Error 1
CMakeFiles/Makefile2:95: recipe for target 'mordor/CMakeFiles/mordor.dir/all' failed
make[1]: *** [mordor/CMakeFiles/mordor.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
vagrant@ubuntu-bionic:~/build$

OpenSSL 1.0.2 reaches end-of-life on 2019-12-31 (openssl/openssl#962 (comment)). Are there plans/roadmap to update Mordor to account for this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions