Roger A. Light
c06599fab2
Fix some retained topic memory not being cleared immediately after used.
3 years ago
Roger A. Light
351911bd8f
Fix incorrect return code being sent in DISCONNECT.
...
This is for when a client session is taken over.
Closes #2607 . Thanks to der-b
3 years ago
Roger A. Light
41b1b0c6d1
Merge branch 'XavierDooms-fix-support-tick-with-per-listener-settings' into fixes
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 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
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
93b2232bb9
Apply max_keepalive to MQTT v3.1.1 and v3.1 clients.
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
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
3c58ac9308
Fix `message_size_limit` not applying to the Will payload.
...
Closes #2022 . Thanks to Umberto Morelli.
5 years ago
Roger A. Light
6bd45f0092
dynsec: Better test coverage
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
6cffd4264e
dynsec: ACL tests.
5 years ago
Roger A. Light
047c09bd32
dynsec: Anon group tests
5 years ago
Roger A. Light
15c6e58fa0
Only run dynsec tests if CJSON and TLS are available.
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
255ae24a6d
Fix basic dynsec tests.
5 years ago
Roger A. Light
042c2733f2
Test and fix for message expiry not increasing send quota.
5 years ago
Roger A. Light
fdff255916
New dynamic security plugin.
5 years ago
Roger A. Light
cf1c156765
New plugin interface
...
This is not specific to authentication, and allows plugins greater flexibility in what events they are interested in. It also adds message handling, and $CONTROL handling.
5 years ago
Roger A. Light
97bd527df0
Breaking: allow_anonymous defaults to false.
5 years ago
Roger A. Light
5daa5ee162
Add support for $CONTROL/ topics in plugins.
5 years ago
Roger A. Light
2dc8d2a19a
Allow plugins to send messages to specific clients.
5 years ago
Roger A. Light
84e4ba2c1e
Send DISCONNECT with malformed-packet reason code on bad PUBLISHes.
5 years ago
Roger A. Light
b1e9377a20
Send DISCONNECT with malformed-packet reason code on bad SUBSCRIBEs.
5 years ago
Roger A. Light
8416b007ec
Send DISCONNECT with malformed-packet reason code on bad UNSUBSCRIBEs.
5 years ago
Karl Palsson
07d73c7e3a
bridge: support bridge local clean session
...
This adds the ability to separating bridge clean session settings between
the local and remote endpoints. Some broker implmentations refuse to allow
non-clean sessions, as they don't support storing messages to be sent to
the connecting broker. However, this doesn't mean that the local
broker can't be queueing messages to send _out_ to the remote broker.
This PR adds a new bridge connection setting, local_cleansession, that
allows controlling this split. Naming is chosen to be local_ in keeping
with the other local_ settings for bridges.
A test for the six cases of queued/not queued messages in both
directions is added, but v5 testing is currently disabled. The changes
to support the split are ~independent of protocol version.
Signed-off-by: Karl Palsson <karlp@etactica.com>
6 years ago
Roger A. Light
c0443637e8
Merge branch 'master'
...
Conflicts:
ChangeLog.txt
config.mk
src/context.c
src/loop.c
src/subs.c
test/broker/01-connect-bad-packet.py
test/broker/02-subpub-qos1-bad-pubcomp.py
test/broker/02-subpub-qos1-bad-pubrec.py
test/broker/02-subpub-qos2-bad-puback-1.py
test/broker/02-subpub-qos2-bad-puback-2.py
test/broker/02-subpub-qos2-bad-pubcomp.py
test/broker/02-subpub-qos2.py
test/broker/07-will-null-topic.py
6 years ago
Roger A. Light
2af260ba58
Add `bridge_outgoing_retain` option
...
This allows outgoing messages from a bridge to have the retain bit
completely disabled, which is useful when bridging to e.g. Amazon or
Google.
6 years ago
Roger A. Light
b2a9daf1db
02 broker subpub tests with v5 support
6 years ago
Roger A. Light
3261c30d08
02 broker unsubscribe tests with v5 support
6 years ago
Roger A. Light
e0d0af54a5
01 broker tests with v5 support
6 years ago
Roger A. Light
09e95fff5a
Add test for session takeover and wills.
6 years ago
Roger A. Light
c471dfb201
Fix sub topics being limited to 200 chars instead of 200 levels
...
Closes #1441 . Thanks to Christoph Krey.
6 years ago
Roger A. Light
539c1b9bcb
Tests for zero length client id, plus fix for one case where it was allowed
6 years ago
Roger A. Light
e479a80cbe
Extra test for issue 1401.
6 years ago
Roger A. Light
1066750931
Restrict topic hierarchy to 200 levels to prevent possible stack overflow.
...
Closes #1412 . Thanks to Ryan Shaw.
6 years ago
Roger A. Light
3c35c6cdd9
Fix Will not being sent if will delay greater than session expiry.
...
Closes #1401 . Thanks to Will Lisac.
6 years ago
Roger A. Light
f6b22f8248
Fix clients using `use_identity_as_*` being disconnected on SIGHUP.
...
Closes #1402 . Thanks to twegener-embertec.
6 years ago