aboutsummaryrefslogtreecommitdiff
path: root/src/base
Commit message (Collapse)AuthorAgeFilesLines
* PubSubIq_p: Rename Private class to avoid conflictsLinus Jahn2023-03-092-4/+9
|
* Readd old PubSubIq and PubSubItem for compatibilityLinus Jahn2023-03-094-0/+394
| | | | | There is at least one package that actually uses this API and this way QXmpp 1.5 can be easily adopted.
* Rename PubSubItem -> PubSubBaseItem to be able to include old PubSubItemLinus Jahn2023-03-0911-59/+56
|
* SaslDigestMd5: Fix UB when at the end of input byte array [Qt6 only]Linus Jahn2023-03-091-2/+6
| | | | | | Also adds a unit test. Fixes #541.
* Organize OMEMO includesMelvin Keskin2023-03-091-1/+1
|
* Fix compilation on MSVC 2019Jonah Brüchert2023-03-091-2/+2
|
* According to RFC 5389, nonce (STUN attribute) should be paddedVladimir Pankratov2023-02-211-0/+4
|
* IqHandling: Don't accept IQ results/errorsLinus Jahn2023-01-281-0/+1
|
* Task/Promise: Don't allow abstract typesLinus Jahn2023-01-282-10/+4
| | | | | Supporting abstract types only has little advantages and we might want to store the result by value later.
* Stream: Fix use of moved valueLinus Jahn2023-01-281-2/+2
|
* Use QXmppError in all IQ results instead of StanzaErrorLinus Jahn2023-01-222-10/+8
| | | | | | | | 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.
* Task: Add static assert for then functionLinus Jahn2023-01-221-4/+5
|
* Rename TuneItem to UserTuneItemLinus Jahn2023-01-032-4/+4
| | | | Closes #524.
* Introduce QXmppTask & QXmppPromiseLinus Jahn2023-01-039-66/+504
| | | | | | Closes #502. Co-authored-by: Jonah Brüchert <jbb@kaidan.im>
* Stanza: Fix unhandled case in switch warningsLinus Jahn2023-01-011-0/+4
|
* Replace QXmpp::SendError with QXmppError everywhereLinus Jahn2022-12-305-29/+25
| | | | Part of #501.
* StanzaError: Remove optional getter/settters for type/conditionLinus Jahn2022-12-292-84/+13
| | | | | | | The whole QXmppStanza::Error is now used optionally in QXmppStanza, so type and condition of the error don't need to be optionals as well. Part of #512.
* Stanza: Make error optionalLinus Jahn2022-12-292-4/+51
| | | | Closes #512.
* cmake: Use generate_export_header() instead of doing manuallyLinus Jahn2022-12-292-43/+22
| | | | | | | | | 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.
* Stream: Add IQ response sender checkLinus Jahn2022-12-282-13/+31
| | | | | | | Verifies that the sender of the response is correct, so no evil entity can inject responses. Fixes #510.
* PubSubEvent: Split up Items type into Items and virtual Retract typeLinus Jahn2022-12-282-2/+22
| | | | | | | | | 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.
* Disable Qt keywords completelyLinus Jahn2022-12-264-24/+24
| | | | | | | | | | | | | | | 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-46/+54
| | | | This way users won't use it accidentally.
* Make PubSubIq header privateLinus Jahn2022-12-262-2/+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.
* Add checkIqType() function to IQsLinus Jahn2022-10-178-5/+29
| | | | This is required so they can be parsed just be specifying the type.
* Implement XEP-0444: Message Reactions (#492)Melvin Keskin2022-10-166-0/+223
| | | https://xmpp.org/extensions/xep-0444.html
* Implement XEP-0167: Jingle RTP Sessions SRTP negotiation (#487)Melvin Keskin2022-10-032-0/+361
|
* FileUpload/Download: Use result() getter instead of signal parameterLinus Jahn2022-10-021-0/+1
| | | | | | 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.
* 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
|
* Implement XEP-0167: Jingle RTP Sessions Informational Messages (#460)Melvin Keskin2022-10-012-15/+216
|
* Implement XEP-0448: Stateless File SharingJonah Brüchert2022-09-294-0/+45
| | | | | | | | | 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>
* JingleIq::Content: Specify implemented XEP in documentation of ↵Melvin Keskin2022-09-291-4/+4
| | | | 'descriptionSsrc' (#471)
* Implement XEP-0293: Jingle RTP Feedback Negotiation stanza parts (#455)Melvin Keskin2022-09-294-1/+550
|
* BitsOfBinaryDataList: Add QVector constructorLinus Jahn2022-09-291-0/+3
|
* Rename Encryption to EncryptionMethod to avoid conflicts with namespaceLinus Jahn2022-09-297-18/+18
| | | | | There's QXmpp::Private::Encryption. This renames QXmpp::Encryption to QXmpp::EncryptionMethod to avoid conflicts.
* FileShare: Add encrypted sourcesLinus Jahn2022-09-292-6/+34
| | | | Adds new attribute for encrypted sources and parsing.
* FileMetadata: Add fromFileInfo() creatorJonah Brüchert2022-09-292-1/+19
|
* QXmppError: Add fromNetworkReply() creatorJonah Brüchert2022-09-292-0/+12
|
* Allow adding multiple oob urls and a descriptionJonah Brüchert2022-09-284-9/+169
|
* FileMetadata: Allow multiple thumbnailsLinus Jahn2022-09-262-15/+17
| | | | The standard actually allows multiple thumbnails.
* Implement XEP-0167: Jingle RTP Sessions multiplexingMelvin Keskin2022-09-252-0/+36
|
* Implement XEP-0272: Multiparty Jingle (Muji) stanza extensions (#457)Melvin Keskin2022-09-256-0/+143
| | | | | Adds the presence extension and the extension of the Jingle IQ. https://xmpp.org/extensions/xep-0272.html
* FileShare: Fix documentation not generatedLinus Jahn2022-09-242-12/+14
|
* EncryptedFileSource: Move Cipher enum into QXmppGlobalLinus Jahn2022-09-243-19/+25
|