aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* cmake: Remove unused QXMPP_BUILD defineLinus Jahn2022-12-291-2/+0
|
* cmake: Use generate_export_header() instead of doing manuallyLinus Jahn2022-12-294-56/+45
| | | | | | | | | This is going to make it easier for us to maintain things. It's also consistent with the new QXmppOmemo module. This requires CMake 3.7 now. Closes #523.
* Call/CallManager: Fix usage of qt keywordsLinus Jahn2022-12-292-4/+5
|
* Stream: Add IQ response sender checkLinus Jahn2022-12-285-17/+49
| | | | | | | 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-284-24/+44
| | | | | | | | | 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.
* StanzaError: Add NoType and NoCondition for -1 valuesLinus Jahn2022-12-282-7/+8
| | | | | | | | Previsously static_cast<QXmppStanza::Error::Condition>(-1) was used when no condition was set (or type). This adds real enum values with that integer value to avoid undefined behaviour. Fixes #495.
* PubSubManager: Add 'own' to PEP function namesLinus Jahn2022-12-284-38/+38
| | | | | | | | | 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.
* omemo: Fix usage of Qt keywordsLinus Jahn2022-12-282-13/+13
|
* 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-2632-183/+181
| | | | | | | | | | | | | | | 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-264-105/+113
| | | | This way users won't use it accidentally.
* Make PubSubIq header privateLinus Jahn2022-12-264-4/+3
| | | | | | | 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.
* OmemoManagerPrivate: Use chain() in setUpDeviceId()Linus Jahn2022-12-221-7/+3
|
* OmemoManagerPrivate: Simplify setUpDeviceId()Linus Jahn2022-12-222-28/+40
|
* OmemoManagerPrivate: Fix device setupMelvin Keskin2022-12-221-9/+29
|
* Improve and update OMEMO documentationMelvin Keskin2022-12-221-21/+5
| | | | | | * OmemoManager: Use new CarbonManagerV2 and addNewExtension() for class documentation * OmemoManager: Remove unneeded Doxygen references for method documentation * doc: index: Add OmemoManager
* OmemoManagerPrivate: Add colon to error messages (#506)Melvin Keskin2022-10-291-7/+7
|
* MamManager: Add future based interface with encryption supportLinus Jahn2022-10-182-38/+253
|
* OmemoManager: Implement isEncrypted() and decryptMessage()Linus Jahn2022-10-182-0/+45
|
* 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 checkIqType() function to IQsLinus Jahn2022-10-178-5/+29
| | | | This is required so they can be parsed just be specifying the type.
* Add automated IQ request handling functionsLinus Jahn2022-10-173-0/+308
|
* Implement XEP-0444: Message Reactions (#492)Melvin Keskin2022-10-168-0/+227
| | | https://xmpp.org/extensions/xep-0444.html
* OmemoManagerPrivate: Capture lambda expression parameters explicitly (#498)Melvin Keskin2022-10-161-1/+8
| | | Avoids warnings with C++17 and C++20.
* Implement XEP-0167: Jingle RTP Sessions SRTP negotiation (#487)Melvin Keskin2022-10-032-0/+361
|
* FileSharingManager: Rename sendFile to uploadFileLinus Jahn2022-10-022-6/+6
|
* HttpFileSharingProvider: Report errors from the output device, clean upLinus Jahn2022-10-021-23/+33
|
* FileUpload/Download: Use result() getter instead of signal parameterLinus Jahn2022-10-023-17/+62
| | | | | | The signal parameter does not work with immediately finishing uploads/downloads (i.e. when an error happened while starting). The user can't handle the result in that case.
* FileUpload/Download: Avoid unnecessary virtual functionsLinus Jahn2022-10-029-355/+366
|
* FileSharingManager: Verify hashes of downloaded filesLinus Jahn2022-10-023-3/+111
| | | | Can only handle QFiles currently.
* HttpFileProvider: Require HttpUploadManager as parameterLinus Jahn2022-10-022-13/+6
| | | | | This is more explicit than taking the QXmppClient and asserting it has an HttpUploadManager registered.
* Rename EncryptedHttpProvider to EncryptedProviderLinus Jahn2022-10-024-24/+24
|
* Make EncryptedHttpFileSharingProvider able to handle not just httpLinus Jahn2022-10-024-18/+45
| | | | | However it is still limited by the sources supported by EncryptedHttpFileSource.
* FileTransfer: Require some functions to be constLinus Jahn2022-10-022-12/+12
|
* Generate QXmppUpload/Download only by FileSharingManagerLinus Jahn2022-10-029-272/+325
| | | | | | | | | | Previously all the providers had to subclass the QXmppUpload/Download. It should be much easier to do additional tasks (e.g. hashing after downloading) now because the manager (and not the provider) decides when to emit the finished signal. Making the encrypted source provider able to handle arbitrary unencrypted sources should be possible too.
* Error: Add fromFileDevice()Linus Jahn2022-10-022-1/+16
|
* FutureUtils: Add visitForward() functionLinus Jahn2022-10-021-0/+15
|
* Implement XEP-0167: Jingle RTP Sessions error conditions (#485)Melvin Keskin2022-10-024-0/+74
|
* JingleIq: Move namespace constants into QXmppConstants (#484)Melvin Keskin2022-10-013-4/+9
|
* Implement XEP-0294: Jingle RTP Header Extensions Negotiation stanzasMelvin Keskin2022-10-014-1/+312
|
* JingleIq: Add functions for de-/serializing SDP parametersMelvin Keskin2022-10-011-15/+23
|
* FileSharingManager: Also generate SHA3-256 or BLAKE2b256 hashesLinus Jahn2022-10-011-1/+14
| | | | | The file sharing manager now generates SHA-256+SHA3-256 with Qt 5 and SHA-256+BLAKE2b256 with Qt 6.
* Implement XEP-0167: Jingle RTP Sessions Informational Messages (#460)Melvin Keskin2022-10-013-17/+217
|