Commit Graph

333 Commits

Author SHA1 Message Date
Roger A. Light
23230b7b18 Add per-listener acl handling. 2018-05-01 22:54:25 +01:00
Roger A. Light
9476d8abcb Document mosquitto_sub timeout. 2018-04-12 00:31:10 +01:00
Roger A. Light
5ff8127f44 Fix will sending for duplicate clients.
When a client with an in-use client-id connects, if the old client has a
will, send the will message. Closes #26.

Thanks to Pierre F.
2018-04-11 23:17:17 +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
8470ca89b9 Add MOSQ_OPT_SSL_CTX and MOSQ_OPT_SSL_CTX_WITH_DEFAULTS options.
Closes #567 and #715.
2018-04-11 16:34:24 +01:00
Roger A. Light
86ced4d98f Add mosquitto_connect_with_flags_callback_set().
This allows a second connect callback to be used that exposes the
MQTT connect flags parameter.

Closes #738, #128.
2018-04-11 14:06:16 +01:00
Roger A. Light
8676cc0359 Replace mentions of deprecated 'c_rehash' with 'openssl rehash'. 2018-04-07 11:26:43 +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
c1bb673b1f Split features/fixes in changelog. 2018-03-25 21:32:46 +01:00
Roger A. Light
600217649b Merge branch 'develop' of github.com:eclipse/mosquitto into develop 2018-03-23 10:36:57 +00:00
Roger A. Light
b2e1592376 Per listener allow_anonymous. 2018-03-15 14:29:07 +00:00
Roger A. Light
611ad222bb Don't keep trying to connect in sub client if CONNACK negative. 2018-03-15 11:13:17 +00:00
Roger A. Light
0fef6bdee8 Maximum connections on Windows increased to 2048.
Thanks to ericGTT.
2018-03-14 10:01:47 +00:00
Roger A. Light
1ebc301100 Update changelog. 2018-03-13 23:26:19 +00:00
Roger A. Light
bc13eab9d6 Add per_listener_settings, which isn't used yet. 2018-03-13 17:52:03 +00:00
Roger A. Light
5b2bf3d1c1 Bump version number, update copyrights. 2018-02-28 11:15:20 +00:00
Roger A. Light
e6cbff0e94 Fix unauthorised clients being able to cause OOM on connect. 2018-02-24 22:09:19 +00:00
Roger A. Light
b76982db13 Fix reloading of config when fds are exhausted. 2018-02-24 21:44:38 +00:00
Roger A. Light
ec63d7bfc7 Add set_tcp_nodelay option to disable Nagle's algorithm.
Bug: https://github.com/eclipse/mosquitto/issues/433
2018-02-14 23:51:16 +00:00
Roger A. Light
81cb7ab547 Merge branch 'fixes' into develop 2018-02-13 14:16:47 +00:00
Roger A. Light
c001e778c1 [693] Fix handling of null bytes in received strings.
Thanks to Umberto Boscolo.

Bug: https://github.com/eclipse/mosquitto/issues/693
2018-02-13 12:19:34 +00:00
Roger A. Light
1b702538f9 Add check and matches functions which take length arguments.
mosquitto_pub_topic_check2()
mosquitto_sub_topic_check2()
mosquitto_topic_matches_sub2()
2018-02-11 21:31:34 +00:00
Roger A. Light
15486f48e7 [636] Correctly handle empty files with "mosquitto_pub -l".
Thanks to Aleksandr Makarov.

Bug: https://github.com/eclipse/mosquitto/issues/676
2018-01-22 17:52:56 +00:00
Roger A. Light
2283585e39 Remove build timestamp information for reproducible builds. 2018-01-12 13:41:09 +00:00
Roger A. Light
58abadd307 Update changelog. 2018-01-12 13:36:20 +00:00
Tatsuzo Osawa
2cd553c883 Add Changelog for #667
Signed-off-by: Tatsuzo Osawa <tatsuzo.osawa@gmail.com>
2018-01-12 13:27:52 +00:00
Roger A. Light
b02c1a41bb [670] Fix topic matching of foo/bar against foo/+/#
Thanks to mrdis.

