626 Commits

Author SHA1 Message Date
Albert Astals Cid
d71f4c279b Drop Qt4 support 2020-01-19 17:19:23 +01:00
Albert Astals Cid
00d311d90f Add override 2020-01-19 16:28:44 +01:00
Albert Astals Cid
326399794e qca-botan: Don't crash if BotanCipherContext fails
Makes the cipher unit test at least not crash (even if it doesn't pass)
2020-01-19 16:27:09 +01:00
Hannah von Reth
1137ed5f07 Require CMake 3.4 and use the OpenSSL imported libs
Summary:
Fixes
 00:09:45.140 [162/278] Linking CXX shared module lib/qca-qt5/crypto/libqca-ossl.dylib
00:09:45.140 FAILED: lib/qca-qt5/crypto/libqca-ossl.dylib
00:09:45.140 : && /usr/bin/clang++ -O2 -g -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -bundle -Wl,-headerpad_max_install_names  -o lib/qca-qt5/crypto/libqca-ossl.dylib plugins/qca-ossl/CMakeFiles/qca-ossl.dir/qca-ossl.cpp.o  lib/qca-qt5.framework/Versions/2.2.0/qca-qt5 /Users/packaging/Craft/BinaryCache/macos-64-clang/lib/libssl.dylib /Users/packaging/Craft/BinaryCache/macos-64-clang/lib/libcrypto.dylib -lcrypto /Users/packaging/Craft/BinaryCache/macos-64-clang/lib/QtCore.framework/QtCore -framework CoreFoundation -framework Security && :
00:09:45.140 ld: library not found for -lcrypto
00:09:45.140 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Reviewers: dfaure, bcooksley, volkov

Reviewed By: dfaure

Differential Revision: https://phabricator.kde.org/D17913
2019-03-04 12:16:36 +01:00
Alexander Volkov
32343842d3 Fix build with botan < 2 and openssl < 1.1
Summary:
This commit amends f57d661416ecbdfbf9c16d8116c296cfdcbeb7d6.
HKDF support was added only in the new versions of the libs.

Reviewers: dfaure, bcooksley

Reviewed By: dfaure

Differential Revision: https://phabricator.kde.org/D16248
2018-10-17 14:54:34 +03:00
Alexander Volkov
f57d661416 Introduce HKDF
Summary:
It's needed for implementation of Secret Service:
https://specifications.freedesktop.org/secret-service/ch07s03.html

Reviewers: iromanov, sitter, #frameworks, dfaure

Reviewed By: dfaure

Subscribers: dfaure

Differential Revision: https://phabricator.kde.org/D15510
2018-10-15 14:30:05 +03:00
Harald Sitter
da4d1d06d4 Openssl fix deprecation warnings
Summary:
Openssl fix deprecation warnings

Removed unused function: X509_SIG_getm

deprecated warnings for:
ASN1_STRING_data
DSA_generate_parameters
RSA_generate_key
RAND_pseudo_bytes

Tested with openssl-1.0.2l on ubuntu:14.04
Deprecation warning spotted with openssl-1.1.0.g-1

one deprecation warning left: TLSv1_client_method

Reviewers: sitter, fvogt

Reviewed By: fvogt

Differential Revision: https://phabricator.kde.org/D11616
2018-06-19 11:46:09 +02:00
Antonio Rojas
78503bf574 Recommit botan 2 support without making botan mandatory
Differential Revision: https://phabricator.kde.org/D11997
2018-04-12 10:03:12 +02:00
Ben Cooksley
01cbb31770 Revert "Add botan 2 support"
This change adds a mandatory dependency on Botan, which is not available at this time within Craft.
As this change was not notified to Sysadmin and because it has left us in a state whereby we are unable to get the Windows CI system back up and running, this is being reverted so it can be brought back online.

Please reintroduce this change once support for having Botan as optional is restored

This reverts commit 47163784d74232e3a844fc42897bffc7eff817b4.
2018-04-12 19:48:32 +12:00
Antonio Rojas
47163784d7 Add botan 2 support
Botan 1.10 will be EOL'd this year. This patch is a rough port to botan 2 API. Also:

- Removes support for botan < 1.10 to simplify code (1.10 was released 7 years ago)
- Ports the cmake module to use pkgconfig, since botan-config doesn't exist anymore in v2.
- To minimize ifdef'd code, botan2 unique_ptr's are release'd
- Removes -ansi C(XX)FLAGS, botan 2 requires C++11

Differential Revision: https://phabricator.kde.org/D11997
2018-04-11 21:43:57 +02:00
Fabian Vogt
d58e20ee65 Add support for OpenSSL 1.1.0
Test Plan:
Ran the testsuite with OpenSSL 1.1.0g and 1.0.2j, all passed.
Using this code with kdeconnect and okteta successfully on my system now.

Reviewers: iromanov

Subscribers: anthonyfieroni, alonbl, heikobecker, cfeck, asturmlechner, bero, rdieter

Differential Revision: https://phabricator.kde.org/D9416
2018-01-04 20:02:38 +01:00
Ivan Romanov
d320ef4fdb Add some missed headers to Qt Creator project 2016-10-10 21:50:18 +05:00
Ivan Romanov
57878ff44f Add support for AES GCM and AES CCM modes
Only qca-openssl now can use GCM and CCM. CCM is not tested and
planed for future.
2016-09-19 10:48:11 +05:00
Raphael Kubo da Costa
84f53aea25 qca-ossl: Remove SHA0 from all_hash_types() when it is not available.
Commit 0dbed8e ("qca-ossl: Fix build without support for SHA-0") forgot
to add an #ifdef check for SHA0 support in all_hash_types().

REVIEW: 128700
2016-08-18 08:52:57 +02:00
Ivan Romanov
558f819819 gnupg: use utf-8 for keys output 2015-10-29 10:52:11 +05:00
Ivan Romanov
bf61f35cb4 gnupg: fixed keys is not updating
On Windows gpg uses ANSI codepage to output homedir and keyrings
paths. No way to output in utf-8. Gpg returns utf-8 strings output
only when --with-colons option is used.
2015-10-29 10:52:11 +05:00
Ivan Romanov
7e4192b70e gnupg: resolve symbolic links
Keyrings watcher can gets paths in any format. To avoid possible
problems try to use unified names for paths.
2015-10-29 10:52:11 +05:00
Ivan Romanov
7a76a9c027 qca-gnupg: default path to keyrings
When no keys 'gpg --list-keys' doesn't return path to keyring file.
Path is needest for watching to know when keys added or removed.
Use default keyrings path based on GnuPG home directory. This
directory gets with output 'gpg --version'. Line which starts with
'Home: ' contains GnuPG home directory. I believe it is correct
for GnuPG always and won't be changed in the future.
2015-10-29 10:52:11 +05:00
Heiko Becker
0dbed8eb38 qca-ossl: Fix build without support for SHA-0
LibreSSL >= 2.3.0 removed support for SHA-0, so there's no EVP_sha
anymore.
Wikipedia says about SHA-0: "160-bit hash function published in 1993
under the name SHA. It was withdrawn shortly after publication due to
an undisclosed "significant flaw" and replaced by the slightly revised
version SHA-1.'

REVIEW: 125387
2015-10-28 22:06:21 +01:00
Heiko Becker
20a587d776 qca-ossl: Fix build without SSLv3
This fixes building with LibreSSL >= 2.3.0 which has removed support
for SSLv3 completely. As far as I know OpenSSL can be configured to
build without it, so it might be helpful there as well.

REVIEW: 125386
2015-10-28 22:05:59 +01:00
Alon Bar-Lev
db17d5969b plugins: qca-logger: README: fix typo
Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
2015-10-23 22:32:07 +03:00
Heiko Becker
593de6855a Fix build with libressl
libressl removed the SSL Compression functionality (which might
be considered insecure) and thus also compress_meth.
SSL_SESSION_get_compress_id is just a stub in libressl which always
returns 0 and in openssl it returns compress_meth.

REVIEW: 121107
2014-11-13 14:23:54 +05:00
Ivan Romanov
72457bee3a qca-ossl: fixed compilation warnings 2014-11-13 02:13:50 +05:00
Ivan Romanov
58e9539513 qca-ossl: added missed signatures 2014-11-06 12:16:27 +05:00
Ivan Romanov
13050bf00d cmake: plugins on Mac OS must use .dylib suffix 2014-11-05 22:42:32 +05:00
Ivan Romanov
638a8aff5c qca-ossl: no DSA_* dl groups in FIPS specification 2014-11-05 11:49:14 +05:00
Ivan Romanov
6ee6f7f22a qca-gnupg: more refactoring 2014-10-07 04:26:33 +06:00
Ivan Romanov
9b8f978bff qca-gnupg: refactoring
Moved GpgAction to separate file.
2014-10-07 04:26:30 +06:00
Ivan Romanov
90b1287e52 qca-gnupg: some optimization in LineConverter 2014-10-07 02:01:17 +06:00
Ivan Romanov
5d28790cb5 qca-gnupg: refactoring
Moved LineConverter class to separate file
2014-10-07 01:14:14 +06:00
Ivan Romanov
47fc70af6e qca-gnupg: correct way to reset gpg proccess 2014-10-05 22:08:05 +06:00
Ivan Romanov
de02538aaf qca-gnupg: try to fix SIGPIPE again 2014-09-30 17:20:27 +06:00
Ivan Romanov
38eae11512 qca-gnupg: fixed SIGPIPE
need always close stding only after all data will be written
2014-09-30 04:58:15 +06:00
Ivan Romanov
f38eee2d18 qca-gnupg: refactoring 2014-09-29 15:20:13 +06:00
Ivan Romanov
380710aae0 qca-gnupg: refactoring
Moved find_bin, escape_string and unescape_string to separated source
file.
2014-09-29 02:24:13 +06:00
Ivan Romanov
fe0d1ad5c0 qca-gnupg: dropped ugly hack 2014-09-29 01:47:47 +06:00
Ivan Romanov
efb8da2402 qca-gnupg: dropped workaround for old unsupported Qt 2014-09-29 01:35:52 +06:00
Ivan Romanov
54e8363ddf qca-gnupg: cleaned trash 2014-09-29 01:21:24 +06:00
Ivan Romanov
d598c689b7 cmake: no install target in developer mode 2014-09-28 21:14:26 +06:00
Ivan Romanov
686c8cac9a qca-gnupg: cleaned trash 2014-09-28 18:28:04 +06:00
Ivan Romanov
f0a5b957fc qca-gnupg: good debug message
Output diagnostic text to console if defined GPGOP_DEBUG
2014-09-28 18:22:59 +06:00
Ivan Romanov
c00da86463 cmake: don't check for gpg program
gpg program is runtime dependency. Plugin can be built without it.
2014-09-27 00:53:47 +06:00
Ivan Romanov
3ebc9c14e2 SafeTimer: many fixes
1. SafeTimer now is common and public class. All plugins use this
   implementation.
2. Added debug messages in SafeTimer. Uncomment SAFETIMER_DEBUG to
   enable.
3. TimerFixer skips SafeTimer objects. No need extra fixes for
   SafeTimer. But can be problems with children of SafeTimer I
   believe no such.
2014-09-25 07:26:24 +06:00
Ivan Romanov
192243d4bd cmake: fixed QCA_PLUGINS_INSTALL_DIR meaning
Plugins must be in crypto subdir. It is used internally in providers
finding algorythm. So now QCA_PLUGINS_INSTALL_DIR it is path to
crypto directory.
2014-09-24 16:00:39 +06:00
Sune Vuorela
93f60f1626 Initialize memory is a class.
REVIEW: 120101
2014-09-12 21:58:10 +02:00
Florian Fieber
2559f1779a Fix operating on keys with unrelated expired subkeys
Ignore KEYEXPIRED which will be thrown for any expired subkey regardless
of being related to the current operation. Instead, use EXPKEYSIG,
REVKEYSIG, EXPSIG and INV_RECP accordingly.

Add new errors QCA::SecureMessage::{ErrorSignerRevoked,
                                    ErrorSignatureExpired,
                                    ErrorEncryptRevoked}.

Due to GnuPG bug #1650 <https://bugs.g10code.com/gnupg/issue1650>
encrypting to an expired or revoked key will omit the reason for failing,
resulting in the error code QCA::SecureMessage::ErrorEncryptInvalid.

REVIEW: 118567
2014-09-08 18:14:40 +06:00
Ivan Romanov
c30f5d2455 cmake: fixed typo 2014-08-22 21:48:20 +06:00
Ivan Romanov
da1f8190ac cmake: use FindPkcConfig module instead of obsoletes PKGCONFIG 2014-08-21 03:10:34 +06:00
Ivan Romanov
fbdf57f843 cmake: install .PDB files
On Windows when compiling with Visual Studio will be produced special
.pdb files for debuggins purposes. It must be put next to target
runtime (.dll or .exe) file.
2014-02-03 02:05:54 +06:00
Ivan Romanov
2502aad59d cmake: after compiling put all static libs to lib directory 2014-02-01 03:33:29 +06:00