Commit Graph

658 Commits

Author SHA1 Message Date
Roger A. Light
85388c01cc CLIENT_LDFLAGS now uses LDFLAGS.
Closes #1294. Thanks to Lucas Ramage.
2019-06-06 23:02:29 +01:00
Roger A. Light
6b6ea3de16 Remove old man page references.
Thanks to Karl Palsson.

Closes #1266.
2019-06-06 23:01:04 +01:00
Roger A. Light
3e858c19c1 Improve documentation around the upgrading of persistence files.
Thanks to jsaak.

Closes #1276.
2019-06-06 23:00:29 +01:00
Roger A. Light
6d71d4b5c4 Fix typo causing build error on Windows when building without TLS support.
Thanks to TimmvonderMehden.

Closes #1264.
2019-06-06 22:59:59 +01:00
Roger A. Light
289de1f8c8 Fix mosquitto_pub exiting with error code 0 when an error occurred.
Thanks to janniswarnat.

Closes #1285.
2019-06-06 22:59:01 +01:00
Roger A. Light
4d54a51c62 Stop some error messages being printed even when --quiet was used.
Thanks to Rob de Jonge.

Closes #1284.
2019-06-06 22:58:02 +01:00
Roger A. Light
587debc013 Fix incoming/outgoing quota problems for QoS>0. 2019-05-31 22:44:34 +01:00
Roger A. Light
7d954fa52e Fix mosquitto_pub -l not handling network failures.
Closes #1152. Thanks to Dustin Sallings.
2019-05-29 18:49:08 +01:00
Roger A. Light
1bafe0ee2e Fix double free on exit in mosquitto_pub.
Closes #1280. Thanks to Lucky Saini.
2019-05-29 18:42:38 +01:00
Roger A. Light
142d07f45a Fix MQTT v5 overlapping subscription behaviour.
Clients now receive message from all matching subscriptions rather than
the first one encountered, which ensures the maximum QoS requirement is
met.
2019-05-29 16:19:18 +01:00
Roger A. Light
de695af8c0 Fix zero length client ids being rejected for MQTT v5 clients.
This was happening when clean start was set to true.
2019-05-29 16:07:45 +01:00
Roger A. Light
e51e40e95c Fix incorrect shared subscription topic of '$shared.' 2019-05-29 15:40:17 +01:00
Roger A. Light
1c0c6a40fc CLIENT_LDFLAGS now uses LDFLAGS.
Closes #1294. Thanks to Lucas Ramage.
2019-05-29 15:07:48 +01:00
Roger A. Light
b42bb99ba6 Disable TLS renegotiation.
Client initiated renegotiation is considered to be a potential attack
vector against servers.

Closes #1257. Thanks to Daniele Sluijters.
2019-05-29 11:47:18 +01:00
Roger A. Light
5088202529 Fix persistent Websockets clients not receiving messages.
This occurs after they reconnect, having sent DISCONNECT
on a previous session.

Closes #1227. Thanks to usernametaken.
2019-05-28 22:13:22 +01:00
Roger A. Light
00eee59ad9 Add 'extern "C"' on public headers.
mosquitto_broker.h and mosquitto_plugin.h

Thanks to Wolfgang Petroschka.

Closes #1290.
2019-05-23 11:03:09 +01:00
Roger A. Light
bd34d8c9cd Remove old man page references.
Thanks to Karl Palsson.

Closes #1266.
2019-05-22 09:45:02 +01:00
Roger A. Light
b4dfeb3767 Fix MQTT v5 clients not being able to specify a password without a username.
Thanks to Erik Moqvist.

Closes #1274.
2019-05-21 23:56:22 +01:00
Roger A. Light
46d5aa9682 Improve documentation around the upgrading of persistence files.
Thanks to jsaak.

Closes #1276.
2019-05-21 18:50:05 +01:00
Roger A. Light
3f8f4fc2c8 Fix typo causing build error on Windows when building without TLS support.
Thanks to TimmvonderMehden.

Closes #1264.
2019-05-21 18:42:22 +01:00
Roger A. Light
999c478c88 Fixes for bug #1273
* Fix Will message for a persistent client incorrectly being sent when the client reconnects after a clean disconnect.
* Fix Will message for a persistent client not being sent on disconnect.
* Fix mosquitto_pub not using the `-c` option.

