aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* 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.
* | 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-161-0/+17
| |
* | 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
| |
* | Message: Add isCarbonForwarded attributeLinus Jahn2022-08-144-0/+30
| | | | | | | | | | It's now also possible to see which messages were carbon forwarded when using the CarbonManagerV2.
* | 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-1323-311/+409
| |
* | Implement XEP-0384: OMEMO Encryption v0.8Melvin Keskin2022-08-1319-8/+6346
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 &.
* | Stanza: Move E2eeMetadata into own header fileLinus Jahn2022-07-117-32/+51
| |
* | Rename Encryption::Omemo to Omemo0 to allow namespace OmemoLinus Jahn2022-07-102-4/+4
| | | | | | | | Allows it to create a namespace QXmpp::Omemo.
* | ByteStreamIq: Fix uninitialized enum valueLinus Jahn2022-07-101-1/+1
| |
* | AtmManager: Send trust messages only to endpoints with authenticated keysMelvin Keskin2022-06-181-1/+5
| |
* | Move SecurityPolicy, TrustLevel intro extra headersLinus Jahn2022-06-1812-96/+163
| | | | | | | | | | This avoids the need to include the whole TrustStorage in files like SendStanzaParams.h.
* | SendStanzaParams: Add accepted trust levelsMelvin Keskin2022-06-182-0/+34
| |
* | Add move constructors and move assignment operators everywhereLinus Jahn2022-06-1866-237/+324
| | | | | | | | | | This is so std::move() on implicitly-shared types actually moves the content and doesn't call the copy ctor/assignment operator.
* | StreamFeatures: Fix rosterVersioning not initializedLinus Jahn2022-06-171-1/+2
| |
* | Adapt clang-formatLinus Jahn2022-06-178-9/+9
| |
* | Add QXmppOmemoDeviceBundleItem and QXmppOmemoDeviceListItemMelvin Keskin2022-06-142-0/+95
| |
* | Fix typos in documentation and testsMelvin Keskin2022-06-142-3/+3
| |
* | Message: Add parseExtensions() for parsing additional extensionsMelvin Keskin2022-06-142-14/+26
| | | | | | | | Useful for encryption when parsing decrypted elements.
* | Iq: Make de- / serialization methods public to allow encryptionMelvin Keskin2022-06-141-1/+0
| | | | | | | | | | This is required for allowing arbitrary managers to only serialize the inner element for encryption.
* | Message: Initialize message type directly as 'chat'Melvin Keskin2022-06-141-2/+1
| | | | | | | | | | | | | | | | Previously the type had been set to Normal first and then to Chat. There's no change in behviour. The changes to the unit test qxmppomemodata are just for consistency. Signed-off-by: Linus Jahn <lnj@kaidan.im>
* | Client: injectIq: Fix missing ID on error replyLinus Jahn2022-06-071-0/+1
| |
* | Remove PubSubEventManager (in favour of EventHandler)Linus Jahn2022-05-287-42/+25
| |
* | Apply 'clang-format' (#429)Melvin Keskin2022-05-284-5/+5
| |
* | QXmppCallStream: use new GStreamer methodBoris Pek2022-05-281-0/+4
| | | | | | | | instead of deprecated one when build with GStreamer >= 1.20.0
* | cmake: add QXmppExtension.h to INSTALL_HEADER_FILESBoris Pek2022-05-281-0/+1
| | | | | | | | This header is used by program Kaidan at least.
* | SendStanzaParams: Fix typo in setter nameLinus Jahn2022-05-242-2/+2
| |
* | Client: Add SendStanzaParams parameter to send functionsLinus Jahn2022-05-223-19/+27
| | | | | | | | It can already be used by E2eeExtension.
* | Add SendStanzaParams for passing additional parametersLinus Jahn2022-05-223-0/+85
| | | | | | | | For now only contains a list of JIDs the stanza should be encrypted for.
* | E2eeExtension: Rename EncryptMessageResult to MessageEncryptResultLinus Jahn2022-05-203-8/+6
| |
* | Make E2eeExtension a QXmppExtensionLinus Jahn2022-05-201-1/+2
| |
* | MessageReceiptHandler: Implement MessageHandlerLinus Jahn2022-05-202-13/+9
| |
* | Add MessageHandler interfaceLinus Jahn2022-05-207-1/+99
| |
* | PubSubEventManager: Inherit from EventHandlerLinus Jahn2022-05-202-7/+4
| | | | | | | | | | EventManager now provides the interface from EventHandler, inherits from ClientExtension and provides a utility pubSub() getter.
* | Add PubSubEventHandler based on QXmppExtensionLinus Jahn2022-05-203-0/+40
| |
* | ClientExtension: Inherit from ExtensionLinus Jahn2022-05-201-1/+2
| |
* | Add generic QXmppExtensionLinus Jahn2022-05-201-0/+14
| |
* | Client: injectIq: Send error IQ on unhandled IQsLinus Jahn2022-05-201-1/+19
| |
* | ClientExtension: Add injectIq() functionLinus Jahn2022-05-204-0/+29
| |