Commit Graph

323 Commits

Author SHA1 Message Date
Dr. Lars Voelker
74adb43cc1 Adding OCSP Stapling support to mosquitto
Adding OCSP Stapling support to mosquitto, so that the TLS client side
requests the certificate status and checks it.
This code uses the OpenSSL-based OCSP implementation and is somewhat
based on the libcurl code for OCSP stapling.

Signed-off-by: Dr. Lars Voelker <lars.voelker@bmw.de>
2017-07-07 13:05:17 +02:00
Roger A. Light
8de5ed4464 Remove "error in poll" messages. 2017-06-27 22:32:10 +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
Pierre Fersing
408972ddc1 Fix two issues with Websocket (#472)
* Websocket were always marked as "want_write" (even if they only
  want to read, or worse want nothing).
* Websocket FD was read twice in some case (when socket recv queue was
  larger that size read by libwebsocket)

Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2017-06-23 22:30:57 +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
ab45f86d74 Prevent out of bounds array access. 2017-06-22 09:47:03 +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
8f59d5ad28 Remove unused vars and reset pollfd_index on disconnect. 2017-06-19 16:14:59 +01:00
Roger A. Light
c07ba2a3da Experimental fix for poor websockets performance. 2017-06-18 12:52:59 +01:00
Jan Lukavsky
621f18d696 #419 Broker sometimes kills connection to client
Signed-off-by: Jan Lukavsky <je.ik@seznam.cz>
2017-06-11 22:00:45 +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
Riccardo Magliocchetti
059ba5f00b Fix use of unitialized memory in gets_quiet
Spotted by cppcheck

Signed-off-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
2017-05-05 22:10:25 +01:00
YuLun Shih
97572610c0 Fix bridge->restart_t won't be reset
Signed-off-by: YuLun Shih <shih@yulun.me>
2017-05-05 22:02:05 +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
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
565c9c3432 [344] Fix non-async case. 2017-02-09 16:41:48 +00:00
Roger A. Light
f0485d1398 [344] Don't compile in async dns support by default for makefiles. 2017-02-08 22:30:00 +00:00
Roger A. Light
fb824e7f1e [344] Detect libanl in cmake. 2017-02-08 16:24:50 +00:00
Roger A. Light
3d40ffe18b [344] Only do async dns on glibc. 2017-02-08 15:40:44 +00:00
Roger A. Light
f464970fcf [344] Fix leaks and incorrect connect call. 2017-02-06 23:10:43 +00:00
Roger A. Light
ef7a230365 Start of fix for [344]. 2017-02-06 22:41:34 +00:00
Fredrik Fornwall
23b0891048 Include <syslog.h> instead of <sys/syslog.h>
Using the standard <syslog.h> header instead of <sys/syslog.h> makes it
consistent with other source files and fixes compilation on Android.

Signed-off-by: Fredrik Fornwall <fredrik@fornwall.net>
2017-01-30 21:15:19 +00:00
Fredrik Fornwall
532273250c Check for rt and pthread libraries before linking
This fixes building on Android which does not have separate librt
or libpthread libraries.

Signed-off-by: Fredrik Fornwall <fredrik@fornwall.net>
2017-01-30 21:00:25 +00:00
Roger A. Light
9b05b12039 More file closing fixes. 2017-01-21 07:54:48 +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
1abd089afb [295] Usage should say we support 3.1.1 as well as 3.1.
Closes #295.

Bug: https://github.com/eclipse/mosquitto/issues/295
2016-10-20 13:48:30 +01:00
tucic
f272e2e047 Maximum connections for websockets listener (#271)
Check current number of connections before accepting new websockets clients.

Signed-off-by: tucic <tucic.milan@gmail.com>
2016-09-29 18:51:31 +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
Roger A. Light
7ace6c9e7e Merge branch 'master' into fixes 2016-09-20 23:25:17 +01:00
Karl Palsson
03d4b8c270 websockets: fix compatibility with older lws versions (#260)
In 1.3, 1.4 and 1.5, the function was "libwebsockets_get_protocol" not
"libwebsocket_get_protocol"  While the #define name doesn't matter on
newer libwebsockets, where it redirects to lws_get_protocol, the naming
is critical for older versions.

Fixes: 477cd3e399 (Fix missing context->listener for websocket client)

Signed-off-by: Karl Palsson <karlp@etactica.com>
2016-09-08 12:24:29 +01:00
Roger A. Light
ee1fd1718b Merge branch 'fixes' 2016-08-16 22:56:28 +01:00
kcallin
7ba3f3d33b [189] Mosquitto database corrupted on power-loss. (#206)
Mosquitto database writes are not atomic and if power is lost during
a write the file will be permanently lost.  This commit makes writes as
atomic as possible.

Signed-off-by: Keegan Callin <kc@kcallin.net>
Bug: https://github.com/eclipse/mosquitto/issues/189
2016-08-16 22:36:58 +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
Pierre Fersing
477cd3e399 Fix missing context->listener for websocket client (#239)
The context associated with websocket client didn't had listener
filled, which caused use_username_as_clientid to be ignored.

Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2016-08-16 22:10:41 +01:00
Roger A. Light
00aa181749 [244] Add note on compiling auth plugin on OSX.
Closes #244.

Bug: https://github.com/eclipse/mosquitto/issues/244
2016-08-12 08:00:56 +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
tucic
50b26347d4 Writing least significant byte of subscription QoS (#210)
Signed-off-by: Milan Tucic <tucic.milan@gmail.com>
2016-07-12 12:34:59 +01:00
Roger A. Light
eaef3db142 O_DIRECTORY not supported everywhere, use O_RDONLY. 2016-06-27 20:58:25 +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
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
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
8663d6aff7 Merge branch 'master' of github.com:eclipse/mosquitto 2016-06-07 16:54:53 +01:00