Bug: https://github.com/eclipse/mosquitto/issues/670
2018-01-09 14:36:19 +00:00
Pierre Fersing
7775924bae [534]Fix upgrade_outgoing_qos for retained message 2018-01-03 18:50:34 +01:00
Pierre Fersing
7df5c40004 Fix $SYS counters when message is sent over WS
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2018-01-02 16:51:56 +01:00
Roger A. Light
b193918ca0 [649] Don't close socket again if nonblock fails.
Thanks to Edwin van den Oetelaar.

Bug: https://github.com/eclipse/mosquitto/issues/649
2017-12-21 21:56:01 +00:00
Roger A. Light
ae666b07ce [654] Initialise "result" in mosquitto_topic_matches_sub.
Thanks to markhermelinggt.

Bug: https://github.com/eclipse/mosquitto/issues/654
2017-12-21 08:36:58 +00:00
Roger A. Light
7f82cdc753 [652] Don't limit config file lines to 1024 chars.
Bug: https://github.com/eclipse/mosquitto/issues/652
2017-12-20 11:00:16 +00: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
Roger A. Light
8795f063d4 Add ability to deny access to SUBSCRIBE messages.
This is as well as the current read/write accesses. Currently for auth
plugins only.
2017-08-11 22:15:37 +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
Roger A. Light
22063013be [490] Fix auth plugin+WS client+MOSQ_ERR_AUTH related crash.
Thanks to "hasunperera".

Bug: https://github.com/eclipse/mosquitto/issues/490
2017-07-27 00:12:32 +01:00
Roger A. Light
7943072b1f Fix use_identity_as_username not working on websockets clients.
Thanks to achest.
2017-07-26 23:27:04 +01:00
Roger A. Light
53c71b2a77 Fix memory leak related to use_identity_as_username. 2017-07-26 23:25:49 +01:00
Roger A. Light
5a267368d7 Merge branch 'master' into develop 2017-07-19 00:15:42 +01:00
Roger A. Light
ba0122f9a9 Don't disable IPv6 support for websockets. 2017-07-18 22:12:51 +01:00
Roger A. Light
46630e7325 Update change log. 2017-07-18 21:53:29 +01:00
Roger A. Light
d8cc5bc4fe Merge branch 'fixes' of github.com:eclipse/mosquitto into fixes 2017-07-17 22:02:30 +01:00
Roger A. Light
ef7a7850ac Add -c to mosquitto_pub. 2017-07-17 20:43:06 +01:00
Roger A. Light
0ba0bc434e Use constant time memcmp for password checks. 2017-07-16 23:20:58 +01:00
Roger A. Light
e74203de2c Merge branch 'master' into develop 2017-07-16 22:52:01 +01:00
Roger A. Light
2a50b2e9bd Fix regression from 1.4.13 where persistence data was not being saved. 2017-07-10 23:43:42 +01:00
Roger A. Light
6b351ce0f1 Bump version number. 2017-06-27 22:14:08 +01:00
Roger A. Light
cd17ca45cd [462] Relax CVE-2017-7650 checks.
Checks for '/' are no longer made, this character is a much lower risk
and is widely used in usernames.

Bug: https://github.com/eclipse/mosquitto/issues/462
2017-06-27 15:10:43 +01:00
Roger A. Light
c3823c0a81 [462] Add auth_plugin_deny_special_chars option.
Auth plugins can be configured to disable the check for +# in
usernames/client ids with the auth_plugin_deny_special_chars option.

Thanks to wiebeytec.

Bug: https://github.com/eclipse/mosquitto/issues/462
2017-06-27 14:59:37 +01:00
Roger A. Light
5246a76f87 [477] Send will messages for connected clients when broker stops.
Thanks to mikeS7.

Bug: https://github.com/eclipse/mosquitto/issues/477
2017-06-27 14:33:02 +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
6e7d02ba16 Fix for CVE-2017-9868 for Windows. 2017-06-26 14:53:33 +01:00
Roger A. Light
09cb1b61c8 [468] Set persistence file to only be readable by owner.
Not implemented on Windows.

Thanks to Moshe Zioni.

