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
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
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
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
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
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
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
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
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