1
0
mirror of https://github.com/qt/qtmqtt.git synced 2026-10-25 16:16:26 +00:00
Commit Graph

1120 Commits

Author SHA1 Message Date
Tatiana Borisova
33538c5143 PINGRESP from the network should not push the counter below zero
- finalize_pingresp() lowers m_pingTimeout every time, with no lower
limit. A broker can send a pile of unasked-for replies to push the
counter deep below zero, and then the client can spend some unexpected
amount of time to reach back the number that means:
"the broker has stopped answering, drop the link.”
- The fix prohibits pushing the counter below zero.

Task-number: QTBUG-149662
Pick-to: 6.11 6.12 6.8
Change-Id: I7b25e8ac3f83fa262a19010df9a91b2ee1c006fd
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
2026-09-01 14:32:40 +00:00
Tatiana Borisova
9e0428b917 Skip remaining data for messages with unknown requests
- finalize_suback() and finalize_unsuback() read the 2-byte request ID.
If no matching request was found, they returned immediately.
However, m_missingData remained non-zero.
The leftover bytes are then incorrectly interpreted as the header of
the next message!

- This change fixes the issue universally for all handlers in the
processDataHelper().

Pick-to: 6.11 6.12 6.8
Task-number: QTBUG-149570
Change-Id: I06c86414c3297caa386059a02fdec5c3765a0315
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
2026-09-01 10:52:32 +00:00
Qt Submodule Update Bot
c7f7555d8e Update dependencies on 'dev' in qt/qtmqtt
Change-Id: Ic8fadb4442f209a70a15a076d56b166f4d122f75
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-09-01 00:54:22 +00:00
Tatiana Borisova
011eb1e424 Fix topic alias bounds and storage sizes
- In the f8ecf4d56a we found that the
m_receiveAliases bounds check used a wrong property:
m_clientPrivate->m_serverConnectionProperties.maximumTopicAlias(),
but it must use instead:
m_clientPrivate->m_connectionProperties.maximumTopicAlias().

So, the idea is m_receiveAliases is sized according to the maximum
topic alias value declared by the client in CONNECT, while
m_publishAliases is sized according to the maximum value declared
by the server in CONNACK.

The previous fix did not update all related code.
1) The resize() calls for m_receiveAliases and m_publishAliases
still used the wrong properties.
2) The bounds check for m_publishAliases still used the client's
maximumTopicAlias() value instead of the server's.

- Update the resize() calls to use the appropriate connection
properties and fix the bounds check for m_publishAliases.

Amends f8ecf4d56a

Pick-to: 6.11 6.12 6.8
Task-number: QTBUG-149564
Change-Id: I252c67966bf28c6994f34b19024d1b7894748473
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
2026-08-28 17:36:29 +00:00
Qt Submodule Update Bot
ee16836877 Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I13a69da7a50229cdfc602dda0edac4f2645da59e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-08-28 16:01:26 +00:00
Tatiana Borisova
c94175ff43 Stop parsing after closeConnection()
- Parsing continued after closeConnection(), leaving the client in the
"connected" state with a dead socket. This led to a permanent,
unrecoverable wedge in Release builds and a crash in Debug builds.

- Check whether the client is already disconnected before changing its
state to BrokerConnected.

Pick-to: 6.11 6.12 6.8
Task-number: QTBUG-149565
Change-Id: I13d45c24d24fe862d9aec6a7e421f5ef4d494db0
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
2026-08-28 12:07:32 +00:00
Tatiana Borisova
13288574c1 Check readVariableByteInteger() return value
- On error, readVariableByteInteger() closes the connection and
returns-1. In this case, message handling should stop.

- Add checks for the return value to stop processing when -1 is returned.

Pick-to: 6.11 6.8 6.12
Task-number: QTBUG-149565
Change-Id: I8f6cc8d6f3011a89d3bd4033a3432f383e1e9164
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
2026-08-28 12:07:30 +00:00
Tatiana Borisova
ecaf42152e Number overflow while rejecting a too-long length
- The length reader checked its 4-byte limit after doing the maths.
So, a 5th byte was multiplied in and overflows before the value
was thrown away. But it was not noticed, because we thrown it away
and returned -1.

- The fix moves iteration++ and if (iteration > 4) before the
calculation, preventing the overflow.

Pick-to: 6.11 6.8 6.12
Task-number: QTBUG-149571
Change-Id: I78c2063c7e01af3e8f196f824216d31de92fab48
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
2026-08-28 12:07:28 +00:00
Qt Submodule Update Bot
ba2b82223a Update dependencies on 'dev' in qt/qtmqtt
Change-Id: Ie3ba332b167426218e86a904bc99a0bed0e4556c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-08-26 06:34:34 +00:00
Qt Submodule Update Bot
90f2efdd5d Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I45f8e4efaf7d02f0ef886257dd1ccaa1ad4f457e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-08-22 02:39:59 +00:00
Qt Submodule Update Bot
b73e4d4ffc Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I2751f6696663e560d274e1df7889943a578a6914
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-08-18 00:22:08 +00:00
Tatiana Borisova
96d602b65f Update to coin_module_test_template_v3.yaml
- The main differences between v2 and v3 are:
  * `coin_module_test_template_v2.yaml` ignores autotest return
    codes because the `COIN_CTEST_IGNORE_EXIT_CODE` flag is set.
  * The Axivion build was moved from coin_module_build_template_v2.yaml
    to coin_module_test_template_v3.yaml in commit
    c3ddec2f15a1cf806d8df444952cb2c2231ae4ad