Thanks to Yannic Schröder.

Closes #1273.
2019-05-21 17:08:52 +01:00
Roger A. Light
29cf965b4f Fix mosquitto_pub exiting with error code 0 when an error occurred.
Thanks to janniswarnat.

Closes #1285.
2019-05-21 11:39:19 +01:00
Roger A. Light
7a33a129d6 Stop some error messages being printed even when --quiet was used.
Thanks to Rob de Jonge.

Closes #1284.
2019-05-21 11:23:00 +01:00
Roger A. Light
d05bd95881 Fix compilation problem related to getrandom() on non-glibc systems. 2019-05-16 22:12:18 +01:00
Roger A. Light
b1298dff54 Fix use of getrandom() for Linux and WITH_TLS=no. 2019-05-16 15:03:40 +01:00
Roger A. Light
ef3e52d40b Fix default max_topic_alias listener config not being used.
This was not being copied to the in-use listener when compiled without
TLS support.
2019-05-16 14:03:39 +01:00
Roger A. Light
a47da31679 Update changelog, improve warning message from last commit. 2019-05-10 07:25:49 +01:00
Roger A. Light
cd3877e628 Fix detection of incoming v3.1/v3.1.1 bridges.
Closes #1263. Thanks to vrst37.
2019-05-08 11:53:51 +01:00
Roger A. Light
0e58a5e94e Bump version numbers, update webpage. 2019-04-30 14:33:32 +01:00
Roger A. Light
e742c1c2f1 Fix $SYS/broker/version being incorrectly expired after 60 seconds.
Close #1245. Thanks to Christoph Krey.
2019-04-30 13:25:56 +01:00
Roger A. Light
f64d3b1e5c Fix broker originated messages not being sent.
This occurred when `check_retain_source` was set to true.

Closes #1245. Thanks to Christoph Krey.
2019-04-30 13:25:54 +01:00
Roger A. Light
a9f17cea95 Fix Will message not allowing user-property properties. 2019-04-30 13:25:27 +01:00
Roger A. Light
203949a512 Fix -L url parsing.
Closes #1248. Thanks to Andrew J Freyer.
2019-04-30 13:24:33 +01:00
Roger A. Light
dc4b823f92 Fix crash after client has been unable to connect to a broker
This is part of the cleanup routine when the client is already exiting.

Closes #1246. Thanks to Christoph Krey.
2019-04-30 13:23:25 +01:00
Roger A. Light
eebdbc86c4 Fix access after free when v5 client with Will message disconnects.
The Will message has as its first property one of content-type,
correlation-data, payload-format-indicator, or response-topic.

Closes #1244. Thanks to Christoph Krey.
2019-04-30 13:21:05 +01:00
Roger A. Light
42fb2f5538 Fix build for WITH_TLS=no.
Closes #1250. Thanks to bmparr.
2019-04-29 22:56:22 +01:00
Roger A. Light
35793ca1c4 Bump version number, update webpage. 2019-04-26 17:07:09 +01:00
Roger A. Light
439575475c Use CMAKE_INSTALL_* variables when installing in CMake.
Closes #1049. Thanks to Greg Troxel.
2019-04-26 17:07:05 +01:00
Roger A. Light
efa649f451 Don't call ldconfig in CMake scripts.
Closes #1048. Thanks to Greg Troxel.
2019-04-26 17:07:02 +01:00
Roger A. Light
3b4a5419c3 Build fixes around CFLAGS et al.
- Split CFLAGS and CPPFLAGS, and LDFLAGS and LDADD/LIBADD.
- test/unit now respects CPPFLAGS and LDFLAGS.

