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.
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
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.
Do not try to guess the result size. It rely with particular
algo and some other factors and so can be any. Just use
Pipe::remaining() for this purpose.
Overloaded "makeKey" in QCA::KeyDerivationFunction + botan/gcrypt/ossl plugins
to allow deriving a master password depending on a time factor in addition to
only giving an arbitrary iteration count.
Deriving with a time delays exhaustive research on master passwords by
increasing the time needed to try each password (the derivation time)
Added corresponding unittests.
REVIEW: 114503
Added new cmake variable SHARED_LIBRARY. By default is on.
When it is off QCA library, plugins, tools, examples and unittests
will be built as static. Also if is used static Qt plugins will be
built as static. Tested with Qt4.
Now possible to build only required plugins and skip all others.
Also can get fail if required plugins can't be built.
By default will be build all possible plugins.
New cmake cache variables:
ENABLE_PLUGINS - list plugins to build (botan;ossl;gnupg for example).
Also possible values is none, auto or all
(by default: "auto")
WITH_${PLUGIN}_PLUGIN - to build particular plugin. Can be no, yes or
auto (WITH_ossl_PLUGIN=auto for example)
QCA_LIB_SUFFIX intended to replace workaround
3 major version. For building for Qt5 can be used
-DQCA_LIB_SUFFIX=qt5 for example. Result will be
named libqca2-qt5.so.2.0.3 library for Linux.
Also this suffix will be applied for qca2 pkg config file,
qcatool2 binary and qcatool2 manpage.
I hope that is a good way to resolve the building conflict
against qt4 and qt5.
Actual openssl versions might have no AES CTR.
In this case qca-ossl will be compiled without AES CTR.
Also dropped own obsoletes FindOpenSSL.cmake.
System version is better choice.
Added option QCA_INSTALL_IN_QT_PREFIX to provide a way to choose
default prefix for installing qca. By default is ON.
Also added a cache vars.
QCA_PREFIX_INSTALL_DIR
QCA_PLUGINS_INSTALL_DIR
QCA_BINARY_INSTALL_DIR
QCA_LIBRARY_INSTALL_DIR
QCA_FEATURE_INSTALL_DIR
QCA_INCLUDE_INSTALL_DIR
QCA_PRIVATE_INCLUDE_INSTALL_DIR
QCA_DOC_INSTALL_DIR
QCA_MAN_INSTALL_DIR