- Switch the qtmqtt submodule to the newer v3 version to improve
the submodule CI experience for autotests and restore Axivion
checks.

Pick-to: 6.12 6.11
Change-Id: I1695c8ca1af616512dff437a0a4cdbd0491412d4
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-08-17 09:51:21 +00:00
Qt Submodule Update Bot
fe85eff00c Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I49e7ca4073c1c483370a22ff51d8cde8d63345f4
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-08-14 10:49:39 +00:00
Qt Submodule Update Bot
16862e4fa7 Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I5706ec8cff106f1a19fcf9652ba06ae7a3076bab
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-08-04 15:26:25 +00:00
Qt Submodule Update Bot
2caa279c61 Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I8126f0e67a0c58f8f671890050d3c13bf6e8e8d8
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-07-29 15:25:41 +00:00
Jani Heikkinen
ebd3d87293 Replace Q_ENUMS with Q_ENUM
Amends ea3dc64d3f,
7467bbdc84, and
ea0d792a44 (all before 6.0).

Fixes: QTBUG-148625
Pick-to: 6.12 6.11 6.8
Change-Id: I2f9b24f7e32d437cce258dfdce0d669c8d2638e1
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
2026-07-29 11:40:44 +00:00
Tatiana Borisova
14de26f60b Fix Qt-RangeLoopDetach Axivion warnings
- use std::as_const() where possible, and introduce an intermediate
  local const variable where it is not.

Axivion-Id: qt_Add-ons_qtmqtt_dev_linux:SV34
Axivion-Id: qt_Add-ons_qtmqtt_dev_linux:SV35
Axivion-Id: qt_Add-ons_qtmqtt_dev_linux:SV36
Axivion-Id: qt_Add-ons_qtmqtt_dev_linux:SV37
Pick-to: 6.12
Task-number: QTBUG-144762
Change-Id: I7b6d53116269007aca7d6f050b2abeb2515e9390
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
2026-07-22 10:41:05 +00:00
Qt Submodule Update Bot
a85b5c3ecf Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I63842312d21575b3cb7f0722446ec14149aa2a5e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-07-18 21:34:00 +00:00
Qt Submodule Update Bot
2dc7e69f0e Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I23bbd285e1aa00624ee2e21a65b54ec3693d416f
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-07-15 00:24:21 +00:00
Qt Submodule Update Bot
9cc2b3859d Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I8d5b1115587cdc9e4625785a23acba9cd770936a
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-07-09 20:08:18 +00:00
Qt Submodule Update Bot
088b583810 Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I92ec408cffa255a953e07fe93761fe9bf5fcc27b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-07-07 15:18:07 +00:00
Qt Submodule Update Bot
fa9b04ab15 Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I2828b08e810e9fd3de8b3536472d21c17c67bf9f
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-07-01 17:52:59 +00:00
Qt Submodule Update Bot
53aba306b9 Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I7f19ead9837dcb5a80b0fabae0f3e2aae1562752
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-06-25 07:49:14 +00:00
Qt Submodule Update Bot
3b476b23eb Update dependencies on 'dev' in qt/qtmqtt
Change-Id: Ie71907f1afdf7b36ba1a363db0855716b731d96a
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-06-18 21:00:58 +00:00
Qt Submodule Update Bot
cf66710eb6 Update dependencies on 'dev' in qt/qtmqtt
Change-Id: Ibbf482f41eb56bea86a418094a81516fa913ae07
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-06-04 21:59:53 +00:00
Jani Heikkinen
5d592b2aa3 Bump version to 6.13.0
Change-Id: I63790a12e9734c478bb9f0bb86ff4527cd69b9e1
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-06-04 21:59:51 +00:00
Qt Submodule Update Bot
ae08a87fc4 Update dependencies on 'dev' in qt/qtmqtt
Change-Id: If9e34b78b899338e3bf3587caea8f5ef929fa39e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-06-03 01:35:30 +00:00
Qt Submodule Update Bot
1d7f954339 Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I6b6c3fe3edd69ee2444bc7246d1c6916e3f8ba5d
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-06-02 05:06:50 +00:00
Qt Submodule Update Bot
f7267c6452 Update dependencies on 'dev' in qt/qtmqtt
Change-Id: Ieff8861b81fe08d9e05eae5343ad6716d7698383
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-05-31 15:44:17 +00:00
Qt Submodule Update Bot
cefbe34e78 Update dependencies on 'dev' in qt/qtmqtt
Change-Id: Ieb10ad55da60b7ef62c9d84479fe98f5ea515209
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-05-29 01:11:37 +00:00
Qt Submodule Update Bot
b7d124d65f Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I858f5ccddc5f368659f43646fa005537dce71a87
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-05-25 20:20:43 +00:00
Qt Submodule Update Bot
e7616f09c1 Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I77d9159d75ac22b8fff8996dc4e403bc42421563
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-05-22 12:04:27 +00:00
Qt Submodule Update Bot
ba85d5db5c Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I72a5e492509e54a18ee16a953e6a6c222a9aa124
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-05-15 12:13:24 +00:00
Qt Submodule Update Bot
396d0f90e7 Update dependencies on 'dev' in qt/qtmqtt
Change-Id: Iefedb03a0bf4aa12a5f13fd36d92a89d5631e685
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-05-08 05:41:49 +00:00
Qt Submodule Update Bot
468dfd5357 Update dependencies on 'dev' in qt/qtmqtt
Change-Id: Idcc316e0dea54aeb45941abebab5c4e28a55cd62
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-05-05 14:50:43 +00:00
Marc Mutz
24ec59ffbb Disable 1-to-2-arg qHash() adapter in qtmqtt
Pick-to: 6.11
Task-number: QTBUG-145851
Change-Id: Ic9f6a64b8aa99aad7682e5e6379d304bcff3a7d7
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2026-05-04 10:43:37 +00:00
Qt Submodule Update Bot
c0f5cee7eb Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I421dcdadb5e23c65b453f555a25c3d0f9bba8dd1
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-04-30 13:10:00 +00:00
Kai Köhne
5287cf1442 Add CONTRIBUTING.md file
Point potential contributors to contribute.qt-project.org.

