aboutsummaryrefslogtreecommitdiff
path: root/src/client/QXmppClient.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Implement XEP-0444: Message Reactions (#492)Melvin Keskin2022-10-161-0/+2
| | | https://xmpp.org/extensions/xep-0444.html
* Reformat codeLinus Jahn2022-09-061-16/+25
|
* Replace raw pointers with unique_ptrLinus Jahn2022-09-021-7/+1
| | | | safer, simpler
* 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-111-0/+1
|
* Adapt clang-formatLinus Jahn2022-06-171-2/+2
|
* Client: injectIq: Fix missing ID on error replyLinus Jahn2022-06-071-0/+1
|
* Apply 'clang-format' (#429)Melvin Keskin2022-05-281-2/+2
|
* Client: Add SendStanzaParams parameter to send functionsLinus Jahn2022-05-221-11/+15
| | | | It can already be used by E2eeExtension.
* E2eeExtension: Rename EncryptMessageResult to MessageEncryptResultLinus Jahn2022-05-201-3/+3
|
* Add MessageHandler interfaceLinus Jahn2022-05-201-1/+42
|
* Client: injectIq: Send error IQ on unhandled IQsLinus Jahn2022-05-201-1/+19
|
* ClientExtension: Add injectIq() functionLinus Jahn2022-05-201-0/+5
|
* Client: Don't pass encrypted stanzas to old managersLinus Jahn2022-05-201-1/+6
| | | | | | 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-201-0/+19
| | | | | Currently does not support multiple encryptions, so the implementation is rather simple.
* ClientExtension: Add handleStanza() overload with e2ee metdataLinus Jahn2022-05-181-1/+2
| | | | | | | | | 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.
* Fix possibly detaching containersLinus Jahn2022-03-131-1/+1
|
* QXmppPacket: Use QFutureInterface directly without shared_ptrLinus Jahn2022-03-031-23/+22
|
* Client: Forward E2eeExtension result types to use them directlyLinus Jahn2022-02-021-5/+8
| | | | Just saves the `QXmppE2eeExtension::` everywhere.
* Client: Use 'QXmppE2eeExtension::EncryptMessageResult'Melvin Keskin2022-02-021-2/+2
|
* Client: Fix 'send()' doesn't forward result from stream when using e2eeMelvin Keskin2022-02-021-3/+5
|
* Client: Fix comma placement in function documentationMelvin Keskin2022-02-021-4/+4
|
* Run 'clang-format' on all filesMelvin Keskin2022-01-151-25/+24
|
* Convert copyright headers to REUSELinus Jahn2022-01-141-22/+3
|
* Update copyright years (2022 edition)Linus Jahn2022-01-091-1/+1
|
* QXmppClient: Add encryption hooksLinus Jahn2021-09-281-3/+157
|
* Client: Require moving the packets/iqs for sendingLinus Jahn2021-09-281-6/+6
|
* Refactor packet sending: Add SendSuccess/SendErrorLinus Jahn2021-09-031-24/+4
|
* Make it possible to send QXmppNonzas over streamsLinus Jahn2021-08-261-2/+1
|
* QXmppClient: Add addNewExtension<T>()Linus Jahn2021-07-231-0/+10
|
* More template magic for QFuturesLinus Jahn2021-07-051-1/+1
|
* Add QXmppClient::sendGenericIq() just returning Success/StanzaErrorLinus Jahn2021-07-051-0/+38
|
* Add reporting of IQ responses with QFuturesLinus Jahn2021-06-271-0/+21
|
* QXmppClient: Add send() function with QFutureLinus Jahn2021-06-271-0/+42
|
* QXmppClient: Reset Stream Management package cache on JID changesLinus Jahn2021-03-111-1/+7
| | | | | | | | | | | | | | | The stream management mechanisms cache sent packages until the client receives an acknowledgement from the server. When the connection gets lost, the client resends all packages from the last connection that have not been acknowledged. And here comes the problem: When connecting with a different JID, the client still resends all packages from the last connection. Packages that were never intended to be sent from another account / to another server. This commit fixes this behaviour by resetting the package cache, when the JID changes.
* Update copyright headers to 2021Linus Jahn2021-02-191-1/+1
|
* QXmppClient: Advertise stream management stateLinus Jahn2021-01-091-0/+18
|
* QXmppClient: Remove static disco feature for attentionLinus Jahn2020-04-071-2/+0
| | | | | | The QXmppAttentionManager can be used to handle attention messages. Clients not using the manager (or their own) won't continue to send the attention feature.
* Add \since tags for QXmpp 1.0 everywhereLinus Jahn2020-04-061-2/+8
|
* QXmppClient: Add new service discovery featuresLinus Jahn2020-04-061-0/+18
|
* QXmppDiscoveryManager: Move static features into QXmppClientPrivateLinus Jahn2020-04-061-0/+22
|
* doc: Use XEP links everywhereLinus Jahn2020-02-111-7/+9
|
* Fix undocumented Q_PROPERTiesLinus Jahn2020-02-041-4/+0
|
* Run clang-format also on all cpp filesLinus Jahn2020-02-031-42/+29
|
* clang-format: Enable regrouping and sorting of includesLinus Jahn2020-02-031-11/+11
|
* QXmppClient: Remove obsolete methods for TLS managementLinus Jahn2020-01-291-41/+0
| | | | | | | | | | The methods are obsolete since the TLS manager has become an internal client extension. The methods were not of any use except for the TLS manager and should better not be public to the user at all (i.e. startSocketEncryption()). This can be done without any concerns because the methods were not part of the public API in any release, yet.
* Make QXmppTlsManager an internal client extensionLinus Jahn2020-01-291-1/+1
| | | | | | | | | | | This removes the QXmppTlsManager from the public API and makes it an internal client extension. It was not of any use for the end user and was configured via the QXmppClient (as before). This way we can obsolete some public methods of the QXmppClient, that also have been added with the new TLS manager. This can be done without any concerns because the manager was not part of the public API in any release, yet.
* QXmppClient: Split up QXmppClientPrivate into private headerLinus Jahn2020-01-291-25/+3
| | | | | | | This is required to access the QXmppClientPrivate from other classes. This way we can split up parts of the client into internal client extensions like the authentication manager, without the need of public methods in the client as with the current approach of the TLS manager.
* Move TLS negotiation into new QXmppTlsManagerLinus Jahn2020-01-201-2/+43
|