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
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
f2630f9c58
Attempt to fix travis on osx and unreliable test.
2020-11-23 22:19:39 +00:00
Roger A. Light
255ae24a6d
Fix basic dynsec tests.
2020-11-05 23:48:11 +00:00
Roger A. Light
042c2733f2
Test and fix for message expiry not increasing send quota.
2020-11-02 23:09:18 +00:00
Roger A. Light
a1ad4cfcc4
Dynsec: Rename ACL types for clarity.
...
publishBrokerToClient -> publishClientReceive
publishClientToBroker -> publishClientSend
2020-10-28 11:03:44 +00:00
Roger A. Light
e3ed8879f2
Fix test compilation.
2020-10-27 15:35:48 +00:00
Roger A. Light
fdff255916
New dynamic security plugin.
2020-10-27 00:54:55 +00:00
Roger A. Light
4ae8971ce1
The broker now sends the receive-maximum property for MQTT v5 CONNACKs.
2020-10-21 13:19:07 +01:00
Roger A. Light
f18f1a08a9
Merge branch 'feature/add-deny-option-for-acl' of git://github.com/BrandtHill/mosquitto into BrandtHill-feature/add-deny-option-for-acl
2020-10-14 11:30:16 +01:00
Roger A. Light
a65f946e83
Move headers to own directory.
2020-10-07 22:06:01 +01:00
Roger A. Light
c90e49af1b
Merge remote-tracking branch 'origin/fixes' into develop
2020-09-24 17:03:14 +01:00
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.
2020-09-22 14:49:28 +01:00
Roger A. Light
97bd527df0
Breaking: allow_anonymous defaults to false.
2020-09-17 11:29:32 +01:00
Roger A. Light
4372a2b925
Default test timeout of 60s by default is too long.
2020-09-16 14:45:22 +01:00
Roger A. Light
5daa5ee162
Add support for $CONTROL/ topics in plugins.
2020-09-10 15:32:47 +01:00
Roger A. Light
748e5f69c8
Fix acl-access-variants test.
2020-09-07 16:11:18 +01:00
Brandt Hill
16eecfcbc5
Add 'deny' as an option for topics/patterns in acl file to allow certain topics to be explicitly denied when they might otherwise be allowed through a more open read/write/readwrite option. Example: 'topic readwrite test/#' and 'topic deny test/hello/#' may be added so that a user can read/write to all test/# topics, except for test/hello/#.
...
Signed-off-by: Brandt Hill <brandtlarsonhill@gmail.com>
Change variable name for clarity. Remember to initialize bool (I'm bad at C).
Signed-off-by: Brandt Hill <brandtlarsonhill@gmail.com>
Add documentation to config man page
Signed-off-by: Brandt Hill <brandtlarsonhill@gmail.com>
Add test case for deny option
Signed-off-by: Brandt Hill <brandtlarsonhill@gmail.com>
Add deny acls to top of the list to preserve early exit
Signed-off-by: Brandt Hill <brandtlarsonhill@gmail.com>
change comments
Signed-off-by: Brandt Hill <brandtlarsonhill@gmail.com>
2020-08-17 00:13:10 -05:00
Roger Light
58aa41c813
Optimise use of db__message_write()
...
New messages are now queued for clients when old ones are sent, rather than on every iteration of the main loop. This produces good performance improvements.
2020-08-12 15:29:08 +01:00
Roger A. Light
69f84bbca9
Simplify "expect_packet" tests.
2020-08-12 15:18:18 +01:00
Roger A. Light
2dc8d2a19a
Allow plugins to send messages to specific clients.
2020-08-12 15:18:17 +01:00
Roger A. Light
84e4ba2c1e
Send DISCONNECT with malformed-packet reason code on bad PUBLISHes.
2020-08-02 23:12:47 +01:00
Roger A. Light
b1e9377a20
Send DISCONNECT with malformed-packet reason code on bad SUBSCRIBEs.
2020-08-02 15:10:12 +01:00
Roger A. Light
8416b007ec
Send DISCONNECT with malformed-packet reason code on bad UNSUBSCRIBEs.
2020-08-02 14:22:40 +01:00
Roger A. Light
0edb3e49e7
Remove debug mode
2020-07-16 11:23:25 +01:00
Roger A. Light
fdaeaee6dd
Fix test.
2020-04-07 16:10:02 +01:00
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>
2020-03-20 12:35:06 +00:00
Karl Palsson
3d45c3186c
test/broker: align identical code
...
06-bridge-b2br-disconnect-qos1 and
06-bridge-br2b-disconnect-qos1 have ~identical header code.
unify the identical bits to make it easier to visually see this.
Signed-off-by: Karl Palsson <karlp@etactica.com>
2020-03-20 10:47:11 +00:00
Roger A. Light
d96543c0b8
Merge branch 'fixes' into develop
2020-03-03 12:54:57 +00:00
Roger A. Light
c2ec6f002e
Fix test to match fixed protocol check.
2020-02-27 23:12:28 +00:00
Roger A. Light
c8789180f3
Fix session expiry with very large expiry intervals.
...
Closes #1525 . Thanks to Christoph Krey.
2019-12-12 09:40:37 +00:00
Roger A. Light
3f0c202aa5
Reduce heap allocation churn when tokenising topics.
2019-12-11 13:23:59 +00:00
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
2019-12-03 13:59:05 +00:00