| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
| |
This implements parsing and serialization of content identifiers from
XEP-0231: Bits of Binary in version 1.0.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
Q_ENUM exists since Qt 5.5, more details can be found here:
https://woboq.com/blog/q_enum.html
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
| |
Methods of new classes have no \since tag.
|
| |
|
|
|
|
|
|
|
|
|
| |
* 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)
|
| |
|
|
|
| |
This replaces the deprecated getters in the examples and in the
documentation.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
Co-authored-by: Linus Jahn <lnj@kaidan.im>
|
| |
|
|
|
| |
This adds a manager to simplify service discovery and IQ sending for
XEP-0363: HTTP File Upload.
|
| |
|
|
|
| |
This extends the QXmppStanza::Error by the error cases defined in
XEP-0363: HTTP File Upload in version 0.9.0.
|
| | |
|
| |
|
| |
Introduced by 98f2fd04b0a95840584320858ff54cd5caff8f70 (#213).
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
`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.
|
| | |
| |
| |
| | |
QXmppClient::findExtension() should be used instead.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Using the following checks:
* modernize-use-nullptr
* modernize-use-override
* modernize-use-using
* modernize-use-bool-literals
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| | |
| |
| |
| |
| |
| |
| | |
This adds parsing and serialization for XEP-0380: Explicit Message
Encryption in version 0.3.0.
https://xmpp.org/extensions/xep-0380.html
|
| | |
| |
| |
| |
| |
| |
| | |
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>
|
| | |
| |
| |
| |
| | |
This adds parsing and serialization for XEP-0367: Message Attaching in
version 0.3.0.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| | |
This implements the IQs for requesting and receiving upload slots as
defined by XEP-0363: HTTP File Upload in version 0.9.0.
|
| | |
| |
| |
| |
| | |
The changes in the XEP only affected parts we haven't implemented yet,
so updating was rather easy.
|
| | |
| |
| |
| | |
This adds parsing and serialization of spoilers in the QXmppMessage class.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
This implements the pubsub items for the MIX participants and info node
as defined by XEP-0369: Mediated Information eXchange (MIX) in version
0.14.2.
https://xmpp.org/extensions/xep-0369.html#participants-node
https://xmpp.org/extensions/xep-0369.html#info-node
|
| | |
| |
| |
| |
| |
| |
| |
| | |
This adds the MIX extensions for roster queries as defined in XEP-0405:
Mediated Information eXchange (MIX): Participant Server Requirements in
version 0.4.0.
https://xmpp.org/extensions/xep-0405.html#mix-roster-capability-sharing
|
| | |
| |
| |
| |
| |
| |
| |
| | |
This implements the new presence extension defined by XEP-0405: Mediated
Information eXchange (MIX): Participant Server Requirements in version
0.4.0.
https://xmpp.org/extensions/xep-0405.html#usecase-user-presence-receive
|
| | |
| |
| |
| |
| |
| |
| | |
This implements the new message extension specified by XEP-0369: Mediated
Information eXchange (MIX) in version 0.14.2.
https://xmpp.org/extensions/xep-0369.html#usecase-user-message
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
This implements all used IQ queries of XEP-0369: Mediated Information
eXchange (MIX) (v0.14.1) and XEP-0405: Mediated Information eXchange (MIX):
Participant Server Requirements (v0.3.1), including unit tests.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |/ |
|
| | |
|