aboutsummaryrefslogtreecommitdiff
path: root/src/client
Commit message (Collapse)AuthorAgeFilesLines
* Fix build with Qt 5.9Linus Jahn2022-09-302-0/+15
|
* HttpFileSharingProvider: Keep original filename when known (#480)Jonah Brüchert2022-09-301-1/+2
| | | | This is unfortunatly required for compatiblity with legacy clients, because they rely on the url to figure out the file type.
* Implement XEP-0448: Stateless File SharingJonah Brüchert2022-09-2914-7/+961
| | | | | | | | | This adds a file sharing manager that is capable of using multiple back ends. Currently implemented are a normal HTTP File Upload backend and an encrypted HTTP File Upload. Jingle File Transfer could be implemented later. Co-authored-by: Linus Jahn <lnj@kaidan.im>
* HttpUploadManager: Use unique_ptr for data device (#479)Jonah Brüchert2022-09-292-7/+8
|
* HttpUploadManager: Only allow https urls (#478)Jonah Brüchert2022-09-291-0/+8
|
* FileEncryption: EncryptionDevice: Implement atEnd()Linus Jahn2022-09-292-0/+6
| | | | Required for using in QNetworkAccessManager::put().
* Add file encryption functions and Encryption/DecryptionDeviceLinus Jahn2022-09-242-0/+353
| | | | | The devices allow it to encrypt or decrypt data on the fly when reading or writing data.
* Add shared QcaInitializerLinus Jahn2022-09-242-0/+61
| | | | Can be used by OMEMO manager and other parts of the code using QCA.
* Export TlsManager to make it available in testsLinus Jahn2022-09-131-1/+1
|
* Add global Cancelled unit structLinus Jahn2022-09-132-6/+3
| | | | | The Cancelled struct from HttpUpload is going to be used in other places.
* HttpUploadManager: Avoid UB if UploadRequestManager does not existLinus Jahn2022-09-101-0/+7
|
* CallStream: Avoid unnecessary copies by using std::move()Linus Jahn2022-09-101-6/+6
|
* CallStream: Add missing documentationLinus Jahn2022-09-101-0/+24
| | | | Fixes #430.
* Add HttpUploadManager for requesting slots and uploading filesLinus Jahn2022-09-092-0/+467
|
* Remove empty handleStanza() implementationsLinus Jahn2022-09-066-28/+1
|
* Reformat codeLinus Jahn2022-09-0621-201/+362
|
* 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
* 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.
* 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-142-0/+4
| | | | | It's now also possible to see which messages were carbon forwarded when using the CarbonManagerV2.
* Add new message carbons managerLinus Jahn2022-08-142-0/+191
| | | | | | | | | | | | 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.
* 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
|