summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add changes file for Qt 5.15.25.15Antti Kokko2020-10-271-0/+28
| | | | | | | 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>
* Bump versionJani Heikkinen2020-10-271-1/+1
|
* Add changes file for Qt 5.12.10Antti Kokko2020-10-161-0/+28
| | | | | | | 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>
* Bump versionJani Heikkinen2020-09-281-1/+1
|
* Add changes file for Qt 5.15.1Antti Kokko2020-08-251-0/+20
| | | | | | | 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>
* Bump versionAlexandru Croitor2020-07-301-1/+1
|
* MQTT 5: respect UNSUBACK Properties and Reason CodeKonstantin Ritt2020-05-151-1/+37
| | | | | | | | 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>
* Do not change state in QMqttSubscription::unsubscribe()Konstantin Ritt2020-05-151-1/+0
| | | | | | | | | 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>
* Introduce MQTT 5 UNSUBSCRIBE specific Reason CodeKonstantin Ritt2020-05-152-0/+3
| | | | | Change-Id: Idd988e7ddab4e589ba7bc3a634fb37aa9342aac4 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* Treat SUBACK with an empty payload as a protocol violationKonstantin Ritt2020-05-151-2/+4
| | | | | | | | | | | | | | | 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>
* QMqttConnection::sendControlSubscribe: minor simplificationKonstantin Ritt2020-05-151-13/+12
| | | | | | | plus add some more verbosity on invalid argument values Change-Id: I7e0a091c2603e16d3e1d90f116e3f134122d42a2 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* Merge remote-tracking branch 'origin/5.15.0' into 5.15Qt Forward Merge Bot2020-05-141-0/+18
|\ | | | | | | Change-Id: I9a0e57355d7fc5e5032a8626a49aa41a4f3ba6c4
| * Add changes file for Qt 5.15.0v5.15.0-rc2v5.15.0-rc1v5.15.05.15.0Antti Kokko2020-04-231-0/+18
| | | | | | | | | | Change-Id: I0ca662476df16a9509f265032df92a5d181f0350 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * Merge remote-tracking branch 'origin/5.15' into 5.15.0Qt Forward Merge Bot2020-04-223-3/+22
| |\ | | | | | | | | | Change-Id: I522adee104c0c2f3abddebfe3920e691430ad8a0
* | | Do not ignore MQTT 5 protocol violations in some more casesKonstantin Ritt2020-05-061-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Better handling of MQTT 5 PUBACK/REC/REL/COMP Reason CodesKonstantin Ritt2020-05-061-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Tst_QMqttClient: fix the FakeServer's response regarding payload sizeKonstantin Ritt2020-05-061-1/+3
| | | | | | | | | | | | | | | Change-Id: Ia4df16b8ad37c1d241b959dfc4c3194b770c7813 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | | Fix remaining bytes calculation when parsing Controls PacketsKonstantin Ritt2020-05-062-34/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Add runtime check for different test serverMaurice Kalinowski2020-05-061-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Increase waiting timeMaurice Kalinowski2020-05-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Exit more gracefuly on protocol violationsKonstantin Ritt2020-05-021-1/+4
| |/ |/| | | | | | | Change-Id: Ie797b505e67f02e65cfff3b25d49ddae523f4131 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-04-211-0/+20
|\ \ | | | | | | | | | Change-Id: Ic1690472800b0e1652e078a135594a2ee39b56e5
| * \ Merge remote-tracking branch 'origin/5.14.2' into 5.145.14Qt Forward Merge Bot2020-04-211-0/+20
| |\ \ | | | | | | | | | | | | Change-Id: I3043ab60b48c711c9c3e3f127b8b282fc10885c6
| | * | Add changes file for Qt 5.14.2v5.14.25.14.2Antti Kokko2020-03-171-0/+20
| |/ / | | | | | | | | | | | | Change-Id: Ia44c409f20a72638a88727a9a7b35c0d80754728 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* | / Fix deprecation warningsMaurice Kalinowski2020-04-182-3/+2
| |/ |/| | | | | | | Change-Id: Icf598a98ff6999b3c6e615c4defa90f47e5e02d2 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | Expose CONNACK Reason Code via serverConnectionProperties() for MQTT <5v5.15.0-beta4v5.15.0-beta3Konstantin Ritt2020-04-021-2/+2
| | | | | | | | | | Change-Id: Ieea55c5990a24857c27a9dd71279bf08b2ff0170 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | Better handling of MQTT SUBACK Reason CodesKonstantin Ritt2020-04-021-4/+29
| | | | | | | | | | | | | | | | 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>
* | Better handling of MQTT 5 CONNACK Reason CodesKonstantin Ritt2020-04-021-1/+44
| | | | | | | | | | | | | | | | | | * 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>
* | QMqttConnection: code deduplicationKonstantin Ritt2020-04-022-27/+13
| | | | | | | | | | | | | | squash finalize_pubAckRecComp() with finalize_pubrel() Change-Id: I1a14d1ca0efccbfc58edafe0eaf27d58543ac82a Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | Doc: Update reason code documentationMaurice Kalinowski2020-04-011-4/+4
| | | | | | | | | | | | | | | | | | 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>
* | Fix handling of incoming DISCONNECT Control packetKonstantin Ritt2020-04-021-0/+19
| | | | | | | | | | | | | | | | | | | | 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>
* | QMqttConnection: do not block when connecting with encryptionKonstantin Ritt2020-03-311-10/+5
| | | | | | | | | | | | | | | | instead, postpone the transportConnectionEstablished() call from QSslSocket's Connected to Encrypted state Change-Id: I4ed146897c6b084c3dd19848655a3c28979175ba Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | Fix documentation of the qos argument meaningKonstantin Ritt2020-03-311-2/+2
| | | | | | | | | | | | Change-Id: I530ca158ca01a4d793bad9a5ea2eaf12f6098506 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | Prohibit Subscription Identifier in Client to a Server PUBLISHKonstantin Ritt2020-03-311-0/+6
| | | | | | | | | | | | | | | | 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>
* | Introduce MQTT 5 AUTH specific Reason CodesKonstantin Ritt2020-03-313-6/+13
| | | | | | | | | | | | | | and use them in place of magic numbers to improve the code readability Change-Id: Iec458898f9aee79b4e1977cd3bbe8697cb036ce6 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | Prohibit sending MQTT 5 AUTH while connecting to the BrokerKonstantin Ritt2020-03-311-4/+5
| | | | | | | | | | | | | | | | 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>
* | Fix handling of incoming MQTT 5 AUTH Control packetKonstantin Ritt2020-03-311-0/+16
| | | | | | | | | | | | | | | | 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>
* | Better handling for topic alias of a received messageKonstantin Ritt2020-03-271-6/+9
| | | | | | | | | | | | | | | | | | | | * 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>
* | Get rid of stale TODO commentKonstantin Ritt2020-03-261-2/+0
| | | | | | | | | | | | | | | | 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>
* | QMqttClient: make ClientState, ClientError and ProtocolVersion Q_ENUM-sv5.15.0-beta2Konstantin Ritt2020-03-061-0/+7
| | | | | | | | | | Change-Id: I94e2b559e561d9c1dd93b82996a5748a841fca3e Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | Fix documentation for QMqtt::MessageStatus::PublishedKonstantin Ritt2020-03-061-1/+1
| | | | | | | | | | | | | | | | | | 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>
* | Minor improvement to the ReasonCode documentationKonstantin Ritt2020-03-061-0/+6
| | | | | | | | | | Change-Id: I4ef25313ab2abc8016b320f3fbc54df5bc4d834c Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | Do not apply properties that weren't actually readKonstantin Ritt2020-02-281-1/+2
| | | | | | | | | | Change-Id: Id42829b63d5bbab0dc2f930a3f313d1b4d68704a Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | Fix build with CONFIG+=no-rttiKonstantin Ritt2020-02-281-2/+2
| | | | | | | | | | Change-Id: I00d1f2b4f5057069b39e4d73d65621807c331b3b Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15v5.15.0-beta1v5.15.0-alpha1Qt Forward Merge Bot2020-02-050-0/+0
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I1c244a04eb78e16e46acf4a6beb87da26995b995
| * Bump versionAlexandru Croitor2020-02-021-1/+1
| |
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-01-281-0/+20
|\| | | | | | | Change-Id: I1d6b63c06e9bff4b1126034a9975ae9f22140fa0
| * Merge remote-tracking branch 'origin/5.14.1' into 5.14Qt Forward Merge Bot2020-01-271-0/+20
| |\ | | | | | | | | | Change-Id: I6a46fa939bf016a091f3ffa24bcf4ac7c7d114c8
| | * Add changes file for Qt 5.14.1v5.14.15.14.1Antti Kokko2020-01-091-0/+20
| |/ | | | | | | | | Change-Id: I64d5ae34c78a5fa86586900efa0870554bbee588 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-01-133-0/+53
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Id9db3547396bd82b170db8c3025e5060d4cbba3e