Roger A. Light
e09390eda6
Split db__message_insert into incoming/outgoing.
2021-11-11 14:47:02 +00:00
Roger A. Light
9ad8d943be
Stored messages now always stored in a hash table.
2021-11-11 11:20:30 +00:00
Roger A. Light
786d468570
MID reuse test.
2021-11-10 15:58:10 +00:00
Roger A. Light
34b41a3b01
Dynsec: Add ability to deny wildcard subscriptions for a role
2021-11-10 11:20:25 +00:00
Roger Light
dcff8dfd38
Implement plugin wrappers for v2, v3, v4
...
This means the internal plugin interface is simpler and is translated to each of the older interfaces if needed.
2021-11-09 17:11:20 +00:00
Roger Light
3ebc4f851c
Fix test.
2021-11-03 09:50:09 +00:00
Roger A. Light
a1288721ce
Fix tests
2021-10-27 17:22:58 +01:00
Roger A. Light
8ac11929cc
Merge branch 'master' into develop
2021-10-27 17:19:33 +01:00
Roger A. Light
b9b065d2cc
Compiler pedantry, and more checks in tests.
2021-10-14 11:39:46 +01:00
Roger Light
9d3f292b39
Send DISCONNECT With session-takeover return code.
...
This is for MQTT v5 clients when a client connects with the same client id.
Closes #2340 . Thanks to hvxl.
2021-10-12 23:20:53 +01: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 Light
51eda2bf79
Add more efficient keepalive check.
2021-10-12 17:19:42 +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
56e5c52abe
Fix test.
2021-10-01 16:34:17 +01:00
Roger A. Light
e01542b6cf
Fix test.
2021-10-01 16:10:59 +01:00
Roger A. Light
0f2f77c945
Improve idle / mux timeout performance.
2021-09-29 16:07:48 +01:00
Roger Light
07f793a108
Fix protocol checks - bridge and CONNACK responses.
2021-09-27 22:18:59 +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
4f24ffef2f
Add disable_client_cert_date_checks option.
2021-09-21 12:16:42 +01:00
Roger A. Light
ba936a869d
Add accept_protocol_versions option.
2021-09-21 11:07:54 +01:00
Roger A. Light
f552ec48b1
Add global_max_connections option.
2021-09-17 16:06:02 +01:00
Roger A. Light
02685d49b6
Add global_max_clients option.
...
This allows limiting client sessions globally on the broker.
2021-09-17 16:01:37 +01:00
Roger A. Light
1c6d74f208
Fix test
2021-09-13 16:43:38 +01:00
Roger A. Light
aa29b45e70
Merge branch 'master' into develop
2021-09-07 19:17:11 +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
8cd2411ab6
Tests should typically use listener instead of port.
2021-07-28 14:20:01 +01:00
Roger A. Light
49065f03a8
Merge remote-tracking branch 'origin/fixes' into develop
2021-07-09 14:12:05 +01:00
Roger A. Light
192a092d50
Add support for pattern ACLs to dynsec un/subscription ACLs.
2021-07-08 21:55:39 +01:00
Roger A. Light
a02aad0a9c
Add mosquitto_sub_matches_acl_with_pattern.
2021-07-08 17:45:50 +01:00
Roger A. Light
09fe737038
$share subscription with no-local not allowed.
...
Return protocol error if a client attemps to subscribe to a shared
subscription and also sets no-local.
2021-07-08 12:31:53 +01:00
Roger A. Light
10045394cf
Easier testing with different valgrind tools.
2021-07-08 11:11:09 +01:00
Roger A. Light
f90e55bd36
Reduce memory allocations when sending packets.
2021-06-30 14:53:34 +01:00
Roger A. Light
e0309acebc
Add mosquitto_sub_matches_acl()
...
This moves the sub matching sub code from the dynsec plugin to the library and broker, and removes all of the malloc calls at the same time.
2021-06-10 22:19:39 +01:00
Roger A. Light
b3045d1adf
Fix pattern matching with invalid prefix.
2021-06-10 22:19:39 +01:00
Roger A. Light
0cd2619401
Add %c and %u support to dynsec publish ACLs.
2021-06-10 22:19:33 +01:00
Roger A. Light
6502d6e5f4
Add mosquitto_topic_matches_sub_with_pattern()
...
And use it in the default security checks.
2021-06-10 15:33:01 +01:00
Roger A. Light
1ab6b28e26
Add missing test file.
2021-06-09 14:22:21 +01:00