aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* tests: util: Add wait(QFuture) functionLinus Jahn2022-09-091-0/+12
| | | | | | | The function uses a QSignalSpy and a QFutureWatcher to wait for the future's result. It blocks until the result is there. However it still runs the event loop, so processing of the future can be done in the background.
* tests: util: Add expectVariant() helperLinus Jahn2022-09-091-8/+17
| | | | | | We had expectFutureVariant() which is useful for futures with a variant type. This new function can check the type of just a variant and outputs the value.
* tests: HttpUploadManager: Add test for future based APILinus Jahn2022-09-091-0/+66
|
* tests: HttpUploadManager: Modernize and refactorLinus Jahn2022-09-091-61/+54
|
* tests: TestClient: Add takePacket() and takeLastPacket()Linus Jahn2022-09-091-0/+10
|
* tests: HttpUploadManager: Clean up and replace TestHelper classLinus Jahn2022-09-092-81/+48
| | | | The same can be done more elegantly and with less code.
* Rename UploadRequestManager test to HttpUploadManager testLinus Jahn2022-09-097-22/+22
| | | | | One of the following commits will add tests also for the HttpUploadManager.
* Add HttpUploadManager for requesting slots and uploading filesLinus Jahn2022-09-093-0/+469
|
* Add QXmppError holding a description and std::anyLinus Jahn2022-09-093-0/+128
|
* ci: push-docs: Update XEP metadata before generating documentationLinus Jahn2022-09-091-0/+2
|
* Introduce usage of DOAP file (#438)Melvin Keskin2022-09-0910-74/+1346
| | | | | This adds a DOAP file that replaces the non-machine readable version in xep.doc. It also adds a XEP metadata file and styling files for a human-readable version in the generated doxygen documentation.
* Remove empty handleStanza() implementationsLinus Jahn2022-09-066-28/+1
|
* Add macros for defining all the different default constructorsJonah BrĂ¼chert2022-09-062-0/+16
|
* Add parsing of XEP-0446: File metadata elementJonah BrĂ¼chert2022-09-066-0/+349
| | | | | | This implements version 0.2.0 https://xmpp.org/extensions/xep-0446.html
* Implement XEP-0264: Jingle Content ThumbnailsLinus Jahn2022-09-066-0/+202
| | | | | | XEP-0264: Jingle Content Thumbnails version 0.4. https://xmpp.org/extensions/xep-0264.html
* Reformat codeLinus Jahn2022-09-0676-784/+1429
|
* clang-format: Enforce braces around statementsLinus Jahn2022-09-061-0/+1
|
* Implement XEP-0300: Use of Cryptographic Hash Functions in XMPPLinus Jahn2022-09-066-0/+304
| | | | | Parsing and serialization for XEP-0300 https://xmpp.org/extensions/xep-0300.html in version 1.0.
* ci: Add Qt 6 buildsLinus Jahn2022-09-043-5/+15
|
* ci: Always use latest Qt patch versionsLinus Jahn2022-09-041-3/+3
|
* ci: Update install-qt-action to v3Linus Jahn2022-09-042-2/+2
|
* Fix missing license information for READMEsLinus Jahn2022-09-042-0/+12
|
* Add REUSE compliance check actionLinus Jahn2022-09-041-1/+6
|
* RegistrationManager: Replace QScopedPointer with unique_ptrLinus Jahn2022-09-022-4/+2
| | | | | The <memory> header is already included and there are no reasons to use something different than non-Qt C++ projects use.
* Replace raw pointers with unique_ptrLinus Jahn2022-09-0225-101/+46
| | | | safer, simpler
* BobContentId: Improve security warning about SHA-1Linus Jahn2022-08-311-2/+4
|
* BobContentId: Move and update documentation about supported algorithmnsLinus Jahn2022-08-311-6/+8
|
* BobContentId: Add BLAKE2b 256/512 algorithmns for Qt 6Linus Jahn2022-08-311-0/+4
| | | | | Qt 6 supports BLAKE2b. BLAKE2b has no official IANA registry entry. The name is used from XEP-0300.
* BobContentId: Don't check for QT_CRYPTOGRAPHICHASH_ONLY_SHA1Linus Jahn2022-08-311-2/+0
| | | | QT_CRYPTOGRAPHICHASH_ONLY_SHA1 is only used internally.
* Merge branch '1.4'Linus Jahn2022-08-311-4/+4
|\
| * BobContentId: Fix names of SHA-2 algorithmnsLinus Jahn2022-08-311-4/+4
| | | | | | | | | | | | The new version of bits of binary specifies how other algorithmns than SHA-1 are called by referencing the IANA registry. We were missing the dash for SHA-224/256/384/512.
* | README: Add badge for dev chat (#437)Melvin Keskin2022-08-241-1/+9
| |
* | CarbonManagerV2: Mention messageReceived() can also be usedLinus Jahn2022-08-171-1/+2
| | | | | | | | | | Unhandled messages from the message pipeline are passed to the messageReceived() signal of the QXmppClient.
* | CarbonManagerV2: Add ctor/dtor to allow later binary-compatible changesLinus Jahn2022-08-172-0/+6
| | | | | | | | | | | | Explicitly adds contructor and destructor, so we can later implement other features (like adding a d-ptr) without affecting binary compatibility.
* | OmemoLibWrappers: Fix compilationLinus Jahn2022-08-161-0/+19
| | | | | | | | | | I don't know why this didn't happen before, but somehow my compiler started trying to use the wrong constructor.
* | Describe OMEMO specific dependencies in READMEsLinus Jahn2022-08-162-0/+20
| |
* | Don't use `using Manager =` to avoid doxygen errorsLinus Jahn2022-08-151-6/+5
| | | | | | | | | | Doxygen doesn't understand that the Manager alias here and in the OMEMO manager are different and so generated a lot of warnings.
* | CarbonManager: Add warning about e2ee and CarbonManagerV2Linus Jahn2022-08-141-0/+2
| |
* | pr template: Mention QXMPP_EXPORTLinus Jahn2022-08-141-1/+1
| |
* | Message: Add isCarbonForwarded attributeLinus Jahn2022-08-145-0/+32
| | | | | | | | | | It's now also possible to see which messages were carbon forwarded when using the CarbonManagerV2.
* | tests: CarbonManager: Also test manager v2 & refactorLinus Jahn2022-08-141-60/+86
| |
* | Add new message carbons managerLinus Jahn2022-08-143-0/+193
| | | | | | | | | | | | | | | | | | | | | | | | The new manager automatically enabled carbons and the user doesn't need to do anything. Messages are injected into the message pipeline of the client instead of using a signal. This makes it possible to decrypt the messages in the next step or do any other possible post-processing on the message. Adapting the old manager was not possible because that would mean major behaviour change that could potentially lead to clients processing message twice.
* | Add README for omemo moduleLinus Jahn2022-08-131-0/+25
| |
* | Split up OMEMO into extra moduleLinus Jahn2022-08-1325-312/+433
| |
* | ci: Enable OMEMO for full+5.15 configsLinus Jahn2022-08-134-1/+37
| |
* | Implement XEP-0384: OMEMO Encryption v0.8Melvin Keskin2022-08-1326-12/+7197
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implements XEP-0384 in version v0.8 with a manager and storage classes to be user-implemented for persistant storage. The license of the code is LGPL-2.1-or-later as usual. However since libomemo-c (libsignal-protocol-c) is GPL-3.0, the built binary is always licensed under GPL-3.0. Having our code LGPL licensed will make it avoids relicensing in the future in case we port it to an LGPL compatible omemo library. Closes #133. Co-authored-by: Linus Jahn <lnj@kaidan.im>
* | Utils_p: Add functions to generate random QByteArrayLinus Jahn2022-08-132-0/+89
| | | | | | | | Co-authored-by: Melvin Keskin <melvo@olomono.de>
* | FutureUtils: Add mapSuccess() to map success type of variantsLinus Jahn2022-08-131-0/+15
| |
* | Client: e2ee: Check IQ response is valid before decryptingLinus Jahn2022-08-081-3/+15
| | | | | | | | This way the extensions don't need to check that.
* | FutureUtils: chain: Pass future as const&Linus Jahn2022-08-081-1/+1
| | | | | | | | | | The move overload hasn't any advantages here as the QFutureWatcher also takes QFuture const &.