Commit Graph

424 Commits

Author SHA1 Message Date
Roger A. Light
11975332d4 Fix mosquitto_topic_matches_sub2() not using the length parameters.
Closes #2364. Thanks to Jens Alfke.
2021-11-16 23:14:24 +00:00
Roger A. Light
0d0a36906c Add missing stubs. 2021-11-16 22:14:19 +00:00
Roger Light
5cae4d1d81 Fix broker sending duplicate CONNACK on failed MQTT v5 reauthentication.
Closes #2339. Thanks to hvxl.
2021-10-12 22:33:05 +01:00
Roger A. Light
3b471c8669 Fix test 2021-10-06 09:54:19 +01:00
Roger A. Light
a1a190b482 Pointless whitespace tidy. 2021-10-05 15:20:37 +01:00
Roger A. Light
c28110d079 Fix test 2021-10-01 17:24:19 +01:00
Roger A. Light
f7a57add81 Add NanoMQ crash test case. 2021-09-24 21:57:28 +01:00
Roger A. Light
7b58eee414 Fix problem parsing config files with Windows line endings.
Closes #2297. Thanks to all the people who commented there!
2021-09-23 11:40:40 +01:00
Roger A. Light
330bf6efdc Various fixes around inflight quota management.
Closes #2306. Thanks to canique.
2021-09-22 17:20:24 +01:00
Roger A. Light
7551a29985 Fix LWT messages not being delivered if per_listener_settings was set to true
Closes #2314. Thanks to Marc Hamel.
2021-09-21 22:51:25 +01:00
Roger A. Light
37b5aedcb6 Fix for #575314.
Incoming QoS 2 messages that had not completed the QoS flow were not being
checked for ACL access when a clean session=False client was reconnecting.

Closes #575314.
2021-08-30 16:14:27 +01:00
Roger A. Light
9d6a73f9f7 Fix CONNECT performance with many user-properties.
An MQTT v5 client connecting with a large number of user-property properties
could cause excessive CPU usage, leading to a loss of performance and
possible denial of service. This has been fixed.
2021-08-26 12:17:42 +01:00
Roger Light
32af599c81 Fix $share subscriptions not being recovered for durable clients.
If a plugin had granted ACL subscription access to a
durable/non-clean-session client, then removed that access, the client would
keep its existing subscription. This has been fixed.
2021-08-26 12:17:26 +01:00
Roger Light
ba2ca33671 Strict protocol compliance fixes, and extensive test suite. 2021-08-23 23:19:28 +01:00
Roger Light
723b5d7081 Fix listener mount_point not being removed on outgoing messages.
Closes #2244. Thanks to alflexRH.
2021-08-22 08:23:13 +01:00
Roger Light
93b2232bb9 Apply max_keepalive to MQTT v3.1.1 and v3.1 clients. 2021-08-20 23:27:14 +01:00
Roger A. Light
fc4099eafa Speed up tests. 2021-08-17 17:11:47 +01:00
Roger A. Light
79542158f4 Fix max_connections option not being correctly counted. 2021-08-17 13:10:18 +01:00
Roger A. Light
eec1ef1c55 Parallelise bridge clean session test. 2021-07-28 15:54:21 +01:00
Roger A. Light
1ab6b28e26 Add missing test file. 2021-06-09 14:22:21 +01:00
Roger A. Light
42163634c7 Fix leak on crafted MQTT v5 CONNECT.
If a MQTT v5 client connects with a crafted CONNECT packet a memory leak
will occur.

Thanks to Kathrin Kleinhammer.
2021-06-08 22:26:09 +01:00
Roger A. Light
6a4a547892 Fix segfault on client sending malformed CONNACk.
CVE-xxxx-xxxx: If an authenticated client connected with MQTT v5 sent a
malformed CONNACK message to the broker a NULL pointer dereference occurred,
most likely resulting in a segfault. This will be updated with the CVE
number when it is assigned.
Affects versions 2.0.0 to 2.0.9 inclusive.