Bug: https://github.com/eclipse/mosquitto/issues/468
2017-06-23 14:50:39 +01:00
Roger A. Light
c78678607d [427] Fix large retained messages over websockets.
Thanks to Brian Block.

Bug: https://github.com/eclipse/mosquitto/issues/427
2017-06-19 21:40:19 +01:00
Roger A. Light
326983d35e [417] Fix lazy bridges not timing out for idle_timeout.
Thanks to spinachmedia.

Bug: https://github.com/eclipse/mosquitto/issues/417
2017-06-19 17:15:00 +01:00
Roger A. Light
c07ba2a3da Experimental fix for poor websockets performance. 2017-06-18 12:52:59 +01:00
Roger A. Light
6d63468a28 Don't use / in auto-generated client ids. 2017-05-31 21:45:53 +01:00
Roger A. Light
b61fefcf08 Merge branch 'master' into develop 2017-05-31 21:05:26 +01:00
Roger A. Light
2897f71aba Bump version number. 2017-05-28 21:53:19 +01:00
Roger A. Light
9af3c6958f Fix for CVE-2017-7650. 2017-05-28 21:51:50 +01:00
Roger A. Light
ca8a507607 [446] Don't segfault on duplicate bridge names.
Thanks to Tifaifai Maupiti.

Bug: https://github.com/eclipse/mosquitto/issues/446
2017-05-12 22:29:54 +01:00
Roger A. Light
a421d40d42 Update changelog. 2017-05-05 22:50:21 +01:00
Roger A. Light
b92ffec74e Fix documentation type WITH_DNS_SRV. 2017-05-05 22:45:13 +01:00
Roger A. Light
7c0e8fde81 Update changelog. 2017-05-05 22:30:08 +01:00
Roger A. Light
5115c84501 Update changelog. 2017-05-05 22:12:00 +01:00
Roger A. Light
3c8581a3ea Update changelog. 2017-05-05 22:09:29 +01:00
Roger A. Light
a93a0c9bb1 [424]
Fix mosquitto.db from becoming corrupted due to client messages being
persisted with no stored message.

Thanks to codami.

Bug: https://github.com/eclipse/mosquitto/issues/424
2017-04-13 13:40:12 +01:00
Roger A. Light
91b308a11d Merge branch 'master' into develop 2017-03-06 21:19:53 +00:00
Roger A. Light
bda9893713 Version bump. 2017-02-20 23:48:30 +00:00
Roger A. Light
cac5464f7f Use of --ciphers no longer requires you to also pass --tls-version.
Closes #380.

Bug: https://github.com/eclipse/mosquitto/issues/380
2017-02-20 23:48:30 +00:00
Roger A. Light
1a0240b5d5 [379] Improve mosquitto_passwd error messages.
Thanks to Jaimyn Mayer. Closes #379.

Bug: https://github.com/eclipse/mosquitto/issues/379
2017-02-20 23:48:30 +00:00
Roger A. Light
e7c1507f88 Fix error message when websockets http_dir directory does not exist. 2017-02-20 23:48:30 +00:00
Roger A. Light
b01e32bd8b [354] Close http files even on bad clients.
Thanks to jbwdevries.

Bug: https://github.com/eclipse/mosquitto/issues/354
2017-02-20 23:48:30 +00:00
Roger A. Light
7279e48191 [316] Don't error on zero length persistence files.
Closes #316.

Bug: https://github.com/eclipse/mosquitto/issues/316
2017-02-20 23:48:30 +00:00
Roger A. Light
8e4a80a928 [329] Fix potential negative timeout being passed to pselect.
Thanks to Dollars.

Bug: https://github.com/eclipse/mosquitto/issues/329
2017-02-20 23:48:30 +00:00
Roger A. Light
66683b96b0 Fix potential socket leakage when reconnecting.
Bug: https://github.com/eclipse/mosquitto/issues/304
2017-02-20 23:48:30 +00:00
Roger A. Light
98ea684906 [323] Allow outgoing IPv6 connections to use TLS.
Bug: https://github.com/eclipse/mosquitto/issues/323
2017-02-20 23:48:30 +00:00
Roger A. Light
2c5785376b Update changelog. 2017-02-20 23:48:30 +00:00
Roger A. Light
6b68371dbe [259] Fix crash when "lazy" type bridge attempts to reconnect.
Thanks to hakofugu41.