Closes #1232. Thanks to Greg Troxel.
2019-04-26 17:06:54 +01:00
Roger A. Light
0d01e212ad Document bundled dependencies and how to disable.
Closes #1231. Thanks to Greg Troxel.
2019-04-26 16:25:43 +01:00
Roger A. Light
d6c7923d16 Add make check and document testing procedure.
Also support test target in cmake.
2019-04-26 16:25:35 +01:00
Roger A. Light
27b8bcf320 Document memory_limit option. 2019-04-26 11:48:29 +01:00
Roger A. Light
5c0c830229 Fix compilation on musl C systems due to missing sys/time.h header.
Thanks to maxice8.
2019-04-25 21:22:51 +01:00
Roger A. Light
449103e960 Merge remote-tracking branch 'refs/remotes/origin/fixes'
Conflicts:
	ChangeLog.txt
2019-04-17 17:51:34 +01:00
Roger A. Light
56757df512 Bump version and changelog details. 2019-04-17 17:44:02 +01:00
Roger A. Light
fb1979c0ea Fix build on SmartOS due to missing IPV6_V6ONLY.
Thanks to Matt Ingenthron.

Closes #1212.
2019-04-11 21:26:29 +01:00
Roger A. Light
cba3380b98 Fix mosquitto_sub encoding of special characters with %j format.
Thanks to Ben Barbour.

Closes #1220.
2019-04-11 21:05:47 +01:00
Roger A. Light
4995436b5a Add --repeat and --repeat-delay to mosquitto_pub. 2019-04-11 19:13:59 +01:00
Roger A. Light
dec769ce33 Client and doc ALPN additions
Add ALPN support for all clients, update documentation, and add to ChangeLog.
2019-04-11 11:52:34 +01:00
Roger A. Light
925debb8a5 Add mosquitto_rr, the "request-response" client. 2019-04-01 22:31:05 +01:00
Roger A. Light
1220ba4bfe Rejig OCSP code. 2019-03-26 22:13:42 +00:00
Roger A. Light
42732f4cca Fix mosquitto_passwd segfault on corrupt file.
Thanks to srasku-ge.

Closes #1207
2019-03-26 10:03:17 +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 A. Light
a29238fc87 Update changelog. 2019-03-13 08:15:38 +00:00
Roger A. Light
6a1ac70ee6 Disallow writing to $ topics where appropriate. 2019-03-03 22:00:30 +00:00
Roger A. Light
1d4bf55165 Tidy previous commit and add to changelog. 2019-03-02 22:52:23 +00:00
Roger A. Light
1ce1bce941 Add --remove-retained to mosquitto_sub
This can be used to clear retained messages on a broker.
2019-03-02 22:14:54 +00:00
Roger A. Light
ce31269e05 Update changelog, bump version, bump copyright year. 2019-02-28 16:56:15 +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
acf478eca2 Fix broken mosquitto_passwd on FreeBSD.
Closes #1032. Thanks to jkoopman, Joseph Benden and Ari Suutari.

Bug: https://github.com/eclipse/mosquitto/issues/1032
2019-02-28 14:26:14 +00:00
Roger A. Light
4490d06a63 Coverity fixes.
1398654, 1398656 - lib missing unlock on fatal protocol error
1398655 - broker potential double free on startup after fatal persist
          error.
2019-02-28 11:45:13 +00:00
Roger A. Light
463de0a2c1 Make error messages for missing config file clearer. 2019-02-28 11:13:47 +00:00
Roger A. Light
1924afe49e Add explicit support for TLS v1.3 and drop TLS v1.0. 2019-02-27 22:50:01 +00:00
Roger A. Light
130ddf47f7 Add dhparamfile option, to allow DH parameters to be loaded.
This is for Ephemeral DH support on listeners.
2019-02-27 22:26:40 +00:00
Roger A. Light
dfbd33e0f4 Update documentation for bridge backup, plus tweaks
Sets default to use the backoff mechanism.
2019-02-27 13:52:19 +00:00
Roger A. Light
e334aad853 Rewrite bind_interface docs, update changelog. 2019-02-27 10:07:14 +00:00
Roger A. Light
f4e24f9524 Use higher resolution timer for random client id generation. 2019-02-26 14:26:05 +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
bb72cf9088 Bump version number, update webpage. 2019-02-13 23:49:17 +00:00
Roger A. Light
321e566af6 Fix unref'd messages being saved to the persistence file.
This was leaving dangling messages that were never freed.

