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
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
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
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
baa4642bd3
Generic ptest implementation.
2019-02-12 19:06:14 +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
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 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
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
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
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
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
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
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
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
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
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
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
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
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
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
4c72b2dd45
[457373] Fix tests when compiled with WITH_TLS=no.
...
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=457373
2015-01-16 21:39:42 +00:00
Roger A. Light
405b7f0aab
Don't free here, leads to potential double free.
2014-07-03 17:37:31 +01:00
Roger A. Light
2e221538ce
Test no longer needed.
2014-06-03 02:11:45 +01:00
Roger A. Light
87579e0cac
Remove STRICT_PROTOCOL #ifdefs.
2014-05-31 21:53:35 +01:00
Roger Light
0364bd1be7
Initial contribution.
2014-05-07 23:27:00 +01:00