Commit Graph

408 Commits

Author SHA1 Message Date
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 A. Light
aeba5b5d0d Fix and tests for client side receive-maximum. 2019-01-09 12:21:15 +00:00
Roger Light
84660e1cbe Send maximum limits for QoS>0.
This needs more work on the broker front to simplify the design.
2019-01-08 18:38:47 +00:00
Roger Light
67c1d4453e Receive maximum support for clients. 2019-01-08 14:24:41 +00:00
Roger Light
0546e7bebc Add mosquitto_int_option and mosquitto_void_option
This deprecates mosquitto_opts_set().
2019-01-08 14:21:02 +00:00
Roger A. Light
16e83bfe5d Process receive maximum (as max_inflight_messages). 2018-12-30 21:53:50 +00:00
Roger A. Light
659cd2a3b1 Read reason code for PUBREC/PUBREL. 2018-12-23 21:49:39 +00:00
Roger A. Light
7c3666d593 Subscription identifier support. 2018-12-20 15:32:43 +00:00
Roger A. Light
fcf4cd0b27 Merge branch 'master' into mqtt5 2018-12-19 14:11:11 +00:00
Roger A. Light
94fdc9cb44 Disallow UTF-8 control characters. 2018-12-18 10:15:28 +00:00
Roger A. Light
bc1349c0d7 Tests for user facing mosquitto_string_to_property_info function. 2018-12-14 19:31:49 +00:00
Roger A. Light
db7901884f Retain-as-published support. 2018-12-14 13:36:02 +00:00
Roger A. Light
4933f889ff Fix missing header. 2018-12-14 12:56:49 +00:00
Roger A. Light
a8ca5c83af Bump version. 2018-12-11 11:13:09 +00:00
Roger A. Light
afe011866c Remove unused variables. 2018-12-11 10:55:42 +00:00
Roger A. Light
a00dd29af8 Fix building where TLS-PSK is not available.
Closes #68.
2018-12-11 10:55:31 +00:00
Roger A. Light
f90ba23738 Retain handling support. 2018-12-06 22:25:45 +00:00
Roger A. Light
4fe75b1af0 Make user functions for reading properties easier to use. 2018-12-06 16:59:53 +00:00
Roger A. Light
73c46174f8 Don't call on_disconnect() twice if keepalive tests fail.
Closes #1067. Thanks to xingchen02.

Bug: https://github.com/eclipse/mosquitto/issues/1067
2018-12-06 10:45:57 +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
29846d282d Client library now reads its assigned client id. 2018-12-05 21:58:31 +00:00
Roger A. Light
fda66e8311 Add broker test for assigned client id. 2018-12-05 20:26:43 +00:00
Tamaki Nishino
d07864939a Check SSL_DATA_PENDING in mosquitto_loop_read()
Signed-off-by: Tamaki Nishino <otamachan@gmail.com>
2018-12-05 11:39:50 +00:00
Roger A. Light
5d02f58151 Fix reconnect delay backoff behaviour.
Closes #1027. Thanks to Harm Verhagen.

Bug: https://github.com/eclipse/mosquitto/issues/1027
2018-12-04 17:19:31 +00:00
Roger A. Light
e169f1c7c2 When using ADNS, don't ask for all network protocols when connecting.
This can lead to confusing "Protocol not supported" errors if the
network is down, because UDP sockets are provided.

Thanks to jsaak.

Closes #1062.

Bug: https://github.com/eclipse/mosquitto/issues/1062
2018-12-04 12:39:00 +00:00
Roger A. Light
867fe80e0e Properties are now freed after the callback. 2018-11-29 16:51:48 +00:00
Roger A. Light
1b854e250e Function for copying property lists. 2018-11-28 17:09:17 +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
54db895cb3 Rename clean_session to clean_start for v5. 2018-11-27 10:02:10 +00:00
Roger A. Light
0123ff1efe Rename *_with_properties() -> *_v5(). 2018-11-22 18:55:04 +00:00
Roger Light
f809ecbcbe Add DISCONNECT handling to library. 2018-11-22 18:13:18 +00:00
Roger Light
236e967161 Pass properties when disconnecting clients. 2018-11-22 18:09:31 +00:00
Roger Light
f7dc097f82 Move client disconnect code to own function. 2018-11-22 17:31:17 +00:00
Roger Light
3cb8a52ef3 Add reason code to mosquitto_disconnect_with_properties() 2018-11-22 16:56:17 +00:00
Roger Light
14c2f528cf Add reason code to send__disconnect(). 2018-11-22 16:52:39 +00:00
Roger A. Light
d64ce2e242 Make mosquitto_reason_string public. 2018-11-22 10:17:16 +00:00
Roger A. Light
94631ae68b Don't free properties any more, we use them. 2018-11-20 17:54:44 +00:00
Roger A. Light
59b3fdfdf8 Add client property value reading functions. 2018-11-20 17:54:26 +00:00
Roger A. Light
158189393e Add v5 client callbacks. 2018-11-20 14:36:18 +00:00
Roger A. Light
e81db23ce4 Bump version number. 2018-11-08 12:12:27 +00:00
Roger A. Light
71b8c4d892 Fix TLS connections when using an external event loop.
Affects the use of mosquitto_loop_read() and mosquitto_write().
Closes #990.
2018-11-07 21:08:10 +00:00
Iblis Lin
0368a8c01d add socket headers for FreeBSD
Signed-off-by: Iblis Lin <iblis@hs.ntnu.edu.tw>
2018-11-07 10:28:26 +00:00
Bartosz Taczała
e86b27a2da Adding support for QNX7.0.0
Change-Id: Id01e2880aa5cadc0e93a46b95fe675e1938051fa
Signed-off-by: Bartosz Taczała <bartosz.taczala@mobica.com>
2018-11-06 23:11:09 +00:00
Roger A. Light
f77c1ca91b private struct mqtt5__property -> public mosquitto_property. 2018-11-01 23:50:54 +00:00
Roger A. Light
f9e0fa246a Validate properties coming into client library. 2018-11-01 18:53:06 +00:00
Roger A. Light
8aa936936e Library and client support for topic-alias. 2018-11-01 15:47:21 +00:00