Closes #389. Thanks to pjchx.
2019-02-13 12:08:05 +00:00
Roger A. Light
1a6c3f0c86 Improve documentation around the include_dir option.
Closes #1154. Thanks to Guzoft.
2019-02-13 10:08:44 +00:00
Roger A. Light
084062c85e Merge branch 'fixes' into mqtt5 2019-02-12 17:05:42 +00:00
Roger A. Light
9999faf9da Add rewritten build test script and remove some build warnings. 2019-02-12 13:24:54 +00:00
Roger A. Light
e72d1d6ff5 Fix mosquitto_topic_matches_sub() rc with sub=="topic/#abc".
This now returns MOSQ_ERR_INVAL as expected.
2019-02-12 11:26:23 +00:00
Roger A. Light
04e89450c0 Don't require C99 compiler. 2019-02-09 13:52:09 +00:00
Roger A. Light
715da28602 Fix include_dir not sorting config files before loading.
Thanks to momoskitto.
2019-02-08 23:52:11 +00:00
Roger A. Light
2e1c2c430f per_listener_settings true must come before other security settings.
Produce error if this is not the case. Closes #1164, thanks to
momoskitto.
2019-02-08 23:14:43 +00:00
Roger A. Light
9378016b19 Fix build failure when using WITH_ADNS=yes 2019-02-08 21:34:08 +00:00
Roger A. Light
1b5c900e77 Update CVE details and bump version number. 2019-02-08 13:01:07 +00:00
Roger A. Light
1c075988ca Log message for disconnecting a client with invalid UTF-8 topic.
Closes #1144. Thanks to Kris Mattheus.
2019-02-08 13:01:07 +00:00
Roger A. Light
f952ae3a67 Fixed durable clients being unable to receive messages when offline.
This occurred when per_listener_settings was set to true.

