aboutsummaryrefslogtreecommitdiff
path: root/src/client
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-273-17/+15
| | | | | 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
|
* Remove Qt < 5.7 compatibility codeLinus Jahn2019-10-231-13/+0
|
* Replace Q_FOREACH (foreach) by C++11 ranged for-loopsLinus Jahn2019-10-238-55/+51
| | | | | | | 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.
* Add \since QXmpp 1.1 to all new methods and classesLinus Jahn2019-10-231-0/+2
| | | | Methods of new classes have no \since tag.
* Port away from deprecated client extension getters of the QXmppClientLinus Jahn2019-10-235-37/+53
| | | | | This replaces the deprecated getters in the examples and in the documentation.
* Use raw literals, range based loops and autoJonah Brüchert2019-10-225-16/+16
|
* QXmppUploadRequestManager: Fix doxygen warningsLinus Jahn2019-10-212-9/+11
|
* Add unit tests for QXmppUploadRequestManagerblue2019-10-201-1/+0
| | | | Co-authored-by: Linus Jahn <lnj@kaidan.im>
* Implement XEP-0363: HTTP File Upload: UploadRequestManagerLinus Jahn2019-10-202-0/+391
| | | | | This adds a manager to simplify service discovery and IQ sending for XEP-0363: HTTP File Upload.
* QXmppTransferManager: Port away from QTime.elapsed()Jonah Brüchert2019-10-191-1/+2
|
* Merge remote-tracking branch 'origin/stable'Linus Jahn2019-10-141-4/+3
|\
| * 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.
* | Modernize codebase using clang-tidyJonah Brüchert2019-09-0825-93/+93
| | | | | | | | | | | | | | | | Using the following checks: * modernize-use-nullptr * modernize-use-override * modernize-use-using * modernize-use-bool-literals
* | Port deprecated method setCaCertificates of QSslSocketJonah Brüchert2019-09-031-2/+6
| |
* | MessageReceiptManager: Don't accept receipts from other resourcesLinus Jahn2019-05-051-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were some problems with buggy clients leading to that some messages were already marked as received, even though only another resource of the used account has got the message. Here is an example: [outgoing]: <message id="tH9OkRw" to="42@example.com" from="lnj@kaidan.im/kaidan.PR29" type="chat"> <body>test</body> <n1:request xmlns:n1="urn:xmpp:receipts"/> </message> [incoming]: <message to="lnj@kaidan.im/kaidan.PR29" from="lnj@kaidan.im/dino.dc02d539" id="410b33c3-1cd3-433e-8699-74a7583c2560"> <n1:received xmlns="urn:xmpp:receipts" id="tH9OkRw"/> </message> Here the other client "dino.dc02d539" sent an <received/> tag, although it actually received this message over carbons. To avoid that we need to ignore messages also from our bare JID.
* | [sasl] order mechanisms to prefer the most secureJeremy Lainé2019-01-182-11/+10
|/ | | | | | | | | | | | | | | | | | The previous logic was: - use the preferred SASL mechanism if available - otherwise use the first supported mechanism offered by the server However RFC 6120, section 6.3.3 states: "The initiating entity MUST maintain its own preference order independent of the preference order of the receiving entity." The new logic is: - order our supported mechanisms from most secure to least secure - if the user sets QXmppConfiguration::saslMechanism, put it first - use the best mechanism supported by the server
* Bump copyright year to 2019Jeremy Lainé2019-01-0841-41/+41
|
* Fix spelling errorsBoris Pek2019-01-085-6/+6
|
* Tiny addition to 439ad968c60d7cf44cc05cda72ebfdb1f8741045Boris Pek2019-01-031-1/+1
| | | | See: https://en.wikipedia.org/wiki/MacOS
* Set client type in discovery manager based on Qt OSLinus Jahn2019-01-031-1/+6
|
* Use QSysInfo for client OS in VersionManagerLinus Jahn2019-01-031-3/+8
| | | | | | The QXmppVersionManager will use QSysInfo in Qt 5.4 or later to determine the client's OS, so it will also contain the OS version or some codenames.
* Implement XEP-0352: Client State IndicationLinus Jahn2018-10-294-0/+41
| | | | | This commit is based on a pull request by fbeutel (GitHub) (see #87) and was rebased and slightly modified by me.
* Add missed variables initialization in constructors of few classes.Boris Pek2018-09-182-1/+3
|
* auto-connect to next DNS-SRV record server on connection failureMartin Koller2018-09-081-5/+23
| | | | | automatically try next server from DNS SRV record when connection to first can not be established
* Drop support for Qt 4Niels Ole Salscheider2017-09-042-18/+0
|
* Initial CMake build systemNiels Ole Salscheider2017-09-041-46/+0
|
* Add QXmppMamManager (XEP-0313)Niels Ole Salscheider2017-04-293-0/+218
|
* Implement XEP-0198: Stream Management (client only) (#99)Niels Ole Salscheider2017-02-122-52/+183
| | | | | | | | | | | | | | * Some features can be available with different namespaces (e.g. SM) * Provide static functions to convert between strings and stream errors Stream management will reuse this for <failed />. * [travis] test builds using clang * Implement XEP-0198: Stream Management (client only) * QXmppOutgoingClient: Move private methods to QXmppOutgoingClientPrivate
* Tiny cosmetic fix to avoid cppcheck message about memory leak.Boris Pek2017-02-031-1/+1
|
* do not ignore SSL errors by default (closes #113)Jeremy Lainé2016-10-071-2/+2
|
* clarify the fact QXmppConstants_p.h is not APIJeremy Lainé2016-09-0814-14/+14
|
* [carbons] rename QXmppCarbonsManager to QXmppCarbonManagerJeremy Lainé2016-09-043-16/+16
|
* [cosmetic] capitalize XEP-0280: Message CarbonsJeremy Lainé2016-09-041-1/+1
|
* Merge pull request #88 from fbeutel/carbonsfbeutel2016-09-043-0/+188
| | | * Implemented XEP-0280: Message Carbons
* QXmppTransferManager: Close only devices which we opened.Alexandr Akulich2015-10-271-1/+4
| | | | | | | | sendFile() method expects the device to be opened, but QXmppTransferJob::terminate() closes the dev unconditionaly, which breaks reusable QIODevice workflow. Introduce a private boolean variable saying "we created this device".
* QXmppTransferManager: Fixed device ownership.Alexandr Akulich2015-10-271-3/+2
| | | | | | - sendFile() without a device argument now set Job as a parent for the constructed (own) device. - sendFile() with a device argument does not reparent the device anymore.
* File transfer: Make sure the filename is being converted to a QUrl correctlyfbeutel2015-10-211-1/+1
|
* fix typoJeremy Lainé2015-08-311-1/+1
|
* cosmetic tweakJeremy Lainé2015-08-311-5/+4
|
* refactorJeremy Lainé2015-08-311-73/+27
|
* allow QXmppJingleIq to have multiple contentsJeremy Lainé2015-08-311-64/+72
|
* fix compiler warning about unused variableJeremy Lainé2015-08-281-2/+1
|
* QXmppCallManager : set the local SSRC in jingle IQJeremy Lainé2015-08-271-0/+1
|
* check sendFile is actually given a full JIDJeremy Lainé2015-08-151-6/+10
|
* add a note that QXmppTransferManager::sendFile requires a full JIDJeremy Lainé2015-08-151-0/+6
|
* Make QXmppClient::connectToServer(config, presence) a slot (closes #63)Jeremy Lainé2015-07-311-3/+3
|
* Remove trailing comma after last item in enumsJeremy Lainé2015-03-134-9/+9
| | | | This allows compilation with GCC in pedantic mode.