Bug: https://github.com/eclipse/mosquitto/issues/259
2017-02-20 23:48:30 +00:00
Roger A. Light
9f32d5c0ac Version bump. 2017-02-20 21:57:45 +00:00
Roger A. Light
e4e81a0fb1 [111] Add mosquitto_userdata function to libmosquitto.
This allows retrieving mosq->userdata.

Bug: https://github.com/eclipse/mosquitto/issues/111
2017-02-19 20:45:52 +00:00
Roger A. Light
f72d9b3a34 [17] Sort include_dir files before loading them.
Bug: https://github.com/eclipse/mosquitto/issues/17
2017-02-19 20:29:04 +00:00
Roger A. Light
10c89751fa Use of --ciphers no longer requires you to also pass --tls-version.
Closes #380.

Bug: https://github.com/eclipse/mosquitto/issues/380
2017-02-15 21:01:49 +00:00
Roger A. Light
ebad302119 [379] Improve mosquitto_passwd error messages.
Thanks to Jaimyn Mayer. Closes #379.

Bug: https://github.com/eclipse/mosquitto/issues/379
2017-02-12 21:22:58 +00:00
Roger A. Light
a2a2099fa1 Fix error message when websockets http_dir directory does not exist. 2017-01-20 21:18:18 +00:00
Roger A. Light
8171a975ae [354] Close http files even on bad clients.
Thanks to jbwdevries.

Bug: https://github.com/eclipse/mosquitto/issues/354
2017-01-20 18:25:04 +00:00
Roger A. Light
7f66bf1f65 [316] Don't error on zero length persistence files.
Closes #316.

Bug: https://github.com/eclipse/mosquitto/issues/316
2017-01-06 00:44:17 +00:00
Roger A. Light
2c2ba2cf10 [329] Fix potential negative timeout being passed to pselect.
Thanks to Dollars.

Bug: https://github.com/eclipse/mosquitto/issues/329
2016-12-08 21:06:45 +00:00
Roger A. Light
b55b47efd3 Fix potential socket leakage when reconnecting.
Bug: https://github.com/eclipse/mosquitto/issues/304
2016-12-04 22:01:20 +00:00
Roger A. Light
93464179f1 Update changelog. 2016-12-04 21:51:31 +00:00
Roger A. Light
6f7a0bff4b [323] Allow outgoing IPv6 connections to use TLS.
Bug: https://github.com/eclipse/mosquitto/issues/323
2016-11-30 11:31:30 +00:00
Roger A. Light
b3a1604646 Update changelog. 2016-09-29 21:08:02 +01:00
Roger A. Light
762126064c [259] Fix crash when "lazy" type bridge attempts to reconnect.
Thanks to hakofugu41.

Bug: https://github.com/eclipse/mosquitto/issues/259
2016-09-20 23:26:14 +01:00
Karl Palsson
2dec0ed895 broker: fix queue_qos0_messages behaviour
Prior, offline qos0 clients had an unlimited queue depth when
queue_qos0_messages was true.

Signed-off-by: Karl Palsson <karlp@etactica.com>
2016-09-09 17:27:46 +00: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
Karl Palsson
30c96f4a1c broker: track stored messages in bytes as well as count
Instead of simply tracking the count of stored messages, keep track of
the total byte size of stored messages.  While only informational at
this point, it provides the basis for byte based limits in the future.

Signed-off-by: Karl Palsson <karlp@etactica.com>
2016-08-17 10:35:26 +00:00
Roger A. Light
87b6a746fd Bump version number. 2016-08-16 22:52:22 +01:00
Roger A. Light
ba2de88790 Display error if broker unable to open the log file.
Thanks to Matthew Treinish.

Bug: https://github.com/eclipse/mosquitto/issues/234
2016-08-16 22:31:36 +01:00
Roger A. Light
840453c14f Remove -x from mosquitto_sub - this is provided by -F now. 2016-08-10 12:24:43 +01:00
Roger A. Light
8140ce1f24 Add -F to mosquitto_sub to allow users to choose the output format. 2016-08-10 12:24:43 +01:00