Closes #1081. Thanks to dwin-wangjt.
2019-02-08 13:01:07 +00:00
Roger A. Light
17b52bd5d1 Windows: Fix possible crash when client disconnects.
Closes #1137. Thanks to Kris Mattheus.
2019-02-08 13:01:07 +00:00
Roger A. Light
d6a690aa8d Fix Will not being sent for Websockets clients.
Closes #1143. Thanks to salcedo.
2019-02-08 13:01:07 +00:00
Roger A. Light
ab8b57ff54 Allow broker to always restart on Windows when using log_dest file.
Closes #1080. Thanks to lcouz.
2019-02-08 13:01:07 +00:00
Roger A. Light
29a1936c77 Fix spaces not being allowed in the bridge remote_username option.
Closes #1131. Thanks to beville.
2019-02-08 13:01:07 +00:00
Roger A. Light
ce1d0ae364 Man page can now be built on any system.
Closes #1139. Huge thanks to Chris Mayo.
2019-02-08 13:01:07 +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
495e9647c2 Improve bridge remapping documentation. 2019-02-08 13:01:07 +00:00
Roger A. Light
ad42f449d8 Update changelog for previous PR.
Thanks to Matthias Stone.
2019-02-08 13:01:07 +00:00
Roger A. Light
e8320cbf19 Fix TLS connections not working over SOCKS.
Thanks to Mark Oeltjenbruns.
2019-02-08 13:01:07 +00:00
Roger A. Light
a2b78d87a6 Update changelog 2019-02-08 13:01:07 +00:00
Roger A. Light
be9c1071b0 Fix compilation when openssl deprecated APIs are not available.
Closes #1094. Thanks to Rosen Penev.
2019-02-08 13:01:07 +00:00
Roger A. Light
70c4097b6f Fix comparison of boolean values in CMake build.
Closes #1101. Thanks to Mojca Miklavec and Andrew L. Moore.
2019-02-08 13:01:07 +00:00
Roger A. Light
4a2e569171 -V now accepts 5, 311, 31, as well as mqttv5` etc. 2019-01-09 18:06:20 +00:00
Roger A. Light
2f54b16544 Fix mosquitto_pub not always sending everything with -l and QoS>0. 2019-01-08 14:19:50 +00:00
Roger A. Light
19fbbd8726 Update details of CVE-2018-20145. 2018-12-20 18:45:01 +00:00
Roger A. Light
fcf4cd0b27 Merge branch 'master' into mqtt5 2018-12-19 14:11:11 +00:00
Roger A. Light
a8ca5c83af Bump version. 2018-12-11 11:13:09 +00:00
Roger A. Light
89f3d7bb3f Don't print connect/disconnect messages when connection_messages false.
Closes #772. Closes #613. Closes #537.

Thanks to Christopher Maynard, Brandon Arrendondo, and qubeck.
2018-12-11 10:55:39 +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
9097577b49 Fix acl_file being ignore for default listener if with per_listener_settings
Close #1073. Thanks to Jef Driesen.

Bug: https://github.com/eclipse/mosquitto/issues/1073
2018-12-09 21:23:46 +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
48c2217015 auto_id_prefix now defaults to 'auto-'. 2018-12-05 17:17:35 +00:00
Roger A. Light
1d3949bce0 Improve broker generated client ids for the non-Linux case.
Removes libuuid dependency.
2018-12-05 16:39:45 +00:00
Roger A. Light
3a871828ac Print message on error when installing as a Windows service. 2018-12-05 11:25:41 +00:00
Roger A. Light
c9ed2708f6 Don't reload auth_opt_ options on reload.
This matches the behaviour of the other plugin options.

Closes #1068. Thanks to Jason McFadyen.

Bug: https://github.com/eclipse/mosquitto/issues/1068
2018-12-04 20:51:25 +00:00
Roger A. Light
464b12f3d6 Fix outgoing retained messages not being sent by bridges.
This now happens on initial connection, after CONNACK is processed,
before it was happening (and being dropped) before the connection was
made.

Closes #1040. Thanks to giover.

Bug: https://github.com/eclipse/mosquitto/issues/1040
2018-12-04 20:45:15 +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
d29dac087d Add socket_domain option. 2018-12-04 11:48:29 +00:00
Roger A. Light
34293d07c1 Always print leading zeros in mosquitto_sub when output format is hex.
Closes #1066.

Thanks to skiizo.

Bug: https://github.com/eclipse/mosquitto/issues/1066
2018-12-04 09:24:04 +00:00
Roger A. Light
b54e379fba Fix websockets listeners not verifying client certs.
When using a TLS enabled websockets listener with "require_certificate"
enabled, the mosquitto broker does not correctly verify client certificates.
This is now fixed. All other security measures operate as expected, and in
particular non-websockets listeners are not affected by this. Closes #996.

Thanks to creising.
2018-11-08 12:10:28 +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
Roger A. Light
b803b40a22 Update changelog. 2018-11-07 18:32:17 +00:00
Roger A. Light
34c752a0d0 Give better error message if a client sends a password without a username.
Closes #1015. Thanks to TabascoEye.
2018-11-07 17:29:39 +00:00
Roger A. Light
9f7577aab6 $SYS/broker/clients/disconnected should never be negative.
Closes #287. Thanks to Lovisa Johansson.

Bug: https://github.com/eclipse/mosquitto/issues/287
2018-11-07 17:23:43 +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
eff8fab1b4 Only process network errors for clients that have nothing to read.
Closes #7.
2018-11-06 23:02:33 +00:00
majekw
7f1419e4de Fix mosquitto_pub -l if compiled using cmake.
Since dde005ef92 mosquito_pub is throwing error
that 'threading support has not been compiled' when compiled using cmake.
It looks like WITH_THREADING flag is not set at top level Makefile and used
only in lib/ directory, so library is correctly compiled with threading.
But for client this flag is undefined, so it gives error on '-l' option.

This commit moves part related to WITH_THREADING flag out of lib/CMakeLists.txt
to top levele CMakeLists.txt, so it could be accessible to all subdirectories.

Signed-off-by: Marek Wodzinski <majek@w7i.pl>
2018-10-23 18:56:00 +01:00
Roger A. Light
0a9ee5b4cf Fix memory leak when reconnecting with TLS errors.
Fix memory leak that occurred if mosquitto_reconnect() was used when TLS
errors were present.

Closes #592. Thanks to smartdabao and aaronovz1.
2018-10-23 10:46:55 +01:00
Roger A. Light
1867f30785 Merge branch 'master'
Conflicts:
	ChangeLog.txt
2018-10-02 08:31:54 +01:00
Roger A. Light
0e76bed50e Add -E option to mosquitto_sub.
This causes the client to exit immediately after its subscriptions are
acknowledged by the broker, and can be used to create a durable client
session without requiring messages to be delivered.

Closes #952.
2018-09-27 22:21:42 +01:00
Roger A. Light
8b66a323cd Add mosquitto_subscribe_multiple()
For sending subscriptions to multiple topics in one command.
2018-09-27 22:06:54 +01:00
Roger A. Light
c78003cacf Bump version number, add CVE details. 2018-09-25 16:26:28 +01:00
Roger A. Light
588d39efdc Fix Windows version not starting if include_dir did not contain any files.
Closes #566.

Thanks to marleau.
2018-09-25 16:14:57 +01:00
Roger A. Light
d9fc9cd0ae Add allow_zero_length_clientid, auto_id_prefix documentation.
Closes #600.
2018-09-25 14:38:54 +01:00
Roger A. Light
f9c9f3d396 Fix incorrect hash usage with duplicate clients.
Fix duplicate clients being added to by_id hash before the old client
was removed.

Closes #645.
2018-09-25 14:25:54 +01:00
Roger A. Light
008d424a33 Minor documentation fix. Closes #520. 2018-09-25 14:25:54 +01:00
Roger A. Light
7b1892caef Fix retained msgs not sent by bridges.
This occurred when a bridge connected for the first time and so made a
local subscription for outgoing topics.

Closes #701.
2018-09-25 14:25:54 +01:00
Roger A. Light
59bd07627d Various build improvements to help packaging. 2018-09-25 14:25:54 +01:00
Roger A. Light
7ca3a24686 Remove requirement to use user root in snap package config files. 2018-09-20 12:05:02 +01:00
Roger A. Light
0e16a248f2 Elevate log level to warning for situation when socket limit is hit. 2018-09-20 12:00:51 +01:00
Roger A. Light
3f87232065 Bump version number. 2018-09-19 18:09:43 +01:00
Roger A. Light
55ca61f14e Fix segfault on HUP when bridges and security options are configured.
Closes #849. Closes #965. Thanks to Wolfgand Hottgenroth and Dustin Sallings.
2018-09-19 17:52:23 +01:00
Roger A. Light
2b4ba10b3d Fix "round_robin false" behaviour.
Closes #481.
2018-09-19 17:30:38 +01:00
Roger A. Light
1e47ee4cad Fix for bridge connections when using WITH_ADNS=yes. 2018-09-19 12:55:08 +01:00
Roger A. Light
888ca48823 Changelog entry for #932. 2018-09-18 15:03:16 +01:00
Roger A. Light
ae45bd3d40 Update changelog and fixes to #927 PR. 2018-09-18 14:57:13 +01:00
Roger A. Light
ee8e20de75 Fix excessive CPU usage when the number of sockets exceeds the system limit.
Closes #948. Thanks to wiebeytec.
2018-09-18 11:54:58 +01:00
Roger A. Light
dceb02f444 Make it easier to build without bundled uthash.h.
Use "make WITH_BUNDLED_DEPS=no".
2018-09-08 10:24:12 +01:00
Roger A. Light
e6a0199bb2 Fix incorrect call to setsockopt() for TCP_NODELAY.
Closes #941. Thanks to rfalke.

Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-30 21:01:43 +01:00
Roger A. Light
2221deb7a7 Fix build when using WITH_ADNS=yes. 2018-08-30 20:44:17 +01:00
Roger A. Light
a9da3c263d Bump version number.
Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-16 17:01:08 +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
14bd96e1e1 Add support for compiling with static libwebsockets library. 2018-08-16 11:28:26 +01:00
Roger A. Light
0ec090f31a Fixes for building on FreeBSD. 2018-08-15 17:02:56 +01:00
Roger A. Light
e240a692a7 Fix compiling on Mac OS X <10.12 due to clock_gettime()
Closes #813 and #240.

Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-15 14:54:07 +01:00
Roger A. Light
3d3b7fc46f Fix default port problem when compiling clients using WITH_TLS=no. 2018-08-15 14:34:56 +01:00
Roger A. Light
ab5af8f0b9 Fix building for libwebsockets < 1.6. 2018-08-14 17:20:22 +01:00
Roger A. Light
af2678ea49 Fix possible endian issue when reading the memory_limit option.
Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-09 22:31:03 +01:00
Roger A. Light
10b19a42ed Fixes for building on NetBSD.
Closes #258.

Thanks to Daniel Ölschlegel.
2018-08-09 15:21:40 +01:00
Roger A. Light
ecb4006f38 Don't reject ACL patterns without %u or %c, just warn.
Using `pattern blah/#` is a legitimate method of getting a global ACL.
We shouldn't be changing behaviour in a fixes release.
2018-08-09 14:32:02 +01:00
Roger A. Light
7c94a73c17 Fix UNSUBACK messages not being logged.
Closes #903.

