aboutsummaryrefslogtreecommitdiff
path: root/src/client
Commit message (Collapse)AuthorAgeFilesLines
* MamManager: Fix crash when reading .size() from a deleted QVectorJonah Brüchert2023-03-181-1/+2
|
* Fix missing exports with MSVC 2019Jonah Brüchert2023-03-181-1/+1
| | | | | | | Fixes the Kaidan build with MSVC. Weirdly enough, MSVC got confused on finding the matching overload for <<, so I replaced it with push_back().
* CarbonManagerV2: Don't set 'to' address of carbon enable IQLinus Jahn2023-03-141-3/+2
| | | | | | | | | | | RFC6120 says we MUST NOT set a to address for such stanzas. From section 8.1.1.1.: 2. A stanza sent from a client to a server for direct processing by the server (e.g., roster processing as described in [XMPP-IM] or presence sent to the server for broadcasting to other entities) MUST NOT possess a 'to' attribute.
* Client: Fix empty to in IQs is interpreted as server domainLinus Jahn2023-03-141-1/+2
| | | | Empty to means account bare JID.
* Client: Don't fill empty 'to' attributes of outgoing IQsLinus Jahn2023-03-141-5/+2
|
* MamManager: Only parse ScePublic when decrypting messagesLinus Jahn2023-03-141-21/+49
| | | | | | | Message that are end-to-end-encrypted need to be parsed in ScePublic mode and should then be decrypted. In case the decryption fails, the messages are parsed in SceAll (the normal mode).
* MamManager: Avoid shared_ptr for counting running jobsLinus Jahn2023-03-141-14/+34
|
* MamManager: Flatten retrieveMessages codeLinus Jahn2023-03-141-50/+58
|
* MamManager: Move parsing from handleStanza() into new functionLinus Jahn2023-03-141-22/+33
|
* MamManager: Avoid possible use-after-moveLinus Jahn2023-03-141-2/+4
|
* MamManager: Create task before sendingLinus Jahn2023-03-141-1/+4
|
* IqHandling: Fix use-after-moveLinus Jahn2023-03-131-6/+4
| | | | Fixes #544.
* Run clang-formatLinus Jahn2023-03-111-1/+1
|
* Rename PubSubItem -> PubSubBaseItem to be able to include old PubSubItemLinus Jahn2023-03-092-12/+12
|
* SceEnvelope: Don't use reference to avoid misusageLinus Jahn2023-03-091-3/+3
|
* CarbonManagerV2: Fix enabling carbonsMelvin Keskin2023-03-091-3/+5
|
* Fix compilation on MSVC 2019Jonah Brüchert2023-03-094-6/+8
|
* MamManager: Fix task is not finished when no message is encryptedLinus Jahn2023-02-271-0/+9
|
* FileSharingManager: Fix UB because of use after moveLinus Jahn2023-02-231-1/+1
| | | | Fixes #538.
* Fix build with clang: usage of auto in template argumentLinus Jahn2023-02-011-1/+1
|
* E2eeExtension: Return encrypted stanzas as Message/Iq instead of XMLLinus Jahn2023-01-312-68/+75
| | | | Part of #513.
* Client: Rename send/sendUnencrypted to sendSensitive/sendLinus Jahn2023-01-284-9/+9
|
* IqHandling: Don't accept IQ results/errorsLinus Jahn2023-01-282-5/+16
|
* Fix discovery manager incoming request handlingLinus Jahn2023-01-221-2/+3
| | | | Fixes #529.
* Code formattingLinus Jahn2023-01-222-2/+2
|
* Use QXmppError in all IQ results instead of StanzaErrorLinus Jahn2023-01-2213-51/+50
| | | | | | | | This allows us to report different error types with more information and makes it possible to distinguish stanza errors and errors generated locally. Part of #501.
* Rename TuneItem to UserTuneItemLinus Jahn2023-01-031-1/+1
| | | | Closes #524.
* Introduce QXmppTask & QXmppPromiseLinus Jahn2023-01-0336-461/+444
| | | | | | Closes #502. Co-authored-by: Jonah Brüchert <jbb@kaidan.im>
* Fix documentation warnings (renamed functions)Linus Jahn2022-12-312-21/+29
|
* Replace QXmpp::SendError with QXmppError everywhereLinus Jahn2022-12-305-19/+20
| | | | Part of #501.
* Call/CallManager: Fix usage of qt keywordsLinus Jahn2022-12-292-4/+5
|
* Stream: Add IQ response sender checkLinus Jahn2022-12-283-4/+18
| | | | | | | Verifies that the sender of the response is correct, so no evil entity can inject responses. Fixes #510.
* Configuration: Minor documentation improvementsLinus Jahn2022-12-281-13/+13
|
* PubSubEvent: Split up Items type into Items and virtual Retract typeLinus Jahn2022-12-281-0/+3
| | | | | | | | | This makes the handling much easier because you don't have to manually check whether the set 'Items' type means items have been published or retracted. There is no retract type in the XML representation, but that doesn't mean that we cannot distinguish both cases. Closes #521.
* PubSubManager: Add 'own' to PEP function namesLinus Jahn2022-12-283-25/+25
| | | | | | | | | This makes it clear that the functions use the own PEP nodes. This is clear in some cases (createPepNode()), but in others not so clear (requestPepItem()). To keep it consistent all PEP functions get an 'own' now. Closes #520.
* PubSubManager: Rename fetchNodes to requestNodes (like the functions)Linus Jahn2022-12-282-2/+2
| | | | Part of #520.
* ClientExtension: Save d-ptr allocationLinus Jahn2022-12-282-17/+10
| | | | | | | | The d-ptr only contained one other pointer which can be stored directly. If we should need another attribute, we can just re-add the d-ptr since it has the same size as the current QXmppClient ptr. Closes #522.
* PubSubManager: Make requestFeatures() API privateLinus Jahn2022-12-282-2/+11
| | | | | This kind of task should be done by the DiscoveryManager. For now we still need it, but I don't want to make it official API.
* PubSubManager: Remove "void *d;"Linus Jahn2022-12-281-3/+0
| | | | It seems unrealistic to me that we'll actually going to need it.
* Disable Qt keywords completelyLinus Jahn2022-12-2623-131/+129
| | | | | | | | | | | | | | | Previously we had the policy that no qt keywords were allowed in headers that may be included by users. However since there was no automatic test verifying that in some places keywords were still used. This now disables qt keywords completely, also in tests and examples. Qt keywords are in general no good or really good idea as they even conflict with the standard library (`emit` at least). In some cases in the examples I just removed the slot tag if the functions didn't need to be slots (anymore). Closes #503.
* Move PubSubIq into QXmpp::Private namespaceLinus Jahn2022-12-262-59/+59
| | | | This way users won't use it accidentally.
* Make PubSubIq header privateLinus Jahn2022-12-261-1/+1
| | | | | | | Users should only need to use the PubSubManager. The PubSubIq does not need to have a stable API this way and this gives us more flexibility. Closes #509.
* MamManager: Add future based interface with encryption supportLinus Jahn2022-10-182-38/+253
|
* E2eeExtension: Add isEncrypted() and decryptMessage() functionsLinus Jahn2022-10-182-1/+30
|
* EntityTimeManager: Use new IQ request handlingLinus Jahn2022-10-172-18/+23
|
* VersionManager: Use new IQ request handlingLinus Jahn2022-10-172-13/+19
|
* DiscoveryManager: Use new IQ request handlingLinus Jahn2022-10-172-17/+31
|
* Add automated IQ request handling functionsLinus Jahn2022-10-172-0/+306
|
* Implement XEP-0444: Message Reactions (#492)Melvin Keskin2022-10-161-0/+2
| | | https://xmpp.org/extensions/xep-0444.html
* FileSharingManager: Rename sendFile to uploadFileLinus Jahn2022-10-022-6/+6
|