Closes #2163. Thanks to Bryan Pearson.
2021-04-03 11:14:27 +01:00
Roger A. Light
e401def06d Fix QoS 0 messages not being delivered when max_queued_bytes was configured.
Closes #2123. Thanks to quackgizmo.
2021-03-08 23:23:45 +00:00
Roger A. Light
7baca428da Remove obsolete tests. 2021-03-04 09:49:29 +00:00
Roger A. Light
706a1f3f29 Fix more minor compiler warnings. 2021-01-21 13:33:54 +00:00
Roger A. Light
cf1098eff1 Send protocol error on topic alias not found.
The error topic-alias-invalid was being sent if an MQTT v5 client published
a message with empty topic and topic alias set, but the topic alias hadn't
already been configured on the broker. This has been fixed to send a
protocol error, as per section 3.3.4 of the specification.
2021-01-20 10:28:40 +00:00
Roger A. Light
3c58ac9308 Fix message_size_limit not applying to the Will payload.
Closes #2022. Thanks to Umberto Morelli.
2021-01-19 11:51:50 +00:00
Roger A. Light
5e6b34f81a Fix test. 2021-01-11 14:31:41 +00:00
Roger Light
113603168b Fix LWT not being sent on client takeover.
This was not happening for the case when the existing session wasn't
being continued.

Closes #1946. Thanks to Rory Piper.
2020-12-13 23:11:02 +00:00
Roger A. Light
04c110183c Bridge support for MQTT v5 maximum-qos. 2020-12-01 18:15:29 +00:00
Roger A. Light
7d05f70fe1 Fix mosq_test.py to_string() on Python 3 2020-12-01 14:27:39 +00:00
Roger A. Light
ed28c416e9 Null checks in client tests. 2020-12-01 09:48:11 +00:00
Roger A. Light
6bd45f0092 dynsec: Better test coverage 2020-11-30 17:15:43 +00:00
Roger A. Light
aaf30dc622 dynsec: Fix incorrect test command. 2020-11-30 13:14:14 +00:00
Roger A. Light
31e3fa4d07 dynsec: Invalid UTF-8 tests, plus some fixes. 2020-11-29 23:16:52 +00:00
Roger A. Light
c303c67461 dynsec: Return group not found on getGroup. 2020-11-28 00:34:53 +00:00
Roger A. Light
ad8cf9fc03 dynsec: Start of invalid role commands tests. 2020-11-28 00:34:33 +00:00
Roger A. Light
423e1a00d2 dynsec: Tests for group commands with invalid params, plus fixes. 2020-11-28 00:01:58 +00:00
Roger A. Light
7ccf4c44fd dynsec: Tests for invalid client command input. 2020-11-27 14:35:07 +00:00
Roger A. Light
f6e17b81b9 dynsec: More modifyRole test coverage. 2020-11-26 17:24:39 +00:00
Roger A. Light
6cffd4264e dynsec: ACL tests. 2020-11-26 17:24:20 +00:00
Roger A. Light
d8775b7d9c dynsec: Consistent behaviour when setting clientid. 2020-11-26 12:18:57 +00:00
Roger A. Light
047c09bd32 dynsec: Anon group tests 2020-11-26 12:18:20 +00:00
Roger A. Light
2d7f146dfc These tests shouldn't allow anon access. 2020-11-26 10:27:54 +00:00
Roger A. Light
15c6e58fa0 Only run dynsec tests if CJSON and TLS are available. 2020-11-26 10:08:29 +00:00
Roger A. Light
c3daa247c2 dynsec: Cover setClientId in 14-dynsec-auth test. 2020-11-26 00:13:40 +00:00
Roger A. Light
c1f0cb69d1 dynsec: ACL default access test. 2020-11-25 23:54:43 +00:00
Roger A. Light
81c4e2b6ac dynsec: Commit client auth tests. 2020-11-25 22:01:26 +00:00
Roger A. Light
584cf51ba7 Update to EPL-2.0 2020-11-25 17:34:21 +00:00
Roger A. Light
fdd624cec4 Fix tests now uhpa has been removed. 2020-11-25 09:19:05 +00:00