Thanks to Christoph Krey.
2018-08-09 11:54:24 +01:00
Roger A. Light
0d25cb58b4 Fix use_identity_as_username true not working.
Closes #833.

Thanks to David Crook and Brice Waegeneire.

Bug: https://github.com/eclipse/mosquitto/issues/833

Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-08 15:36:42 +01:00
Roger A. Light
8603d32819 Update changelog.
Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-08 14:07:48 +01:00
Roger A. Light
39170d1181 ACL patterns that do not contain either %c or %u are now rejected.
Closes #209.

Bug: https://github.com/eclipse/mosquitto/issues/209

Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-08 13:15:54 +01:00
Roger A. Light
7f0b4d6271 Fix connection problems when using mosquitto_connect_async().
The connection wouldn't always complete if mosquitto_loop_start() was
called before mosquitto_connect_async(). Closes #848.

Thanks to Ian Gough.

Bug: https://github.com/eclipse/mosquitto/issues/848

Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-08 09:21:19 +01:00
Roger A. Light
2f6f5dbf9d Fix problem on Pi caused by unsigned char being default.
Found via #849.

Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-02 21:06:47 +01:00
Roger A. Light
575dce91f0 Fix segfault on startup if bridge CA certificates could not be read.
Closes #851.

Thanks to chelliwell.

Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-02 15:06:09 +01:00
Roger A. Light
4bacbecb1b Fix some places where return codes were incorrect.
Closes #850.

Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-02 14:41:04 +01:00
Roger A. Light
fc9a0db966 All clients now time out if they exceed their keepalive*1.5
This was inconsistent before.

