aboutsummaryrefslogtreecommitdiff
path: root/src/client
Commit message (Collapse)AuthorAgeFilesLines
...
* Split up OMEMO into extra moduleLinus Jahn2022-08-1311-6284/+0
|
* Implement XEP-0384: OMEMO Encryption v0.8Melvin Keskin2022-08-1313-0/+6288
| | | | | | | | | | | | | | | 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>
* Client: e2ee: Check IQ response is valid before decryptingLinus Jahn2022-08-081-3/+15
| | | | This way the extensions don't need to check that.
* Stanza: Move E2eeMetadata into own header fileLinus Jahn2022-07-113-0/+3
|
* AtmManager: Send trust messages only to endpoints with authenticated keysMelvin Keskin2022-06-181-1/+5
|
* Move SecurityPolicy, TrustLevel intro extra headersLinus Jahn2022-06-1811-96/+161
| | | | | 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-182-0/+6
| | | | | This is so std::move() on implicitly-shared types actually moves the content and doesn't call the copy ctor/assignment operator.
* Adapt clang-formatLinus Jahn2022-06-172-3/+3
|
* Fix typos in documentation and testsMelvin Keskin2022-06-142-3/+3
|
* Client: injectIq: Fix missing ID on error replyLinus Jahn2022-06-071-0/+1
|
* Remove PubSubEventManager (in favour of EventHandler)Linus Jahn2022-05-286-40/+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
* 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-222-0/+83
| | | | 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-206-1/+98
|
* 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-202-0/+39
|
* ClientExtension: Inherit from ExtensionLinus Jahn2022-05-201-1/+2
|
* Client: injectIq: Send error IQ on unhandled IQsLinus Jahn2022-05-201-1/+19
|
* ClientExtension: Add injectIq() functionLinus Jahn2022-05-204-0/+29
|
* Client: Don't pass encrypted stanzas to old managersLinus Jahn2022-05-202-1/+9
| | | | | | Old managers means managers only using the old handleStanza() overload. Such managers are likely not handling the encrypted contents correctly (e.g. sending unencrypted replies and thereby leaking information).
* Client: Refactor: Use new 'StanzaPipeline'Linus Jahn2022-05-201-10/+18
| | | | | This is going to become useful when the other pipelines (messages, IQs) will follow.
* Client: Add reply() picking the encryption based on the received stanzaLinus Jahn2022-05-202-0/+20
| | | | | Currently does not support multiple encryptions, so the implementation is rather simple.
* ClientExtension: Add handleStanza() overload with e2ee metdataLinus Jahn2022-05-183-9/+43
| | | | | | | | | For handling end-to-end-encrypted stanzas it is important to know whether and which encryption was used. This is especially important for replying to IQ stanzas (with the correct encryption). Currently the e2eeMetadata parameter is unused (always nullopt). This is going to change in the following commits.
* TrustManager: Fix warningMelvin Keskin2022-05-091-1/+1
|
* Add QXmppTrustManager as base of trust managers such as QXmppAtmManagerMelvin Keskin2022-05-068-30/+388
|
* PubSubManager: Make 'standardItemIdToString()' publicMelvin Keskin2022-04-232-11/+18
| | | | This is needed if the IDs of incoming items should be checked externally.
* PubSubManager: Fix template usage of 'requestItem()'Melvin Keskin2022-04-201-1/+1
|
* Fix PubSub methods with a standard item ID parameterMelvin Keskin2022-04-202-14/+2
|
* PubSubManager: Add requestPepFeatures()Melvin Keskin2022-04-092-0/+12
|
* PubSubManager: Add requestFeatures()Melvin Keskin2022-04-092-0/+77
|
* PubSubManager: Add PEP overloads for requestItem and similarMelvin Keskin2022-04-092-0/+57
|
* PubSubManager: Add PEP overload for fetchNodes()Linus Jahn2022-04-092-0/+11
|
* PubSubManager: Update subscriptions todoLinus Jahn2022-04-091-1/+3
|
* PubSubManager: Add subscribeToNode()/unsubscribeFromNode()Melvin Keskin2022-04-092-0/+42
|
* PubSubManager: Add requestItemIds()Melvin Keskin2022-04-092-0/+39
| | | | Uses a disco items request.
* PubSubManager: requestItem: Add StandardItemId enum for 'current'Melvin Keskin2022-04-092-4/+75
|
* AtmManager: Fix memory leaks in tests and apply clang-formatMelvin Keskin2022-03-291-3/+3
|
* Provide QObject as third parameter to connect()Linus Jahn2022-03-132-2/+2
|
* MucManager: Don't use const on signalLinus Jahn2022-03-131-1/+1
|
* Fix possibly detaching containersLinus Jahn2022-03-134-4/+7
|
* Merge branch '1.4'Linus Jahn2022-03-131-2/+4
|\
| * Merge branch '1.3' into 1.4Linus Jahn2022-03-131-2/+4
| |\
| | * RegistrationManager: Fix setting form type of cached registration formLinus Jahn2022-03-131-2/+4
| | |