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 .
4 years ago
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.
4 years ago
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.
4 years ago
Roger Light
ba2ca33671
Strict protocol compliance fixes, and extensive test suite.
4 years ago
Roger Light
723b5d7081
Fix listener mount_point not being removed on outgoing messages.
...
Closes #2244 . Thanks to alflexRH.
4 years ago
Roger Light
93b2232bb9
Apply max_keepalive to MQTT v3.1.1 and v3.1 clients.
4 years ago
Roger A. Light
fc4099eafa
Speed up tests.
4 years ago
Roger A. Light
79542158f4
Fix `max_connections` option not being correctly counted.
4 years ago
Roger A. Light
eec1ef1c55
Parallelise bridge clean session test.
4 years ago
Roger A. Light
1ab6b28e26
Add missing test file.
4 years ago
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.
4 years ago
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.
5 years ago
Roger A. Light
e401def06d
Fix QoS 0 messages not being delivered when max_queued_bytes was configured.
...
Closes #2123 . Thanks to quackgizmo.
5 years ago
Roger A. Light
7baca428da
Remove obsolete tests.
5 years ago
Roger A. Light
706a1f3f29
Fix more minor compiler warnings.
5 years ago
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.
5 years ago
Roger A. Light
3c58ac9308
Fix `message_size_limit` not applying to the Will payload.
...
Closes #2022 . Thanks to Umberto Morelli.
5 years ago
Roger A. Light
5e6b34f81a
Fix test.
5 years ago
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.
5 years ago
Roger A. Light
04c110183c
Bridge support for MQTT v5 maximum-qos.
5 years ago
Roger A. Light
7d05f70fe1
Fix mosq_test.py to_string() on Python 3
5 years ago
Roger A. Light
ed28c416e9
Null checks in client tests.
5 years ago
Roger A. Light
6bd45f0092
dynsec: Better test coverage
5 years ago
Roger A. Light
aaf30dc622
dynsec: Fix incorrect test command.
5 years ago
Roger A. Light
31e3fa4d07
dynsec: Invalid UTF-8 tests, plus some fixes.
5 years ago
Roger A. Light
c303c67461
dynsec: Return group not found on getGroup.
5 years ago
Roger A. Light
ad8cf9fc03
dynsec: Start of invalid role commands tests.
5 years ago
Roger A. Light
423e1a00d2
dynsec: Tests for group commands with invalid params, plus fixes.
5 years ago
Roger A. Light
7ccf4c44fd
dynsec: Tests for invalid client command input.
5 years ago
Roger A. Light
f6e17b81b9
dynsec: More modifyRole test coverage.
5 years ago
Roger A. Light
6cffd4264e
dynsec: ACL tests.
5 years ago
Roger A. Light
d8775b7d9c
dynsec: Consistent behaviour when setting clientid.
5 years ago
Roger A. Light
047c09bd32
dynsec: Anon group tests
5 years ago
Roger A. Light
2d7f146dfc
These tests shouldn't allow anon access.
5 years ago
Roger A. Light
15c6e58fa0
Only run dynsec tests if CJSON and TLS are available.
5 years ago
Roger A. Light
c3daa247c2
dynsec: Cover setClientId in 14-dynsec-auth test.
5 years ago
Roger A. Light
c1f0cb69d1
dynsec: ACL default access test.
5 years ago
Roger A. Light
81c4e2b6ac
dynsec: Commit client auth tests.
5 years ago
Roger A. Light
584cf51ba7
Update to EPL-2.0
5 years ago
Roger A. Light
fdd624cec4
Fix tests now uhpa has been removed.
5 years ago
Roger A. Light
f2630f9c58
Attempt to fix travis on osx and unreliable test.
5 years ago
Roger A. Light
eee34613b4
Fix building of old tests.
5 years ago
Roger A. Light
b816d46508
Use db as a global var instead of passing to functions.
...
This allows a big swath of ifdefs to be removed. It also means savings as the db var is not passed around all of the time, and makes it easier to remove the final broker call to mosquitto_time() call in packet_mosq.c. In one test this reduced the calls to mosquitto_time() from 295k to 48k.
5 years ago
Roger A. Light
255ae24a6d
Fix basic dynsec tests.
5 years ago
Roger A. Light
4d9afc835b
Fix missing functions in test.
5 years ago
Roger A. Light
042c2733f2
Test and fix for message expiry not increasing send quota.
5 years ago
Roger A. Light
a1ad4cfcc4
Dynsec: Rename ACL types for clarity.
...
publishBrokerToClient -> publishClientReceive
publishClientToBroker -> publishClientSend
5 years ago
Roger A. Light
e3ed8879f2
Fix test compilation.
5 years ago
Roger A. Light
fdff255916
New dynamic security plugin.
5 years ago
Roger A. Light
3eb39b38da
Use atomics in test.
5 years ago