Commit Graph

298 Commits

Author SHA1 Message Date
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
Roger A. Light
79cc06b180 [237] Fix memory leak when verifying a server certificate.
Only for certificates with a subjectAltName. Closes #237.

Thanks to MrSaturday.

Bug: https://github.com/eclipse/mosquitto/issues/237
2016-08-08 21:49:32 +01:00
Roger A. Light
bcfa29cbd1 [222] Fix will retained flag handling on Windows.
Thanks to codami.

Bug: https://github.com/eclipse/mosquitto/issues/222
2016-07-22 10:37:30 +01:00
Roger A. Light
f06a947df2 Update changelog. 2016-07-12 12:37:12 +01:00
Roger A. Light
8378fe44cf Update copyrights. 2016-07-08 09:42:24 +01:00
Roger A. Light
b6385d347a [198] Update Changelog.
Closes #198.

Bug: https://github.com/eclipse/mosquitto/pull/198
2016-06-29 17:14:33 +01:00
Roger A. Light
84df2bb923 [189] Call fsync after persisting data.
To ensure it is correctly written. Closes #189.

Thanks to thanhvtruong.

Bug: https://github.com/eclipse/mosquitto/issues/189
2016-06-26 22:48:16 +01:00
Roger A. Light
fff741613e Support for openssl 1.1.0. 2016-06-26 22:00:43 +01:00
Roger A. Light
1c3988a397 Merge branch 'master' into develop 2016-06-21 23:33:58 +01:00
Roger A. Light
2c54104ce3 [191] Fix some $SYS messages being incorrectly persisted.
Closes #191.

Bug: https://github.com/eclipse/mosquitto/issues/191
2016-06-21 17:17:23 +01:00
Roger A. Light
63e3926987 Perform UTF-8 validation on will, sub, unsub topics in the broker. 2016-06-21 17:05:33 +01:00
Roger A. Light
a8a5daf06b Check client topic inputs for valid UTF-8. 2016-06-20 22:56:01 +01:00
Roger A. Light
2286caaca2 Merge branch 'enhance-bare-makefile-static-library-build' of https://github.com/Lance0312/mosquitto into Lance0312-enhance-bare-makefile-static-library-build 2016-06-15 20:59:34 +01:00
Roger A. Light
d90cd585dd Add WITH_STRIP build option. 2016-06-13 21:36:41 +01:00
Roger A. Light
23113bb5f5 [7] Don't disconnect client on HUP before reading the pending data.
Closes #7.

Bug: https://github.com/eclipse/mosquitto/issues/7
2016-06-13 17:13:44 +01:00
Roger A. Light
1cd40925b8 [184] Don't attempt to install docs when WITH_DOCS=no.
Thanks to minghuadev.

Bug: https://github.com/eclipse/mosquitto/issues/184
2016-06-06 16:11:42 +01:00
Roger A. Light
5d96c3d7ba [186] Fix TLS operation with websockets listeners and libwebsockts 2.x.
Bug: https://github.com/eclipse/mosquitto/issues/186
2016-06-06 15:53:05 +01:00
Roger A. Light
2d0af7309f Bump version number. 2016-06-02 21:32:21 +01:00
Roger A. Light
30686f2dc9 Fix mosquitto_topic_matches_sub(). 2016-06-02 20:53:09 +01:00
Roger A. Light
ea2baa876c Fix rare possible crash when writing persistence file. 2016-05-31 22:17:27 +01:00
Roger A. Light
c035913b2a [180] Fix #includes in lib/send_mosq.c
Ensures that LWS_LIBRARY_VERSION_NUMBER is always present in all source
files when it is defined.

Thanks to dennisip86.

Bug: https://github.com/eclipse/mosquitto/issues/180
2016-05-31 12:07:10 +01:00
Roger A. Light
ff78cd7873 Fix publishing of $SYS/broker/clients/maximum. 2016-05-31 09:57:28 +01:00
Roger A. Light
6f5f445196 [169] mosquitto_passwd handles unknown cmd args properly.
Closes #169. Thanks to castorgodinho.

Bug: https://github.com/eclipse/mosquitto/issues/169
2016-05-26 09:25:41 +01:00
Roger A. Light
7761218d3c [170] Fix WS listeners not being able to bind to an IP.
Closes #170. Thanks to minghuadev.

Bug: https://github.com/eclipse/mosquitto/issues/170
2016-05-26 09:21:15 +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
e8185ddaa7 [166] Don't cancel external threads.
libmosquitto shouldn't cancel threads it didn't create. This change
allows us to keep track of whether threads were created by the library
or by external code.

Thanks to Josip Ćavar.

Bug: https://github.com/eclipse/mosquitto/issues/166
2016-05-18 14:05:08 +01:00
Roger A. Light
99ea5cab7c Default to using port 8883 when using TLS. 2016-05-16 21:56:15 +01:00
Roger A. Light
57da586703 Fix saving of persistence messages that start with a '/'.
Closes #151. Thanks to Andrew Chambers.

Signed-off-by: Roger A. Light <roger@atchoo.org>
2016-05-14 22:39:14 +01:00
Roger A. Light
3048c5ba0d Changelog update.
Fix reconnecting for bridges that use TLS on Windows.

Closes #154.

Thanks to Dmitry Kaukov.
2016-05-14 21:57:09 +01:00
Roger A. Light
6704df8061 Bridge config parameters can now contain a space
Closes #150.

Thanks to Sebastian Koch and Mikkel Kirkgaard Nielsen.

Bug: https://github.com/eclipse/mosquitto/issues/150
2016-04-28 21:54:50 +01:00
Roger A. Light
6a9382d864 Fix building on Visual Studio 2015
Closes #136.

Thanks to Pelayo Méndez.
2016-03-17 21:24:50 +00:00
Roger A. Light
caa394d0fe Return value of pthread_create is now checked. 2016-03-17 21:22:56 +00:00
Roger A. Light
09ea5cbf2c mosquitto_db_dump can now output some client stats.
This may be useful for finding out which clients are using significant
amounts of persistence space.
2016-03-15 00:18:40 +00:00
Roger A. Light
69a08ab905 Fix string quoting in CMakeLists.txt. Closes #4. 2016-03-13 20:33:08 +00:00
Roger A. Light
35c4d3d59a Handle some unchecked malloc() calls. Closes #1.
Thanks to Markus Elfring.
2016-03-13 19:07:28 +00:00
Roger A. Light
fda0cb3d45 Fix incorrect $SYS heap memory reporting when using ACLs. 2016-03-12 13:25:20 +00:00