summaryrefslogtreecommitdiffstats
path: root/src/plugins/crypto
Commit message (Collapse)AuthorAgeFilesLines
* Adjust again some smaller code detailsPekka Vuorela12 days6-27/+26
| | | | | | | | | | | | | | | - Wrap some overly long lines - Honor coding conventions better here and there - Use nullptr more instead of '0' - Switch remaining cases of Q_DECL_OVERRIDE and Q_NULLPTR to standard keywords. - Removed some unnecessary #includes - etc. Change-Id: Ia9a01807da88298a6c1c1bbb22c854743ed19429 Reviewed-by: Pekka Vuorela <pvuorela@iki.fi> Reviewed-by: <matti.viljanen@kapsi.fi> Reviewed-by: Damien Caliste <dcaliste@free.fr>
* Fix compiler warnings on crypto sidePekka Vuorela13 days3-5/+4
| | | | | | | | | | | | | | | Was getting warnings on protected QMailCryptoGPGME::decrypt() hiding the base class virtual method for the same name. Just renamed the method to avoid that. QCryptographicHash::addData() was warning about deprecated method, but we don't even need to use the variant with length. The data is already a QByteArray. Change-Id: I6793536c1fede91820127d4a6edd03cffec1c636 Reviewed-by: Damien Caliste <dcaliste@free.fr> Reviewed-by: Pekka Vuorela <pvuorela@iki.fi> Reviewed-by: <matti.viljanen@kapsi.fi>
* Adjust installation pathsPekka Vuorela2025-11-114-4/+4
| | | | | | | | | | | | | | | | Install headers and plugins to qt6 directory as it should have been long time already. Didn't touch .pro files as those don't work with current qt6 and are used more with qt5 build. Use common common 'messagingframework' container dir for plugins. The plugin type directly under qt plugins dir was confusing, and possibly even colliding with other qt plugins. Crypto at least seems used by qt itself. Change-Id: I2c674ba184a53d602dc2a1fc24f83a955268a166 Reviewed-by: <matti.viljanen@kapsi.fi> Reviewed-by: Damien Caliste <dcaliste@free.fr> Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Use common if/else brace and operator stylePekka Vuorela2025-10-062-9/+4
| | | | | | | | | And couple small simplifications too. Change-Id: Id5fe0a3e991961b9b39c92ab1b9b165c6f450289 Reviewed-by: Pekka Vuorela <pvuorela@iki.fi> Reviewed-by: Damien Caliste <dcaliste@free.fr> Reviewed-by: <matti.viljanen@kapsi.fi>
* Deprecate Fwd classes in favor of just introducing enums in real classesPekka Vuorela2025-09-266-96/+92
| | | | | | | | | | | | | | | | | | | | | | | The Fwd classes were inherited by the actual classes, allowing to #include only the fwd and not the bigger real class header. Such a compilation time micro optimization shouldn't really be worth complicating the API. Thus just moved the enum content to actual classes. For some backwards compatibility made the Fwd classes typedeffed to the real ones. Crypto side didn't even have a proper class, only the Fwd and suppose all the usage of the code just did include anyway for the whole crypto api. The QMailFolderFwd::PredefinedFolderId was having a cyclic dependency when moved to QMailFolder: QMailFolderId ctor variant was depending on it and QMailFolder was depending on the Id. Moved the predefined id to the Id class which feels like a better home anyway. Change-Id: I9a9aa9c407ae90cc11b37179fe417e3a002ce94b Reviewed-by: Damien Caliste <dcaliste@free.fr> Reviewed-by: Pekka Vuorela <pvuorela@iki.fi> Reviewed-by: <matti.viljanen@kapsi.fi>
* Rewrite logging with QLoggingCategoryDamien Caliste2025-06-133-30/+36
| | | | | | | | | Replace the custom logging mechanism with QLoggingCategory. Also declare the warnings with the proper category. Change-Id: If87d53d27ea0c65abd434af9f99fe49ce634d6dd Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Declare tests in the build systemDamien Caliste2025-04-022-0/+12
| | | | | | | | | | | | | | | | | | Tests can be run with `ctest`. The `--verbose` option makes the output of each test visible. Fix also minor failures: - make qlogsystem test locale independent, - make qmailstore test properly listening to the messagePropertyUpdated() signal. IMAP, POP and SMTP tests are declared as always failing for the moment, since they try to connect to a mail server (but they are still useful for debug purposes). Change-Id: I7ae548110a8eeb37bd07b031a8433d38ea53529e Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Remove semicolons after method bodiesPekka Vuorela2025-02-143-3/+3
| | | | | | | | | | Fixed also a copy-paste error on qmailthreadsortkey_p.h. Change-Id: Ide4bb24e69a94f64c9521f5c4cce7a33921fab11 Reviewed-by: <matti.viljanen@kapsi.fi> Reviewed-by: Damien Caliste <dcaliste@free.fr> Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Add CMake build systemDamien Caliste2024-10-176-2/+23
| | | | | | | | | | | | | | | | Adjust source code where necessary like: - #include <private/...> cannot be used since private is the installation path, but not the path used in the sources, - fix map definition in qmailservice.xml, - had to add #include <qmailstore.h> to qmailserviceaction.h since qt_add_dbus_adaptor can only include one header, - add a method using QDBusVariant in ServiceHandler so the adaptor can call it. Change-Id: Idbecf4214dffdf523ccd8558370e8d2854b5d99a Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Implement decryptionDamien Caliste2024-04-106-0/+118
| | | | | | | | Add decryption interface to the crypto service and implement it for PGP keys via gpgme. Change-Id: Ib74fe36a4af69fe788bf1841ba5621ec0f3d593e Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Adjust crypto sign() APIDamien Caliste2024-04-105-16/+26
| | | | | | | | | | Make sign() API to operate on a pointer on a part, instead of a reference, to emphasis the fact that it will change the part itself, making it a multipart/signed container. Change-Id: I55a1e2d15ee170909ae4aa8f2c0e8f8e88c9134c Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Set PLUGIN_CLASS_NAME in plugin .pro filesChris Adams2021-04-092-0/+2
| | | | | | | | | Ensures that cmake files are generated appropriately. Change-Id: I2521114a527510ff7bf2e73092251147157a29d1 Reviewed-by: Damien Caliste <dcaliste@free.fr> Reviewed-by: David Llewellyn-Jones <david.llewellyn-jones@jolla.com> Reviewed-by: Christopher Adams <chris.adams@jolla.com>
* Move away from deprecated QDateTime::fromTime_t and toTime_tDamien Caliste2021-04-081-2/+2
| | | | | | Change-Id: I978135949ee468e607d115bd31ff220f71c69368 Reviewed-by: Christopher Adams <chris.adams@jolla.com> Reviewed-by: David Llewellyn-Jones <david.llewellyn-jones@jolla.com>
* Correct signature data in GPGme pluginDamien Caliste2018-11-081-1/+1
| | | | | | | | | | | A mistake in 9312c7 substituted the signature data with the body data in the crypto interface implementation using GPGme. The tests for crypto have been updated to track this kind of issue. Change-Id: I0a3d77eb9ab5785d066e063182dd846f880191df Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
* Add an interface for cryptographic operationsDamien Caliste2018-10-249-0/+853
Create a new interface for cryptographic operations like digital signatures. Also implement two plug-ins based on GPGme implementing the OpenPGP and S/MIME protocols. To allow digital signature checking to work, pristine data as received from the server need to be stored. This patch is adding such "undecodedData()" information to the content manager. The IMAP implementation has been updated also to ensure that pristine data can be retrieved and saved. Change-Id: Ic801b0de84b42c16f6c64fffdd67dc51c2b8b9b9 Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>