| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Change-Id: Id115fbbfb691cac1522d188ac3961a48caaf9fc1
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit cade213f562049400da81e60762400df68d7c56b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
| |
Change-Id: I0164e4e56cb477df8d05156676a781a71fc45b10
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit 91d59b6e103cb5b910d310cb32938a7e9235dddb)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
| |
Change-Id: I669e04ba3da47b9e23fa3ec482a6cb29e25392cf
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
(cherry picked from commit 0da764d8fec459ee28b70f68028ada81ed31abf7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
| |
UNSUBACK supported properties are exactly the same as SUBACK ones,
so re-use the existing readSubscriptionProperties() implementation.
Change-Id: I1d3d99f33d44882505960b603a07237c2a578dcb
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
|
|
|
|
|
|
|
|
| |
the state of a respective subscription is updated by the UNSUBACK handler,
once the broker confirms unsubscription
(see QMqttConnection::finalize_unsuback() for details)
Change-Id: Ib5c06dc7813609a66fad577d594447fade357a3e
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
|
|
|
|
| |
Change-Id: Idd988e7ddab4e589ba7bc3a634fb37aa9342aac4
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
by assuming a non-empty payload and then failing to read the data
if that assumption was too optimistic.
As per [MQTT-3.8.3-2]:
> The Payload MUST contain at least one Topic Filter and Subscription Options pair.
> A SUBSCRIBE packet with no Payload is a Protocol Error.
and then as per [MQTT-3.9.3-1]:
> The Payload contains a list of Reason Codes. Each Reason Code corresponds to a Topic Filter in the SUBSCRIBE packet being acknowledged.
> The order of Reason Codes in the SUBACK packet MUST match the order of Topic Filters in the SUBSCRIBE packet.
Change-Id: I5939d901c897f679ece43b3ec3845c43ee6f2a47
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
|
|
|
|
|
|
| |
plus add some more verbosity on invalid argument values
Change-Id: I7e0a091c2603e16d3e1d90f116e3f134122d42a2
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
|\
| |
| |
| | |
Change-Id: I9a0e57355d7fc5e5032a8626a49aa41a4f3ba6c4
|
| |
| |
| |
| |
| | |
Change-Id: I0ca662476df16a9509f265032df92a5d181f0350
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |\
| | |
| | |
| | | |
Change-Id: I522adee104c0c2f3abddebfe3920e691430ad8a0
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The exceptional texts in 3.4.2.1, 3.5.2.1, 3.6.2.1, 3.7.2.1,
3.14.2.1 and 3.15.2.1 propose a micro optimization:
> The Reason Code and Property Length can be omitted
> if the Reason Code is 0x00 (Success) and there are no Properties.
which our current implementation treats like if it were
"The Property Length can be omitted if the Reason Code is 0x00".
In theory, this optimization could apply to CONNACK as well,
as there is a reason code and no payload, but that's not stated
anywhere in the spec and should not be assumed.
Change-Id: Ifaf9a3c45876661b8f7a4d688600f53b46288752
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
prohibit reason codes not allowed for MQTT 5 PUBACK/REC/REL/COMP
(see sections 3.4.2.1, 3.5.2.1, 3.6.2.1, 3.7.2.1 for details)
Change-Id: If33a704e2667f07c9e2b79f6aa4fc241406fd892
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ia4df16b8ad37c1d241b959dfc4c3194b770c7813
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
change readVariableByteInteger() to decrease the passed value
(just like other read* functions) and remember to decrease
the remaining bytes counter by the properties length
when we read properties
(otherwise we're getting a reasonable Q_ASSERT(m_missingData == 0)
after i.e. readSubscriptionProperties())
Change-Id: Iaa050b1b543da2186da8e4deb1e701f4ac2ac2fa
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Some test servers might have different configurations.
For instance, mosquitto broker provides a different
default value for topic aliases.
Change-Id: I00bc9c6b27d06358a352f9c0adb04e4044666aac
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
mosquitto MQTT5 support seems to wait longer to send
will messages.
Change-Id: I2c13609e228319ce8fefc5e79d4f99bbfe0b061b
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |/
|/|
| |
| |
| | |
Change-Id: Ie797b505e67f02e65cfff3b25d49ddae523f4131
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
|\ \
| | |
| | |
| | | |
Change-Id: Ic1690472800b0e1652e078a135594a2ee39b56e5
|
| |\ \
| | | |
| | | |
| | | | |
Change-Id: I3043ab60b48c711c9c3e3f127b8b282fc10885c6
|
| |/ /
| | |
| | |
| | |
| | | |
Change-Id: Ia44c409f20a72638a88727a9a7b35c0d80754728
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
| |/
|/|
| |
| |
| | |
Change-Id: Icf598a98ff6999b3c6e615c4defa90f47e5e02d2
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ieea55c5990a24857c27a9dd71279bf08b2ff0170
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
prohibit reason codes not allowed for MQTT <=5 SUBACK
(see section 3.9.3 for details)
Change-Id: Ic433d14cd1c787da584e311c04273b676f4b450a
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* map MQTT 5 reason codes to a legacy ClientError values
* prohibit reason codes not allowed for MQTT 5 CONNACK
(see section 3.2.2.2 for details)
Change-Id: Ia5f5c2a55c9cf7477409b7f5bf670768b42eb979
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
squash finalize_pubAckRecComp() with finalize_pubrel()
Change-Id: I1a14d1ca0efccbfc58edafe0eaf27d58543ac82a
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As a follow up to 8b90d4808fad9e2fffda02dd90fa48e86d65e171
specify the version that the AUTH related enums have
been introduced.
Change-Id: I3f03a16504091f030e32bb97f9cae4e9b0864c62
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
as of MQTT 5, DISCONNECT Control packet could be sent
from the Client or the Server, however QMqttControlPacket::DISCONNECT
wasn't handled in the switch, causing connection close
with ProtocolViolation error.
Change-Id: Ic908f4e51ad133aff90cac1c65aa6df7eb21a427
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
instead, postpone the transportConnectionEstablished() call from
QSslSocket's Connected to Encrypted state
Change-Id: I4ed146897c6b084c3dd19848655a3c28979175ba
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I530ca158ca01a4d793bad9a5ea2eaf12f6098506
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
as per 3.3.4
> A PUBLISH packet sent from a Client to a Server MUST NOT contain a Subscription Identifier
Change-Id: I490d46cdb346b0ebcd47f333ff410835a9c30733
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
and use them in place of magic numbers to improve the code readability
Change-Id: Iec458898f9aee79b4e1977cd3bbe8697cb036ce6
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
the QMqttConnection's m_internalState distinguishes between Connecting
and WaitForConnectAck, whilst QMqttClient's state doesn't
Change-Id: Ic5c963aa07a8165e22b52baf36d98ac186cb6c58
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
QMqttControlPacket::AUTH wasn't handled in the switch, causing
connection close with ProtocolViolation error.
Change-Id: I6a9f44b66a8c8e9a6524bf98513428c5dc610a5b
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* for received PUBLISH, check for Client-to-Server Maximum Topic Alias
preference, not Server-to-Client one
* fire ProtocolViolation on topicAlias == 0
* return earlier on errors
Change-Id: Ia371b7a4e05704d07caab6c0d67b9180f590f1fc
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
it was already chosen to follow the Method B (which accidentally
is the only proposed method in MQTT 5 Standard, by the way)
Change-Id: I55dcea0f9b10ef4e4e83e559369a40c802c34899
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I94e2b559e561d9c1dd93b82996a5748a841fca3e
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As per 3.3.2.2
> The Packet Identifier field is only present in PUBLISH packets
> where the QoS level is 1 or 2.
Change-Id: I45a9a165d207e0e2a01c6b33b7f602cd2dff178f
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I4ef25313ab2abc8016b320f3fbc54df5bc4d834c
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Id42829b63d5bbab0dc2f930a3f313d1b4d68704a
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I00d1f2b4f5057069b39e4d73d65621807c331b3b
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
Change-Id: I1c244a04eb78e16e46acf4a6beb87da26995b995
|
| | |
|
|\|
| |
| |
| | |
Change-Id: I1d6b63c06e9bff4b1126034a9975ae9f22140fa0
|
| |\
| | |
| | |
| | | |
Change-Id: I6a46fa939bf016a091f3ffa24bcf4ac7c7d114c8
|
| |/
| |
| |
| |
| | |
Change-Id: I64d5ae34c78a5fa86586900efa0870554bbee588
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
Change-Id: Id9db3547396bd82b170db8c3025e5060d4cbba3e
|