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
Roger A. Light
969885d967
Crude random client testing
...
This needs a lot of improvement, but is a reasonable start.
2019-04-10 22:51:33 +01:00
Roger A. Light
638ab2f969
Fix unexpected behaviour when reusing a mid after a publish is denied.
2019-04-10 22:33:31 +01:00
Roger A. Light
052c2ffa05
Clean unit test directory.
2019-04-10 08:40:55 +01:00
Roger A. Light
2e7dcee342
Multistep auth, plus reauth, plus tests.
2019-04-04 22:08:55 +01:00
Roger A. Light
c1776a0b39
Add reauth parameter for extended auth.
2019-04-04 15:09:53 +01:00
Roger A. Light
0f6e51d582
Code and tests for returning single stage auth data back to client.
2019-04-04 14:36:03 +01:00
Roger A. Light
494f35bd8d
Add mosquitto_set_username() plugin function.
2019-04-04 12:39:38 +01:00
Roger A. Light
a29a7dadc6
Basic plugin support for single step extended auth.
2019-04-04 11:37:04 +01:00
Roger A. Light
2fcf246f07
Fix potential crashes on memory alloc failure in tests only.
2019-04-03 16:14:15 +01:00
Roger A. Light
fb8a2baaad
Refactor client msgs to use utlist to reduce code complexity.
2019-04-03 14:13:12 +01:00
Roger A. Light
fe854d3a64
Refactor handle__connect() ahead of extended auth changes.
2019-04-03 10:50:19 +01:00
Roger A. Light
636d0f1f74
Fix printing on broker tests.
2019-04-02 14:06:28 +01:00
Roger A. Light
a8dce08618
Always kill broker on failure.
2019-04-02 13:58:44 +01:00
Roger A. Light
950dabcf9b
Test for leaking will on connect denied.
2019-04-02 13:11:20 +01:00
Roger A. Light
e5f58a8ff3
Test for unsupported extended auth.
2019-04-02 10:22:16 +01:00
Roger A. Light
0d7523c309
Use helpers in all tests.
2019-04-02 10:22:16 +01:00
Roger A. Light
7e49d91898
Convert tests to Python 3
2019-03-28 21:32:12 +00:00
Roger A. Light
75c2a39d2c
Send topic alias maximum from the broker.
2019-03-27 17:38:35 +00:00
Roger A. Light
2a5995106a
Fix Coverity Scan defect 140436. Null dereference.
2019-03-26 12:05:23 +00:00
Roger A. Light
43c159b9a5
Support and tests for saving message expiry interval.
2019-03-25 23:17:57 +00:00
Roger A. Light
5f0cb3a44c
Possible fix for errant test.
2019-03-25 07:18:29 +00:00
Roger A. Light
61fe26474e
Test and fix for client message prop persistence.
2019-03-25 06:55:45 +00:00
Roger A. Light
5841da2c36
Tests for persisting message store properties.
2019-03-24 21:38:00 +00:00
Roger A. Light
efb20625fb
Code and tests for persisting client msg properties.
2019-03-23 22:52:08 +00:00
Roger A. Light
48253bc12c
Persist message store publish properties.
2019-03-21 21:43:36 +00:00
Roger A. Light
2f15a7be2b
Add subscription-identifier and options to persistence.
2019-03-21 14:19:48 +00:00
Roger A. Light
214a5f3aab
v5 persistence file format
...
This includes changes to improve read/write performance.
It is not complete, and will have further changes to add properties and anything else required for MQTT v5.
2019-03-21 00:35:56 +00:00
Roger A. Light
e249ca7e91
Separate the persistence actual writing functions.
2019-03-19 16:27:34 +00:00
Roger A. Light
7a53b28080
Start of persistence writing tests.
2019-03-19 16:27:34 +00:00
Roger A. Light
320ddc1303
Merge branch 'master'
...
Conflicts:
CMakeLists.txt
ChangeLog.txt
client/Makefile
config.mk
installer/mosquitto.nsi
installer/mosquitto64.nsi
lib/mosquitto.h
lib/mqtt3_protocol.h
lib/util_mosq.c
set-version.sh
snap/snapcraft.yaml
src/bridge.c
src/database.c
src/handle_connack.c
src/loop.c
src/persist.c
test/broker/Makefile
2019-03-16 10:05:38 +00:00
Roger A. Light
a7d0660749
Separate out persist reading code from restoring code.
2019-03-16 09:42:15 +00:00
Roger A. Light
9411d94842
Start of tests for persistence reading.
2019-03-14 20:57:25 +00:00
Roger A. Light
c944f840a6
Don't advertise shared subs as unavailable any more.
2019-03-14 10:58:15 +00:00
Roger Light
8a8d13cf96
Shared subscription support.
2019-03-14 06:48:33 +00:00
Roger A. Light
2ea97a6cd9
Check for authentication method on CONNECT, and reject.
2019-03-06 16:12:36 +00:00
Roger A. Light
ac91144495
Session expiry interval support - not working for file persistence.
2019-03-06 14:47:16 +00:00
Roger A. Light
105ad17dc6
Tests and support for QoS 1 reporting of no subscribers on publish.
2019-03-04 07:36:35 +00:00
Roger A. Light
7b002abd7e
Sort tests.
2019-03-03 22:07:44 +00:00
Roger A. Light
7448f0cab8
Update merged tests.
2019-03-03 22:04:22 +00:00
Roger A. Light
6a1ac70ee6
Disallow writing to $ topics where appropriate.
2019-03-03 22:00:30 +00:00
Roger A. Light
7207041428
Fix delayed bridge local subs causing missing messages.
...
Closes #1174 . Thanks to beville.
Bug: https://github.com/eclipse/mosquitto/issues/1174
2019-02-28 15:38:15 +00:00
Roger A. Light
36f10c7623
Update tests to not use TLS 1.0.
2019-02-28 12:08:26 +00:00
Roger A. Light
571c643b3d
More C90 fixes for travis.
2019-02-27 23:17:05 +00:00
Roger A. Light
72941db546
Coverity fixes
...
1399064
1399065
1398655
1398656
1398654
1399067
1399066
1399063
1399060
1399059
1399068
1399062
1398657
1398653
1302848
1302847
1399070
2019-02-27 12:38:20 +00:00
Roger A. Light
91a2932e25
Add missing test.
2019-02-27 09:37:02 +00:00
Roger A. Light
b2c0c3d573
Handle DISCONNECT with will.
2019-02-27 09:27:34 +00:00
Roger A. Light
3b6b6d5fa8
Test improvements
...
And some related fixes.
2019-02-27 09:27:34 +00:00
Roger A. Light
c506c8335b
Will delay tests and implementation.
2019-02-27 09:27:34 +00:00
Roger A. Light
5aabc171b0
Merge branch 'mqtt5' into develop
2019-02-26 18:51:31 +00:00
Roger A. Light
c3c8c99f5d
Fix dropping oversize messages for QoS>0.
2019-02-21 08:31:54 +00:00
Roger A. Light
1d17ced449
Broker configurable max_packet_size
...
Plus tests.
2019-02-19 15:57:20 +00:00
Roger A. Light
b9b8e0ff2a
Add client support for outgoing maximum packet size.
2019-02-19 15:14:34 +00:00
Roger A. Light
1877f8a326
Tests and implementation for maximum packet size.
...
This is for broker outgoing connack and publish packets only.
2019-02-18 19:50:51 +00:00
Roger A. Light
8db16591fa
Test and fix for subscription identifiers not being updated.
...
Closes #1169 . Thanks to Christoph Krey.
2019-02-18 12:24:19 +00:00
Roger A. Light
66c1e2ccf0
Add mosquitto_unsubscribe_multiple(), plus tests.
2019-02-17 20:59:16 +00:00
Roger A. Light
c823073be6
v5 unsubscribe test, single topic.
2019-02-17 19:47:53 +00:00
Roger A. Light
1479c57e34
v5 report reason code=no sub when unsubscribing.
2019-02-17 10:14:02 +00:00
Roger A. Light
1ec0cea34a
Fix missing reason_code on v5 UNSUBACK.
...
Closes #1167 . Thanks to Christoph Krey.
2019-02-17 09:30:06 +00:00
Roger A. Light
5e8199323b
Fix clients being disconnected when ACLs are in use.
...
This only affects the case where a client connects using a username, and
the anonymous ACL list is defined but specific user ACLs are not
defined.
Closes #1162 . Thanks to quonb.
2019-02-14 17:46:01 +00:00
Roger A. Light
f9f3fdbfe3
Fix pattern matching test.
2019-02-13 12:05:43 +00:00
Roger A. Light
d5dfd575b3
Fix broker TLS tests.
2019-02-13 11:51:52 +00:00
Roger A. Light
baa4642bd3
Generic ptest implementation.
2019-02-12 19:06:14 +00:00
Roger A. Light
b4a94f5900
Fix some ssl tests.
2019-02-12 18:51:19 +00:00
Roger A. Light
950ad8d16f
Speed up pattern matching test.
2019-02-12 18:29:05 +00:00
Roger A. Light
016ce7dca5
Simplify ptest implementation.
2019-02-12 18:28:54 +00:00
Roger A. Light
e2f269bda8
Test duration printing on ptest.
2019-02-12 17:12:38 +00:00
Roger A. Light
084062c85e
Merge branch 'fixes' into mqtt5
2019-02-12 17:05:42 +00:00
Roger A. Light
bb914b985c
Fix mosquitto_topic_matches_sub()
rc with sub=="topic/#abc".
...
This now returns MOSQ_ERR_INVAL as expected.
2019-02-12 11:34:45 +00:00
Roger A. Light
b6fb2c5824
Fix property write test after function changes.
2019-02-12 11:34:45 +00:00
Roger Light
c40957a7d8
Fix and tests for CVE-2018-12546.
2019-02-08 13:01:07 +00:00
Roger A. Light
d8505624d0
Fix and tests for security bug #541870 .
2019-02-08 13:01:07 +00:00
Roger A. Light
36b5421c59
Fix and tests for security bug #543401 .
2019-02-08 13:01:07 +00:00
Roger Light
5236295159
Handle mismatched handshakes properly.
...
For example, a QoS1 PUBLISH with QoS2 reply.
2019-02-08 13:01:07 +00:00
Roger A. Light
873ffce27a
Send DISCONNECT on invalid topic alias, plus test.
2019-01-25 22:53:31 +00:00
Roger A. Light
219f47b07f
Add test for multiple unsubscribe.
2019-01-25 21:38:33 +00:00
Roger A. Light
6b977fa198
Test and fixes for expiring retained messages.
2019-01-23 10:00:13 +00:00
Roger A. Light
ca3782b38d
Test and fixes for will message expiry interval.
2019-01-22 17:51:57 +00:00
Roger A. Light
6a59e92db8
Set remaining message expiry interval when republishing.
2019-01-22 12:43:52 +00:00
Roger A. Light
0a9885aea1
Rename "resv" in connack to "flags" to better match v5 spec.
2019-01-22 12:12:18 +00:00
Roger A. Light
f9a17e2782
Add alias support to the broker.
2019-01-18 21:30:34 +00:00
Roger A. Light
1cc3e558ee
Test for server keepalive.
2019-01-18 21:14:23 +00:00
Roger Light
8513af4da5
Tests and fixes for shortened DISCONNECT packets.
2019-01-17 18:51:23 +00:00
Roger Light
4b97a90ef9
Tests and fixes for truncated PUB* packets
...
For the cases where reason_code is 0, or properties are missing.
2019-01-17 17:24:31 +00:00
Roger A. Light
326292681a
Add maximum-qos support to broker and client.
...
This comes in the form of:
* Per listener maximum_qos option, which can be in the range 0-2.
* Changes to mosquitto_publish*() to return MOSQ_ERR_QOS_NOT_SUPPORTED
if attempting to publish with a higher QoS than supported.
* Bridges will downgrade messages to match the maximum QoS.
More tests on the broker side (specifically bridges) are required. This
needs bridge support for MQTT 5 first.
2019-01-09 18:03:01 +00:00
Roger Light
930a314caf
Add reason_code to on_publish_v5 callback.
2019-01-09 17:06:43 +00:00
Roger Light
740a128769
Support PUBREC reason code >=0x80 as partial qos2 flow.
2019-01-09 15:00:12 +00:00
Roger Light
6119f83571
Add receive-maximum=1 test for client.
2019-01-09 13:56:15 +00:00
Roger A. Light
aeba5b5d0d
Fix and tests for client side receive-maximum.
2019-01-09 12:21:15 +00:00
Roger Light
9aec82b0e1
Finalise test proplists in the packet gen funcs.
...
This makes it easier to add part of a proplist in the test itself, and have the gen func add some more.
2019-01-08 18:37:38 +00:00
Roger Light
67c1d4453e
Receive maximum support for clients.
2019-01-08 14:24:41 +00:00
Roger A. Light
6eefb45b44
Broker tests for Receive Maximum.
2019-01-03 23:32:39 +00:00
Roger A. Light
00c4fd137a
More UTF-8 tests.
2018-12-29 21:27:24 +00:00
Roger A. Light
c1baf21185
Add tests for subscription identifiers.
2018-12-23 21:39:15 +00:00
Roger A. Light
7c3666d593
Subscription identifier support.
2018-12-20 15:32:43 +00:00