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
Roger A. Light
18b897e5e3
Attempt to fix 11-message-expiry for travis.
2019-05-29 21:31:27 +01:00
Roger A. Light
de695af8c0
Fix zero length client ids being rejected for MQTT v5 clients.
...
This was happening when clean start was set to true.
2019-05-29 16:07:45 +01:00
Roger A. Light
e51e40e95c
Fix incorrect shared subscription topic of '$shared.'
2019-05-29 15:40:17 +01:00
Roger A. Light
e43a278652
Fix test compilation.
2019-05-28 22:12:13 +01:00
Roger A. Light
999c478c88
Fixes for bug #1273
...
* Fix Will message for a persistent client incorrectly being sent when the client reconnects after a clean disconnect.
* Fix Will message for a persistent client not being sent on disconnect.
* Fix mosquitto_pub not using the `-c` option.
Thanks to Yannic Schröder.
Closes #1273 .
2019-05-21 17:08:52 +01:00
Roger A. Light
41cb9bf750
Simplify ping checking in tests.
2019-05-13 21:17:04 +01:00
Roger A. Light
cd3877e628
Fix detection of incoming v3.1/v3.1.1 bridges.
...
Closes #1263 . Thanks to vrst37.
2019-05-08 11:53:51 +01:00
Roger A. Light
f64d3b1e5c
Fix broker originated messages not being sent.
...
This occurred when `check_retain_source` was set to true.
Closes #1245 . Thanks to Christoph Krey.
2019-04-30 13:25:54 +01:00
Roger A. Light
ab77b5c000
Test for Will property usage.
2019-04-30 13:25:32 +01:00
Roger A. Light
3b4a5419c3
Build fixes around CFLAGS et al.
...
- Split CFLAGS and CPPFLAGS, and LDFLAGS and LDADD/LIBADD.
- test/unit now respects CPPFLAGS and LDFLAGS.
Closes #1232 . Thanks to Greg Troxel.
2019-04-26 17:06:54 +01:00
Roger A. Light
d6c7923d16
Add make check
and document testing procedure.
...
Also support test target in cmake.
2019-04-26 16:25:35 +01:00
Roger A. Light
17eae08c5e
Test build fixes.
2019-04-17 21:25:25 +01:00
Roger A. Light
56757df512
Bump version and changelog details.
2019-04-17 17:44:02 +01:00
Roger A. Light
689989cc56
Fix inflight quota inc/dec for both broker and library.
2019-04-17 16:15:41 +01:00
Roger A. Light
8531cb1d79
Separate broker message queues into in/out.
...
This allows and includes better flow control handling for QoS>0.
2019-04-17 09:29:34 +01:00
Roger A. Light
8b532705d9
Fix test datatype.
2019-04-11 11:04:16 +01:00