Change-Id: Id4dbc0dda57fe316f5d338dd0ef407b278287671
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2026-04-21 07:22:04 +00:00
Qt Submodule Update Bot
778fa2d33c Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I40d407b8b63b744c47ba731c02e72c66529bb241
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-04-20 19:01:00 +00:00
Qt Submodule Update Bot
92c214f82a Update dependencies on 'dev' in qt/qtmqtt
Change-Id: Ibfb2ad9bb0924abb7a074358c4ba1f877c81c489
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-04-17 18:55:29 +00:00
Qt Submodule Update Bot
ed2aeb5392 Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I7483d2540c6338db7b3f8b444cbf05daf07564a8
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-04-16 07:38:06 +00:00
Qt Submodule Update Bot
fe7422c165 Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I5dfd827abd2d9fe68403371fd40659ea2e9c459e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-30 09:25:50 +00:00
Qt Submodule Update Bot
8c32cf60c0 Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I9110839ce13a2e73145908973465dd8024d2594c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-27 08:24:11 +00:00
Qt Submodule Update Bot
92de735434 Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I0fdb37e81eea6ed61cd084b60b6c772d851acc90
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-26 08:20:47 +00:00
Marc Mutz
a3c58404a4 Tst_QMqttSubscription: fix -Wunused-lambda-capture
Says Clang:

  tst_qmqttsubscription.cpp:515:92: warning: lambda capture 'client' is not used [-Wunused-lambda-capture]
    515 |         connect(subscriptions[i], &QMqttSubscription::messageReceived, subscriptions[i], [&client, topic, &received](QMqttMessage msg) {
        |                                                                                           ~^~~~~~~
  tst_qmqttsubscription.cpp:545:92: warning: lambda capture 'client' is not used [-Wunused-lambda-capture]
    545 |         connect(subscriptions[i], &QMqttSubscription::messageReceived, subscriptions[i], [&client, topic, &received](QMqttMessage msg) {
        |                                                                                           ~^~~~~~~
  tst_qmqttsubscription.cpp:576:92: warning: lambda capture 'client' is not used [-Wunused-lambda-capture]
    576 |         connect(subscriptions[i], &QMqttSubscription::messageReceived, subscriptions[i], [&client, topic, &received](QMqttMessage msg) {
        |                                                                                           ~^~~~~~~

Fix by removing the problematic capture. I don't know why it doesn't
complain about `topic`, which also looks unused.

Amends c383083270 (picked to 6.8).

Pick-to: 6.11 6.10 6.8
Change-Id: I52850ae4ff9b5e2faee86cd8252d78ce5f0908ff
Reviewed-by: Even Oscar Andersen <even.oscar.andersen@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2026-03-24 08:50:18 +01:00
Qt Submodule Update Bot
3e904a3eb4 Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I63b95f05c9dde6633111f63b6008920cec54da21
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-23 23:46:51 +00:00
Qt Submodule Update Bot
8931b61d89 Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I11332b97298dde75f48ae3cfb5eb1b9452447a94
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-18 17:43:38 +00:00
Qt Submodule Update Bot
0ec04b89e2 Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I08c40165efeebfb2df661bdac17e8ad2db48fb49
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-17 14:05:05 +00:00
Qt Submodule Update Bot
6d7b27ab94 Update dependencies on 'dev' in qt/qtmqtt
Change-Id: I0d18827d5f92c8ba488a7ccac5a7550444e7400b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-13 15:47:14 +00:00
Qt Submodule Update Bot
00a8eb7b67 Update dependencies on 'dev' in qt/qtmqtt
Change-Id: Ie1d5820003ae40418f00ae2c3d67c2891068c92c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-11 19:11:40 +00:00