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
Roger A. Light
ab77b5c000
Test for Will property usage.
2019-04-30 13:25:32 +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
638ab2f969
Fix unexpected behaviour when reusing a mid after a publish is denied.
2019-04-10 22:33:31 +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
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
43c159b9a5
Support and tests for saving message expiry interval.
2019-03-25 23:17:57 +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
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
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 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
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
c506c8335b
Will delay tests and implementation.
2019-02-27 09:27:34 +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
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
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 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 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 Light
740a128769
Support PUBREC reason code >=0x80 as partial qos2 flow.
2019-01-09 15:00:12 +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 A. Light
6eefb45b44
Broker tests for Receive Maximum.
2019-01-03 23:32:39 +00:00
Roger A. Light
c1baf21185
Add tests for subscription identifiers.
2018-12-23 21:39:15 +00:00
Roger A. Light
ef724e6d33
Add test for first packet not being CONNECT.
2018-12-19 22:17:56 +00:00
Roger A. Light
dab6452a1d
Add test for duplicate CONNECT.
2018-12-19 22:17:39 +00:00
Roger A. Light
fcf4cd0b27
Merge branch 'master' into mqtt5
2018-12-19 14:11:11 +00:00
Roger A. Light
31e6dbbe74
Tests and fixes for subscription options.
2018-12-19 12:54:04 +00:00
Roger A. Light
608b8d33e7
Remove no longer used file.
2018-12-06 10:55:58 +00:00
Roger A. Light
9896e61727
Test and small fix for response-topic and correlation-data props.
2018-12-06 09:29:25 +00:00
Roger A. Light
6ef2c79e9a
Add max_keepalive, for limiting keepalives of MQTT v5 clients.
2018-12-06 08:49:02 +00:00
Roger A. Light
fda66e8311
Add broker test for assigned client id.
2018-12-05 20:26:43 +00:00
Roger A. Light
f01042fb97
Simplify test makefiles.
2018-12-05 13:53:00 +00:00
Roger A. Light
085fdf3593
Add tests for Content Type property sending.
2018-12-05 13:28:26 +00:00
Roger A. Light
d5108956bf
Process session-expiry-interval on CONNECT and DISCONNECT.
...
Add test to check for invalid values.
2018-11-27 12:23:21 +00:00
Roger A. Light
34e7da426c
Use test helper for importing modules.
2018-11-27 11:26:21 +00:00
Roger A. Light
3647dc357a
Test for retain_available=false.
2018-11-22 21:32:49 +00:00
Roger A. Light
d7bcec4878
Don't disconnect clients when a plugin denies SUBSCRIBE.
...
Thanks to Ibrahim Koujar.
Bug: https://github.com/eclipse/mosquitto/issues/1016
2018-11-07 10:06:32 +00:00
Roger A. Light
12fa336140
Handle some incoming PUBLISH properties.
...
PAYLOAD_FORMAT_INDICATOR, CORRELATION_DATA, USER_PROPERTY, CONTENT_TYPE
are now all passed on to subscribing clients from an incoming PUBLISH
only (not from Wills). The other PUBLISH properties are silently
dropped.
2018-10-25 16:35:24 +01:00
Roger A. Light
6996fd450a
Simple pub/sub/unsub tests for v5.
2018-10-25 14:57:41 +01:00
Roger A. Light
52c25fa899
Simple connect test for v5.
2018-10-25 14:43:43 +01:00
Roger A. Light
9df05e93c0
Add test for $test publishing bug.
2018-09-25 14:25:54 +01:00
Roger A. Light
f6f509031a
Add missing test.
2018-08-16 23:23:56 +01:00
Roger A. Light
11395f9852
Fix accessor functions for username and client id when used in plugin auth check.
2018-08-16 17:00:00 +01:00
Roger A. Light
6a75eb377b
Add test for issue in #828 .
...
Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-09 13:01:34 +01:00
Roger A. Light
7c496153a9
Add test for issue 505.
2018-08-09 11:24:45 +01:00
Roger A. Light
50abaedaff
Add new test to parallel test script.
...
Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-08 13:49:12 +01:00
Wolfgang Hottgenroth
50b0c0b1f1
Add test which currently fails.
...
Signed-off-by: Wolfgang Hottgenroth <wolfgang.hottgenroth@icloud.com>
2018-08-08 13:42:50 +01:00
Wolfgang Hottgenroth
9912418f78
Change test scripts according to hints in #507 (replace localhost by 127.0.0.1)
...
Signed-off-by: Wolfgang Hottgenroth <wolfgang.hottgenroth@icloud.com>
2018-08-08 13:42:50 +01:00
Roger A. Light
f40ccd195d
Disable queued bytes test pending a fix.
...
Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-02 00:35:00 +01:00
Roger A. Light
9fd55c0d44
Simplify broker tests with helper function.
2018-08-01 22:51:19 +01:00
Roger A. Light
40e2eab4c4
Disable queued bytes test temporarily.
2018-08-01 21:36:58 +01:00
Roger A. Light
cd271041f5
Add test for issue #874 .
2018-08-01 19:26:12 +01:00
Roger A. Light
5d2f5c25d7
Experimental parallel testing for broker.
2018-04-15 23:38:18 +01:00
Roger A. Light
51aa7b7121
Update tests as a step towards parallelism.
2018-04-13 22:04:40 +01:00
Roger A. Light
8cb3a29fd7
Fix a variety of protocol handling errors.
...
Closes #704
Closes #705
Closes #730
Closes #732
Thanks to Umberto Boscolo.
2018-04-13 12:41:34 +01:00
Roger A. Light
7615ae24ce
Handle CONNECT protocol errors.
...
Don't allow username when no username flag set.
Don't allow password when no password flag set.
Closes #730 . Closes #731 .
Thanks to Umberto Boscolo.
2018-04-12 22:53:49 +01:00
Roger A. Light
729a09310a
Add UTF-8 tests, plus some validation fixes.
...
Closes #693 .
2018-04-12 22:20:10 +01:00
Roger A. Light
24d68b5af8
Remove support for openssl 1.0.0 and 1.0.1.
...
These are no longer supported by openssl.
2018-04-11 17:12:25 +01:00
Roger A. Light
40e6a75709
Use c99 as compiling standard.
...
Closes : #765 .
2018-04-06 00:33:22 +01:00
Roger A. Light
c3314fd593
Add missing tests ( Closes #748 ).
2018-04-05 23:57:03 +01:00
Roger A. Light
dbdd113c86
Merge branch 'develop' of github.com:eclipse/mosquitto into develop
2018-03-26 22:57:32 +01:00
Roger A. Light
a979ed6535
Per listener plugins.
2018-03-26 15:23:00 +01:00
Pierre Fersing
6dd63d3000
Add more test for auth-plugin
...
Tests for:
* MOSQ_ACL_SUBSCRIBE acl check
* MOSQ_ERR_PLUGIN_DEFER with 2 auth-plugin
* Binary compatibility with v2 of auth-plugin
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2018-03-13 17:52:22 +00:00
Roger A. Light
81cb7ab547
Merge branch 'fixes' into develop
2018-02-13 14:16:47 +00:00
Tatsuzo Osawa
024fd400d4
Fix Unsubscribe with No Topic
...
Signed-off-by: Tatsuzo Osawa <tatsuzo.osawa@gmail.com>
2018-01-06 12:11:06 +00:00
Pierre Fersing
7775924bae
[534]Fix upgrade_outgoing_qos for retained message
2018-01-03 18:50:34 +01:00
Pierre Fersing
a47c1a821b
Add test for bridge topic name mapping
...
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2017-12-29 16:59:39 +01:00
Roger A. Light
d2118aeb17
[636] Don't run TLS-PSK tests when disabled at compile time.
...
Thanks to 'TBK'.
Bug: https://github.com/eclipse/mosquitto/issues/636
2017-12-03 21:20:40 +00:00
Tatsuzo Osawa
355bb37ab9
Fix 08-ssl-bridge.conf to dial localhost by ipv4.
...
Signed-off-by: Tatsuzo Osawa <tatsuzo.osawa@gmail.com>
2017-08-09 21:25:32 +01:00
Roger A. Light
a480a9daf9
Fix 08-ssl-bridge.py test when using async dns lookups.
...
Thanks to Tatsuzo Osawa.
Bug: https://github.com/eclipse/mosquitto/issues/507
2017-07-30 11:35:45 +01:00
Pierre Fersing
31639fec65
Add test for persistent subscription ( #501 )
...
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2017-07-20 19:02:55 +01:00
Roger A. Light
e74203de2c
Merge branch 'master' into develop
2017-07-16 22:52:01 +01:00
Roger A. Light
96db6d6644
Fix CONNECT check for reserved=0, as per MQTT v3.1.1 check MQTT-3.1.2-3.
2017-06-27 11:11:43 +01:00
Roger A. Light
41a1b51c31
Print warning, skip test if paho-mqtt not available.
2016-09-10 09:11:26 +01:00
Karl Palsson
c6aac741c2
broker: support byte based queueing
...
Limiting queued message depth purely based on message count is hard to
control for memory constrained devices. The size of messages can vary
wildly, from a few bytes, to a few kilobytes. Support a new
max_queued_bytes option, and drop packets when the first limit is
reached. Option defaults to 0 (disabled) by default.
Support also a max_inflight_bytes variable, with similar behaviour.
Fixes (partof) https://github.com/eclipse/mosquitto/issues/100
This pulls up some helper routines for calculating whether to allow
inflight or queuing, resolving some inconsistences in connection
resumption.
Signed-off-by: Karl Palsson <karlp@etactica.com>
2016-09-09 17:27:39 +00:00
Roger A. Light
883af8af53
Better subtree searching.
2016-07-19 15:05:53 +01:00
Roger A. Light
e4db6a760f
Backwards compatibility for auth plugins.
2016-07-10 23:17:30 +01:00
Roger A. Light
025e56fd4c
New mosquitto_auth_psk_key_get()
2016-07-08 13:52:02 +01:00
Roger A. Light
b3df015ea7
New mosquitto_unpwd_check().
2016-07-08 13:27:14 +01:00
Roger A. Light
63f46a999f
Add username accessor.
2016-07-08 11:50:50 +01:00
Roger A. Light
6a6efb6143
Fix ssl bridge test.
2016-06-22 11:04:49 +01:00
Roger A. Light
2b2279363b
Bridge defaults to mqtt3.1.1 as per documentation.
2016-06-22 00:04:47 +01:00
Roger A. Light
1c3988a397
Merge branch 'master' into develop
2016-06-21 23:33:58 +01:00
Roger A. Light
a187b3f5fa
[57] Handle PUB* with unknown message id gracefully.
...
Allows message flow to complete where e.g. the broker didn't persist a
partially complete flow.
Thanks to jsaak jsaak and Hiram van Paassen.
Bug: https://github.com/eclipse/mosquitto/issues/57
2016-05-19 15:16:19 +01:00
Roger A. Light
4a67fcebc5
More codacy test fixes.
2016-04-09 22:39:41 +01:00
Roger A. Light
07b21f0fe5
Fix minor test problems highlighted by codacy.com.
2016-04-09 22:18:11 +01:00
Roger A. Light
6c8c649ac2
More test fixes.
2016-03-13 08:23:02 +00:00
Roger Light
e2324ff9bb
Merge remote-tracking branch 'remotes/origin/master' into develop
...
Conflicts:
CMakeLists.txt
ChangeLog.txt
THANKS.txt
appveyor.yml
config.mk
installer/mosquitto-cygwin.nsi
installer/mosquitto.nsi
lib/messages_mosq.c
lib/messages_mosq.h
lib/mosquitto.c
lib/mosquitto.h
lib/net_mosq.c
lib/net_mosq.h
lib/send_client_mosq.c
lib/send_mosq.c
lib/socks_mosq.c
lib/will_mosq.c
src/bridge.c
src/conf.c
src/context.c
src/database.c
src/loop.c
src/mosquitto.c
src/mosquitto_broker.h
src/net.c
src/read_handle.c
src/read_handle_server.c
src/subs.c
2015-09-09 22:02:46 +01:00
Roger A. Light
cdbe62c2bb
Outgoing messages with QoS>0 are no longer retried after a timeout.
...
This change in behaviour can be justified by considering when the
timeout may have occurred.
* If a connection is unreliable and has dropped, but without one end
noticing, the messages will be retried on reconnection. Sending
additional PUBLISH or PUBREL would not have changed anything.
* If a client is overloaded/unable to respond/has a slow connection then
sending additional PUBLISH or PUBREL would not help the client catch
up. Once the backlog has cleared the client will respond. If it is not
able to catch up, sending additional duplicates would not help either.
2015-05-24 11:59:53 +01:00
Roger A. Light
756a6cd281
More test fixes.
2015-05-07 00:54:12 -05:00