aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* QXmppClient: Only send CSI state when connectedLinus Jahn2019-11-281-1/+1
|
* Replace deprecated Q_ENUMS with Q_ENUMLinus Jahn2019-10-279-28/+20
| | | | | Q_ENUM exists since Qt 5.5, more details can be found here: https://woboq.com/blog/q_enum.html
* QXmppMucManager: Only return true if actually handled stanzaMartin Koller2019-10-271-3/+4
|
* CMakeLists: Continue with development for QXmpp 1.1Linus Jahn2019-10-261-1/+1
| | | | I forgot to add that before.
* Remove Qt < 5.7 compatibility codeLinus Jahn2019-10-231-13/+0
|
* Require Qt 5.7 or laterLinus Jahn2019-10-232-2/+2
|
* travis: Use Ubuntu Bionic instead of XenialLinus Jahn2019-10-231-1/+1
|
* Replace Q_FOREACH (foreach) by C++11 ranged for-loopsLinus Jahn2019-10-2333-201/+187
| | | | | | | Q_FOREACH is bad and will be deprecated in the future: https://www.kdab.com/goodbye-q_foreach/ This also disables Q_FOREACH by defining QT_NO_FOREACH.
* Start changelog for 1.2.0Linus Jahn2019-10-231-0/+5
|
* Release QXmpp 1.1.0Linus Jahn2019-10-231-2/+2
| | | | Closes #219.
* Prepare CHANGELOG for 1.1.0Linus Jahn2019-10-231-2/+38
|
* Add \since QXmpp 1.1 to all new methods and classesLinus Jahn2019-10-239-2/+80
| | | | Methods of new classes have no \since tag.
* Refactor data form media elementLinus Jahn2019-10-234-65/+444
| | | | | | | | | | | * Add QXmppDataForm::MediaSource instead of using a QPair<QString, QString> to save the URIs and content types. * Deprecate QXmppDataForm::Media: The extra class was useless: Each Field has exactly one media element and the media element has only two attributes (size and media sources) * Add mediaSources and mediaSize attributes to the QXmppDataForm::Field * Deprecate getters/setters for the Media element of QXmppDataForm::Field (they are still working and tested)
* Add minimal test for QXmppClientLinus Jahn2019-10-232-0/+82
|
* Port away from deprecated client extension getters of the QXmppClientLinus Jahn2019-10-239-97/+103
| | | | | This replaces the deprecated getters in the examples and in the documentation.
* doc: Move HTTP File Upload to finished XEPsLinus Jahn2019-10-231-1/+1
|
* Use raw literals, range based loops and autoJonah Brüchert2019-10-2226-99/+97
|
* QXmppUploadRequestManager: Fix doxygen warningsLinus Jahn2019-10-212-9/+11
|
* Revert "Implement MIX-PAM XEP-0405: Roster IQ extension"Linus Jahn2019-10-213-135/+6
| | | | | | | | | | This reverts commit 740a085ef7ac707e2cc2217edf02e296c3f7692e. There were talks on the standards mailing list that the XEP will be changed and a private PEP node is used for distributing joined channels. Also no server (that I am aware of) supports the MIX roster extension, so I think it is the best we remove before the next release, so we do not have problems with deprecations and ABI compatibility.
* Add unit tests for QXmppUploadRequestManagerblue2019-10-206-1/+445
| | | | Co-authored-by: Linus Jahn <lnj@kaidan.im>
* Implement XEP-0363: HTTP File Upload: UploadRequestManagerLinus Jahn2019-10-204-0/+394
| | | | | This adds a manager to simplify service discovery and IQ sending for XEP-0363: HTTP File Upload.
* Implement XEP-0363: HTTP File Upload: Error casesLinus Jahn2019-10-203-17/+171
| | | | | This extends the QXmppStanza::Error by the error cases defined in XEP-0363: HTTP File Upload in version 0.9.0.
* QXmppStanza::Error: Use d-pointer to maintain binary compat in futureLinus Jahn2019-10-202-34/+58
|
* QXmppMessage: Add back QDateTime include to keep source compatibility (#221)JBB2019-10-201-0/+3
| | | Introduced by 98f2fd04b0a95840584320858ff54cd5caff8f70 (#213).
* QXmppTransferManager: Port away from QTime.elapsed()Jonah Brüchert2019-10-191-1/+2
|
* Get QXmppMessage coverage to 100%Linus Jahn2019-10-191-32/+108
|
* Refactor & clean up QXmppMessageLinus Jahn2019-10-194-312/+270
| | | | | | | | | | | | | | | This simplifies parsing and fixes a possible bug: The bug case looks like this: - We have one element we want to parse (e,g, "attachment" with namespace xyz) - There is another element called "attachment" in the stanza and it's located before the other element. - QXmppMessage tries to parse the attachment element using firstChildElement("attachment") and checks the namespace - The namespace (of the first) element doesn't match - The actual "attachment" element is not parsed This also fixes the "constructor does not initialize these fields: […]" warnings for QXmppMessagePrivate.
* Use QSharedData for QXmppHttpUploadIq private classesLinus Jahn2019-10-152-15/+26
|
* Use QSharedData for QXmppMixIqPrivateLinus Jahn2019-10-152-9/+25
|
* Use QSharedData for QXmppMixItem private classesLinus Jahn2019-10-152-5/+29
|
* Use QSharedData for QXmppRosterIqPrivate and ItemPrivateLinus Jahn2019-10-152-14/+16
|
* Continue with QXmpp 1.1.0Linus Jahn2019-10-141-2/+2
|
* Merge remote-tracking branch 'origin/stable'Linus Jahn2019-10-142-5/+11
|\
| * Release QXmpp 1.0.1Linus Jahn2019-10-141-3/+5
| |
| * Fix potential SEGFAULT on connection error0xd34df00d2019-10-141-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | `socketError()` calls `connectToNextDNSHost()` which might cause `socketError()` synchronously (and recursively), thus not giving a change for updating `nextSrvRecordIdx`. Overall, this results in attempting to connect to the same DNS record recursively, until the stack is exhausted, resulting in SEGFAULT. One of the solutions (done in this commit) is to increment the record index _before_ attempting to connect.
* | Deprecate QXmppClient::{rosterManager,vCardManager,versionManager}()Linus Jahn2019-10-142-0/+14
| | | | | | | | QXmppClient::findExtension() should be used instead.
* | Add deprecation system similiar to Qt'sLinus Jahn2019-10-142-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | This adds the QXMPP_DISABLE_DEPRECATED_BEFORE option and a QXMPP_DEPRECATED_SINCE(major, minor) macro. They work like their Qt equivalent: - QXMPP_DISABLE_DEPRECATED_BEFORE defines the version number of source compatibility to be kept with. By default this is the major version (e.g. QXmpp 1.0.0) - QXMPP_DEPRECATED_SINCE(major, minor) returns true, if functions that got deprecated at this version should still be included.
* | travis: Build with all available threadsLinus Jahn2019-10-141-2/+8
| |
* | Add myself to AUTHORSLinus Jahn2019-10-141-0/+3
| |
* | Modernize codebase using clang-tidyJonah Brüchert2019-09-0890-359/+359
| | | | | | | | | | | | | | | | Using the following checks: * modernize-use-nullptr * modernize-use-override * modernize-use-using * modernize-use-bool-literals
* | Implement XEP-0334: Message Processing HintsLinus Jahn2019-09-087-0/+128
| | | | | | | | | | | | | | | | | | | | This implements parsing and serialization of XEP-0334: Message Processing Hints in version 0.3.0. https://xmpp.org/extensions/xep-0334.html Co-authored-by: Juan Aragon <jaaragont@gmail.com> Co-authored-by: Sam Truscott <sam@wumpus.co.uk>
* | Implement XEP-0380: Explicit Message EncryptionLinus Jahn2019-09-067-1/+193
| | | | | | | | | | | | | | This adds parsing and serialization for XEP-0380: Explicit Message Encryption in version 0.3.0. https://xmpp.org/extensions/xep-0380.html
* | Add tests for setters of QXmppStreamFeaturesLinus Jahn2019-09-061-0/+25
| |
* | Add test for checking 'required' mode of stream featuresLinus Jahn2019-09-061-0/+19
| | | | | | | | Co-authored-by: Melvin Keskin <melvo@olomono.de>
* | Add register stream featureMelvin Keskin2019-09-064-0/+23
| | | | | | | | | | | | | | This adds parsing, serialization and a test for the 'register' stream feature of XEP-0077: In-Band Registration. Co-authored-by: Linus Jahn <lnj@kaidan.im>
* | Implement XEP-0367: Message AttachingLinus Jahn2019-09-067-7/+65
| | | | | | | | | | This adds parsing and serialization for XEP-0367: Message Attaching in version 0.3.0.
* | travis: show as much build errors as possibleBoris Pek2019-09-041-1/+1
| | | | | | | | | | Without this option `make` tool stops build after first found build error.
* | Port deprecated method setCaCertificates of QSslSocketJonah Brüchert2019-09-031-2/+6
| |
* | Port deprecated qSort invocations to std::sortJonah Brüchert2019-09-033-7/+7
| |
* | cmake: Set minimum version first and bump it to 3.3Jonah Bruechert2019-05-131-2/+1
| |