Partially addresses #865.
2018-08-02 13:05:36 +01:00
Roger A. Light
b07e0c08bf Fix IPv6 addresses not being able to be used as bridge addresses.
Closes #886.

Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-02 13:01:02 +01:00
Roger A. Light
bcf76b9cb6 Remove use of AI_ADDRCONFIG.
Closes #869, #901.

Thanks to Alex Richman.

Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-02 01:11:31 +01:00
Roger A. Light
286400abcf Use AF_UNSPEC etc. instead of PF_UNSPEC to comply with POSIX.
Closes #863.

Thanks to denigmus and Patrick TJ McPhee.

Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-02 00:27:52 +01:00
Roger A. Light
a954081673 Print more OpenSSL errors when loading certificates/keys fail.
Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-01 21:24:02 +01:00
Roger A. Light
8bbb5887d0 [Broker] Fix auth plugin cleanup function not being called.
Closes #900.

Thanks to Julian Zhao.

Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-01 15:53:29 +01:00
Roger A. Light
5e60136449 Merge branch 'develop' 2018-05-03 07:55:45 +01:00
Roger A. Light
84520296fa Bump version number. 2018-05-02 22:33:05 +01:00
Roger A. Light
377dc82d3f Fix parsing of configuration options that end with a space.
Closes #804.

Thanks to Nicola Lunghi.
2018-05-02 21:04:46 +01:00
Roger A. Light
51ec5601c2 Fix memory leak that could be caused by a malicious CONNECT packet.
Closes #533493 (on Eclipse bugtracker)

Thanks to Daniel Romero.
2018-05-02 21:04:39 +01:00
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