aboutsummaryrefslogtreecommitdiff
path: root/src/client
Commit message (Collapse)AuthorAgeFilesLines
* RosterManager: Cache roster when using stream managementLinus Jahn2021-01-092-9/+37
| | | | | | | | | | | | The roster manager caches the roster items if a previous stream could be resumed now. The rosterReceived() signal is not emitted again in this case. This avoids redundant roster requests. When no stream management is used, the roster cache is cleared directly on disconnecting. If stream management is used, the cache is also accessible after disconnecting. On connecting the manager checks whether the last stream could be resumed. If the last stream hasn't been resumed, the cache is cleared and the roster is re-requested.
* RosterManager: Refactor/modernise codeLinus Jahn2021-01-092-49/+50
|
* QXmppClient: Advertise stream management stateLinus Jahn2021-01-094-2/+85
|
* QXmppTransferManager: Fix undefined behaviour when parsing features (#322)Jan Lorenz2020-12-111-2/+6
| | | Co-authored-by: Jan Lorenz <jan.lorenz@pascom.net>
* tests: Add OutgoingClient::parseHostAddress() testLinus Jahn2020-10-101-0/+2
|
* Port remaining Qt-6-removed APIsLinus Jahn2020-10-104-25/+45
|
* OutgoingClient: Properly handle bind IQ errorsBonnie2020-10-011-0/+5
|
* Merge branch 'stable'Linus Jahn2020-07-202-16/+33
|\
| * Clean up QXmppCarbonManagerLinus Jahn2020-07-202-18/+29
| |
| * QXmppCarbonManager: Fix vulnerability: Add sender checkLinus Jahn2020-07-201-0/+6
| | | | | | | | | | | | The XEP requires that only carbon messages from the client's bare JID are accepted. This prevents that other entities can inject messages into the client.
| * QXmppMessageReceiptManager: Ignore all error messagesLinus Jahn2020-07-201-1/+4
| | | | | | | | | | Not only receipt requests, but also receipts from error messages should not be used.
* | Adapt to changes in QList in Qt 6.0Linus Jahn2020-07-032-7/+2
| | | | | | | | Template parameters of QList can't be forward declared anymore.
* | Replace deprecated QSslSocket::error signalLinus Jahn2020-07-031-0/+4
| |
* | QXmppMessageReceiptManager: Ignore all error messagesLinus Jahn2020-07-031-1/+4
| | | | | | | | | | Not only receipt requests, but also receipts from error messages should not be used.
* | QXmppClient: Remove static disco feature for attentionLinus Jahn2020-04-071-2/+0
| | | | | | | | | | | | The QXmppAttentionManager can be used to handle attention messages. Clients not using the manager (or their own) won't continue to send the attention feature.
* | Add QXmppAttentionManagerLinus Jahn2020-04-072-0/+364
| |
* | QXmppClient: State that iqReceived() is only emitted for resultsLinus Jahn2020-04-072-5/+8
|/
* Add \since tags for QXmpp 1.0 everywhereLinus Jahn2020-04-064-5/+25
|
* QXmppClient: Add new service discovery featuresLinus Jahn2020-04-061-0/+18
|
* QXmppDiscoveryManager: Move static features into QXmppClientPrivateLinus Jahn2020-04-063-11/+32
|
* QXmppRosterManager: Add comment on pre-approved subscriptionsLinus Jahn2020-04-051-3/+12
|
* QXmppCallStream: Wrap callback in std::functionJonah BrĂ¼chert2020-04-023-6/+9
| | | | Allows to use non-static functions (or lambdas with captures)
* Merge branch 'stable'Linus Jahn2020-04-014-2/+8
|\
| * Do not include 'ask' attribute when renaming roster itemMelvin Keskin2020-04-011-0/+4
| |
| * Set user's vCard also when 'from' attribute contains user's bare JIDMelvin Keskin2020-04-011-1/+1
| |
| * QXmppMessageReceiptManager: Fix receipts are sent on error messages (#269)Blue2020-03-271-1/+1
| | | | | | This fixes that behaviour and extends the tests for QXmppMessageReceiptManager.
| * Fix switch statement when handling IQ stanza for registrationMelvin Keskin2020-03-241-0/+2
| |
* | Update copyright year from '2019' to '2020' for forgotten filesMelvin Keskin2020-03-291-1/+1
| |
* | QXmppCallStream: Fix wrong \since tagsLinus Jahn2020-03-241-2/+2
| |
* | Allow to set multiple STUN serversNiels Ole Salscheider2020-03-164-8/+23
| | | | | | | | This way we can for example add a server for IPv4 and one IPv6.
* | Port QXmppCallManager to use GStreamerNiels Ole Salscheider2020-03-169-754/+1599
| |
* | Add not authorized condition for stream errors (#191)henry610242020-02-141-0/+2
| |
* | Make QXmpp work with projects using QT_NO_KEYWORDSLinus Jahn2020-02-1121-47/+47
| | | | | | | | | | | | | | | | | | | | | | This replaces all occurencies of 'slots' and 'signals' with 'Q_SLOTS' and 'Q_SIGNALS'. This allows for smooth integration with software projects that need QT_NO_KEYWORDS, such as those ones that rely on boost libraries. Closes #115. Co-authored-by: Tommaso Cucinotta <tommaso.cucinotta@santannapisa.it>
* | doc: Use XEP links everywhereLinus Jahn2020-02-1116-33/+39
|/
* QXmppRegistrationManager: Fix typo in deleteAccountIqIdLinus Jahn2020-02-061-4/+4
|
* QXmppRegistrationManager: Handle result of deleteAccount()Linus Jahn2020-02-062-16/+48
| | | | This adds two signals to make the result easily available to the user.
* QXmppRegistrationManager: Pass stanza error by valueLinus Jahn2020-02-061-2/+2
| | | | | It uses QSharedDataPointer<> internally, so passing by value is recommended.
* Fix undocumented Q_PROPERTiesLinus Jahn2020-02-048-73/+94
|
* Fix doxygen warnings about missing titles for \defgroupLinus Jahn2020-02-041-2/+15
|
* Add new QXmppRegistrationManagerLinus Jahn2020-02-043-4/+666
|
* Run clang-format also on all cpp filesLinus Jahn2020-02-0323-656/+437
|
* clang-format: Enable regrouping and sorting of includesLinus Jahn2020-02-0334-117/+124
|
* Replace manual xmlns writing by writeDefaultNamespace()Linus Jahn2020-01-292-2/+2
| | | | | | | This is the result of: sed -i 's/writeAttribute("xmlns", /writeDefaultNamespace(/g' \ $(find . -iname "*.cpp" -or -iname "*.h")
* QXmppClient: Remove obsolete methods for TLS managementLinus Jahn2020-01-292-45/+0
| | | | | | | | | | The methods are obsolete since the TLS manager has become an internal client extension. The methods were not of any use except for the TLS manager and should better not be public to the user at all (i.e. startSocketEncryption()). This can be done without any concerns because the methods were not part of the public API in any release, yet.
* Make QXmppTlsManager an internal client extensionLinus Jahn2020-01-293-9/+27
| | | | | | | | | | | This removes the QXmppTlsManager from the public API and makes it an internal client extension. It was not of any use for the end user and was configured via the QXmppClient (as before). This way we can obsolete some public methods of the QXmppClient, that also have been added with the new TLS manager. This can be done without any concerns because the manager was not part of the public API in any release, yet.
* Introduce QXmppInternalClientExtensionsLinus Jahn2020-01-293-0/+103
| | | | | | | | | | | | The new internal client extensions can be used to access private parts of the QXmppClient since QXmppInternalClientExtensions are a friend of the QXmppClient. The internal client extensions are not part of the public API, so you can't access them in an application using QXmpp. However, this was also the case before. If there is the need to access the internal extensions in the future, we'll still have all options open to change everything, because the classes are not part of the public API.
* QXmppClient: Split up QXmppClientPrivate into private headerLinus Jahn2020-01-292-25/+78
| | | | | | | This is required to access the QXmppClientPrivate from other classes. This way we can split up parts of the client into internal client extensions like the authentication manager, without the need of public methods in the client as with the current approach of the TLS manager.
* Update copyright notice in missing filesLinus Jahn2020-01-282-2/+2
|
* Move TLS negotiation into new QXmppTlsManagerLinus Jahn2020-01-205-43/+168
|
* Port majority of old-style connects (#237)JBB2020-01-2010-268/+127
| | | This provides more type safety and is future-proof.