Roger A. Light
4f61f6c161
Fix conversion errors.
2020-10-17 01:23:08 +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
c6b94f6266
Fix running of basic client tests.
2020-10-14 10:17:49 +01:00
Roger A. Light
79028bcb14
Fix duplicate frees in tests.
2020-10-14 10:16:47 +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
54b9571516
Enable TLS with certfile+keyfile, not capath/cafile.
2020-09-23 23:31:00 +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
1b269270bc
Sort failed tests when reporting.
2020-09-16 14:45:28 +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
f87ef68fae
Detect closed socket in tests.
2020-09-16 14:32:23 +01:00
Roger A. Light
cec24116d8
Add very basic client tests.
2020-09-15 13:25:44 +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
ba2c00137d
Fix client test leaks.
2020-08-12 15:18:17 +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
c94e111d73
expect_packet now raises an exception
...
This should allow tests to be simpler - no more nested ifs.
2020-08-12 15:18:17 +01:00
david-beinder
c11d20f82c
Database v6 tests
...
keep v5 client read test to test for backwards compatability
adds username="usrname" and listener_port=1883 for v6 tests
Signed-off-by: david-beinder <david.beinder@mce.li>
2020-08-07 08:56:52 +02: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
b5be4fb4af
Fix test
2020-07-16 09:36:42 +01:00
Roger A. Light
6deb417804
Simplify db__message_store() interface.
2020-07-10 16:09:33 +01:00
Roger A. Light
e3e8dc4ea4
Allow send__pub{ack,rec,rel,comp} to send properties.
2020-07-10 12:29:53 +01:00
Roger A. Light
c343812c42
Improve client test for unexpected pubrel.
2020-05-05 23:25:42 +01:00
Roger A. Light
ee7d1981ff
Merge branch 'rfc-bridge-local-clean' of git://github.com/etactica/mosquitto into etactica-rfc-bridge-local-clean
2020-05-05 14:33:02 +01:00
Roger A. Light
bb0e5bb7d3
Add missing header.
2020-05-05 14:20:56 +01:00
Roger A. Light
b2e72a7e7c
Fix memory leaks only in tests.
2020-05-05 14:19:04 +01:00
Roger A. Light
cef9d891ae
Tidy up main().
2020-04-08 11:34:31 +01:00
Roger A. Light
fdaeaee6dd
Fix test.
2020-04-07 16:10:02 +01:00
Roger A. Light
904284595f
Add missing test file.
2020-03-30 20:47:30 +01:00
Roger A. Light
21f203b91a
Don't treact unexpected PUBACK/COMP as fatal.
2020-03-28 23:33:01 +00: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
1a93bab80a
mosq_test: add do_receive_send counterpart
...
Like do_send_receive() but aimed for mocking the other side.
Signed-off-by: Karl Palsson <karlp@etactica.com>
2020-03-20 10:47:17 +00:00
Karl Palsson
e700c1c523
mosq_test: print stderr from failure to start broker
...
Doesn't matter when the tests are running, but useful when you're
writing tests.
Signed-off-by: Karl Palsson <karlp@etactica.com>
2020-03-20 10:47:17 +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
a16d7e0661
iDon't treat an unexpected PUBREL as fatal.
...
Issue #1629 . Thanks to radcrabs.
2020-03-19 15:38:29 +00:00
Michael
4d658bd569
Fix compile error/warning
...
Signed-off-by: Michael Liu <michael.liu.point@gmail.com>
2020-03-12 12:13:26 +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
3ff0d04910
Update test key length to 2048 to avoid new openssl rejections.
2020-02-25 14:54:25 +00:00
Roger A. Light
8d5fd7d1e2
Fix mosquitto_topic_matches_sub()
behaviour with wildcards in topic.
...
It was not returning MOSQ_ERR_INVAL if the topic contains a wildcard.
Closes #1589 . Thanks to mdelete.
2020-02-07 22:55:50 +00:00
Gianfranco Costamagna
7a5c2d4da5
Bugfix: include "deps" directory only if BUNDLED_DEPS has been provided and set to true
...
Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
2020-02-06 15:20:29 +00:00
Roger A. Light
27b4518d7e
Improve password file parsing in the broker and mosqitto_passwd.
...
Closes #1584 . Thanks to panava.
2020-02-04 16:38:51 +00:00
Roger A. Light
70fd600c3a
Fix trailing whitespace not being trimmed on acl users.
...
Closes #1539 . Thanks to CliveJL and LeonPoon.
2020-01-30 19:52:46 +00:00
Roger A. Light
17db97584e
Fix client keepalive test using too low keepalive.
2020-01-30 15:06:15 +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
9ee6e2725c
Start of tests for adding subscriptions.
2019-12-04 11:02:52 +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
Roger Light
d92360dd8e
Split sub and retain trees.
2019-11-22 14:07:15 +00:00
Roger A. Light
16dc5456bd
Enable MQTT v5 in outgoing retain test.
2019-11-07 13:25:46 +00:00
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.
2019-11-07 11:59:29 +00:00
Roger A. Light
28c11f4cce
Fix tests where broker suddenly disconnects client
...
This seems to be required just on more modern Python versions.
2019-11-06 14:07:07 +00:00
Roger A. Light
aceabcdef2
Tidy up async test outputs.
2019-11-06 13:37:35 +00:00
Jerome Malinge
fba1f6bc0a
Fix test on invalid null will topic value in connect packet
...
Signed-off-by: Jerome Malinge <gromgromm@yahoo.com>
2019-11-04 15:58:00 +01:00
Jerome Malinge
11dc077d15
Fix test on invalid reserved bit value in connect packet
...
Signed-off-by: Jerome Malinge <gromgromm@yahoo.com>
2019-11-04 15:57:58 +01:00
Jerome Malinge
ce0b0d23d6
Add send of pubcomp in 02-subpub-qos2 script
...
To keep the broker session working while launching several tests on
the same broker, the last packet of this transaction must be sent.
Signed-off-by: Jerome Malinge <gromgromm@yahoo.com>
2019-11-04 15:57:55 +01:00
Jerome Malinge
d76e5fd199
Fix way of sending packets in compliance tests
...
According to the documentation of python 3 socket::send method
(https://docs.python.org/3/library/socket.html#socket.socket.send ),
the call to send must be retry until all data is sent while sending
packet with a "large" amount of data.
Signed-off-by: Jerome Malinge <gromgromm@yahoo.com>
2019-11-04 15:57:38 +01:00
Roger A. Light
b2a9daf1db
02 broker subpub tests with v5 support
2019-10-13 18:08:44 +01:00
Roger A. Light
b966455f21
02 broker subscribe tests with v5 support
2019-10-13 13:04:44 +01:00
Roger A. Light
3261c30d08
02 broker unsubscribe tests with v5 support
2019-10-13 12:58:40 +01:00
Roger A. Light
e0d0af54a5
01 broker tests with v5 support
2019-10-10 17:15:19 +01:00
Roger A. Light
7b73cd2bf7
04 broker tests with v5 support
2019-10-10 15:35:43 +01:00
Roger A. Light
b9360bb147
Fixes for 06 broker v5 tests
2019-10-10 14:51:32 +01:00
Roger A. Light
cae7ddeec1
10 broker tests with v5 support
2019-10-10 14:20:00 +01:00
Roger A. Light
feb79d5880
11 broker tests with v5 support
2019-10-10 14:20:00 +01:00
Roger A. Light
c453d2cb3e
07 broker tests with v5 support
2019-10-10 14:20:00 +01:00
Roger A. Light
48f1ca8538
05 broker tests with v5 support
2019-10-10 14:20:00 +01:00
Roger A. Light
16f57cc834
Simpler v5 session expiry in tests.
2019-10-10 14:20:00 +01:00
Roger A. Light
98d600099b
03 broker tests with v5 support
2019-10-10 14:20:00 +01:00
Roger A. Light
7ea5ba845b
Add "ready" message to will takeover test.
2019-10-10 14:20:00 +01:00
Roger A. Light
09e95fff5a
Add test for session takeover and wills.
2019-10-10 14:20:00 +01:00
Roger A. Light
87bd08b0e0
Add MQTT v5 support to bridge tests.
2019-10-09 13:31:23 +01:00
Roger A. Light
fad184c9c2
Bridge remapping refactoring and tests.
2019-10-03 16:46:15 +01:00
Roger A. Light
8463c33720
Refactor property remaining length calculation.
2019-10-03 10:36:24 +01:00
Roger A. Light
c471dfb201
Fix sub topics being limited to 200 chars instead of 200 levels
...
Closes #1441 . Thanks to Christoph Krey.
2019-10-02 13:00:01 +01:00
Roger A. Light
093c8f90f5
Fix publish props not being passed to v5 msg callback for QoS 2 msgs.
...
Closes #1432 . Thanks to Magnus Galåen.
2019-09-26 16:47:34 +01:00
Roger A. Light
4db1e80410
More allow_zero_length_clientid fixes.
...
Closes #1429 . Thanks to Dustin Sallings.
2019-09-26 11:53:58 +01:00
Roger A. Light
539c1b9bcb
Tests for zero length client id, plus fix for one case where it was allowed
2019-09-26 11:14:52 +01:00
Roger A. Light
8dcb993274
Some tests weren't using python3.
2019-09-24 22:51:55 +01:00
Roger A. Light
1a8c44b84f
Fix regression on use of mosquitto_connect_async()
not working.
...
Closes #1415 and #1422 . Thanks to Karl Palsson, Till Zimmermann and Liam Fry.
2019-09-24 20:15:04 +01:00
Roger A. Light
3e094991c4
Hopeful fix for travis.
2019-09-17 12:50:48 +01:00
Roger A. Light
e479a80cbe
Extra test for issue 1401.
2019-09-17 12:50:37 +01:00
Roger A. Light
1066750931
Restrict topic hierarchy to 200 levels to prevent possible stack overflow.
...
Closes #1412 . Thanks to Ryan Shaw.
2019-09-15 22:57:36 +01:00
Roger A. Light
9bbf5bb65f
Fix 11-message-expiry test when running under valgrind
2019-09-11 08:51:51 +01:00
Roger A. Light
367fc0cffc
Updated SSL test files, plus a new empty crl file.
2019-09-10 13:34:14 +01:00
Roger A. Light
3c35c6cdd9
Fix Will not being sent if will delay greater than session expiry.
...
Closes #1401 . Thanks to Will Lisac.
2019-09-05 12:46:46 +01:00
Roger A. Light
f6b22f8248
Fix clients using use_identity_as_*
being disconnected on SIGHUP.
...
Closes #1402 . Thanks to twegener-embertec.
2019-09-05 11:37:43 +01:00
Roger A. Light
be07c842d1
Don't error trying to cleanup missing persistence file.
2019-08-07 11:32:26 +01:00
Roger A. Light
50695f8103
Fix v5 DISCONNECT packets with remaining length == 2.
...
These were being treated as a protocol error.
Closes #1367 . Thanks to Frank Pagliughi.
2019-08-05 21:13:23 +01:00
Roger A. Light
efc8ed39af
Fix incoming msgs not being removed when there are no subs
...
Fix incoming messages not being removed for a client if the topic being
published to does not have any subscribers.
Closes #1322 . Thanks to Yannic Schröder.
2019-07-31 18:52:51 +01:00
Roger A. Light
696a9b8019
Fix incomgin QoS 2 with max_inflight_messages set to 1.
...
Closes #1332 . Thanks to xmas79.
2019-07-30 23:25:12 +01:00
Roger A. Light
552059e17d
Pedantic test fixes from failgrind.
2019-07-30 15:01:12 +01:00
Roger A. Light
f14a47c015
Further attempt
2019-05-29 22:02:40 +01:00