Commit Graph

472 Commits (f4be3da2b758fbe580a3e5f2b0df24ab4122d130)

Author SHA1 Message Date
Roger A. Light e09390eda6 Split db__message_insert into incoming/outgoing. 4 years ago
Roger A. Light 9ad8d943be Stored messages now always stored in a hash table. 4 years ago
Roger A. Light 786d468570 MID reuse test. 4 years ago
Roger A. Light 34b41a3b01 Dynsec: Add ability to deny wildcard subscriptions for a role 4 years ago
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.
4 years ago
Roger Light 3ebc4f851c Fix test. 4 years ago
Roger A. Light a1288721ce Fix tests 4 years ago
Roger A. Light 8ac11929cc Merge branch 'master' into develop 4 years ago
Roger A. Light b9b065d2cc Compiler pedantry, and more checks in tests. 4 years ago
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.
4 years ago
Roger Light 5cae4d1d81 Fix broker sending duplicate CONNACK on failed MQTT v5 reauthentication.
Closes #2339. Thanks to hvxl.
4 years ago
Roger Light 51eda2bf79 Add more efficient keepalive check. 4 years ago
Roger A. Light 3b471c8669 Fix test 4 years ago
Roger A. Light a1a190b482 Pointless whitespace tidy. 4 years ago
Roger A. Light c28110d079 Fix test 4 years ago
Roger A. Light 56e5c52abe Fix test. 4 years ago
Roger A. Light e01542b6cf Fix test. 4 years ago
Roger A. Light 0f2f77c945 Improve idle / mux timeout performance. 4 years ago
Roger Light 07f793a108 Fix protocol checks - bridge and CONNACK responses. 4 years ago
Roger A. Light f7a57add81 Add NanoMQ crash test case. 4 years ago
Roger A. Light 7b58eee414 Fix problem parsing config files with Windows line endings.
Closes #2297. Thanks to all the people who commented there!
4 years ago
Roger A. Light 330bf6efdc Various fixes around inflight quota management.
Closes #2306. Thanks to canique.
4 years ago
Roger A. Light 7551a29985 Fix LWT messages not being delivered if `per_listener_settings` was set to true
Closes #2314. Thanks to Marc Hamel.
4 years ago
Roger A. Light 4f24ffef2f Add `disable_client_cert_date_checks` option. 4 years ago
Roger A. Light ba936a869d Add `accept_protocol_versions` option. 4 years ago
Roger A. Light f552ec48b1 Add global_max_connections option. 4 years ago
Roger A. Light 02685d49b6 Add `global_max_clients` option.
This allows limiting client sessions globally on the broker.
4 years ago
Roger A. Light 1c6d74f208 Fix test 4 years ago
Roger A. Light aa29b45e70 Merge branch 'master' into develop 4 years ago
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 8cd2411ab6 Tests should typically use `listener` instead of `port`. 4 years ago
Roger A. Light 49065f03a8 Merge remote-tracking branch 'origin/fixes' into develop 4 years ago
Roger A. Light 192a092d50 Add support for pattern ACLs to dynsec un/subscription ACLs. 4 years ago
Roger A. Light a02aad0a9c Add mosquitto_sub_matches_acl_with_pattern. 4 years ago
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.
4 years ago
Roger A. Light 10045394cf Easier testing with different valgrind tools. 4 years ago
Roger A. Light f90e55bd36 Reduce memory allocations when sending packets. 4 years ago
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.
4 years ago
Roger A. Light b3045d1adf Fix pattern matching with invalid prefix. 4 years ago
Roger A. Light 0cd2619401 Add %c and %u support to dynsec publish ACLs. 4 years ago
Roger A. Light 6502d6e5f4 Add mosquitto_topic_matches_sub_with_pattern()
And use it in the default security checks.
4 years ago
Roger A. Light 1ab6b28e26 Add missing test file. 4 years ago