kdelibs4support uses a number of structures that have been made opaque in OpenSSL 1.1, causing compile time failures. Reproducible: Always Steps to Reproduce: 1. Install OpenSSL 1.1.0 or higher 2. Rebuild kdelibs4support 5.27.0 Actual Results: Build fails Expected Results: Build succeeds
Git commit 9a990c69c606126bcd60cd7718462aec2a92460d by Daniel Vrátil. Committed on 17/10/2017 at 07:43. Pushed by dvratil into branch 'master'. Make kssl compile against OpenSSL 1.1.0 Summary: OpenSSL 1.1.0 contains some source-incompatible changes, most notably making most of the structures opaque and introducing new getter/setter functions to modify the structures. This patch adds some of the newly introduced functions to the KOpenSSL class and modifies the code to call them. The implementation of those newly introduced methods contains both OpenSSL < 1.1 compatible code (direct structure member access) and calls to real functions resolved from OpenSSL>= 1.1 library. Which implementation is used is decided at compile time. Some of the existing methods were renamed to match the OpenSSL 1.1 naming and to avoid conflicts with backward-compatibility names provided by OpenSSL 1.1. KSSLCertificate::toNetscape() returns empty result when built against OpenSSL 1.1 since I wasn't able to find a proper equivalent in OpenSSL 1.1 API (and there does not seem to be any). Test Plan: The code compiles under both OpenSSL 1.1 and OpenSSL 1.0.x. I did not test the actual functionality. Reviewers: #frameworks, dfaure Reviewed By: dfaure Subscribers: aacid, arojas, fvogt, ltoscano, rdieter, #frameworks Tags: #frameworks Differential Revision: https://phabricator.kde.org/D6665 M +271 -35 src/kssl/kopenssl.cpp M +63 -13 src/kssl/kopenssl.h M +0 -4 src/kssl/kssl.cpp M +2 -2 src/kssl/ksslcallback.c M +15 -36 src/kssl/ksslcertchain.cpp M +40 -28 src/kssl/ksslcertificate.cpp https://commits.kde.org/kdelibs4support/9a990c69c606126bcd60cd7718462aec2a92460d
Created attachment 108483 [details] fix-build-with-libressl.patch commit 9a990c69c606126bcd60cd7718462aec2a92460d with the OpenSSL-1.1.0 patch breaks build with libressl. Attached patch fixes this.
*** Bug 382696 has been marked as a duplicate of this bug. ***