Make kssl compile against OpenSSL 1.1.0

Authored by dvratil on Oct 17 2017, 7:43 AM.

Description

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).

BUG: 370223

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

Details

Committed
dvratilOct 17 2017, 7:43 AM
Reviewer
dfaure
Differential Revision
D6665: Make kssl compile against OpenSSL 1.1.0
Parents
R239:c7aa4f688c80: SVN_SILENT made messages (.desktop file) - always resolve ours
Branches
Unknown
Tags
Unknown